-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
-
Amarton
tag
válasz
Teasüti #10209 üzenetére
Én kérek elnézést. Villamosmérnök vagyok. Tudom hogyan kell áramot mérni.
Az INA219 nem csak áramot mér, hanem feszültséget is.
Természetesen sorba volt kötve a LED-el a LED 5V-os ágában. Tehát az 5V-ot is mérnie kellett volna nem csak az áramot. Mint mondtam, sokkal több áramot és feszültséget mért.
Arra jutottam, mivel a feszültség részét nem lehet kalibrálni, csak az áram részét (ha söntöt cserélnénk és ki szeretnénk a mérés határt terjeszteni), így arra jutottam, hogy a belső áramkörben valami erősítése nem jó az alkatrésznek. Szerintem hamisított sz*r. -
-
Janos250
őstag
válasz
Teasüti #10199 üzenetére
"Ha már szóba hoztad az RMT-t, akkor kérdeznék: Szerinted azzal célszerűbb volna frekvencia modulált jelet létrehozni, mint a PWM vezérlővel?"
Én az RMT-vel csinálnám, azon egyszerű oknál fogva, hogy azt már használtam, nagyjából ismerem, de a PWM-et még nem
Persze lehet, hogy a PWM a jobb, ezt az tudná megmondani, aki mindkettőt használta.
"olvastam a technical reference manual-t. (Ez régen is megvolt már?"
Igen, néhány havonta frissítik, bővítik. Én ez alapján használtam az RMT-t 2017 ősszel, télen.
"a PCNT és az RMT az ugyanaz a hardver vajon, vagy csak a véletlen műve, hogy mindkettőben 8 csatorna van?"
Nem ugyanaz.
0x3FF5_6000 0x3FF5_6FFF 4 KB RMT
0x3FF5_7000 0x3FF5_7FFF 4 KB PCNT
Más memória címen vannak.
Table 6: Peripheral Address Mapping - Tech. Ref. 30. oldal
Egyébként a Tech. Ref sem teljes, még mindig. Vannak területek, amik még mindig hiányoznak, illetve egyes memóriacímek funkciója sincs leírva.
Például az RMT esetében bejelöltem sárgával, amik nincsenek dokumentálva: http://arduinouser.hu/esp32/ESP32_RMT_Register_Summary.pdf
Pl. azok a regiszterek sincsenek leírva, ami azt mutatja, hogy az egyes csatornák hol tartanak a kivitelben, azaz a RAM területük memória számlálója."Mondjuk a pcnt.h fájlnál nem mentem lejjebb, vmelyik include biztos hardver közelibb kódot rejt."
Igen:
https://github.com/espressif/esp-idf/blob/master/components/driver/pcnt.c
Aztán valamelyik fájlban a regiszterek címei is megvannak (általában struktúrában), de azt már nem keresem, megyek aludni
A PCNT-vel kapcsolatos tapasztalataidat - mindannyiunk okulására - majd oszd meg, lsz! -
Janos250
őstag
válasz
Teasüti #10197 üzenetére
Van, persze, de még én se használtam, csak azt láttam, hogy elvileg van:
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
482. oldal, 17. PULSE_CNTÍgy persze nagyon macerás, de valahol van hozzá valami hasonló, mint az RMT-hez, de amikor néztem, nem nagyon érdekelt, és nem is volt túl részletes a leírás.
Ami tetszett, hogy van benne hardware szűrés. Ez egy kapcsoló prell (pergés) mentesítéséhez jól jöhet.Szerkesztés:
Hopp, most nézem, hogy az általad linkelt pont ez. -
ecaddsell
aktív tag
válasz
Teasüti #10193 üzenetére
Lehet, hogy egyszerű, de pont azt a módszert követi ("megszakítást használni és programból számolni") amire korábban azt írtad, hogy lehetőleg ne.
Amit korábban linkeltél PCNT-s rotary encoder dekódolás szintén nem működik, ha nincs prellmentesítve a dekóder (ami túlárazottá teszi az egészet), ezt a kört már korábban lefutottam és itt leírtam.
Nekem úgy tűnik szisztematikusan megtalálod (előnyben részesíted) a rossz módszereket, csak azért mert az egyszerű.
Nem saját saját microchipet tervezek, hanem a gyártó által tervezett, utólag meghatározható logika összeköttetéseket határozom meg (ami tudtommal tényleg hasonló a digitális microchip-ek tervezéséhez).
Lelkes hobbisták így szokta retro gépeket/procikat összedobni (nem érdekel a téma csak érdekesség).
-
Imy
veterán
válasz
Teasüti #10192 üzenetére
Köszönöm, ez részben már működik, de sajnos még nem jól.
Gombnyomásra elindul => OK
Hosszú gombnyomásra nem áll meg.
Nem tudom hol állítani, hogy X fordulatot menjen, majd Y ideig ne. (X fordulat a végleges programban 20 oda-vissza forgás lesz, és Y idő 55 perc) Azaz óránként megtesz 20 fordulatot, és 55 percig nem csinál semmit.
Ha nem csinál semmit, akkor a LED-et kell villogtatni, hogy lehesen látni, hogy stand-by állapotban van a cucc. -
Imy
veterán
válasz
Teasüti #10189 üzenetére
Köszi, akkor érdemes kitenni külön "void"-ba azaz szubrutinba, ugye?
Amúgy a működés így fest, vagyis így kellene működnie, csak a kapcsolót kellene beleintegrálni. [link]
Az általad említett:
if (millis() > temp + 1000) { }
Ezt mire is tudom használni? Hogy csak akkor ugorjon be a ciklusba, ha eltellik az idő? A millis az 1ms? Temp? +1000?
-
ecaddsell
aktív tag
válasz
Teasüti #10184 üzenetére
Az első az ESP-IDF-hez íródott, miközben én Arduino IDE-ben vagyok.
Nekem még soha nem okozot gondot ESP-IDF-et használni az Arduino IDE-ből...
Többek között a második kód esetén sem.
De mindegy, te tudod mire kell és mit vállalsz be ehhez.Én elég sokat vállaltam ebben a témában (talán túl sokat is) pl. VHDL kód írása és tesztelése (működni látszik) Xilinx CPLD-re, nyáktervezés (kétfajta progit is bevetettem) stb. Nagyon sokat tanultam belőle, annak ellenére, hogy lehet ez is a befejezetlen projectek sorát fogja gyarapítani.
-
Teasüti
nagyúr
válasz
Teasüti #10184 üzenetére
Viszont ezt kipróbálom. Holnap. Mert a mai estém teljes egészében sz.pással és kutatással telt...
-
Imy
veterán
válasz
Teasüti #10178 üzenetére
Ez a programom, és így kellene működnie, de most már nem tudom, hogy mit is, és hova kellene beleraknom...
Nekem így működik most:
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- ... (végtelenségig megy, ha nincs gombnyomás)A gombnak ennyit kellene csinálnia:
- Gomb megnyom röviden, akkor indul el a motor
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- ... (végtelenségig megy, ha nincs gombnyomás)
- Gomb megnyom hosszan, akkor megáll a motor
- LED, motor áll, nem csinál semmit
- Gomb megnyom röviden, akkor indul el a motor
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- ... (végtelenségig megy, ha nincs gombnyomás)Programkód:
/*
===============
Stepper wiring:
===============
Arduino - Driver
D8 - IN1
D9 - IN2
D10 - IN3
D11 - IN4
===========
LED wiring:
===========
LED "-" : GND
LED "+" : D13
*/
#include <Stepper.h>
#define STEPS 100
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
Stepper small_stepper(STEPS, 8, 10, 9, 11);
int Steps2Take = 0;
long temps = 0;
int Cycle;
int Rotate_n_temp;
int Rotate_n;
int PSW = 5;
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(IN1,OUTPUT); //stepper motor coil-1
pinMode(IN2,OUTPUT); //stepper motor coil-2
pinMode(IN3,OUTPUT); //stepper motor coil-3
pinMode(IN4,OUTPUT); //stepper motor coil-4
pinMode(PSW, INPUT); // Push Switch
}
void loop()
{
Rotate_n=1;
Rotate_n_temp = Rotate_n-1;
digitalWrite(13, HIGH);
delay(100);
Serial.println("Stepper motor working, one cycle is OK ");
small_stepper.setSpeed(300);
if (Cycle<=Rotate_n_temp){
Steps2Take = -4096;
temps = millis();
small_stepper.step(Steps2Take);
temps = millis()- temps ;
Serial.println("Rotate cycle noumber:");
Serial.println(Rotate_n);
Serial.println("Motor step noumber:");
Serial.println(temps);
digitalWrite(IN1, LOW);
delay(2);
digitalWrite(IN2, LOW);
delay(2);
digitalWrite(IN3, LOW);
delay(2);
digitalWrite(IN4, LOW);
delay(2);
delay(2000); //pause
Steps2Take = 4096;
temps = millis();
small_stepper.step(Steps2Take);
temps = millis()- temps ;
Serial.println(temps);
digitalWrite(IN1, LOW);
delay(2);
digitalWrite(IN2, LOW);
delay(2);
digitalWrite(IN3, LOW);
delay(2);
digitalWrite(IN4, LOW);
delay(2);
delay(2000); //pause
digitalWrite(13, LOW);
delay(100);
digitalWrite(13, HIGH);
delay(100);
Cycle++;
}
else{
digitalWrite(IN1, LOW);
delay(2);
digitalWrite(IN2, LOW);
delay(2);
digitalWrite(IN3, LOW);
delay(2);
digitalWrite(IN4, LOW);
delay(2);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
/* digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);*/
//1 min waiting, and restart motor
Cycle=0;
}
} -
vargalex
félisten
válasz
Teasüti #10166 üzenetére
Szia!
Az include ugye a definíció előtt szerepel a kódban? <> és a "" include között csak a keresés sorrendjében van különbség. Előbbi esetében az IDE-ben definiált search directory-kban keresi, ezt használjuk a lib-ekben definiált header-ek include-olásához. A "" módon megadott pedig először a programod forrás könyvtárában keresi a header file-t, ezt a saját modulok include-olásához használjuk.
-
Imy
veterán
válasz
Teasüti #10167 üzenetére
Hát nem az első, de bonyolult dolgokat nem szoktam vele csinálni.
Amit linkeltél, abban nem találom, de inkább leírom szavakkal.
Adott egy gomb, és egy nyomógomb.
A LED addig nem villog, amíg nem nyomom meg a nyomógombot. Ha röviden megnyomom nekiáll villogni a végtelenségig vagy ha hosszan nyomom a gombot akkor megáll. Ha ismét röviden nyomom, akkor kezdi elöről, addig nem áll meg, amíg a nem nyomom hisszan a gombot. Ezt rá tudnám húzni a jelenlegi motormozgatásra is szerintem. De erre kellene nekem egy mintaprogram, mert annyira ezt így nem vágom.
-
Vladi
nagyúr
válasz
Teasüti #10024 üzenetére
Szivacc? Én találjak, neked?
Én is néztem ilyen megoldásokat, valamit kapizsgálok is, de:
- túl sok alkatrészt kéne rakosgatni, arra nincs kapacitásom
- a nagy Scottnál én úgy értettem a mosfet videót, hogy nagyobb frekvencián már vacakul működik.Egyébként nekem nincsenek ilyen méretbeli igényeim. Én a Texasos CD4050BE -t nézegetem most. az dip-16-os. Az túlnagy?
-
Vladi
nagyúr
válasz
Teasüti #10014 üzenetére
Védelmet írnak gyárilag, legalább is adatlap szerint.
Van rajta usb! micro van, a gombok alatti felületen. Nem látszik egyértelműen. A lefelé gomb alatt látszik egy kicsi nyílás, na azaz.
Viszont a képeken látszik az open hardware logó, bár szerintem ez nem annyira szigorú, mint a gpl például. Inkább ilyen gumicsont, én shematikot nem nagyon találtam tőlük. A psu részét azért megnézném.
A felhúzót olvastam én is. Akkor a gyári 5v és a 3.3 output közé teszek egy 10K-t és utána a kimenő jelem 5V? Így kell érteni?
(#10015) kbhuinfo:
Hurrá, ez csak 2x annyiba kerül.
Maradok én ezen a vonalon. Úgy érzem, hogy ez a belga cég marketingje pont az én szintemet célozza meg. Már valami összetákoltam arduinoval, kisispari szinten és lépni kéne tovább kevésbé gány megoldásra. Meg legyen olcsó. S nem kell rá sok sallang. -
ecaddsell
aktív tag
válasz
Teasüti #9562 üzenetére
Már rég nem foglalkozok HW cuccokkal (amikor csak lehet készen vett modulokat huzalozok össze), de két videót tudok ajánlani a témában (amibe akkor is érdemes belepörgetni, ha valaki nem érti teljesen):
EEVBlog #1116 - How to Remove Power Supply Ripple
https://youtu.be/wopmEyZKnYoEEVblog #859 - Bypass Capacitor Tutorial
https://youtu.be/BcJ6UdDx1vgA "capacitance multiplier" különösen ajánlott, mert sokkal hatékonyabb lehet táp felelő jövő kapcsolási zaj szűrésére adott esetben mint kis zajú stabilizátor chip-ek (pl. LT1763 sorozat vagy LM1117 stb).
-
Janos250
őstag
válasz
Teasüti #9517 üzenetére
Persze, közösítve van, és jelszintek megegyeznek. Egy tápról, és egy konverterről mentek, ferritgyűrűt próbáltam, de nem sok eredményt hozott.
Mivel az akkuról táplálás megoldotta a problémát, nem sokat tököltem vele, mert úgyis ritkán volt használva. A vezetékekre gyanakodtam, hogy összeszed a levegőből mindenfélét, ezért abban reménykedtem, hogy a legyártatott panel majd megoldja a kérdést. Viszont hiába van meg a panel, félig van összerakva, mert most meg időm nincs rá.
"vezérlő órajelének visszirányú zaját is hatékonyan csillapítja."
Ezt nem tökéletesen értem. Az egyik eszköz órajele megy át zavarként a másik eszközre? Jól értem? Na, erre nem gondoltam, de lehet. -
Janos250
őstag
válasz
Teasüti #9510 üzenetére
Egy másik, nem ESP IC-t is meg kell táplálnom, ami elég érzékeny, és zabálja az áramot.
Egyébként elég sok bajom van a közvetlen 230-ról menő tápokkal. Egyszer régebben diskuráltunk itt egy hőelemes mérés zajának a problémájáról. Azóta se sikerült megnyugtatóan megoldani a kérdést, ezért akkuról táplálom. Most hasonló gondom volt, bár idő hiányában félre kellett tennem: egy ESP32 és egy másik eszköz kommunikál egymással UART-on. Táp megoldás: 230-ről 12V-ra led táp, arról fesz szab modul. Sok a hiba. Ha táp helyett 4 li akku táplálja a fesz stab modult, gyakorlatilag nincs hiba. -
Janos250
őstag
válasz
Teasüti #9469 üzenetére
Hmm!
Kösz.
Érdekes.
A Tech. Ref. azt írja, hogy
0x3FF6_B000 0x3FF6_BFFF 4 KB Reserved
A példák szerint viszont itt vannak a CAN regiszterek.
Na, egyszer majd kipróbálom, mert hozzá a topic túl hosszú.Elég sok memória tartomány van, amire a Tech. Ref. azt írja, hogy reserved.
Vajon a többi is valami kincs? -
-
Tankblock
aktív tag
válasz
Teasüti #9453 üzenetére
Hello
Bocs, munka az első,
Igen azért használják, mert hibát lehet detektálni, és zavartűrő.
Igy az analog jeleket ha a másik ECU olvassa, akkor nagyobb távolságra digitálisan és zavartűrően lehet továbbitani. Robosztus és nem kell métereken keresztül analog jeleket küldözgetni..... -
tvamos
nagyúr
válasz
Teasüti #9453 üzenetére
Itt le van írva: [link]
Már vagy 10 éve csináltam utoljára ilyesmit, de úgy rémlik, a fizikai hardver lehet sokféle, RS485 busz, vagy akár ethernet is, ha jól emlékszem, talán a minimális sebesség meg van adva, a szoftver a lényeg.
Ezekhez a layerekhez sosem értettem rendesen... ráfotrasztom a pcb-re a CAN vezérlô ic-t, oszt jóvan...Mire szeretnéd a CAN-t használni amúgy? Ha saját protokol, akkor feleslegesen zabálná az erôforrásokat.
Ha a motorbiciklihez akarsz illeszteni valamit, akkor meg ELM327.
-
Tankblock
aktív tag
válasz
Teasüti #9443 üzenetére
Autóhoz vagyok inkább szokva, ott indításkor simán lehet zaj felextraponálhat a vonalra, és ha a jel több mint 3,6 [V] akkor bármi történhet. Ezért van azz autókban CAN hálózat, az analog jelek meg ha vannak akkor a legkisebb vezetéken, de inkább digitális mind.
Kérdés h mire akarod használni. Üres vezeték ne maradjon, mert antennaként viselkedik.
-
Tankblock
aktív tag
válasz
Teasüti #9440 üzenetére
Csak 2 észreételem lenne, ha megfogadod:
- uMCU pint közvetlenül ne köss ki külső pinre, zaj esetén tönkreteheti az egészet. Optikai v galvanikus leválasztó szükséges.- gyorsulásmérőt, ha nem tervezted a boardra akkor nyomd le teljesen, a végén ha minden működik, akkor ragaszd le. A vibráció lesz a legnagyobb ellenséged a másik meg a nedvesség. Amúgy is aktivan szürni kell majd a jelet, mert a vibráció torzitani fogja.
-
válasz
Teasüti #9437 üzenetére
3,3 V-ra van kötve sajnos. A 3,3 V-os pinen tápláltam meg, és deep sleepben is evett 10 mA-t a nyák
Most rendeltem egy Huzzah klónt, remélem abban jobban fog működni.
-
_q
addikt
válasz
Teasüti #9409 üzenetére
A te esetedben megoldható a programozóval, nekem nincs csak a linkelt CP2102-es USB TTL átalakító, ha ezt használom, akkor kellene mert azon nincs tranzisztor. Egyébként BOOT és RESET gomb ugyan úgy lesz mint egy dev modulnál, mindent ugyan úgy csinálok csak lehagyom róla a CP2102-es IC-t és a tranzisztoros automata programozó részét.
-
_q
addikt
válasz
Teasüti #9351 üzenetére
Most jutottam oda, hogy talán kész a schematic az egyik panelhez. Programozáshoz +5/3.3 V regulátor függően, GND, UART0 RX, és TX pin-re van szükség nem? Nálad ahogy nézem több minden is be van kötve. Pl kék, fehér vezetékek amiket látok pin-ek szerint. Uart pineket viszont nem látom.
Lehet te más miatt kötötted be azokat a bizonyos vezetékeket? Ha csak programozni szeretném külsőleg, akkor Vcc, GND és az UART0 RX, TX pineket kell csak csatlakoztatni egy olyannal mint amit te használsz panel vagy egy [link] CP2102 USB TTL modullal?
-
válasz
Teasüti #9385 üzenetére
Köszi a választ mindenkinek!!
Megnéztem, a javasolt Hantek 6022BE 46$-tól kapható Ali-n, míg amit én linkeltem 21$ készre szerelve, hát, ahogy nézem, a Hantek tudása nem csak a duplája az utóbbinak, ha ár/érték arányt nézek, szóval érdemesebb akkor tényleg abba beruházni, csak ott a vámhatár az, ami visszatartó erő.
Azért kérdeztem eredetileg egyébként, mert szörfözés közben a google ads dobta fel a banggood-os hirdetést, és láttam, hogy akciós. -
_q
addikt
válasz
Teasüti #9323 üzenetére
Nem teljesen értem, a Sloebert próbáltad? Sloeber egy Arduino IDE, Eclipse alapon. Tehát eclipse elvileg a háttérben van. Amúgy nem tudom hogy működik, csak az elmondások alapján írtam le, amit hallottam. 2 ismerősöm dicsérte. De ha ugyan ezt értetted az alatt amit írtál akkor oké. Sajnos van hiányossága az Arduino IDE-nek, talán a következő verzióban jön pár hasznos újítás.
-
mArZsi
tag
válasz
Teasüti #9312 üzenetére
Jó tapasztalatok alapján én is ki fogom próbálni őket.
Eddig seeedstudio-tól rendeltem, ott a standard $5 hobbizásra.
Ha viszont ipari kivitelben kell gyártani, montírozva, lebegőtűs teszttel, stencillel, akkor többszörösére ugranak az árak.Az már más kérdés, hogy egy ipari vezérlés nyáktervét meg nem szívesen küld ki keletre az ember
(#9314) Teasüti:
A helyes megoldás: stencil, paszta, beültetőrobot, kemenceViccet félretéve csak arra figyelj, ha hőlégfúvod, hogy ne túl sok ideig, mert hősokkot kaphat.
-
-
-
zapikanka
tag
válasz
Teasüti #9300 üzenetére
Szia,
köszi szépen az eligazítást, annyi kérdésem lenne még, hogy Arduino Uno vagy mehetnek esetleg ezek a kópiák is?
Pl Adeept
Ezt az Adeept-eset találtam is ebay-en: [link]
Ez szimpatikus, ha azt mondjátok, hogy nem nagy gond az, hogy Adeept Uno és nem Arduino Uno akkor már rendelem is.
Üdv,
z
-
_q
addikt
válasz
Teasüti #9289 üzenetére
Köszi. Újrahúztam az egész esp könyvtárat, core 1-re tettem mind a 4 taskot, variáltam pár delay-t, most futtatom a tesztet és várok amíg ismét előjön (remélem nem). Ha látok valami problémát akkor ránézek a kommunikációra.
Addig egy másik téma. 2 db ESP32-m van amit eddig tudtam minden gond nélkül programozni. Az egyiket továbbra is tudom, de a másikat csak akkor, ha lenyomom a boot gombot. Lehetne driver gond, de akkor a másik panellel hogy hogy megy. Lehet hibás az eszköz, ha eddig minden gond nélkül működött? Próbáltam újratelepíteni a CP2101 driver-t, de továbbra se lehet kódot rátölteni csak a boot gomb lenyomásával, másik ugyan úgy megy mint eddig.
Ti tapasztaltatok már hasonlót?
-
_q
addikt
válasz
Teasüti #9280 üzenetére
A busz vizsgálattal annyi a baj, hogy sajnos nem mindig jön elő. Folyamatosan kellene nézni pár óráig-1 napig, hogy meglegyen mi történik a hiba beálltánál.
Teljesen máshogy képzeltem el a 2 magot, kicsit túlozva úgy mint 2 külön kontroller. A leírásod alapján ha ez nem is okoz gondot, de nem jó megközelítése a programom felépítésének és elképzelhető, hogy tényleg nem szükséges 2 magot használni. Nekem onnan jött az elképzelés, hogy ha egyszerre akarok webservert futtatni, mellette mérni hőmérsékletet, akkor azt ne egymás után tegyem, hanem párhuzamosan. De jobban belegondolva lehet, hogy tényleg nem indokolt. Azt szerettem volna elkerülni, hogy ha lehet ne "akadjon össze" az espnow mondjuk hőmérséklet lekérdezéssel/NTP lekéréssel.
Mivel később a hőmérséklet olvasás 5-10 percenként történne, ezért elegendő, ha cora 0-ra rakom, ahogy írtad az nem gyakran fut le úgy se, ami meg gyakoribb átteszem core 1-re.
Emellett amit te és (#9281) Tankblock is említ, meg kellene néznem esetleg más könyvtárral is a hőmérséklet kezelést.
(#9281) Tankblock
Úgy érted hogy alapból az esp32 wire könyvtár nincs jól implementálva? Ha viszont nem azt használom, akkor ha jól sejtem te ESP-IDF I2C használatát javaslod. Jó lenne egyszerűen megoldani magasabb szinten, arduino alatt. -
_q
addikt
válasz
Teasüti #9272 üzenetére
Elnézést ha nem fogalmaztam egyértelműen. Leírom konkrétabban.
Van egy hőmérséklet mérés, kijelzőre adat kiíratás, wifi-n NTP lekérés, webserver futtatás. Ez lenne a master és van hozzá egy slave eszköz amivel az előző felsorolás bővül, espnow kommunikáció. Ezeket gondoltam két magon futtatni úgy, hogy ami wifi-vel kapcsolatos az megy az 0-ás magon: NTP lekérés, webserver (espnow meg callback-el megy, így azt csak feltételezem, hogy szintén 0-ás magon megy, a fórumon is volt szó róla, illetve amit linkeltem oldal is arra hivatkozik, hogy wifi-s dolgok 0-ás magon futnak). A kijelző és I2C hőmérséklet olvasás megy az 1-es magon. Eredetileg legalább is ezt terveztem. Sajnos azonban azt tapasztaltam, hogy bizonyos idő elteltével (volt hogy fél nap és volt hogy 2 napos futás után jött elő) az odáig jó érték helyett a hőmérőtől már nem a megfelelő adat jön, hanem 125 °C, amit olyankor küld, ha nincs bekötve a hőmérő. Egészen a resetig ezt küldi folyamatosan. Reset után ismét a jó érték látható.
Hivatkozva a linkelt oldalon írtakra:
"The two cores are named Protocol CPU (PRO_CPU) and Application CPU (APP_CPU). That basically means the PRO_CPU processor handles the WiFi, Bluetooth and other internal peripherals like SPI, I2C, ADC etc. The APP_CPU is left out for the application code."Innen jött a feltételezés, nem amiatt "akad" össze az I2C olvasás, mert valójában függetlenül attól, hogy melyik magon futtatom az I2C-t, az a 0-ás magon fog lefutni, de ott meg nincs neki prioritás adva, legalább is általam nem, mivel ugye én az 1-es magon gondoltam futtatni, ott adtam az I2C task-nak prioritást. Lehet, hogy a valójában lefuttatott I2C és Wifi és tényleg a 0-ás magon fut, és összeakad, ezért jön hibás érték a kiolvasásnál? Igaz itt felmerül a kérdés, hogy ha 1-1 feltételezett összeakadás történik, akkor utána miért nem jön a következő reset-ig jó érték? Azt nehéz elképzelni, hogy folyamatosan összeakadna a 2 kommunikáció.
Ha az általad javasolt szerint, mindent áttennék core 1-re, mivel ugye minden ciklikus, akkor a core 0á-n semmi se lenne. Vagy esetleg csináljam azt, hogy core 1-en futtassak egy task-ot, ami ütemezi a core 0-án a taskokat, amiket 1x meghívok, majd törlöm? Így is ciklikus lesz, de task szempontból 1x fut csak le.
Még egy dolog jöhet szóba, amit nem tudom mennyire helyesen adok meg. Globális változóként adom át a 2 mag között a hőmérséklet változó értékét. Ezt úgy teszem, mint ha nem task-okat futtatnék, setup() előtt hozok létre egy pl.: float temp változót.
-
ZTE_luky
aktív tag
válasz
Teasüti #9262 üzenetére
xboy89
köszi
Teasüti
nem, nem úgy volt
pontosabban pár hónappal ezelőtt még úgy volt, talán arra emlékezhetsz
akkor úgy volt hogy ezt sokkal nagyobba kivitelezem, másfél méteresben és fali dísz lesz, de gondoltam jobb lesz kompaktabbként. hogy érted a közvetlen megvilágítást?
tudom ezerszer egyszerűbb lett volna nyomtatással, sokminden egyzerűbb de nem szebb. én adok egy oylan értékfaktort tárgyaknak, hogy azt megvetted, megcsináltattad valakivel és csak kész lett, vagy abba szívedet lelkedet beleraktad és az a te kétkezi munkád, és az utóbbi egy pótolhatatlan jellegű értékkel ruházza fel azt
-
JAGER 10
tag
válasz
Teasüti #9238 üzenetére
Igen, ezeket a motorokat lehet üzemeltetni nagyobb feszültségen.
Például egy ilyen meghajtónál próbáltam 24 és 36V-os tápegységgel is. A tápfeszültség növelésével növelhető a magas fordulaton leadott teljesítmény.
Az említett meghajtónál DIP kapcsolókkal állítható az áramerősség. Azt nem tudom, hogy ez az áramerősség konstans érték vagy a terhelés növelésével jelent egy határértéket?!
Csavarorsós, lineáris egységet képzeltem mechanikának. -
JAGER 10
tag
válasz
Teasüti #9232 üzenetére
Az adott motornál írt feszültséget sajnos én sem tudom értelmezni, úgyhogy ha tudja valaki, hogy mit is jelent pontosan, akkor kérem írja meg nekünk!
Épp azért szeretnék nagyobb teljesítményű motorokat alkalmazni, amit weiss kollégával beszéltetek.
A motorokat állandóan bekapcsolt állapotban kell tartani, ezért egy kisebb forgatónyomatékú motort nagyobb árammal kell használni annak érdekében, hogy minden üzemi körülmény között mozgatni tudja a szerkezetet. Gondolok itt például az erős szélre. A nagyobb áram miatt fokozott lesz a melegedés.
Mondjuk erős szélben a pozíció tartása miatt jobb választás lehet a léptető motor, mint a DC motor.
Tetszik ez a szenzor nélküli home-olás. Létezik olyan vezérlő, ami nagyobb áram leadására képes? -
llacee
őstag
válasz
Teasüti #9211 üzenetére
Megrendelve és mos várok
Gondoltam, amíg jön ebay-ről, veszek egyet próbálgatni itthon, de a ~3,5x ár eltántorított kissé...Egyébként sikerült a régi telefon töltőt kibeleznem sérülésmentesen 5.1V 450mA, addig játszom a nodemcu-val és a relével.
Teljesen jól kapcsolgatja weben keresztül, tehát nem lesz gond vele szerintem, meg a táp panelnak sem az IP dobozban.
Gondolom a zárt töltő burkolatban sem szellőzött jobbanKöszönöm mindenkinek a segítséget!
-
-
llacee
őstag
válasz
Teasüti #9207 üzenetére
Koszonom.Tetszik a megoldas, de szakmai artalom, paranoias vagyok a kizarolag felhoben mikodo cuccokkal szemben.Ma egesz nap (mar amennyit a ket 4eves engedte) azt olvasgattam hogy lehet e szabadulni az amugy tetszetos apptol es felhotol.Ha ez menne es weblapon keresztul amit a rpi vagy a nodemcu tesz ki es gyujt adatot valamint tudnam vezerleni kosarban is lenne par.csak lokal halomban.Meg nem talaltam ennyi ido alatt megnyugtato valaszt
-
ZTE_luky
aktív tag
válasz
Teasüti #9183 üzenetére
értem köszönöm szépen ^^
érdekes mennyi dolog van amit nem tudunk vagy amikhez nem értünk
és ha hátulról is megtáplálom a ledet oda is kell egy kondi? logikusnak tartanám
akkor kettőt vegyek, egyet bal oldalra egyet jobb oldalra, aztán onnan leágaztatom Y-ban a ledekre?
-
ZTE_luky
aktív tag
válasz
Teasüti #9178 üzenetére
értem, tehát annyit elég ha mondok hogy 1000 uF vagy nagyobb kondenzátor, és 6,3V-os vagy ha az nincs akkor ahhoz a leghasonlóbb?
értem akkor lehető legrövidebb úton toldom a két ágat és a csomópontra rakom a kondit. és akkor ha jól értem csak az input elé kell, mögé nem, tehát ahol befut az áram a szalagb elejébe. Még valami, bár lehet kiröhögsz
akkor ezt az 5V-os vezetékbe kell csak beleforrasztanom ugye?
-
ZTE_luky
aktív tag
válasz
Teasüti #9176 üzenetére
értem köszönöm szépen. ellenállás bent, közvetlen lábnál
kondi: 110 Pixel van, azaz 2 méter , akkor legyen olyan 1500? viszont közvetlen az első pixel elé nehézkes, mivel 2 pixelel indul, ergó elágaztattam a kimenőt és két pixelre megy rá ugyan az, mivel oszlopban halad előre a hullám. így most kettőt rakjak, és akkor mekkorát? én betudom forrasztani, csak h boltba tudják h miylet adjanak
hát a közelség relatív. sajna legközelebb olyan 5 centire tudná az első pixelhez vezető vezetéken, az nagy probléma?
én is hasonlóképp vagyok vele most
megnézném én szívesen h mi is ez és mire jó meg mekkora kell, de mire végigérnék vele (feltéve ha megértem) archiválnám a projektet
köszi szépen ezúton is mindenkinek
remélem hamar kész most faragom a portokat meg pár napba beletellik amíg összeáll az egész keret
most csak fúrás, vésés ragasztás lesz
-
ZTE_luky
aktív tag
válasz
Teasüti #9168 üzenetére
Köszönöm szépen az elismerést, igen ez a projekt vetekszik hogy a szerkezeti elemek kivitelezése fából vagy pedig a forrasztás volt neccesebb, én a fára szavazok. nem vagyo kazstalos, apukám faipari mérnök az ő segítségével csináltuk közösen. faragni semmiképp nem lehetett volna, vagy egy lapból kimarni a lyukakat, de ezt kis szögbe elvágott lécekből ragasztottam össze, tippelhetsz mennyi idő alatt
Saját munka, az arduinos programot kivéve
valaki bármit linkelne a konkikkal kapcsolatban legyen szíves? milyet vegyek pontosan, h a villamossági szaküzletben tudjanak adni, hogy kössem és hová (bocsi de tényleg nem értek hozzá)
gnd közösítés alatt mit értesz? a szalag és az arduino gndje van csak összekötve, vagy hogy az usb kábelből kiszedjem a földet és azt is kössem rá, tehát hogy tápról is kapjon? akkor ne cisnáljam ink úgy hogy mégegy portot vések a fára és dc csatlakozóról megy az egész?
330-as ellenállás is jó? pontosan hova rakjam? DIgitális Out után, tehát a zöld, adatkábelre?
videót szívesen rakok fel, úgy gondoltam majd ha kész lesz akkor, de ha szeretnéd jelenlegi helyzetről is küldhetek
-
Janos250
őstag
válasz
Teasüti #9146 üzenetére
Létezik persze, a Budafoki úton a Mikronikában most vettem párat, de 500 Ft körül van darabja. Mégse kérdezhetem meg, hogy hol lehet olcsóbban kapni.
Nincs kedvem harapdálni, jobb lenne a tördelhető.
A breakable logikus lenne, de nem jött be.
A machined közelebb áll a jóhoz, de arra is csak a kerek lyukúak jönnek. -
Janos250
őstag
válasz
Teasüti #8892 üzenetére
Hello!
Próbáltam rendelni panel gyártást, de nem tudom az oldalt megnyitni.
Mit lehet ilyenkor tenni, mi lehet a hiba? Te hogy csináltad?
]Ez a
https://jlcpcb.com/
oldal
Új hozzászólás Aktív témák
Hirdetés
- Apple iPhone 14 Pro 128GB Kártyafüggetlen, 1Év Garanciával
- Xiaomi Redmi 10 128GB, Kártyafüggetlen, 1 Év Garanciával
- Beszámítás! Apple Watch SE 2024 44mm Cellular okosóra garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5800X 32/64GB RAM RX 7700 XT 12GB GAMER PC termékbeszámítással
- Csere-Beszámítás! Gamer PC Számítógép! R9 3900X / RX 6700XT / 32GB DDR4 / 1TB SSD
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged