- Samsung Galaxy A54 - türelemjáték
- CMF Phone 2 Pro - a százezer forintos kérdés
- Tokba kerülnek a Pixel 10 mágnesei
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Fotók, videók mobillal
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Külföldi SIM-ek itthon
- Samsung Galaxy A34 - plus size modell
- Garmin topik
- Yettel topik
-
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
-
tonermagus
aktív tag
Sziasztok!
Logikai szintillesztéssel kapcsolatban lenne egy kérdésem.
Használok egy modult, amivel TTL-UART-on kommunikálok.
A modul 3,3 -ról az ardu 5V-ról megy. A vissziránnyal nincs gond, mert gondolom a 3,3V-ról üzemelő modul által küldött high level megüti az 5V-os logikai bemenet high szintjét. Az oda irány viszont necces, mert ha 5V-ot kap a 3,3V-os bemenet abból lehet probléma.
Tudom hogy kaphatóak logikai szintillesztő modulok, de ha szerintetek az esetemben elég csak az oda irányt korlátozni 2 ellenállással (feszültségosztó) akkor inkább azt választanám. -
tonermagus
aktív tag
válasz
Janos250 #17420 üzenetére
STM32-ről ha jól emlékszem azt olvastam hogy nincs Flash memória benne. Legalábbis a Blue Pill-en. Nekem pedig szükségem van memóriára. Nem kell hatalmas nagy tárterület, de azért 15 db Float típusú változó értékét szeretném eltárolni.
Jelenleg a Mega 2560 Pro 7.000 Ft környékén mozog, míg egy ESP32 2.400 Ft körül. Ez már szignifikáns különbség, hiszen így majdnem a felére csökken az eszköz bekerülési költsége. -
tonermagus
aktív tag
Sziasztok!
Az elszálló Atmel chip árak miatt gondolkodom rajta, hogy kukázom az Arduino Mega 2560 Pro-t, és lecserélem egy ESP32-re, mert egy Arduino árából 3 ESP32 kijön.Azért az nem mindegy. Ezzel kapcsolatban lenne pár kérdésem:
- Elképzelhető hogy az ESP ára is emelkedni fog? Egyáltalán megéri váltásban gondolkodni? A jelenlegi Arduino tökéletesen megfelel (sőt eléggé ágyúval verébre kategória), és elég nagy macera lenne átállni, de így az előállítási költség a felére csökkenne az eszköznek.
- Tudnátok olyan ESP32 típus mondani, aminek a leghosszabb oldala is kisebb mint 5,4cm és van rajta legalább 3 UART port? Nem kell se Wifi, se bluetooth, az UART fontos csak és 1-2 PWM képes port...
Otthon van egy ESP32, a tüskéket sárga színű műanag lábak fogják össze. Na az pont hosszabb 2-3mm-el mint a mega, és nem fér be annak a helyére -
tonermagus
aktív tag
válasz
razorbenke92 #17323 üzenetére
Maradnék a passzív alkatrészeknél.
Azokban valahogy jobban bízom -
tonermagus
aktív tag
Sziasztok!
Tudtok valami jó példát feszültség mérő áramkörre?
Arduino-val szeretnék ~7-20V-ig DC feszt mérni analóg porton.Bolond biztosat szeretnék, a delikvens két vezetéket kap (piros-fekete) és ha fordítva dugja be akkor se süljön meg, illetve ha kikapcsolja az Arduinot attól még a feszmérő áramkör része él, az analóg portra feszültség esik, ez is okozhat gondot. Ezt eddig feszültség osztó ellenállásokkal és graetz híddal oldottam meg. De hátha van egyszerűbb, pontosabb megoldás...
Pl. a graetz híddal az volt a gond, hogy ha a graetz hid GND-jét és az Analóg portra vezetett VCC-t mértem össze akkor pl. 2V-ot mértem, ha az arduino GND-jét mértem az analóg porttal akkor meg 2,4V-ot mértem. (a feszmérő áramkör és az arduino áramköre nem volt közös GND-re kötve)
-
tonermagus
aktív tag
Köszi a tippet és egyben bocsánat a késői reagálásért
Ez a megoldás szimpatikusnak tűnik. Az teljesen jó, ha 1-2 méteren belül tud érzékelni.
Kérdés hogy az jelenthet-e tapasztalataid alapján problémát ha:
- A vevő magasabban van picit mint az adó. Itt ugye kérdés, hogy a vevő milyen szögben érzékel, vagy az adó milyen szögben sugároz vertikális irányba. Elképzelhető hogy az oszlop 30-50 cm-el magasabban lesz mint az adó, ami a földön lesz. Ez lehet-e probléma?
- Párás/esős idő befolyásolja-e az érzékelést? Szabadtéren lesz használva... -
tonermagus
aktív tag
Sziasztok!
Nincs valami ötletetek arra, hogy milyen szenzorral tudnám figyelni azt, ha egy oszlop mellé érkezik egy tárgy? Egy csapatjátéknál szeretném alkalmazni.
- Figyelni kellene az oszlop környékét 360 fokban
- 1méter körüli hatótáv jó lenne
- Lehetőleg kicsi és olcsó legyen
A tárgy alapból műanyag. De rakhatunk rá fémet, vényvisszaverőt, akármit.
RFID drága ekkora hatótávban. Proxy Mágneses elméletileg csak közelről jó... -
tonermagus
aktív tag
válasz
Tankblock #16931 üzenetére
Na még ez is érdekes lehet.
Gyakorlatilag 4-5 db hagyományos 5mm-es LED. Ezek közös szálon lesznek megtáplálva.
Amíg teszteltem, és a LED-eket külön tudtam venni, addig minden LED elé tettem egy 100ohm-os ellenállást. De mivel én csak egy szálhoz férek hozzá, amire több LED is főzve van akkor én használhatok az elején egy "közös ellenállást"? Ha igen akkor hogy kell betervezni? Sima hagyományos LED, 5 db... -
tonermagus
aktív tag
válasz
Janos250 #16926 üzenetére
Én sajna csak IRLZ44NPBF-t találtam, ez is megfelel nekem?
-
tonermagus
aktív tag
válasz
razorbenke92 #16921 üzenetére
Teljesen elképzelhetőnek tartom hogy valamit helytelenül írtam le, a tévedés jogát fenntartom
Teljes mértékben laikus vagyok a téren (pl. ebből a mondantból nem sok mindent értek: A PWM-es meghajtásnál nincs - jelentős - disszipáció és a vezérelt eszköz átlagárama is lineáris összefüggésben marad a PWM kitöltési tényezőjével.
)
A sok-sok info alapján az alábbi kapcsolást szűrtem le:
Természetesen az arduino megtáplálása is megtörténik, jelenleg csak a releváns részét rajzoltam le a kapcsolásnak.1. Ez így megfelelő lehet? hiányzik valami a kapcsolásról?
2. Láttam egy Zéner diódát a S-D között, az szükséges, ajánlott? Ha igen milyet?
3. Melyik az a FET, ami TO220-as tokozású, HESTORE-ban elérhető, és alkalmas a feladatra? (Logikai vezérlésű, feszültség tartomány 5-12V max, áramerősség 3A max)Köszönöm mindenkinek addig is a segítőkész hozzászólásokat
-
tonermagus
aktív tag
válasz
razorbenke92 #16918 üzenetére
Szia!
A biztonság kedvéért azt mondanám max. 3A-t kell elbírnia, de a gyakorlatban ez nemigen megy fel 1A felé. Mindenképpen TO220-as tokozású kellene.
Mekkora ellenállást javasolsz a GND-re húzásnál?
Mit jelent az hogy low-side? -
tonermagus
aktív tag
Időközben átnyálaztam pár leírást, most már a nagy része világos számomra.
Tudnátok ajánlani olyan FET-et, ami HESTORE-ból beszerezhető és 12V-ot illetve 5-6V-ot kapcsolgathatok vele logikai szintű vezérléssel max. 2-3 A áramerőség mellett? Ha ezt egy FET-el meg lehet oldani az is jó, de ha külön-külön van rá megoldás az is érdekel.
(Sajna IRLB4030-t a HESTORE-nál nem látok)
Továbbá az ellenállás/kondi méretezés sem annyira világos. Milyen értékűeket érdmes a kapcsolásba tenni? Nem kell hogy olyan nagyon részletes legyen a halványítás/erősítés -
tonermagus
aktív tag
válasz
Tankblock #16915 üzenetére
Szia
Rajzot nem tudok sajnos adni, mivel pont ez a problémám, hogy nem tudom milyen elemeket kell hogy tartalmazzon feszültségszabályzás részen, inkább részletesen leírom:
Van egy HC-05 Bluetooth modul, amire egy érzékelő van felpárosítva ami egy értéket ad neki. Ezt az értéket átadja a modul az arduinonak, ami kiszámítja hogy mennyire kell hogy világítson a LED. Ennek megfelelően az Arduino egyik kimenete vezérelné a FET-et. A FET pedig a 12V-os áramkör pozitív szálát szakítaná.
Mivel laikus vagyok elektronika témában, ezért én úgy képzeltem el, hogy az ardu kimenetén van egy FET, aminek az egyik lábára rákötöm az ardu egyik kimenetét(Analóg?) és azon a kimeneten analogwrite paranccsal tudom vezérelni a FET-et, hogy mennyi áramot engedjen át ezáltal a nagyobb átengedett feszültség miatt a LED jobban világítana.
Bár azt már most látom gyapo11-nak hála, hogy én a PWM-el nem a feszültséget csökkentem hanem "gyorsan ki-be kapcsolgatom" így a teljes 100%-os ciklus csökkentésével csökken a fényerő.
Ezek szerinte nekem tényleg csak egy FET kell ami elbírja az áramerősséget, és az analogwrite-al parancsot küldök neki a GATE-re, és már tudom is fadelni a LED-et? -
tonermagus
aktív tag
válasz
razorbenke92 #16911 üzenetére
Igazából az sem biztos hogy nekem erre van szükségem.
A helyzet a következő: Egy érintkezőtől kapok egy jelet ami lényegében a fényerőt jelenti. És én csak azt akarom elérni, hogy ettől a jeltől függően világosodjon, vagy halványuljon a LED. Azt gondoltam erre jó lehet egy FET, mert gondolom azzal tudok feszültséget is szabályozni: kisebb átengedett feszültség -> kis fényerő. Nagyobb átengedett feszültség --> nagy fényerő. Ehhez gondoltam hogy jó eszköz lehet egy PWM vezérelhető FET.
De ha tudtok rá jobb megoldást akkor vevő vagyok rá.
Maradjunk egyenlőre a 12V-os LED fényforrásnál. -
tonermagus
aktív tag
Sziasztok!
Tudnátok ajánlani egy olyan FET-et, ami Logic-Level, elbír 3A-t és PWM jellel vezérelhető és a kimenete eszerint változik? Tehát minél nagyobb PWM értéket küldünk rá annál nagyobb feszültséget enged át magán. Nem tudom hogy ez így önmagában működik-e, vagy kell hozzá valami még? Az egyik forrás 5V lenne a másik 12V. Az 5V-os ágon pl. 0V-tól 3,3V-ig kellene átengedjen feszültséget attól függően hogy emelem vagy csökkentem a vezérlő PWM értéket. -
tonermagus
aktív tag
Sziasztok!
Van arra valami mód, hogy lecsekkoljam, hogy egy Arduinora dugott eszköz mekkora baud rate-re van állítva?
Hogy miért kell ez? Van egy Arduino-m illetve egy szenzorom ami UART-on kommunikál egymással. Sajnos rajtunk kívülálló okok miatt ezek a szenzorok nem egyformák és eltérő baud rate értéken kommunikálnak. Igazából kétfajta érték fordul elő: 9600 és 38400.
Mivel ezekkel a szenzorokkal kétirányú kommunikációt végzek (néha az AVR is küld neki adatot) és rossz baud rate-en szólítom meg akkor kifagy az egész.
Itt működhet aif(Serial.available() > 0) ??
Vagy ez a feltétel akkor is teljesül ha nem értelmezhető adatot kap az eltérő baud rate miatt? -
tonermagus
aktív tag
válasz
Szancsó #16650 üzenetére
Trimmer szerintem a szabályzón lévő feszültség beállító csavar.
Egyébként én jelenleg is használok ilyen megoldást amit Te. 12V-ról lehúzom 5V-ra a feszültséget, de rövid távon nem vettem észre, hogy melegedne. LM2596-ot használtam, gondolom Te is azt használod.
Erről a fasz stabilizátorról ment egy Ardu és egy GPS modul is.
Az a LED szalag ~1,8A-t fogyaszt teljes fényerőn, fehér színben.
Tehát van egy 12V tápod ami egyrészt megy a LED szalagra, másrészt egy DC-DC stepdownra, ami 7V-ot állít elő és azt rákötötted az Ardu VIN lábára? -
tonermagus
aktív tag
Hát ez az, nem lassú semmi
Egyszerűen csak profibbnak érezné ha ESP/STM-en futna...
Természetesen nem használok blocking delay()-t, csak millis()-el operálok.Személyes véleményem hogy hiába lenne gyorsabb a hardware, az adatok amikkel dolgoznom kell úgyis csak 500ms-enként jönnek... Szerintem ezt röhögve tudja a Mega.... Még ha 100ms-enként jönne az adat, gondolom még az sem lenne neki probléma.
-
tonermagus
aktív tag
Sziasztok!
Sebességgel kapcsolatos kérdésem lenne.
Egyik kollégám folyamatosan csesztet, hogy a már meglévő Arudino Mega 2560-on futó projektemet ültessem át ESP32/STM32-re, mert hogy azok sokkal gyorsabbak.
Ebben igazat adok neki, tény hogy azok a mikrovezérlők jóval gyorsabbak.
Viszont én úgy gondolom, hogy arra a feladatra amire én használom az Arduino Mega 2560 sebessége is túlzó.
Ebben kérném a segítségeteket, hogy ti mit gondoltok? Elég a Mega?
A kód kb. ~300 sorból áll.
Amit a fő loop csinál dióhéjban:
- másodpercenként 2 alkalommal GPS koordinátát olvasok be (2Hz)
- ezekhez a koordinátákhoz képest looponként számításokat végzek. Irány, távolság, szatelitek száma, stb.
- 1 db UART porton keresztül looponként beolvasok 10 sort
- 1 db UART porton keresztül looponként kiírok 5 sort
- 8 db PWM értéket mérek digitális bemeneten
- 10 db PWM értéket írok ki digitális kimeneteken
- Másodpercenként 10 alkalommal olvasok be i2c eszközről adatot
- a kód többi része if feltételek és matematikai sorokból áll össze, jellemzően soronként egy feltétel/művelet és tök egyszerű összeadás/kivonás
- Feltétel teljesülése esetén EEPROM-ba írok 10 memóriaterületre adatot (ez csak ~10 secenként forul elő)
Szerintem ez egy Arduino Megának bele kell hogy férjen a számítási sebességébe, jól gondolom?
Nem akarnék teljesen feleslegesen áttérni ESP/STM-re csak azért mert az gyorsabb, de amúgy gyakorlatilag semmi különbség nincs a kettő között... Én úgy gondolom a vékony keresztmetszet jelenleg a GPS modul...
Amúgy meg a sok EEPROM kezelés miatt úgy hallottam célszerűbb Arduinot használni. Talán annak jobb a memória kezelése.
Ti mit gondoltok? -
tonermagus
aktív tag
válasz
vegyszer #16285 üzenetére
Tisztában vagyok vele hogy működnek ezek a Black Fridayek Magyarországon. A hátamon feláll a szőr amikor meghallom a Black Friday szót a TV-ben. Hányingerem van tőle hogy 2 hónapon keresztül folyamatosan Black Friday, Cyber Monday és társai...
Viszont pár éve külföldön ahogy a példámban is említettem Airsoftos cuccokat tényleg sokkal olcsóbban lehetett megvenni. Sőt, nagyon sok bolt ténylegesen olcsóbban adott cuccokat mint akció előtt. Azért is kérdeztem hogy ez Aliexpressen is így van-e... Ezek szerint nem is kell reménykednem benne
Egyébként Amazon? Ő is játszik az árral? Ugye amcsiban tényleg fillérekért adnak mindent, az amazon meg igencsak amcsi. Ott sem szoktak jó árak lenni azon a napon? -
tonermagus
aktív tag
válasz
vegyszer #16282 üzenetére
Nyilván csak annyi lett volna a kérdésem, hogy mostanában szeretnék nagyobb tételben bevásárolni ezekből az alkatrészekből, és hogy van-e értelme várni a Black Friday-re... De ha közel azonos áron (netalántán drágábban) lehet majd akkor megvenni akkor nyilván nem várok addig
Még Airsoftos időkből emlékszem mikor a 40K-s Dragót 19K-ért lehetett megvenni, a 60K-s M4-et pedig 30-40K-ért. Azóta úgy néz ki a kinti Black Firday is elmagyarosodott
-
tonermagus
aktív tag
Alapból én is szívesen rendelnék a Bangoodról, de egyszerűen nem találok Arduino Mega Mini 2560-ast, illetve NEO M8N compass modulos tányért (csak 19K-ért, de az marha sok)
-
tonermagus
aktív tag
Sziasztok!
Ha már Aliexpress/Bangood a téma: érdemes várni a Black Friday-t elektronika rendelésénél? Főleg Arduinot és Gps modulokat szoktam rendelni.
Akinek van már tapasztalata, mennyire várható hogy jó áron tudok ilyet beszerezni. Nagyobb tételben szeretnék rendelni, azért nem lenne mindegy...
-
tonermagus
aktív tag
válasz
Janos250 #16250 üzenetére
Ezen én is gondolkodtam, de arra jutottam, hogy a bázis pontnak ugyan úgy nem fogom tudni a pontos koordinátáit. Akkor meg hiába számolom bárminek a hibaértékeit.
Tehát ha most én kimegyek a mezőre, és állok 10 percig egy helyben akkor is vándorolni fog a GPS pozícióm, ezt én nem kezelhetem fix pontnak, nem számolhatok hozzá hibaértéketDe végül is mindegy, mert az a pontosság amit szólóban tudnak tökéletesen elég a feladatra.
Kérdés, hogy GNRMC és GPGGA NMEA üzenetekhez 5Hz-en elég-e a 9600 Baud ráta. Szívem szerint én csak az egyiket használnám, de ha jól látom az egyik GLONASS a másik GPS műholdakról származik. Egyáltalán mi történik ha kevés a baudráta? Egyáltalán nem működik, nem kapok kiértékelhető üzeneteket?
Létezik-e olyan, hogy működi a gps, majd a baud ráta hirtelen kevés lesz, aztán megint utoléri magát, majd megint kevés lesz?
Az iránytű már neccesebb téma, sajna nehéz eredeti HMC5883L-t beszerezni. A legtöbb gyártó ilyen néven árulja a QMC5883L-t is, így több helyen is kell próbavásárlást csinálni, hogy honnan jön tényleg az a chip. Egyébként úgy vettem észre, hogy a kerek GPS antennák, amiket Pixhawk-hoz is árulnak szinte mindegyikben HMC5883L van, így azokat próbálom inkább keresni.
-
tonermagus
aktív tag
válasz
Janos250 #16243 üzenetére
Aztaaa, ezt nem is tudtam
Akkor ezek szerint a sofware oldalon dől el, hogy RTK-s vagy sem? Tehát mondjuk egy Beitian BN-880 is akár tudhatja az RTK-t?
Amúgy természetesen hozzá igazítottam a baud-ot is:
Bár most jobban megnézve lehet hogy az a gond, hogy előbb állítok baudot aztán akarok rátát? Meg fogom próbálni hogy fordítva tovább megye-e...
De egyébként van-e értelme 9600-ról feljebb váltani 5Hz-en két darab NMEA sentence esetében? -
tonermagus
aktív tag
válasz
Janos250 #16240 üzenetére
Én ~1 éve álltam rá a GPS chipekre, azóta kb. ennyi az ára.
Az M8N nem RTK-s, de ettől függetlenül elég pontos... Simán megvan az 1-2m, de én csak teljesen sík terepen használom.
Valószínűleg koppinc modulokkal dolgozom, mert nem jegyzi meg a beállításokat, de a linkelt kódrészlet pont ezt a célt szolgálja: minden egyes induláskor a setupban felkonfolom a modult újra és újra. Így mindig meglesz az 5Hz...
Kérdés hogy miért fagyhat meg a program a baud állítás után?!?! -
tonermagus
aktív tag
Jó hogy itt vagy Janos250, te vagy a szakértője a GPS-nek
-
tonermagus
aktív tag
Sziasztok!
NEO M8N GPS modult használok 5hz-en. Tudnátok segíteni abban, hogy be tudjam lőni a megfelelő baud rátát?
Ezt a két sort kérem le a modultól:
$GNRMC,083559.00,A,4717.11437,N,00833.91522,E,0.004,77.52,091202,,,A,V*33
$GPGGA,092725.00,3242.9000,N,11705.8169,W,1,8,1.01,499.6,M,48.0,M,,0*49
Ha ezt összeszámolom akkor 144 szó, ezt megszorzom 8-al, majd mivel 5hz-en megy ezért megszorzom 5-el. A végeredmény 5760... Ezek szerint én a 9600-as baud rátába bőven beleférek?HALKAN KÉRDEZEM: engem csak a latitude, longtitude, speed érdekel, lehet hogy elég lenne a GNRMC sor is? Feleslegesen doglozom fel a GGA-t?
Egyébként találtam egy programkódot, amivel 5hz-re lehet állítani, és hozzá a baud ratet is megnövelni 38400-ra, de ha ezt használtam akkor folyton lefagyott a program. a
gpsPort.begin( 38400 );
sor után. Így a baud ráta állítást kihagytam, és szimplán 9600-os baud rátával használom 5hz-en. Bízom benne hogy így is jó lesz.
Egyébként erről a kódrészletről van szó:https://forum.arduino.cc/t/neogps-rate-and-baud-commands-not-working/478471/11
-
tonermagus
aktív tag
jaj igen, elfelejtettem írni azt fontos dolgot, hogy elképzelhető hogy később újra programozni kell, így a levágást nem annyira preferálnám..
Mindenesetre az a csipesz amit linkeltél elég érdekes... sosem láttam még ilyet. Viszont nem tudom hogy ez a 4*2-es ICSP tüskékre rá lehet-e rakni... -
tonermagus
aktív tag
Sziasztok!
Ti hogy oldanátok meg?:
Az Arduino Mega mini-t az ICSP lábain keresztül programozom. Gyárilag ezekbe a típusokba nincsenek beforrasztva az ICSP tüskék. Nyilván be tudom forrasztani, de a feltöltés után le kell vágnom a lábait mert ha rajta vannak a tüskék akkor nem tudom visszatenni a dobozba (fordítva beforrasztva sem). Forrasztás nélkül meg hiába tudom beledugni a lyukakba a programozó kábelét amibe előzőleg bedugtam a tüskéket az nyilván nem kontaktol.
Milyen más lehetőségeim vannak? gondoltam rá hogy a tüskéket bevonom vékony ónnal, hátha jobban kontaktolnak, de szerintem esélyeteln olyan vékonyan és szépen megcsinálnom hogy belemenjenek a foglalatokba... -
tonermagus
aktív tag
válasz
ekkold #16024 üzenetére
Az LF50CV mellett döntöttem. Szimpatikus. 3 lábas megoldás.
Stabil tápról kapja feszültséget így elé nem nagyon szeretnék kondit rakni. Viszont a belső oldalra mekkora kondit kellene választanom?
Nekem nagyon szimpatikusak ezek a fóliakondik:
https://www.hestore.hu/prod_10040535.html -
tonermagus
aktív tag
Köszönöm a sok hozzászólást!
Időközben koppantam egy nagyot. Mint kiderült eddig is 6V-al üzemeltettem az Arduinot
Nem mértem az eszközt amit betápként ideadtak... Most rámértem és megvan stabilan a 6,04V rajta.... Erről ment az Arduino, erről ment egy NEO M8n is.... Hihetetlen. Volt hogy órákig nyüstöltem. HOGY a francba nem égett le????
Simán az 5V-os lábára kötöttem mindent. Az ardu is működik, a Neo is működik továbbra is. Kimértem, mindenhol megvan a 6,05V.
Gondolom ettől függetlenül nem ajánlott 6V-on járatni őket... -
tonermagus
aktív tag
Esetleg ez megoldás lehet?:
https://www.hestore.hu/prod_10038725.html
Kérdés hogy 6V-ból elő tudja-e állítani az 5V-ot
Illetve vajon mi célt szolgál az az EN láb? Be kell azt nekem kötni? -
tonermagus
aktív tag
Ismét egy kérdésem lenne, de ez inkább már elektrotechnika:
Egy nyákterv alapján legyártottam jó pár adag nyákot. És utólag közölték velem, hogy nem minden esetben 5V-ról hajtják meg, hanem néha 6V-ot adnak bemenetként.
Ezt ugye alapból hazavágja az Ardut, illetve a többi nyákon lévő eszközt is
Áttervezni, újra legyártatni nincs idő. Gány megoldásként ott van a lehetőség, hogy a bejövő feszt egy DC-DC stepdownnal lecsökkentem. Ez biztos működik, csak nem szép és nagyon sok helyet foglal, illetve kérdés hogy 6V-nál már átenged-e 5V-ot....Viszont az alkalmazható-e, hogy feszültség osztó áramkört teszek a betápra az alábbi módon? (nyilván 6V-ból csinálnék 5V-ot, így más lenne az ellenállások értéke is)
Az egész nyáklapnak az áramfelvétele minimális.... 100-200mA
Mennyire időtálló, megbízható dolog így megoldani szerintetek? 6V-ról 5V-ra, 200mA-el gondolom nem melegednének nagyon az ellenállások... Egyáltalán hány W-at érdemes venni belőlük? -
tonermagus
aktív tag
Sziasztok!
Már előre elnézést kérek a hülye kérdésért, de 100%-ra kell mennem
Kérdés1:
Szóval az Arduino Mega-nak 4096 Bytes-os az EEPROM-ja.
Ez azt jelenti, hogy a EEPROM.put(address,érték) -nél az address helyére max 4096-ot írhatok alapesetben?Nyilván abba most nem kell belemenni, hogy pl. egy float típus 5byte-ot foglal ha jól tudom (4 az értéknek+1 checksum értéknek) és ebben az esetben nem férne el az utolsó 4096-os byteon....
Kérdés2:
Nem vagyok otthon hogy kipróbáljam, de addig is agyalok rajta hogy mi lehet a gond.
Létrehozok egy tömböt , majd minden indításkor beolvasom az értékeit a memóriából, elméletileg 21 értéket, mert amikor írok a 0-ra is írok, és a 20-ra is írni szeretnék.
float ertek[20];
for (int i = 0; i <= 20; i++) {
EEPROM.get((i * 10), ertek[i]);
}
Később felöltöm frissebb adattal: (nem for ciklus használok egyéb okok miatt)
EEPROM.put(0, ertekamitbeteszek[0]);
...
EEPROM.put(20, ertekamitbeteszek[20]);
Amikor a 20. értéket írom bele akkor hülye értéket ad vissza, és a 0-as értéket is elállítja...
Ez jól gondolom hogy azért van mert a tömböt alulméreteztem??? Ott 21-et kellene megadnom? -
tonermagus
aktív tag
válasz
cidalain #15944 üzenetére
Ez így van... Ha összerakom a kütyüt (ami ha minden igaz nagy tételben fog készülni) akkor nemigen szeretnék kontakthibás csatlakozókat keresni... Nyilván kihagyhatnám a csatlakozót, és rögtön a forrasztópadra forraszthatnám a vezetéket, de az úgy igénytelen
Egyébként nem a krimpeléssel volt a gond eddig, hanem a vezetőérintkező nem helyezkedett el megfelelően a műanyag házban/ esetleg nem volt elég magas a "hasa", és az érintkező nem ért hozzá a nyáklapba forrasztott házban lévő tüskével.... stb... -
tonermagus
aktív tag
Sziasztok!
Tudtok ajánlani olyan Wire To Board csatlakozópárost, aminek a tüskéjét könnyedén rá tudok krimpleni egy 26AWG kábelre és kicsi az esélye a kontkathibának?
Történt ugyanis hogy otthon volt pár NSK25 érintkezőm és a hozzá tartozó NSG25 csatlakozóházam, és betűzés után az egyik ér kontakthibás lett. Sajna már nem először fordul elő... De pl. NSR-NDR párost már nagyon sokat csináltam és egy sem volt kontakt hibás, de az nem WireToBoard
Tudtok ennél megbízhatóbbat? A lényeg hogy 2,5mm-es lábtávolságú legyen -
tonermagus
aktív tag
válasz
UrbánK #15921 üzenetére
Én ha relé vezérlést csinálnék biztos hogy jelhiány esetén NO helyzetben hagynám a relét, és a mikrovezérlőt beállítanám hogy már inicializálásnál a relé kimeneti pinje LOW legyen. Nálad valamiért átesik jelhiány esetén NC-ra. Elképzelhető hogy az ESP újraindulás után valami random jelet küld ki a relének, ami simán lehet HIGH-jel.
De én ezt csak laikusként gondolom... -
tonermagus
aktív tag
Kicsit szeretnék rendet tenni a fejemben.
Az odáig stimmel hogy az Arduino IDE a bootloaderen keresztül szólítja meg az Arduinot?
Viszont az MicroUSB porton keresztül van lehetőség kód letöltésére gépi kódban? Vagy az az irány csak feltöltésre használható?Ugye arra vagyok kíváncsi, hogy a gépi kód bevédése érdekében elég az SPI kommunikációt tiltani, vagy a bootloadert is zárolni kell?
Az jó lenne ha a későbbiekben tudnék új kódot feltölteni a bootloaderen keresztül, de azt nem szeretném hogy az AVR-em klónozzák. Ez megoldható? Mintha az AVRDUDE csak SPI porton keresztül férne csak az AVR-hez. Ezt jól tudom?
-
tonermagus
aktív tag
Korábban beszéltünk már az AVR-ekben található Lock Bit-ról.
Jól sejtem hogy az úgy működik, hogy feltöltöm a végeleges kódot a vezérlőre, majd az AVRDUDE-al ráküldök mondjuk egy ilyen parancsot?:
AVRDUDE -U lock:w:0xFC:m
Mert ez így túl egyszerűnek tűnik..
Találtam egy kalkulátort a neten, EZT -
tonermagus
aktív tag
Fordítva sajnos komolytalan
Ez vezeték lóg ki belőle ami így előre kerülne...
Az átszámolás már megvanVégső elkeseredésemben átfordítom szoftveresen, de ez így megint nem elegáns..
Amúgy a gondolatmenet jó? sosem programoztam még i2c eszközt, tegnap olvastam először róla hogy léteznek ezek a programozó regiszterek és bitek -
tonermagus
aktív tag
Sziasztok!
I2C programozásában jártas ember tudna nekem segíteni?Van egy HMC5883L iránytűm, ami fordítva mér (180 fokkal eltolva). A leírását tanulmányozva azt találtam, hogy az egyik regiszterét ha átírom, akkor lehet forgatni az irányt.
https://cdn-shop.adafruit.com/.../HMC5883L_3-Axis_Digital...
Ez alapján írtam a setup-ba az alábbi sorokat, de kiakasztja az iránytűt. Valamit ezek szerint nem értek.A begintrasmission sorral megszólítom az iránytűt. A 0x3c az írási parancs, a 0x00 az a A Regiszter, a 0x75 pedig ha minden igaz 1110101, ami a könyv szerint nekem jó kellene hogy legyen. Mégis kiakad. Valami tipp?
-
tonermagus
aktív tag
Ismét egy kérdésem lenne HMC5883L iránytűvel kapcsolatban. Bár igazából nem is annyira fontos a típus. Úgy általánosságban érdekelne, hogy valakinek sikerült-e elfogadhatóra bekalibrálni a digitális iránytű modult?
A gondom tipikusan az, hogy hogy ha beállok vele 0 fokra (már ami szerinte 0 fok, az a valóságban mondjuk 67 fok) és hátrafordulok vele akkor a 180 fok helyett ~260-at ad vissza. Aztán ha tovább fordulok az adott irányba akkor 260 és 360 közötti értéket ad vissza. Tehát tipikusan nincs bekalibrálva.
Ennek a kalibrálási folyamatnak érdekelne az elmélete és gyakorlati megvalósítása VIRÁGNYELVEN, mert bár sok szakcikk van a neten, nem igazán értem.
Példaprogramom van kalibrálásra, azzal elméletileg kapok egy offset-et az X és Y tengelyre, amit a fő programban be is állítok SetOffset(x,y)-al, de mégis piszkos nagyot csak az iránytű.
Azt se tudom hogy jól csinálom magát a folyamatot: sík felületre teszem, majd körbeforgatom párszor minden irányba. és a kapott offx és offy értéket használom.
https://github.com/jarzebski/Arduino-HMC5883L/blob/master/HMC5883L_calibrate/HMC5883L_calibrate.ino -
tonermagus
aktív tag
Sziasztok!
LiPo akksin mért már valaki feszültséget Arduinoval?
Eddig azt a "béna" megoldást használtam, hogy az akkumulátor kimenetére kötöttem egy analóg lábat (feszültségosztó áramkörre, 7,5K és 30K-s ellenállásokkal lehúzva) majd a kapott értéket szoroztam egy számmal, és így nagyjából kijött a 12V környéki érték.
Ennél elegánsabb megoldás is létezik, a LiPo akksik Balance kábelét lehet gondolom erre használni. Egy 3 cellás lipon 4 ér van, 1 GND, és 3 pozitív minden cellához. Tehát meg tudom mérni csak egy cella értékét, vagy két cella értékét, vagy az összeset.
Jól gondolom, hogy ha csak egy cella értékét mérném (4,2V körül van teljesen töltve) azt simán mérhetem mindenféle ellenállás nélkül egy analóg lábra kötve?Nyilván azt szoroznám meg hárommal, így nagyjából meglenne a teljes feszültség ha jól balancolva van az akkumulátor. -
tonermagus
aktív tag
Sziasztok!
NYÁK lapon tudtok ajánlani valami furaton átmenő, forrasztható elemet amit tudok átkötésként használni. Max. 1A és 5V menne át rajta.
Olyan megoldás érdekelne amit pofonegyszerű forrasztani ( nem smd, nem miniatűr) és nem is sufni (pl. sima vezeték odaforrasztva).
Igazából számomra egy ellenállás is tökéletes lenne, ha létezik olyan ami olyan mintha ott sem lenne. Első körben sima diódára gondoltam, de azon elvileg sok feszültség esik.
Mit ajánlatok? -
tonermagus
aktív tag
Sziasztok!
A hétvégén megyek bemutatni a kütyümet egy cégnek.
Kérik, hogy egy minta darabot hagyjak is ott nekik.
Elég paranoiás vagyok, és már tárgyaltunk régebben itt a programkód védelemről. Attól tartok hogy otthagyom a próbadarabot, ők egy AvrDude-al letöltik a programot, a nyáktervet és eszközöket már saját maguk is el tudják készíteni, feltöltik egy AVR-re a kódomat és már mehet is a sorozatgyártás... Vagy ez nem ilyen egyszerű?
Szóval a védelem érdekében arra gondoltam, hogy a kódba beleteszem azt, hogy soros porton 10 másodpercenként kiadja a nevemet. Szerintetek ez érhet valamit? Az AvrDude-al lementett forráskódot tudják módosítani és visszatölteni?
Vagy mit tehetek a kódom védelme érdekében?
Egyáltalán hogy van ez az Arduinos forráskódos dolog. Mintha olyanról is olvastam, hogy ha nyílt libraraykat használok akkor nem védhetem le a kódom? -
tonermagus
aktív tag
Sziasztok!
Kicsit szeretném ésszerűsíteni a NYÁK lapomat.
Hála nektek azt már tudom hogy az Arduino Mega 2560 Mini-t meghajthatom 6,4V-ról VIN lábon keresztül. Így akár ki is eshetne a DC-DC stepdown, ami eddig a 6,4V-ot 5V-ra alakította. De még mindig itt van a Neo M8N GPS module, amit szintén meg kellene hogy tápláljak. Alapból 3,3V-ról menne, de elbír az 5V-ról is a VIN lába (jelenleg is 5V-on üzemel). Szerintetek ezt megtehetem az Arduino 5V-os, esetleg a 3,3V-os lábáról? Nem fog szétsülni az Arduino kimenete? Mert ha ez működik, akkor nincs akadálya annak, hogy kivegyem a DC-DC-t a kapcsolásból...Hacsak feszültség stabilizátorként nincs értelme bent hagyni
Ha biztonságosan használható Arduinoról, akkor az 5V-ot, vagy a 3,3V-os kimenetet ajánljátok? Melyikkel melegszik kevésbé? -
tonermagus
aktív tag
válasz
stopperos #15653 üzenetére
Maga a környezet úgy néz ki hogy ~18V-on meg van táplálva egy motorvezérlő ESC és egy fesszabályzó ami előállítja a 6,4V-ot. Arról megy egy másik fesszabályzó ami a 6,4-ből 5V-ot csinál. Ez táplálja meg az Arduinot, és arról a körről menne még egy GPS modul és pár egyéb elektronika is. A GPS modul ha jól emlékszem többet vesz fel mint 100mA, így nem szeretném Arduinoról 5V lábról hajtani, illetve már meg is van hozzá a nyákterv, nem is szükséges hogy arról menjen. Ez egyébként úgy néz ki hogy működik.
Próbáltam azt, hogy a ~18V-ot közvetlen leveszem és az lenne az 5V-os DC-DC stepdownnak a betápja (tehát kihagynám a 6,4V-os Stepdown-t) , de ha a motorvezérlő beindult és kövér gázt adtak, akkor az arduino mindig újraindult. Utólag lehet egy kondi elég lett volna, nem tudom, nem értek hozzá. Ez miért lehetett?
Tehát most az alábbi opciók vannak:
- kidobom az 5V-os DC-DC stepdownt, a 6,4V-ot megkapja az Arduino Mega Mini VIN-en, majd a NEO M8N GPS vevőt, illetve 2 db 3mm-es LED-et pedig az ARduino 5V-os portjain hajtom meg.
- megcsapolom közvetlenül a ~18V-ot, ebben az esetben marad az 5V DC-DC stepdown, viszont erről a körröl mennem minden elektronika, nem az arduino 5V pinjeiről. Viszont ebben az esetben meg kellene szüntetni hogy az arduino újrainduljon.
Egyébként a 18V-ot mindenképpen meg kell csapolnom, mert mérem a feszültséget. Jelenleg viszont nem a 18V-ot kötöm az 5V-os DC-DC-re, hanem a 6,4V-os fesszab kimenetét, így megszűnt az újraindulás hibája. -
tonermagus
aktív tag
Sziasztok!
Nem igazán értek az elektrotechnikához, és sajnos az a helyzet áll fent, hogy 6,4V-ból kellene csinálnom 5V-5,1V-ot.
Annyira azért képben vagyok, hogy az ehhez használt DC-DC stepdownokkal (Pl: LM2596) ez megoldható, csak ebben az esetben nincs meg a tanácsolt 2V differencia. Ennek ellenére kipróbáltam és működik az arduino a DC-DC-n keresztül 6,4 V-ról meghajtva, de ez mennyire stabil illetve ajánlott szerintetek. Illetve mi lehet a jobb megoldás rá? Esetlegesen saját DC-DC építése sem probléma, ha hagyományos (NEM smd) alkatrészekkel kivitelezhető.
Az arduino VIN-je ebben az esetben nem játszik mert szintén 7V-ot ír, illetve vannak még más eszközök a nyákon ami szintén 5V-ról megy, így kell a feszültség átalakítás -
tonermagus
aktív tag
válasz
Janos250 #15587 üzenetére
Nagyon szépen köszönöm a részletes kifejtést.
Ez az egész ESP32, dual core-os dolog nekem teljesen új még, szóval bocsi a sok kérdésért, de még mindig van pár fekete folt:- Ha a setupban létrehozok egy taskot amit a core0-án futtatok, akkor az folyamatosan futni fog végtelen ciklusban? Nem kell többet meghívnom? Mert ebben az esetben a GPS kezelésére teljesen jó lenne. Csak a Core0 írná a változókat (fix.latitude, fix.longtitude, bearing, heading, stb...) a loopban pedig a Core1-el csak olvasnám ezeket. Csak egy darab taskom lenne, az egész programban, az is Core0-ra, és csak GPS-t csinálna végig. Ez így nagyon jól hangzik, bízom benne hogy így is van.
- A PWM-es hardveres dolgot hogy érted? Nekem ahogy írtam az volt a gond az arduval, hogy olvasgattam a PWM-ket, néha bejött egy megszakítás és már ugráltak is a PWM értékek. Ez gondolom itt is simán előfordul. Igazából 5-6 PWM portot kezelnék, illetve 2 hadwares Serial porton kommunikálnék. Bízom benne hogy ezt is szépen lekezeli az ESP32
- Wifi megszakítás: olyanon agyalok hogy tennék bele programozói módot, amikor is a webszerver élne, egy felületen átadnék neki pár változót induláskor, és ezután megy tovább a program és lekapcsolja a wifit. Létezik ilyen? Mennyire egyszerű ez a webes felületen értékátadás változóba dolog? Egyáltalán lekapcsolható-e a wifi? -
tonermagus
aktív tag
válasz
Janos250 #15578 üzenetére
Kicsit utánaolvasgattam.
Tehát az megoldható hogy a setupban létrehozok axTaskCreatePinnedToCore
-al egy TASK1-et, azt hozzárendelem a Core0-hoz, és a void TASK1() az egy végtelen loop lesz amiben csak a GPS cuccai vannak?
Illetve folytatom a programont a sima loop-al, mert az amúgy is a Core1-el megy?
Tehát kaptam egy TASK1-et ami Core0-át, illetve egy loop-ot ami Core1-et használ és párhuzamosan futnak egymás mellett?
A másik kérdés: ha a TASK1-ben egy változónak értéket adok, akkor azt a loopban is használhatom? -
tonermagus
aktív tag
válasz
Janos250 #15578 üzenetére
Igazából az ESP32-re átállás sem kizárt. Ezek szerint azzal lehet jobban járnék.
A programnyelv nagyban különbözik? Arduino IDE működik?Nekem igazából a legnagyobb problémám az egész projekt alatt az volt, a Library-k összevesztek a timereken. PWM-et olvastam, majd egy library beleszólt és az 1500-as PWM érték egyből 1765 lett. Sikerült egy másik library-t találnom, ami másik timeren használja a szervókat, de az kifejezetten Arudinohoz lett megírva. ESP32-vel beleeshetek ugyan ebbe a hibába? vagy az okosabban kezeli a timereket/interrupotokat?
Szerk: aprobó két mag... Azzal az is megoldható hogy 1 mag csak a GPS-el foglalkozik, a másik mag pedig minden mással? Az elég jól hangzik... Vagy ezt nem így kell elképzelni: Egyik szál gyakorlatilag egy loop amiben csak a GPS NMEA sorainak összeállítása a feladata, majd a fixálás elvégzése, a másik szál pedig olvassa/írja a PWM értékeket, stb... -
tonermagus
aktív tag
Köszönöm, így már érthető!
Egyébként nagyon gondolkodom az STM32-re váltáson. Ugyebár autópilótát építek. GPS koordinátát kér le másodpercenként 2 alkalommal (2Hz), szögeket számol, irányokat, távolságot kalkulál, szervókat forgat, motort vezérel, távirányítóról olvas be PWM értékeket, és még pár apróság.
Ugyebár az STM32 sokkal gyorsabb mint akármelyik Ardu. Kérdés hogy nekem szükségem van-e erre a sebesség többletre? Pont amiatt hogy a GPS lekérésre úgyis várni kell így úgy gondolom nincs értelme átváltani STM32-re. Arról nem is beszélve hogy sokkal macerásabb mert az egész nyáklap Arduinohoz lett igazítva, illetve a kódot is nagyon sok helyen módosítani kellene.
Tényleg nem tudom, hogy a váltás hozna-e valami hasznot. Szerintetek ilyen "kissebb" projekteknél van értelme váltani a jól megszokottról? Megbízhatóbb, professzionálisabb egy STM32? -
tonermagus
aktív tag
-
tonermagus
aktív tag
Sziasztok!
Laikus számára tudnátok ajánlani olyan MOSFET-et, amit 12V-os eszköz kapcsolójaként használhatok, vezérelhető Arduinoval, elbír ~1-2 A-t, és könnyen beszerezhető?
Esetleg ha még dimmelni is bírok vele LED-e PWM-el akkor az lenne a legszuperebb. Ha egyáltalán ehhez MOSFET kellIlletve tudtok-e olyan DC-DC stepdownról, ami nyáklapra forrasztható és 12-18V-ról stabilan 12V-ot képes előállítani?
-
tonermagus
aktív tag
Szuper! számomra ennyi elég.
A felhasználó akinek szánom képes arra hogy feltöltsön programokat, de azt viszont nem akarom hogy csak úgy nézegesse a forráskódot.
Ezekszerint a .hexben importálva, majd feltöltve a forráskód értelmezhetetlen lesz külső szemek számára. (ami nyilván nincs így, mert egy hozzáértő valószínűleg össze tudná rakni)
-
tonermagus
aktív tag
Az a megoldás működik, hogy:
Arduino IDE-ben kiválasztom a megfelelő alaplaptípust (pl. mega2560), majd a kódot a vázlat menüben exportálom a .hex fájlként.
A kapott .hex file-t pedig az Xloader programmal felöltöm a vezérlőre.
Ehhez gondolom még mindig kell az FTDI...Vagy valamilyen módon serial kapcsolatot kell indítanom a vezérlő irányába.
Egyébként ez a .hex fájl mennyire védett, mennyire nehéz visszafejteni az olvasható kódot belőle?
Szerk: #Aryes bocsi, csak most láttam mit írsz -
tonermagus
aktív tag
Sziasztok!
Van arra valami lehetőség, hogy valakinek úgy adjam oda a kódomat, hogy ő fel tudja tölteni a mikrovezérlőre valamilyen megoldással, de magának a forráskódnak a tartalmát ne lássa...
Sokszor nem megoldott az, hogy én a helyszínen tudjak módosítani a programon.
Gondolok itt valamilyen feltöltőre -
tonermagus
aktív tag
-
tonermagus
aktív tag
Sziasztok!
Arduinohoz szeretnék venni egy vízmélység mérőt (Transducer) A cél az lenne hogy tudjon 20-30m vízmélységet mérni. Eleve nehéz eligazodni bennük, mert nem tudom hogy NMEA2000 vagy NMEA0183 kell-e nekem.
Abból indulok ki, hogy a Lucky-nak van működő halradarja 15-20e Ft-ért kijelzővel. Ez nekem teljesen jó lenne, mert mélységet is mér. Megvettem csak a szonárt, azt szerettem volna rákötni az Arduinora, de már itt elbuktam, mert csak két vezeték van: piros és fekete. Illetve valami árnyékoló szál.
Ezen keresztül hogy lehet szerintetek adatot levenni? Két szál hogyan lehet elég táplálásra és adatküldésre? Valahogy működnie kell, mert a kijelzőre elég ezt a kábelt rádugni és működik...
Esetleg valami működő transducer Arduinohoz? -
tonermagus
aktív tag
Természetesen a masik szamitasnal az iranyokat megforditottam. A te altalad felvazolt kod tenyleg sokkal rovidebb! Csak nemigen ertem a logikajat. Mi az elmelet mogotte?
Valahogy lehet skalazni is? Arra gondolok, hogy 60 fok elteres felett a kormanyt is csutkara forditanam, 60 fok elteres alatt pedig csak enyhen fordulok...
Mindenesetre nagyon köszönöm a valaszod!
-
tonermagus
aktív tag
Sziasztok!
Az iránytű kalibrálással megvagyok. Most jön az irány. Mivel automata vezérlésről van szó jó lenne már fordulás előtt eldönteni hogy merre kezdjek el forogni.
Amit tudok: hogy én merre nézek, illetve hogy a cél merre van. Mindkettő értéket fokban ismerem ami az északhoz viszonyított szög.
Tudnátok abban segíteni, hogy van-e egyszerűbb vagy jobb megoldás az én általam kiagyaltan kívül:
Jelenleg azt csinálom hogy első részben megnézem hogy a saját irányom 180 foknál kisebb-e. Ha igen akkor hozzáadok 180-at, így megkapom a zöld karika értékét. Ezután megnézem hogy a cél (kék karika) értéke a saját értékem és a zöld karika értéke között van-e. Ha igen akkor jobbra fordulok. Ha nem akkor pedig balra. Ha véletlenül a saját irányom nagyobb mint 180 akkor pedig értelemszerűen elveszek belőle 180-at, és lejátszom az előbbi értékvizsgálatokat.
Elméleti kérdés hogy a 360 fok átlépésénél lehet-e ezzel a módszerrel gond. Én úgy gondolom hogy nem. -
tonermagus
aktív tag
Sziasztok!
Teljesen elakadtam egy projektben. Autopilot rendszert építek egy távirányítós autó számára.
Mindent sikerült leprogramoznom már, gyakorlatilag 99%-on áll a dolog, de a digitális iránytű kifogott rajtam....
Ahhoz hogy az autó tudja hogy merre kell elindulnia kell az iránytű, tudni kell hogy az autó orra pontosan hány fokra néz északtól. Ezt pedig a Heading értékkel tudom meg amit az iránytűtől kérdezek le.
HMC5883L iránytűt használok. Ugyebár alapból eléggé rossz értékeket ad vissza, így nyilván kalibrálni kell. Megadom a "Mágneses deklarációm" és egy gombnyomásra lefuttatom a főprogramomban egy voidként meghívva a kalibrációs programot.----------------------------------------------------------------------------------------------------
void calibration() {
Vector mag = compass.readRaw();
// Min/Max értékek meghatározása
if (mag.XAxis < minX) minX = mag.XAxis;
if (mag.XAxis > maxX) maxX = mag.XAxis;
if (mag.YAxis < minY) minY = mag.YAxis;
if (mag.YAxis > maxY) maxY = mag.YAxis;
// offset kiértékelés
offX = (maxX + minX)/2;
offY = (maxY + minY)/2;
}----------------------------------------------------------------------------------------------------
Ezt egy loopban futtatom egészen addig míg a távirányítón ki nem kapcsolom az kalibrációs módot. Itt a végén kapok egy OffX és OffY értéket. Miután kilépek a kalibrációból a compass offsetjét átírom a kapott értékekre:
compass.setOffset(OffX, OffY);
De valahogy nem akar sikerülni. Ha kiíratom az iránytű értékeit akkor szinte csak 200 feletti szögek vannak. 200 és 360 között mozog az érték, és borzasztó pici tartományban van csak jelen a 200 alatti, és az is pillanatok alatt átugrik ~30-ról 200-ra. Tehát teljesen torz az irányérzékelés.
Kérdések:
1. Működik-e ez a módszer? Hogy programfutás közben kalibrálok, majd visszatérek és az offset értékkel és felülírom a compass.setOffset(OffX, OffY);-el?
2. A kalibrálást hogy kell elvégezni? Én egy helyben állva forgatom az iránytűt. Nagyobb köröket kellene mennem? Sétálgatnom kellene vele?
3. Minden irányba, minden tengelyen körbe kell-e forgatnom hogy jó legyen? Kicsit ettől félek, mert az autóval csak jobbra-balra tudok forogni. Fel-le, a tengely körül forogva nem igazán. ÉS nekem ugye csak a vízszintes irány kellene. Illetve elég lenne ha az az egy tengely jól be lenne lőve. -
tonermagus
aktív tag
Sziasztok!
HMC5883L iránytűt kellene használnom egy projektben. Elméletileg ez egy 3 tengelyes iránytű, de nekem csak 1 tengely kellene, a vízszintes. A iránytűhöz letöltöttem egy Library-t, amivel le tudom kérni az iránytű aktuális állását a mágneses északhoz képest. A gond csak az hogy el van csúszva 30-40 fokkal a valósághoz. Nyilván kalibrálni kellene, na itt akadtam el. Az offsetet kellene valahogy kiszámolni, és azt hozzáadni a kódomhoz. De nem igazán értem a logikáját.
Találtam egy kalibrációs library-t, de nem tudom hogy kell használnom:
https://github.com/helscream/HMC5883L_Header_Arduino_Auto_calibration
Illetve nem tudom hogy ez a kalibrálás örökre szól? Egyszer beállítom és mindig jól fogja mutatni? Ha nem akkor létezhet rá valamilyen automatizálás, hogy magától megcsinálja a kalibrálást? Egy kis dobozba kerül beszerelésre, megoldható hogy ha mondjuk megnyomok rajta egy gombot és teszek pár kört akkor automatikusan bekalibrálja magát?
Köszönöm előre is! -
tonermagus
aktív tag
válasz
Gergosz2 #14125 üzenetére
Értem. Szóval akkor az NRF24 marad. Számomra is szimpatikus volt. Viszont a fő probléma az SPI->Serial, és a másik oldalon a Serial-<SPI konverzió... Annyira nem vágom a programozást, de gondolom itt a bejött adatot valahogy el kellene
tárolni és Serialon kiíratni. Ehhez nincs véletlen valami leírás? Vagy hogy tudom ezt megoldani? -
tonermagus
aktív tag
Sziasztok!
Egy kis iránymutatásra lenne szükségem.
Egy GPS modul által generált NMEA sorokat szeretném vezetékmentes megoldással tovább küldeni. Itt akadtam el, hogy milyen vezeték nélküli módot válasszak.
A 433mhz-es modul adja magát, létezik belőle Serial (URAT, TTL, nem tudom melyik a megfelelő megnevezés) kivezetéses, ha erre rákötöm a GPS modult direktben akkor szépen sugározza magából a kapott adatokat. Csak mivel több ilyen eszköz lesz közel egymáshoz így gondolom ezek keményen bezavarnának egymáshoz. Minden 433Mhz-ez vevő venné minden 433Mhz adó jelét ha jól sejtem. Ha arduinot teszek közzé akkor ezeket lehet valahogy "titkosítani" / címezni, egymáshoz rendelni?
A másik megoldás a 2,4Gz frekvencia, NRF24L01+PA+LNA-val. Itt ha jól tudom már lehet címezni. Tehát ide mindenképpen mikrovezérlő kell. És ha jól tudom ez még megbízhatóbb, nagyobb hatótávú is. Viszont itt az illesztéssel elakadtam. Ugyebár a GPS modulról megkapom Serialon az adatokat, és ezeket valahogy fel kellene ültetnem az SPI-s NRF24L01-re. Gőzöm sincs hogyan. És a túloldalt pedig az SPI-ről Serialra kiírni...
Melyik megoldással járok jobban, egyáltalán melyik kivitelezhető?
A GPS modul 1Hz-en ketyeg, tehát másodpercenként 1 NMEA (RMC) sort kellene továbbítani. -
tonermagus
aktív tag
válasz
Janos250 #13879 üzenetére
jaj nem... Nem RTK-hoz akarom...
Tehát a GPS modul soros porton tolja ki az adatokat. Ezek egy megjelenítőre mennek rá vezetékes módszerrel. Ezt a vezetéket akarom elvágni és vezetékmentesíteni LoRa-val.
A megjelenítő remélhetőleg csak 1 sort használ ebből. Kérdés hogy ehhez kell az összes sor, vagy szűri és elég a konkrét sor-t megkapnia... Elméleti kérdés, hogy szerintetek hogy működhet.... 4-5 sornál nem kaphat többet, kérdés hogy ezt elbírja-e egy LoRa -
tonermagus
aktív tag
válasz
Janos250 #13873 üzenetére
Igazad van, tényleg nagyobb távról van szó
Nem igazán vágom ezt az NMEA üzeneteket illetve azt, hogyan dolgozza fel a vevő eszköz. Ha jól értem egy GPS modul másodpercenként generál egy ilyen NMEA csomagot, amiben több sor található eltérő értékekkel és jelentéssel GPGGA, GPGSA, GPGSV stb. sorkezdettel. De ha nekünk ebből csak egy sor kell és csak azt tudjuk tovább küldeni akkor a vevő oldal azt tudja értelmezni? Tudom-tudom, ez eszköz és programozás kérdése, de a vevőbe nem tudok belenyúlni, és csak reménykedni merek benne, hogy ő valamilyen módon szelektál, tehát hiába kap egy rakás NMEA sort, ő csak tegyük fel a GPGGA-t olvassa ki és használja fel... Vagy ez nem ilyen egyszerű?
Illetve másik megoldás, hogy nem szűrök semmit mert kb. 4-5 NMEA sort kapok soros porton, azokat változatlanul (transzparens módon) továbbítok. Kérdés hogy 4-5 ilyen sorra elég-e LoRa sávszélessége... -
tonermagus
aktív tag
Köszönöm a válaszokat.... Akkor marad a JLCPCB és a turboplus...
Más: van-e arra valami megoldás, hogy Arduinora UART porton beérkező NMEA üzeneteket egy LoRa eszközön változatlan formában és tartalomban átküldjük? Gyakorlatilag egy vezetékes eszközt szeretnék vezeték nélkülire váltani -
tonermagus
aktív tag
-
tonermagus
aktív tag
Sziasztok!
Tudtok javasolni 1-2 ajánlott PCB gyártó oldalt? Megvan a terv, megvan a gerber fájl, már csak sokszorosítani kellene.
Kellene egy hely, ahonnan gyorsan megkapom a próbákat (Tehát magyarországi, rövid határidővel), és kellene egy másik hely ahol megéri sokat csináltatni (nyilván valamelyik kína oldal)...
Tudnátok ebben segíteni? -
tonermagus
aktív tag
Sziasztok!
Egy villámkérdés: ha egy arduino mega 2560 mini pro embedet - ami lényegében egy Arduino Mega - ráültetünk egy nyáklapra, és az 5V-os betápot mind a kettő darab 5V-os pinjére rákötjük akkor az működik vagy füstöl? (ne kérdezzétek hogy miért?)
-
tonermagus
aktív tag
Sziasztok!
Arduino Mega 2560 Pro Embed és GPS modul tápellátásával kapcsolatban vagyok problémában...
A bemeneti feszültség két érték lehet, attól függően hogy mibe építik be: ~6,2V vagy ~7,4V. Létezik olyan megoldás, amivel minden felsorolt feszültségről működik?
A 7,4 V esetén tiszta sor, mert egy sima DC-DC step down (lm2596) simán leviszi 5V-ra.
A 6,2 V esetén már problémásabb. Mega VIN portja (AMS1117) csak 6,5-nál kezd el működni ha jól értelmezem a leírását:
De még ha használhatnám is kérdés hogy a GPS modul-t (Neo M8n) elbírja-e ami az áram erősséget illeti, mert ha jól tudom az Ardu egy lábon max. 40mA-t tud leadni, a modul pedig nagyon a határán van. A sima Step Down modulok pedig teljesen kilőve,mert a leírásuk alapján 7V alatt nem nyitnak...
Mi lehet a megoldás? -
tonermagus
aktív tag
Sziasztok!
Elkészült a projektem, szeretném szépen összeállítani és bedobozolni.
Ezzel kapcsolatban lenne pár kérdésem:
1. Ha teljesen zártra bedobozolok egy Step-Down-t, egy GPS vevőt és egy Arduinot akkor be tud-e melegedni? Kell-e rá szellőző nyílás/lyuk?
2. Ilyen step-downokat használnátok-e? Szeretném ha megbízható alkatrészekből állna össze az eszköz. 7-8V-ot szeretnék vele 5V-ra illeszteni. Fontos lenne a hosszútávú megbízható használat.
3. Az egyszerűség kedvéért a Step-down-ból érkező 5V-al hajtanám meg az Arduino-t, majd az arduino egyik 5V-járól (esetleg 3,3-ról) hajtanám meg a GPS modult (Neo m8n). Ez okozhat gondot hosszútávon? Elvileg a GPS modul áramfelvétele elhanyagolható, az ardunak bírnia kellene.
+ egy extra kérdés ESP32-vel: nagyon tetszik maga az eszköz, és az is hogy sokkal gyorsabb, kisebb, és olcsóbb is mint egy ArduinoNeoGPS library-t használok, és ott ugye figyelmeztetnek rá, hogy csak egy megadott helyen szabad egyéb programkódokat beilleszteni hogy ne vesszen el GPS adat. Itt számíthat az, hogy milyen gyors az eszköz? Előjöhet itt az ESP32 gyorsasága előnyként? Teszem azt mondjuk több sort, több erőforrást igénylő számítást írhatnék ide GPS adatvesztésig mint Arduino esetében? Igazából nem vágom hogy mennyi kód számít soknak egy vezérlőnek... Ha pl. ebbe a ciklusba beteszek 20-30 if függvényt (tudom hogy nem elegáns) akkor az lassíthatja-e érdemlegesen a program futását, vagy ez annyira pici, hogy meg sem kottyan neki?
Illetve írtátok, hogy az ESP két szálon is tud működni. Meg lehetne azt oldani, hogy a GPS-el kapcsolatos számítások futnak az egyik szálon, minden más pedig a másikon? Vagy ez nem ilyen egyszerű? -
tonermagus
aktív tag
Sziasztok!
Valaki használt már elektromágnest Arduinoval?
Találtam a neten egy ILYET
Igazából egy 2 kg-os tárgyat szeretnék vele megtartani. Ha minden igaz akkor ez ~5kg-ot bír.
Eddig ezt egy szervókar tartotta meg majd engedte el de úgy gondoltam ideje egy kicsit fejleszteni.
Szerintetek:
- Az elektromágnes stabilabb, megbízhatóbb mint egy szervó? Ha jól gondolom akkor az elektromágnesek nem mennek túl sűrűn tönkre... Legalábbis ritkábban mint egy szervó...
- A linkelt 6V-os elektromágnest 5V-al is meg tudom hajtani? Mit csinál ha kevesebb a feszültség: nem jön létre mágneses mező, létrejön de gyengébb lesz vagy ki-ki hagy a mágneses mező? Illetve mi a helyzet ha magasabb feszültséget, mondjuk 7,2V-ot adok rá? Kapásból tönkremegy?
Mindenképpen arduinoval szeretném vezérelni. Ha beérkezik a kért PWM jel akkor kellene hogy felépüljön a mágneses mező. Ezt ti is Relé+Arduinoval oldanátok meg? Vagy van erre egyszerűbb megoldás is? -
tonermagus
aktív tag
Sziasztok!
Befejeztem az GPS projektem, amit már többször taglaltam itt.
Szerencsére a pontosság nagyon jó lett! Sík terepen jó időben 0-1m közötti. Meglepően pontos. 200-300m-re teszteltem, a 200 és a 300m-es távot is mindig ugyan oda jelzi.Semmi extrát nem használok, sima Neo M8N (valszeg hamis) és egy külső antenna.
Számítok rá hogy rossz időben, felhős éggel drasztikusan rosszabb lesz az eredmény, de eddig mindig jó idő volt
Egy kérdés maradt hátra: Az ARduino 1-2 másodpercenként frissíti csak a távolságot. Ugye egy kijelzőn nézem hogy éppen mennyit ment az eszköz, és csak 1, de inkább 2 másodpercenként frissül a távolság. Ezt lehet valahogy gyorsítani? Arduino Mega-t használok és annak a Serial3-as portját. Illetve még használom mellette a Serial1-et is.
Ez így normális, vagy esetleg programozási hiba? Esetleg eszköz a szűk keresztmetszet?
Tervezem hogy méret miatt ESP32-re váltok, esetleg ezzel gyorsabb lehet a frissítés?
Új hozzászólás Aktív témák
Hirdetés
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- PS5 konzolod megvásároljuk: Budapest, Kecskemét, Szeged, Debrecen vagy akár GLS futárt küldünk!
- BESZÁMÍTÁS! 2TB Kingston KC3000 NVMe SSD meghajtó garanciával hibátlan működéssel
- 124 - Lenovo Yoga Pro 7 (14IMH9) - Intel Core Ultra 9 185H, RTX 4060 (48 hónap garancia!) (ELKELT)
- BESZÁMÍTÁS! Gigabyte H370 i5 9500 32GB DDR4 512GB SSD RTX 2060 Super 8GB ZALMAN S2 TG be quiet! 650W
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged