Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Sziasztok!
2db I2C -s kültéren elhelyezett szenzor adatait szeretném lakáson belüli kijelzőn megjeleníteni. Az lenne a kérdésem, hogy ezt az adatátvitelt milyen vezeték nélküli rendszerrel lenne a legcélszerűbb megvalósítani? Max. távolság 10-20m, de a "rálátás" nem feltétlen garantált. Tervben van további (akár analóg vagy más, nem I2C -s) szenzorok használata is, de az még messze van, viszont a bővíthetőség lehetősége nem lenne rossz. Köszönöm
ESP8266 vagy Arduino pro + valamelyik MRF modul. (Én az ESP-t választanám, ha van a kültéri helyeken WiFi térerő.)
Egy esp-07S külső antennával elég jó hatótávval bír.
Üdvözlet, nos itt vagyok és mindjárt el is mondom én hogy gondoltam az egészet.
A feladat egyébként Li-Ion cellák felügyelete. Minden cella kap egy külön SLAVE eszközt, ami méri a hozzá tartotzó cella feszültségét és hőmérsékletét, valamint vezérel egy kapcsoló FET -et ami balanszálási feladatot lát el, oly módon, hogy ha a cellafeszültség 4.2V fölé emelkedik, a FET rövidre zárja a cella két kivezetését egy teljesítményellenálláson keresztül. Ezen kívűl kommunikál a MASTER eszközzel, és a mért cellafeszültséget és hőmérsékletet, valamint a balanszálási logikai állapotot elküldi a mesternek... Szóval a mellékelt kapcsolási vázlaton egy MASTER és két SLAVE eszköz van. SLAVE eszközből 15 lesz. Valamint a rajzon még szerepel a Bluetooth modul csatlakozója ami szintén a MASTER eszköznél lesz beépítve. A bluetooth eszköz egy okostelefonon futó android alkalmazással kommunikál, amin a begyüjtött adatokat kell megjeleníteni. A működés a következő.: az R1, R2, R8 és R10 ellenállások felhúzó ellenállás szerepét töltik be. Az R3, R4, R5, R6, R7, R9 és R11 ellenállásoknak áramkorlátozó szerepük van. Szóval az első eset, a MASTER eszköznek be kell gyüjteni az adatokat, amit úgy tesz, hogy a TX lábán elküld egy egyedi címet és a kérdést a T1 PNP tranzisztoron keresztül, ami egyrészt áramerősítést végez, hogy minden opto LED -jéhez megfelelő áram folyhasson, és invertálást is végez. Az optocsatolókon keresztül (ami szintén invertál) minden SLAVE eszköz hallja az RX bemenetén az adást, kivéve a bluetooth modult, ugyanis az IC8 optocsatoló 2 -es kivezetése alap esetben szintén magas szintet kap a MESTER D2 (20-as láb) portjáról, ami miatt az opto LED -je nem fog "világítani". (Ez tekinthető a bluetooth amolyan vétel engedélyező kimenetének.) Amelyík SLAVE eszköz a cím alapján felismeri, hogy megszólították, a TX lábán keresztül az optocsatolón át válaszol, amit a MASTER hallani fog az RX bemenetén, a többi SLAVE eszköz pedig kussban van mindaddig, míg meg nem szólítják. A MASTER ezen a módon mind a 15 SLAVE eszközt lekérdezi, és ha begyüjtötte az adatokat, elküldi azokat a bluetooth modulnak oly módon, hogy a D2 -es portját alacsony szintre állítja, ezután a TX porton kiküldi az adatokat, ami már átmegy az IC8 optón és eljut a bluetooth modulba, az pedig továbbküldi a rádiójelen keresztül a kijelzőnek. Ezt az adást szintén minden SLAVE eszköz hallja, de mivel nincs az adatfolyamban egyik sem megcímezve, mindegyik kussban marad. Bizonyos idő elteltével a folyamat kezdődik előről. A beszélgetést a MASTER vezérli, a SLAVE eszközök önszántukból nem kezdeményezhetnek. A bluetooth önszántából is kezdeményezhet, tehát ha nem kérdezett a MASTER senkitől, akkor alap esetben egyértelműsíthető, hogy a bluetooth eszköztől jött valami... A hozzászólás módosítva: Aug 8, 2017
Erre letezik kesz megoldas. Egy chipbe tobb felugyelo aramkor. Most hirtelen nem jut eszemde a betu kodja de jelentkezem vele
Ha jol emlekszem INA..... A hozzászólás módosítva: Aug 8, 2017
Szia!
Mennyi slave kell?
Mint írtam 15 akkucella lesz, tehát 15 ami képes adatot gyüjteni.
Plusz egy bluetooth modul, amint csak kommunikáció folyik...
Hú, ez eléggé el van bonyolítva, megspékelve pár egyedi megoldással, amikre pedig lenne polcról levehető megoldás.
Ha ezek az akku egységek egymáshoz közel vannak, akkor elég egy cél IC + Arduino + BT. Ha távolabb, akkor egyedi cél IC minden cellához, és RS485 hálózat. > ha a cellafeszültség 4.2V fölé emelkedik, a FET rövidre zárja a cella két kivezetését egy teljesítményellenálláson keresztül Ez nekem csúnyán hangzik. Mitől lenne 4.2 felett a cellafeszültség? Eleve nem szabad megengedni, hogy oda eljusson. Jó, hogy leírtad, de lépj még egyet hátra, és még bővebben írd le a rendszert. Hol vannak ezek az akksik? Hogyan és mi tölti őket, és milyen fogyasztók vannak rájuk kötve, milyen védelmen keresztül. (A Li-Ion a túlmerítésbe ugyanúgy beledöglik, mint a túltöltésbe.) Jól látom, hogy a cellák sorba vannak kapcsolva? Rákérdezhetek? Li-ion pakk balansz elektronikát akarsz csinálni távfelügyelettel?
De ez a 15 cell egy pakkot alkot, ugye? Tehát egymáshoz közel lesznek. Akkor miért kell mindegyiknek saját, általános célú mikrokontroller?
Az nem kevés!
Elsőnek kipróbálnám az I2C-t, vagy SPI-t mindenképpen, valami cat5, vagy cat6 kábellel hátha megoldja az 50 cm-es távolságot. Arra gondoltam, hogy a slave-eket nem kell feltétlenül kódból megcímezni, lehetne külön egy digitális pin, ami ha magas akkor neki szól majd az utasítás. Ebben az esetben a Masternek több mint 15 digitális láb kell, vagy használhatsz két shift regisztert a bővítésre. (Slave interrupton ez a pin, ha ez low-ról high-ra vált, akkor írjon a sorosra, vagy folyamatosan figyel, és ha ez a láb magas, akkor válaszoljon, oldja meg a feladatot stb.) Viszont ki kell próbálni pl. 1m hosszú vezetékkel, hogy átmegy -e ez az 5V a mastertől a slave felé. Egyszerűen mérd ki multiméterrel, arduino Digitalwrite magas, kábel végen meg megméred. Szerintem jobb/árnyékolt kábel segíthet, ki kell próbálni. Sajnos ennek szintén lehet gondja a távolsággal (talán), mivel azonban nem sok Khz robog rajta keresztül, talán menni fog. Vagy! Mindegyik slave-re egy wifi modul, azon keresztül oldod meg a kommunikációt. Ez mondjuk drága és instabil szerintem.
Pontosan a cellák egymással sorba vannak kötve, elektromos kerékpár akkupakk lesz, és töltés közben kell a balanszálási opció. A töltő egy Li-Ion akkuhoz való elektromos kerékpár töltő.
(Ha kell, mutatok képet, szólj). A mester fogja detektálni az alulmerülést és lekapcsolni a pakkot a terhelésről, valamint figyelni fogja a teljes akkufeszültséget, a felvett áramot, valamint az elektronikához szükséget +12V és +5V meglétét is... És igen Li-Ion távfelügyelet, bár ez inkább közelfelügyelet lesz, mert a kerékpáron lesz minden, kivétel a töltő ami egy kapcsolóüzemű ebike töltő... De lássuk a cél IC-t nekem akár az is megfelelne, de mivel egy arduino már mindenképp lesz a brinyón, azért gondoltam ilyen módon megoldani az akkumenedzselést is... A hozzászólás módosítva: Aug 8, 2017
A hardveres multiplexelésre én is gondoltam, de miután a slave áramkör mindegyik lába foglalt, ez a módszer megbukott. Másrészt nem kell plusz egy köteg vezeték a multiplexelés miatt, ha az előzőleg leírt módon működne, gyakorlatilag fel lehet fűzni három vezetékre mind a 15 cellát...
Az I2C -t meg az SPI -t is még megnézem, ha találok Arduino nano és Attiny85 közötti projektet ezekből valamerre... A hozzászólás módosítva: Aug 8, 2017
Igen, megvan mit néztem el! Bocsánat!
Ilyesmire lesz szükséged: Bővebben: Link Most hirtelen az is eszembe jutott, hogy ebben az esetben nem kell az arduino 16Mhz-ét leosztani 8-ra? De ezt megmondja valaki szaki. Illetve kell majd az I2C scenner, hogy megtudd, hogy mi a címe a slave-nek.
Azt én sem tudom, de ha beállítom a portot pl 9600bps -re, akkor az elvileg 16MHz és 8MHz -en is ugyanannyi nem?
Az I2C -t nézve az jutott eszembe, hogy a szolga eszközök galvanikusan elválasztottak -e? Ugyanis minden szolga eszközt a saját akkucellája táplálja, és ezek semmilyen körülmények közt nem kerülhetnek az adatvonalakon keresztül egy potenciálra, mert az zárlatot okozna. És ez az SPI -re, RS485 -re meg akármelyík soros kommunikációs vonalra is vonatkozik. Ezt a problémát az optocsatolós leválasztásom viszont alapból megoldja...
Abban még erősítsetek meg, hogy az arduinonak az RX és TX lábainak a passzív szintje az magas,
és az aktív szintje az alacsony jól tudom? Mert a hardvert eszerint terveztem. Tehát ha nincs kommunikáció, akkor a lábak magas szinten vannak...
Ebay-en 3-5 cellás védő/balance cuccok vannak 1000 Ft körül vagy alatt. A minőségről nem tudok nyilatkozni, de le lehet tesztelni.
Bár egy arduino-nak van - ha jól emlékszem - 8 analóg lába, az tud 8 cellát felügyelni (GND-hez képest mindegyiket felszültségosztóval megfelelőlen leosztva). Kell egy másik a maradék 7-re is, és ha azonos a földjük, akkor úgy kötöd őket össze ahogy csak szeretnéd. Ha nem, akkor valami opto kell, egy darab. Lehet mindegyik önállóan felelős a saját celláiért, de csinálhatsz master-slave felállást is. Protokollnak soros, SPI, I2C, amit csak szeretnél. Tápot pedig kapjanak egy celláról, vagy az összesről (összes sajátjukról?) stepdown converter-rel, stb.
Urak... egy nagyon szubjektív kérdés ha az embernek van heti 5-8 oraja tanulgatni akkor kb mennyi idő alatt tud oda eljutni az ember hogy kisebb programokat el tud készíteni ?
Tudom ez szubjektív dolog de gondolkozom hogy megismerkedek vele... csak irtozom tőle valami miatt mint anno az Ericssonosok a Nokiátol.... igen Ericssonos voltam!
Ha minden cella a GND-hez van vonatkoztatva, akkor a 8. cella feszültségét 1024/10bit-en, vagyis 128biten kapod meg. Elég ez? 36mV egy bit, de ez szokott mocorogni kicsit +-2-vel számolva már 144mV, vagyis kerekítve 0.1V-0.15V felbontást kapsz. Cella alulmerülésre elég, de túltöltés védelemre már nem biztos, ugyanis 4.20V még oké, 4.28V már nem.
Vannak valóban spéci IC-k, de egy ajánlat sem érkezett eddig. Amit én ismerek: Bővebben: Link ez 4 cellát tud kezelni, tehát ebből is 4db kellene, plusz csak olyan információd lenne, hogy túlmerült, vagy túltöltött-e a cellád. Ehhez még jöhetne az egyenkénti cella feszültség figyelés 8-as csoportokban, GND-hez képest, 100mV felbontással, de akkor ismét 2 Arduino kellene, hogy minden cellát mérni tudd. Szerintem jó ez a több kicsi uC-s megoldás. Felesleges tovább komplikálni.
Arduino Mega? ATMega2560 van rajta, 16 ADC, 4 UART, és elég digitális láb a védelem meg a töltés ki/be kapcsolásához.
Még mindig nem válaszoltál, hogy mivel töltöd a pakkot, és hogyan kapcsolod ki és be a töltést. Továbbra is fenntartom, hogy nem jó ötlet túltölteni, majd kisütni a cellákat. A töltőnek kell észrevennie, hogy mikor kell abbahagyni a töltést. Ismered a Li-ion cellák töltési karakterisztikáját? Mikor kell feszültség és mikor áramgenerátoros töltés, mikor kell abbahagyni, elkezdeni, stb.
Így van, ezért, ha optos cuccok vannak rajta, akkor úgy kell belőni a kapcsolástechnikát, hogy alapban ne hajtsa a LED-eket (kivéve, ha pont ez a cél és fogyasztás nem számít). Ha hardver kapcsolgatás is van, akkor arra is oda kell figyelni, hogy inaktív (levált) eszköz ne kapjon olyan szintet, ami a soros porton 0-szintet eredményez, illetve le kell kezelni programból a frame-error-t.
Ha Arduino/C++-ról van szó, akkor Távir-on van 60 napos jó tanfolyam. Ha az alapok már meg vannak (bit/byte/nibble/Port/Timer/PWM/And/OR/Counter/Baudrate stb), akkor 5 óra alatt már nem csak LED-villogtatót tudsz írni. (kivéve, ha olyan sülthal vagy, mint én, akinek feláll a szőr a hátán a kis kacsacsőröktől meg sokféle zárójelektől, 28betűs változónevktől stb.)
Hát ez attól függ.
Pl. tudsz-e C-ben vagy ASM-ben programozni? Vagy egyáltalán: programoztál-e már? Mert az sokat segít, ha van programozási rutinod, gyakorlatilag bármilyen nyelven (basic vagy pascal is akár) Egyébként tele van a net példaprogramokkal, amik egy adott feladatra egy megoldást kb. 10 perc alatt össze lehet rakni (hw+sw). Ebből kiindulva aztán már elengedheted a fantáziádat, és az igényeidnek megfelelően módosítva könnyű sikerélményt elérni, ami nagyon fontos az ilyen "for fun" tevékenységeknél.
Azt épp senki nem tiltja meg, hogy az adott feszültségértékeket erősítsd mondjuk 10 vagy 15x-esére, úgy azért már szebb lenne (mármint a két leosztott feszültség különbségét).
Egy lm358 dual opamp 35 Ft, ebből kellene 8, plusz némi passzív. A sok mikróval az a baj, hogy a kommunikációt is meg kell tákolnod, ráadásul leválasztva ha mindegyik mérő uC "földje" a saját cellája negatív pólusa. Ha pedig nem, akkor ugyanott tartunk, csak sokkal több uC-vel. Ebay-en amúgy van a linkelthez hasonlóból 3 és 5 cellás is, van amelyik állítólag balanszolni is tud, legalábbis leírás szerint. (Mélyebben nem mentem bele, nem foglalkoztat ez a téma annyira.)
string.indexOf(val); -val ha keresek, akkor mindegy, hol van a keresendő rész a szövegben, ha nem -1 jön vissza akkor benne van?
A Virtuino androidos szoftvert használta már valaki?
Mi a tapasztalat?
Igen.
Van olyan gyártó pl(samsung) eggyes cella tipus 3.7v litium akura teljes cell fesz 4.35 ad meg 100% töltötségre....
Az LM358-at aztán kalibrálgatni kell, plusz kétlem, hogy a 63V-ot bírná (15S), ugyanis a legfelső cella feszültségét is le kell hozni a GND-re, 8lábú IC, az Attiny is 8 lábú, és sokkal többet tud. Árban sem sokkal drágább. Kommunikáció megírásakor is fejlődik az ember.
Jeges: mindenki ott balanszol, ahol akar. Én 4.28V-nál legkésőbb. Inkább tudjon a cellám 3%-kal kisebb kapacitást, mint hogy fortyogva robbanjon, aztán a mellette levőket is begyújtva. Egy 15S pakknál ez nem játék. A párhuzamos cellákról még semmit sem tudunk. Valaki írta az Arduino mega-t 16 ADC-vel. Úgy tűnik, nem olvasta az okfejtésem, miszerint 8 cellánál 100mV, 15cellánál már csak 200mV pontossággal tudnánk feszültséget mérni cellánként... Külső 12bit-es ADC-vel kapunk talán 50mV felbontást, ha jó a kapcsolás elrendezése. Azzal már lehetne valami, esetleg 16bit ADC, de attól se várjunk el, csak 14bit-et. Viszont a Mega biztosan nem segít. |
Bejelentkezés
Hirdetés |