- Yettel topik
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Magisk
- Mobil flották
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- Bemutatkozott a Poco X7 és X7 Pro
- Xiaomi 11 Lite 5G NE (lisa)
- Samsung Galaxy A56 - megbízható középszerűség
- Google Pixel topik
- Samsung Galaxy A55 - új év, régi stratégia
-
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
-
Janos250
őstag
Semmit nem ajánlok, csak elmondom, én hogyan csinálnám.
Nem csinálnék szintillesztést, hanem az eredetit mérném. Igaz ugyan, hogy akkor pontatlanabb lesz, de az illesztő áramkörrel is beviszek annyi pontatlanságot. Ha mégis pontosabb kell, akkor külső A/D konverter.
Leválasztás:
Én az én paneljaimon egyszerűen oldottam meg.
- egy kontroller (ESP8266 vagy ESP32) mér, vagy vezérel a nagyobb fesszel működő részen, és WiFi-n küldi/veszi a jelet a fő panelon lévő kontrollernek (ESP32). A WiFi-n keresztül általában nincs áramütés
- a központ, a lényegi panel méri azt, amit helyben kell és lehet, valamint WiFi-n begyűjti az adatokat (ESP32).
- A 0-ás mag a WiFi-n kívül azzal foglalkozik, hogy begyűjti és előfeldolgozza a külső adatokat, és lerakja globális változókba, és azt használja az 1-es magon futó fő program. Igaz, nekem az eddigi panelokon nem sok teendő volt, de az Arduino (ESP32) alig-alig volt terhelve.
- Az egyes "perifériák" kezelését a 0-ás magon külön-külön taskban oldom meg, mert ott a delay a vezérlés másik tasknak való átadására fordul. Így minden jól elkülönül, jól átlátható, nincs kölcsönhatás. -
gyapo11
őstag
2.5V TÓL 3.5V-ig tartó jelből 0-5V jelet alakítani
A műveleti erősítők jók erre a célra. Van neki egy + meg egy - bemenete. A kettő közötti feszültséget erősíti a negatív visszacsatolástól függő mértékben. A visszacsatolás ötszörös erősítéshez 1/5-öd méretű jel. A feszültséget eltolni meg Zener diódával lehet egyszerűen, jelen esetben 2.5 V-os kell hozzá.
-
stopperos
senior tag
Akkor minden ellenállást azonos értékűre (pl 10K) kell választani az 1x szorzáshoz. (Sőt ha extra pontos akarsz lenni, akkor 8 db 10K ellenállást használ egy pontosabb sorozatból és páronkét párhuzamosan kötöd őket).
Hidegítő kondenzátorokat ne felejtsd le a művelei erősítők tápjáról. Illetve ha az arduino 1,1V ADC-jét használod, akkor inkább [2,4-2,45] V-ot vonj ki, hogy legyen egy kis offset a 0V-hoz képest. Szoftverben pedig korrigálod. -
biker
nagyúr
Aryes: most ezen a kapcsoláson gondolkozok. Mivel eleve TRMS lenne jó, sok számolástól megkönnyíteném az arduinot. Ez meg DC kimenetet állít elő AC bementből TRMS számolással.
Ekkold: mindenképpen szeretném leválasztva mérni, ha ráengedem az erősáramot a panelre, akkor kicsit (egy nagyságrenddel) drágább az engedélyeztetése, mivel kapásból teljes érintésvédelmi, tűzvédelmi és egyéb vizsgálatok kellenek. Amig DC12V külső tápos, és nem csatlakozik a hálózatra (áramváltó) viszonylag könnyű minden
-
ekkold
Topikgazda
Annak idején amikor ACS712-20 áramszenzorral dolgoztam, akkor volt a legjobban használható, ha sima osztóval állítottam be a féltápot. Nulla áramnál elvileg féltápra áll be, és az áram irányától függően megy ez alá, vagy fölé. Van némi offszethibája, amit szoftveresen próbáltam kompenzálni több-kevesebb sikerrel. Sajnos ez az összes HALL elemmel működő áram szenzorra igaz, és ez korlátozza a felhasználhatóságukat.
Később MCP3221 A/D-vel dolgoztam fel az ACS kimenetét, ez filléres árú, 12bites A/D és egész gyors, azaz sok mintát lehet vele venni rövid idő alatt. Szoftveresen is könnyű a kezelése. Ugyanarról a tápról ment mint az ACS, így volt a legkisebb az offszethiba.
Viszont ezzel lehet a legegyszerűbben leválasztott módon mérni, és ez DC-re is alkalmas. Ezen kívül ha csak AC-re használjuk, akkor a kimenete leválasztható kondival (és máris nincs offszethiba), és lehet AC-ben erősíteni, meg opamp-al preciziós egyenirányítót építeni. Illetve mindez megoldható szoftveresen is, ha van idő elég sok mintát venni és feldolgozni. Viszont csak AC-re, az áramváltók is teljesen jók, sőt talán jobbak is.
Preciz söntöt használva, megfelelő opamp-al erősítve lehet a legpontosabban lehet mérni, de ott viszont nincs leválasztás. Ha ez nem lenne gond, akkor ez lenne a legjobb választás árammérésre.
-
A legpontosabb mérést úgy lehetne elérni, ha
- lm385-2.5 referenciafeszültség-forrást használnál az opamppal, de erősítés nélkül!
- az Arduino ADC-nél pedig a belső 1.1V-os referenciafeszültséget használnád a méréshez referenciaként a default tápfeszültség-referencia helyett.Így az analóg mérés a 0-1.1V közti feszültségekre adna 0-1023 közti értékeket, a mérés pedig tápfeszültségtől és hőmérséklettől függetlenül is pontos lehetne.
-
biker
nagyúr
Csak a szimulátor AC esetén elég érdekes kimenetet produkált, de rájöttem, csak reggel volt, és neki a 3.5V AC az +-3.5V én meg 1.5-3.5V és 2.5V középértékkel kell operáljak
Akkor jó lehet elvileg.
De elvileg, mert 1.5V esetén meg negatív a kimenet az erősítőn. 2.5V a nullapont, ha 5A acs712-re AC-t kapcsolsz 5A akkor a kimenet 1.5V - 3.5V közt oszcillál. Az arduino meg negatívban nem mér, ezért fordítani is kellene, és a negatív is csak pozitiv abs(value)Rohadtul azt hittem, az árammérés lesz a legkönnyebb ebben a projektben...
-
jobban meggondolva egy lm385-2.5 referenciafeszültség-forrás segítségével tápfeszültségtől függetlenül is pontos méréseket lehetne végezni vele.
Még jobban meggondolva
ez nem is igaz. Ha a tápfeszültség nem pontos, akkor a mérés sem lesz pontos, mert az ADC a tápfeszültséget használja referenciaként. Ez esetben a feszültségosztóval pontosabb mérést lehetne végezni.
-
Ezért kérdeztem rá, milyen opamp kapcsolás tud ilyen átalakítást. Mert normál esetben ha erősítőre teszem, hogy 1V különbség helett 5V legyen akkor minden 5x érték lesz, vagyis elvileg 12.5V-17.5V közt lesz 5V kimenetem, nem 0-5V közt.
A kolléga is és én is olyan kapcsolást javasolt, ahol egy offsettel el van tolva a bemeneti feszültség, így lesz az erősítő kimeneti feszültsége 0 és 5V között. És most jöttem rá, hogy korábban rosszul írtam, az általam javasolt kapcsolásnál a + bemenetet nem 3V-ra, hanem 3,5V-ra kell húzni.
A két kapcsolás közt az a különbség, hogy az enyém invertáló, tehát a 3,5V-ból lesz 0V, a 2,5V-ból pedig 5V. Azért ezt javasoltam, mert ehhez nem kell külső feszültségforrás, egyszerű ellenállásosztóval be lehet állítani az offset feszültséget, bár jobban meggondolva egy lm385-2.5 referenciafeszültség-forrás segítségével tápfeszültségtől függetlenül is pontos méréseket lehetne végezni vele. -
biker
nagyúr
MCS1803 - lábkompatibilis és 2.5-4.5V(0.5V) közt kimenettel, 400mV/A nem 185mV/A
-
biker
nagyúr
válasz
stopperos #16073 üzenetére
Köszi, meggondolom. 12V-ról menne, így van lehetőség mindenre
Ez a kapcsolás szerintem nem erre a feladatra való, nem 2.5V ÉS 3.5V kell 5V-ra illeszteni, hanem 2.5V TÓL 3.5V-ig tartó jelből 0-5V jelet alakítani.
Ezért kérdeztem rá, milyen opamp kapcsolás tud ilyen átalakítást. Mert normál esetben ha erősítőre teszem, hogy 1V különbség helett 5V legyen akkor minden 5x érték lesz, vagyis elvileg 12.5V-17.5V közt lesz 5V kimenetem, nem 0-5V közt.
a 2.5V kell 0V-ra, a 3.5V 5V-ra, közte analóg jelszint változás -
biker
nagyúr
-
ekkold
Topikgazda
Tulajdonképpen mekkora áramot kellene megmérned?
[link] A linken egy 100A-es, nyákba ültethető áramváltó, netto 1400Ft körül.[link] Ez a tipus kicsit drágább, de nagyobb kimeneti fesz esetén is pontos (ennek a kisebb áramú változatával már dolgoztam, és tényleg jó) Netto 2000Ft körüli. Valószínűleg ezt használnám, ha biztosra akarnék menni.
Schottky graetz + puffer + sönt, és mehet az A/D bemenetére. -
stopperos
senior tag
+1 a rail-to-rail-nek. A sima op-amp 0V közelébe sem nagyon tud menni, ahhoz negatív tápfeszültség kell neki.
Én TLV27x -eket használok, attól függően hány darab műveleti erősítő kell egy csomagban (x=1, x=2, x=4).biker: Egy különbség képző műveleti erősítős kapcsolásra van szükséged, továbbá egy 5x erősítésre. Illetve valahonnan kell szerezned pontosan 2,5V-ot. Itt a kapcsolás egy szimulátorban.
Szerk: A 2,5V -ot feszültségosztással tudod 5V-ból előállítani, ehhez stabil 5V-re van szükséged: LP2950CZ-5.0 -
Erről az oldalról szerintem a fázisfordító szűrő áramkör kell neked (Simplified Inverting Amplifier Filter Circuit),
mégpedig annyi módosítással, hogy a + (neminvertáló) bemenetet a várható feszültségtartomány közepére (nálad 3V) húzod egy feszültségosztóval, így a kimenet közepe is nagyjából e körül lesz. De én analóg elektronikából elég kezdő vagyok, ajánlom a hobbielektronika topikot, én is onnan szoktam segítséget kapni analóg kérdésekben.
Ja és ehhez rail-to-rail műveleti erősítő kell, ami képes a kimenetet a tápfeszültség közelébe vinni, vagy egy egyszerű opamp-nak 5V-nál annyival nagyobb tápfeszt adni, hogy 5V-ig tudja vezérelni a kimenetét. -
biker
nagyúr
Már úgy értem, ami jó a 2.5-3.5V-ból 0-5V-ot csinálni, nincs ilyen zaja, ingadozása, stb
Találtam olyan áramváltót ami 100A > 5V kimenetes, kacérkodom hogy az direktben mehetne a bemenetre. Árban több lenne mint a 3f áramváltó + 3db ACS712 de ha még kell extra áramkör akkor lehet már nem drágább azzal megoldani.
Most csak azért erőlködtem a meglévő alkatrészek hasznosításán, ne végezze a polcon (annyi szar van már ott) -
És mi lenne, ha nem a beépített 10 bites ADC-t használnád, hanem vennél hozzá egy mondjuk 24 bites ADC-t? Az több problémádat is megoldana.
De én mégis csak azt javaslom, hogy használj műveleti erősítőt. Elég 5x-ös erősítés ahhoz, hogy ki tudd használni a teljes felbontását, másrészt egy aluláteresztő szűrő taggal meg tudsz szabadulni a zaj nagy részétől, így akár átlagolás nélkül is pontosabb értékeket olvashatsz be.
-
biker
nagyúr
az a helyzet, hogy ahogy nézem, az acs712 legtöbb baján akkor sem tudok segíteni, mint pl mágneses tér érzékenység és társai. Plusz ha meghekkelem egy erősítővel, akkor a nullázást és társait is bonyolítom.
a másik gondom, hogy 1db 3f 100/5A áramváltó annyiba kerül mint 1db 5V kimenetes áramváltó
Kicsit drágább lesz a projekt. Az 5A kimenetesből meg megintcsak problémás lenne 5V-ot kreálni. -
Undoroid
őstag
Szia!
Igen, legutóbb innen Én estem bele ebbe a lehetetlen dologba...
...ha akarnám se tudnám fordítva ráilleszteni a tandempanelt. Elsőre Én is UNO-val próbálkoztam, mert az volt szimpatikusabb (ne kérdezd, hogy miért) de az itteni Szakik tanácsára inkább átmentem Nano-ra! ...amit újra megköszönnék!
Troll ON: Már csak azt nem értem, hogy a Nano-t miért nem védik így? Troll OFF*******************************************************************************
Ha már itt járok...lenne egy számomra érdekes kérdésem: Egy időrelét szeretnék behelyettesíteni Nano-val! A feladata pedig a következő lenne:
A tápfesz megjelenése után figyelné az egyik analóg bemenetét, ami alaphelyzetben zárt lenne és ekkor az egyik kimenetét azonnal aktiválná...ha viszont megszakad az analóg bemenet, akkor az előre felprogramozott idő (kb 2mp.) lejárta után lekapcsolna a kimenet és egy másik kimenet aktiválódna addig, míg a bemenet ismét zárt lesz...(most jön a csalafintaság) ...ha a bemenet kontaktusa megszakad, de még a 2mp. letelése előtt visszaáll, akkor marad minden a kiindulási értéken. Igazából egy ejtéskésleltetést kellene megoldani! Gondolom, hogy a Delay -parancs használatával kellene operálni, de mivel teljesen kezdő vagyok a programozásban, így a jártasabb kollégák segítségét kérném.
A konkrét feladat az lenne, hogy az itthoni IBC-tartályom minimális vízszintjét szeretném figyelni ezzel, mert a merülőszivattyú úszója már akkor lekapcsol, amikor még legalább 250Liter esővíz még a rendelkezésemre állna! A szivattyút azért használom, mert a kert végén szintén van egy IBC, amibe' át szoktam pumpálni a megfelelő mennyiséget és onnan fogok öntözni. A merülőszivattyút kivenném a tartályból és az IBC-leeresztő csapjára kötném azzal a vékonyfalú, műanyag adapterrel, ami hozzá járt eredetileg! Az adapterbe beleépítenék egy mágneses úszót, ami jelet adna az adapter külső felületén elhelyezett reedcsőnek. Egyik IBC-t sem szeretném (még) megfúrni a szintérzékelések miatt, ezért akarok saját érzékelőket gyártani...de ez lenne a legapróbb problémám! Remélem, hogy érthető lenne a feladatom?
Előre is köszönöm a segítségeteket!
-
biker
nagyúr
válasz
ekkold #16060 üzenetére
Az a helyzet, némi teszt, számolgatás, és B+-olás után (hogy ..é nem olvastam el jobban a speckót) rájöttem, ez rohadtul alkalmatlan a feladatra.
Az ok, hogy az analóg bemenet 1023(1024) osztású, és 100A max méréssel az 0,1A felbontás, ami nekem jó. Igenám, de ez a szuper IC 2.5-3.5V közt (0.925V) skálázza a kimenetet, ami pont ötöde lesz így, közel 1A felbontás az kb 2A pontosság, ami már a kuka kategória kb.
Nézek mégis olyan áramváltót, ami nem 100/5A és 5A mérő kell elé, hanem eleve DC kimenetes. 0-5V -
ekkold
Topikgazda
Ha AC-t akarsz mérni akkor a nullázás nem gond, hiszen az összes minta átlagát kell a nullának tekinteni, és ehhez képest kapsz kisebb és nagyobb (negatív és pozitív) mintákat. Ebből úgy lesz effektív érték, hogy az átlagot minden mintából levonod, mindegyiket négyzetre emeled, és összeadod. Ezután elosztod a minták számával, majd négyzetgyököt vonsz. Ha nem kell pontos effektív érték, akkor elegendő a mintákból levonni a DC offszetet, majd a minták abszolút értékéből átlagot képezni, és ebből számolni effektív értéket. Vagy lehet hardveres mérő-egyenirányítót készíteni néhány műveleti erősítővel, és akkor már csak DC-t kell mérni az MCU-val..
Viszont AC áramméréshez egyszerűbb egy sima áramváltót használni.
-
biker
nagyúr
-
-
biker
nagyúr
válasz
ekkold #16053 üzenetére
ha van valami jobb tipped, meghallgatom.
Eddig annyit találtam, hogy a kondit kell hozzá nagyobbra cserélni, az csillapít kicsit, illetve gondolkodtam a kimeneet egy 10-100kohm-al testre hátha stabilizál valamit.Minden induláskor kalibrálom, 20.000-es ciklusban leátlagolom (kb 4mp) hogy mennyi épp a nullája, így ha gond van, csak terhelés lekapcsolás mellett reboot és újra nullázva van.
-
ekkold
Topikgazda
Amúgy az ACSxxx áramszenzoroknak a nullája el tud mászni, pl. érzékeny a külső mágneses terekre is, elég egy felmágnesezett csavarhúzóval a közelében matatni. Annak idején +-20A-ig kb. 0,1A felbontással tudtam mérni vele úgy hogy ne ingadozzon a mért érték, és a nulla is nulla legyen.
-
ekkold
Topikgazda
Két tüskesort össze lehet úgy forrasztani, hogy legyen kb. fél raszter eltolás benne. A raszteres panelbe egy hosszabb egyenes tüskesort, és egy forrasztott, két darabból álló, eltolásos tüskesort kellene beletenni. A további "emeletek" meg már lehetne rendes raszteres osztásúak.
Később gyártatott panelek esetén is megoldható, hogy az arduino felettin még van fél raszteres eltolás, a "további emeleteken" meg már nem kell.
-
Tomika86
senior tag
Sziasztok!
Az autóba szánt panelemen jelenleg a bemeneten supresszor dióda 15V-os, majd egyenirányító dióda és LC(100uH SMD tekercs 3A-es és 2db párhuzamos 220uF) kör van, majd DC-DC konverterrel 7V-ot állítok elő. Ebből egy 7805 stab ICvel az 5V, és egy LF33-al a 3,3V.
A panelen ADS7828 I2C ADC van, ami szingli módban működik, tehát közös testpont van. A kocsi áramkörével csak a tápegységen keresztül van összekötve, minden szenzor a panelról kap tápforrást.Ez így a bemeneten alul áteresztő, de ez elég magas frekin vág. Van így értelme egyáltalán?
Vagy a DC-DC konverter után tegyek inkább?
A kocsi 12V rendszeréről szeretném kiszűrni a tüskéket, zajokat.
Nem nagyon találtam ilyen autóba szánt tápegységeket amik mikrovezérlőkhöz vannak.Köszönöm a segítséget!
-
biker
nagyúr
válasz
ekkold #16045 üzenetére
Köszi, de ezzel nem vagyok előrébb most
Az uno tetején terveztem 7 kis modult elhelyezni, és szendvicsben tök jól menne, minden megvan már. csak a köztes panel nincs, és gyártás előtt szerettem volna egy forrasztott tesztet.
Eddig ez áll legközelebb a keresett termékhez, de ebbe se kellene a beleforrasztott sorkapocs és társai -
ekkold
Topikgazda
-
biker
nagyúr
Ó hogy azt a jóédes telibeszájba...... Valaki árulja már el, direkt kib..ásból van az Uno panelen a digitális ki-bemenet tüskesorjai közt fél raszter osztás ahol szünet van benne?? Hogy egy rohadt próbapanelt se lehessen egyben rászúrni két tüskesorral?
Gondoltam nekiállok a tüskekábeles baromkodás után egy forrasztott tesztpanelt gyártani, amíg nem fix minden addig nem gyártatok le pcb-t, és most nézem, nem megy rá nem megy rá, hát basszus nem is fog rámenni a lyukrácsos panel.
Van olyan próbapanel ami furatsoros és rámegy az arduino uno-ra? -
biker
nagyúr
Amíg nem volt interrupt a forgóenkóderen addig ha pl 1000ciklusig számolt és átlagolt, akkor addig ugye semmi más nem megy, ami zavaró. Most kipróbálom milyen, hátha így nem gond.
"És ha jót akarsz, gondoskodj a pergésmentesítésről is, mert lassú tekerésnél az is előfordulhat."
Elvileg a delay(1) az megoldja a pergésmentesítést nem?Ami jobban zavar, utálom a próbapaneleket, lehelletnyire se 100% a kontakt ugrál össze vissza az acs712-n a kimenet 2.500 volt helyett +-20mV is lehet, és ez azt jelenti, hogy lévén 5A-es és 100/5 áramváltó megy rá, hogy képes 1-1.5A-t ugrálni. Be kell forrasszak mindent rendesen
Analóg lábon 512 helyett 512-518 közt ugrál, és egy impulzusnyi emelkedés 0,5A ekkora szorzónál. nem gond annyira, mert 1A osztással jelzem ki és számolk vele, mert a léptetést a másik oldalon ugyanilyen mértékben fogadja a másik eszköz, de feleslegesen ne ugráljon. -
Így van. Az encoder két kimenetét (A és B) úgy is szokták kezelni, hogy signal és direction. Tehát az egyik láb (signal) megy az interruptra, és beállítod hogy pl lefutó élre triggereljen. Az interrupt pillanatában pedig megnézed, hogy a dir. láb alacsony vagy magas, ennek függvényében egyik vagy másik irány.
És ha jót akarsz, gondoskodj a pergésmentesítésről is, mert lassú tekerésnél az is előfordulhat. -
biker
nagyúr
válasz
vegyszer #16039 üzenetére
Árammérés és bizonyos szabályzás ennek függvényében.
Most még az acs712 kalibrálással küzdöttem kicsit, de rebootra kalibrál.
Az enkóderek a beállításhoz kellenek, sokkal menőbb mint a nyomógombok, két küszöbérték állítható adott értékek közt, ezeket állítom a két enkóderrel, ha benyomom a gombot akkor meg menti epromba hogy reboot esetén ne kelljen újra beállítani.
Az OLED-en meg kiírja a státuszokat.---
Kapcsolódó kérdés, egy ciklus amíg fut, addig fogja a loop-ot, de ha loopon kívül lene és meghívom a loopból, akkor is megfogná igaz? Vagyis nem tudok parkolón ciklusban 1000 mérési ciklust átlagolni, mert amíg a ciklus fut addig az egész loop vár, akkor is ha a loopban van és akkor is ha kívül de meghívom?
Az érzékelők miatt jó az átlagolás mert ingadozik a minta, de a folyamat futásának nem tesz jót. most 100 érték átlagával dolgozik ez viszonylag kis késés. -
vegyszer
addikt
Szia!
Egyébként ez milyen projekt?
Én eredetileg egy ESP32 alapú két enkóderrel megoldott előfordulás érzékelő rendszert szerettem volna lemásolni. Sikerült is, de a mechanikai rögzítés még várat magára.
Egy távcső két irányban való elmozdulását hivatott követni 8000 jel/360° felbontással.
Nekem kijelző nem kell. A vezérlést telón futó app látja el Bluetooth/WiFi kapcsolat segedelmével.Most egy ESP32 stamp jön. Valahogy nagyon tetszik a mérete, bár még nem látom, hogy a kódot magát hogyan tudom fellőni rá.
-
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 -
Janos250
őstag
-
Tankblock
aktív tag
válasz
Janos250 #16004 üzenetére
Ha a FET tényleg 48V van akkor leválasztót illene a uC és a FET közé rakni, meg ellenállásokat is.....
Ha elhalálozik a FET akkor a uC is és minden más is meg fogja kapni a 48V ot..... legalább egy optocsatolót vagy cél IC főleg ha a FET még nagy áramot is kapcsol....Ha meg nem kell sűrűn kapcsolni akkor még a relé is szóba jöhet meghajtóval a FET helyett...
Safety First
-
biker
nagyúr
Köszi, bizonytalan voltam, mert minden leírásban egy enkóder két lába volt két interruptra kötve, de akkor működhet a ROT1-A = interrupt1(pin2) és ROT2-A = interrupt2(pin3) ?
És a B lábakat meg bármely más definiált pinre köthetem? és írhatom át a kódot megszakításra máris? -
Tankblock
aktív tag
válasz
tonermagus #16013 üzenetére
Szia
Az ellenállás osztót felejtsd el, ez a nem szép megoldás, mert nem vetted számításban a Load ellenállását.....
vannak lehetőségek LDO (ez kis helyet is foglalna), DC-DC converter (ebből is van ami nem olyan nagy), aezek után csak egyedi circuitok jutottak az eszembe .....
-
A megoldás pont az, amit írtál, csak 1-1 lábat kell megszakításra kötni. Nem is szokták az encoder mindkét lábát megszakításra kötni.
A felbontás sem feleződik, ha le és felfutó élre is beállítasz megszakítást.
De a két interrupt láb helyett létezik a pinchange interrupt, amit minden lábra be lehet állítani, tehát ha akarod, mind a 4 encoder lábra jut egy-egy. Kicsit nehezebb beállítani, de van hozzá többféle library, ami segít ebben. -
biker
nagyúr
üdv, oled+rotary encoder problémám lenne.
A probléma a google szerint jól ismert gond, hogy a rotary encoder (2db kell a projekthez) jól működik soros portra is kiírja jobbra-balra és számol is. Az oled (I2C) is jól működik, de a kettő együtt nem, mert az enkóder innentől 98% felfelé számol, akkor is ha lefele kellene.
Ahogy kikapcsolom a kiírást kijelzőre, jó, tehát nem kód problémaA google megoldások mind mind a megszakításvezérelt enkóderhez vezetnek, de az UNO amihez elkezdtem dolgozni csak két megszakítás lábbal rendelkezik, és két enkódernek négy ágát nem tudom rákötni.
Kérdés, ha egy egy lába van az enkódernek rákötve akkor kettő működhet? mivel ABAB vagy BABA a forgás, elvileg ha csak az A lábak vannak megszakításra kötve, akkor is jó lehet, de ABAB irányban első kattra lefutna a megszakítás míg BABA esetén a második kattintástól ha jól sejtem.Van-e bármi jó megoldás erre? Esetleg SPI kijelző I2C helyett megoldja a problémát? Állítólag a lassú kirajzolás a gond, ezért gondoltam, az SPI gyorsabb mint az I2C
Vagy használjak fel/le gombokat enkóder helyett
-
válasz
tonermagus #16028 üzenetére
Nem annyira merev az a tápfeszültség határ, ahogy a kollégák is írták.
-
cidalain
veterán
válasz
tonermagus #16028 üzenetére
Az Arduino datasheet szerint
Operating Voltage 5V
Minimum Operating Voltage 2.7V
Maximum Operating Voltage 6V
Szóval ha a 6.05 az stabil, és nem lesz néha 6.5, vagy 7, akkor ez alapján nem teszed tönkre. -
ekkold
Topikgazda
válasz
tonermagus #16028 üzenetére
Az élethez szerencse is kell, de ne feszítsd tovább a húrt.
-
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... -
And
veterán
válasz
gyapo11 #16026 üzenetére
Nem igazán. Léteznek nagyobb áramú OPA-k, de egy ilyenből biztos nem tápot szoktak csniálni
. Amúgy a rail-to-rail műverősítők is csak nem túl magas terhelőáramig képesek tartani ezt a tulajdonságukat.
Ha rendelkezésre áll valóban stabil (!) 6V-os tápforrás, amit a terhelőáram nem ránt le olyan szintre, amiből egy LDO sem képes már 5V-ot gyártani, akkor nincs gond a korábban felsorolt csomó lehetséges LDO-típussal. -
Ha 6V-ot biztosan nem lépi túl a tápfesz, akkor egy sorbakötött dióda is elég lehet. Az is ejt 0.6V körül, az 5.4V tápfesz pedig már elfogadható a uC számára. Vagy akár 2db, az 1.2V mínusz.
Persze egy LDO stabilabb megoldás. -
ekkold
Topikgazda
válasz
tonermagus #16021 üzenetére
Amit [PHM] belinkelt, 0.4V-al már működik, tehát 6V-ból simán tud 5V-ot csinálni. Ha a fogyasztás kicsi, akkor 5V esetén csak 0.1...0.2V-ot vesz le, ami még elegendő lehet a normál működéshez. Egy próbát mindenképpen megér.
-
And
veterán
válasz
tonermagus #16021 üzenetére
Egy LDO minimális feszültségesése terhelőáramfüggő, de több olyan típus is létezik, ami 1V alatti drop-pal működik. Pl. TS1117, LM2940, SM-tokban MIC5205 (ez eleve max. 150 mA-es), stb.
"Vagy esetleg nagyon luxus lenne, de létezik olyan ami ha 5V akkor nem nyúl hozzá, ha 6V akkor már 5V-ra csökkenti? "
Annyira luxus lenne, hogy ilyen lineáris LDO nincs, feszültségesés / drop mindig velejárója a működésüknek. Kapcsolóüzemű buck-boost (felfelé és lefelé is konvertálni képes) DC-konverterek képesek lehetnek ilyesmire, utóbbiak 5V-nál alacsonyabb feszültségből is tudnak 5V-ot előállítani. -
válasz
tonermagus #16015 üzenetére
Nem tudom, ki kell számolni, de én is stab IC párti vagyok.
-
PHM
addikt
válasz
tonermagus #16019 üzenetére
-
ekkold
Topikgazda
válasz
tonermagus #16013 üzenetére
A feszültségosztó nem megoldás erre. LDO stabilizátort keress, ezek akár 0,1V (vagy kevesebb) maradékfeszültséggel is tudnak dolgozni.
-
PHM
addikt
válasz
tonermagus #16013 üzenetére
Egy 5V-os LDO feszültség stabilizátor megoldás lehet, de azzal az lesz a probléma,
hogy ha csak 5V a tápfeszültség, abból elvesz 0,3...0,5V-ot. -
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? -
válasz
tonermagus #16013 üzenetére
Nem jó megoldás szerintem, mert ha változik a lap áramfelvétele, akkor ugye változik az ellenállása is, így az eredő ellenállás is változik, így a lap nem fix 5 V-ot kapna.
-
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? -
válasz
tonermagus #16006 üzenetére
Nyilván abba most nem kell belemenni, hogy pl. egy float típus 5byte-ot foglal ha jól tudom
Nem jól tudod, nincs checksum.
-
Janos250
őstag
-
válasz
tonermagus #16006 üzenetére
EEPROM.put(address,érték) -nél az address helyére max 4096-ot írhatok alapesetben?
Nemnem
, 4095-öt.
Ez jól gondolom hogy azért van mert a tömböt alulméreteztem??? Ott 21-et kellene megadnom?
Nagyon jól gondolod.
-
gyapo11
őstag
Hát miben szeretnéd, ha nem C-ben?
Pl.: Hé ardu! Új program. Ha belépek a nappaliba kapcsold föl a villanyt, ha kimegyek, akkor várj 10 másodpercet és kapcsold le ha nem lépett be addig senki.
Régebben törpöltem rajta, hogy lehetne megoldani, hogy abszolút képzetlen emberek is tudjanak programot írni. Nekem a futásidejű értelmező ugrott be, de jó lehet a pc-n fordítás is. A lényeg, hogy a program emberközeli módon legyen írható, egy elektromos ember összeállítja a hw-t, legyen egy hozzárendelő táblázat, ami a hw elemeknek nevet ad (csengő, lámpa-nappali, lámpa-konyha stb.), ezekhez a megfelelő portok legyenek hozzárendelve, és ezután a user írhatja a programot, mikor mi kapcsoljon be vagy ki és milyen feltételek együttállása esetén. Ebből aztán vagy a pc-n futó fordító állít elő futtatható kódot, vagy az arduinon futó értelmező hajtja végre az utasításokat.
Az elektronikát is lehetne valami modulos módszerrel egyszerűsíteni, házilag összerakhatóvá tenni, csak a hozzárendelések lennének az átlagembernek bonyolultak. -
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? -
MC Pite
veterán
válasz
Janos250 #16004 üzenetére
Köszi!
A 3 lábig eljutok, bár a hvac vezérlője adja a 10V-ot (12 pontosabban) és azt várja vissza (14. oldal) a setpoint jelet - ez is használható itt? A gyári vezérlőpanel nem tudom hogy feszültségoaztással (3 bites) vagy pwm-el dolgozott, de gondolom mindkettőnek jónak kéne lennie. Nem tudom potenciál független kell e kötni -
Janos250
őstag
válasz
MC Pite #15999 üzenetére
Feltettem egy kapcs. rajzot, aminek a bal oldalán van 4 db. FET. Láthatod a bekötését.
http://arduinouser.hu/esp32/FET-SD-EEPROM-minta/ESP32FETminta.png -
MC Pite
veterán
Különbözőek vagyunk, mindenre van alternatíva
Tizenx éve élveztem mikor a routerben mindent úgy telepítgettem, konfigolgattam össze, (meg több dogot szerettem SCL-be vagy STL-be írni, mert úgy 'szebb') de már ha van egy kis időm, kislányommal vagy egyéb elmaradt dolgokkal foglalkozok, nem akarom a fordítási hibákat x órán át debugolni, ha vannak jól működő modulok amiket már csak fel kell paraméterezni. (És gyárilag már jó AC66U-t használok nas/routernek is, alig van raja add-on.)
Relatív alap igényeim vannak jelenleg (kivételesen) úgyhogy reményeim szerint ennyit hátrányok nélkül összerakhatok magasabb szinten.
-
válasz
MC Pite #15999 üzenetére
Én azt egyáltalán nem ismerem. Én szeretek C-ben programozni, sőt, inkább az alacsony szintű programozás (assembly) érdekel, mint ez a grafikus-kockatologatós megoldás, szeretem tudni, mi folyik a háttérben, kontrollmániás vagyok.
LEGO robotot is inkább NXC-ben programoztam, mint a saját felületén.
Ettől függetlenül lehet, ha te PLC irányból közelítesz, könnyebben boldogulsz a Node reddel, tegyél vele egy próbát!
Új hozzászólás Aktív témák
Hirdetés
- Apple Ipad 10.generáció
- Új HP Pavilion x360 14-ek Érintős hajtogatós Laptop Tab 14" -35% i5-1335U 8/512 FHD IPS Iris Xe
- RTX 4080 SUPER,16GB. Ryzen 7 7800X3D, 32 RAM Fury RGB! Garancia!
- Asztali PC , i7 9700K , RX 5700 XT , 32GB DDR4 , 500GB NVME , 1TB HDD
- Dell Inspiron 5406 2-in-1i5-1135G7 16GB DDR4 3200 512GB NVME 14" FHD Érintőkijelző W11Pro
- BESZÁMÍTÁS! Sony PlayStation4 PRO 1TB fekete konzol extra játékokkal garanciával hibátlan működéssel
- Lenovo V130-15IGM laptop (Pentium Silver N5000/8GB/256GB SSD
- Jogtiszta Microsoft Windows / Office / Stb.
- BESZÁMÍTÁS! ASUS ROG CROSSHAIR VI EXTREME alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! Asus M5A99FX PRO R2.0 990FX chipset alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest