Home › Forums › Elektronika / programavimas › Arduino
- This topic has 18 replies, 5 voices, and was last updated 8 years, 5 months ago by Elektrinis.
-
AuthorPosts
-
2016/05/27 at 18:37 #14099ElektrinisParticipant
Apie viska nuo pradziu.
Iskart pasakau heiteriams ir kritikams, kad logikos sita daryti nera nei ekonominiu, nei laiko nei funkcionalumo atzvilgiu. Tiesiog sportinis interesas ismokti kazka naujo.Turiu elektrini transporta. Su forumieciu pagalba isiginau gera baterija. Vaziuoja puikiai. Galiu nuvaziuoti 50km atstuma beveik maksimaliu 40-45km/h greiciu!
Pakrovima issiprendziau su kinisku pakroveju 54.6V 4A. Galetu krauti greiciau, bet neplanuoju per diena nuvaziuoti daugiau kaip 50km. Jei atsiras poreikis, isidesiu antra baterijos paka :)
Akivaizdu, kad turiu problema, kuri vadinasi BMS. Lengviausias (gal ir pigiausias) sprendimas nusipirkti butu Saruno BMS.
Dabartinis “BMS” yra paprasciausias voltmetras… Kraunu iki 95%. Batareika puikiai subalansuota ir celes kraunasi tolygiai. Kiekviena sekmadieni balansuoju su imax pakroveju, bet realiai ji neissibalansuoja.Elektronikoje patirties nulis, tad prasom labai nekritikuoti. Internete yra daug panasiu projekteliu, bet kaskaip norisi paciam viska pasidaryti.
Reikia apsibrezti pagrindini tiksla: ivaldyti arduino arba/ir raspberry pi 3 per 1 metus.
Pasirinkau pradziai arduino, nes:
1) Mazai turiu patirties su pytonu. C yra kur kas lengviau.
2) Kaina. Arduino klonai is kinieciu kainuoja pora euru ir kaip nekeista puikiai veikia. Jei viskas pavyks tai gal ir investuosim papildomus 20 euru i originalu arduino.
3) raspberry pi 3 kolkas nustumtas i sali, bet ateityje manau reiks ir ji paziureti, o ypac ta versija su win10.Trumpas projektelio aprasas:
-Gebeti pamatuoti kiekvienos celes itampa.
-Atvaizduoti tai LCD ekrane.
-Isjungti batareikos krovima/iskrovima bent vienai celei isejus uz numatytu ribu: 3.0-4.1V
Igyvendinus situos 3 punktus, atsiras papildomu punktu, kaip: logas, gps trackeris, ar panasiai.Uzdaviniai vykdomi/igyvendinti:
1) Ekranas. +Jau veikia.
2) Voltmetras. -Pasidariau, bet reikia kito sprendimo. Per 5 minutes sujungviau viska per rezistorius ir viskas kaip ir veikia, bet iskart supratau, kad kaskas negerai nes jau labai lengva buvo… Voltmetras turi nepriklausyti nuo ieinamos itampos, nes negali uztikrinti kad visa laika turesi lygiai 5V is USB, o tas duoda didziule paklaida kai buna 5.09V! Radau pas save TL431 sunta. Pasiziuresiu ka pavyks padaryti.
Jei kas gali sitoje vietoje padeti tai noreciau pamatyti komentarus.Pasiulymai/kritika visuomet laukiami :)
- This topic was modified 8 years, 5 months ago by Elektrinis.
- This topic was modified 8 years, 5 months ago by Elektrinis.
2016/05/27 at 19:32 #14104JustasMParticipantRpi ir win10 pamiršk, totali nesąmonė. Gali programint kokia nori kalba ant Rpi linuxe, C pagrindas manau.
Atmega328 sugeba pasimatuoti savo maitinimo įtampą. Įtrauk tą skaičių į skaičiavimus ir bus tikslu. Kiek suprantu naudoji įtampos daliklius matavimui. Nebus Paskutinių celių matavimo rezoliucija tragiška? Ar kažkaip sugebi įtampų skirtumą pasimatuoti?
Sent from my Mi-4c using Tapatalk
2016/05/27 at 20:47 #14107sopkisParticipantDeja nieko gero nesigaus su varžiniais dalikliais. Nes kiek kartų mažini įtampą, tiek kartų didėja paklaida. Teks naudoti kažką specializuoto, pvz http://www.linear.com/product/LTC6802-2 , bet ji daug kainuoja.
2016/05/27 at 22:21 #14108ElektrinisParticipantNelabai supratau kodel negalima kiekvienos celes pake matuoti atskirai? 13 matavimu ir viskas.
2016/05/27 at 22:51 #14109sopkisParticipantKaip tas matavimas atskirai atrodys? Arduino matuoja tarp maitinimo minuso ar kitaip GND ir ADC įėjimo. Pirma celė 4.2V, antra 8.4V – jau per daug. Kaip tu tas celes komutuoji matuodamas jau atskiras klausimas.
2016/05/28 at 00:41 #14110TyroParticipantSopki, ar tas daiktas kainuoja 13usd ir gali daisy chaininti be jokiu papildomu priedu nors ir 48celes? Skamba labai idomiai. Ir nemanau jog brangu. Tik tuomet jeigu tikrai tokia kaina, tuomet kiekvienas pasigamintu po BMS :)
2016/05/28 at 00:48 #14111ElektrinisParticipantTada man kyla klausimas o kaip kiniski bms veikia? Kaip pas juos issprestas sitas klausimas? Kaskaip as manau kad turi buti imanoma pasimatuoti kiekvienos celes itampa atskirai? Reikia tik rasti sujungimo buda ir reikiamus komponentus.
2016/05/28 at 09:47 #14112sopkisParticipantTyro – tas čipukas užsakant lemonoje kainuos 22-25€, jis matuoja 12 celių įtampas ir valdo balansavimo mosfetus, bet ne savarankiškai, o valdomas nuo kontrolerio per SPI. Jei reikia didesnio celių kiekio, tai galima jungti ir daugiau tu čipukų.
Elektrinis – kurie kiniški BMS? Jei kalbi apie tuo pigius PCM, kurie turi UVP, OVP ir balansavimą, tai ten prie kiekvienos celės lygiagrečiai pajungtos identiškos analoginės schemos, kurios balansuoja arba esant per didelei ar per mažai įtampai ant celės duoda signalą atjungti krovimo ar iškrovimo mosfetą. Schemos pavyzdys http://i.imgur.com/EuvFFbg.jpg
Bet kurios celės per maža ar per didelė įtampa neparodo. O gudresni SmartBMS, kurie tas celių įtampas jau rodo, tai jie ir naudoja specializuotas mikroschemas būtent celių įtampų matavimui, gamina jas ne vienintelis linear. Pvz
http://www.lapis-semi.com/en/semicon/monitor/ml5238.html2016/05/28 at 11:53 #14115ŠarūnasKeymasterDeja su dalikliais ar kažkaip kitaip nieko nesigaus. Ne tik dėl paklaidų, bet ir nevienodos srovės: visi tie dalikliai skirtingai iškrovinės dalį celių, todėl greitai atsiras didelis disbalansas.
Šis klausimas yra sprendžiamas vieninteliu būdu – naudojant specializuotą AFE (Analog Front End). Šitie AFE realiai veikia kaip aukštavoltis diferencialinis MUX – kažkurios celės du kontaktus prijungia prie išėjimo (per lygio keitiklį). Valdoma beveik visais atvejais per serijinį kanalą, SPI, I²C ir dar visokių yra. Taip pat dauguma AFE turi ir integruotus raktus balansavimui. Nemaža dalis dar turi ir integruotą ADC, pvz. Linear LTC6802. Jei ADC nėra, matavimus turi atlikti mikrovaldiklis.
Būtent su LTC6802 buvo padarytas mano pirmasis BMS prototipas prieš 6 metus:
Dar lyg kažkur turiu šitų čipų naujų, pigiau padaryčiau :)Programuoti siūlau TIK C/C++ kalba, rekomenduoju iš pat pradžių naudoti operacinę sistemą (pvz. FreeRTOS), nes net nepastebėsit, kai užsikasit su scheduleriu, prioritetais ir t.t.
Arduino pasižaidimui gerai, bet daikto iš jo nebus. Taipogi naudos darbo rinkoje visiškai jokios. Jei nori, kad būtų reali nauda, imk ST devboardą (labai pigūs). Mes ir dauguma kitų darbdavių ieško programuotojų būtent su ST patirtimi, o arduino visais atvejais nelaikoma patirtimi. Verslas naujuose projektuose atmegų nenaudoja.Kalbant bendrai, BMS yra “smagus mažas projektas”. Bet iš tikro ne. :) Eigoje išryškėja tiek daug visokių niuansų, elektronika ir softas pasidaro tokie sudėtingi, kad reikia bent 5-10 PCB revizijų, operacinės sistemos ir t.t…
Taip pat reikia turėti mintyje, kad projekto eigoje sudegs labai daug čipų (pirmi krenta AFE), taip pat labai tikėtina, kad kažkas kažkur nutiks, laiku nepastebėsi ir iškraus bateriją… Tai su brangiomis celėmis geriau neeksperimentuoti.2016/05/30 at 18:39 #14139ElektrinisParticipantDekui uz patarimus, bet kolkas liksim su arduino, nes pagooglinus kaip supratau nera ten jau labai didelio skirtumo kai sneka sukasi megejo lygmenyje.
C/C++ kodo rasymas mano atveju ne problema, cia bus man lengviausia dalis.Man problema “susisneketi” su komponentais ir esmine problema kaip ta simtakoji (tarkim linear LTC6804 turi 48 kojeles) pajungti. Su lituokliu nelabai draugauju.
Kai reiks atnaujinti CV tai tokia patirtis rasysis pas mane prie hobiu skilties :)
Niekada nesakau niekada, nes pries 10 metu net nesapnavau kad busiu ten kur esu dabar… Tad bet kokia patirtis yra naudinga.Paprasciausiai pirminis tikslas padaryti tik stebejima atskiru celiu ekrane, kai vaziuoji, ar kai grizti i garaza.
1)Dabar apie situos: Linear LTC6802/LTC6804
(http://www.linear.com/purchase/LTC6804-1)
Ju kaina 15-17$, ir mano atveju reiketu 2.2) ML5238. Idomus egzempliorius, nes matuoja iki 16 celiu. – ju kaina apie 6 eurus. Nelabai radau pardavime, tik vokietijoje raso kad turi, bet kaina duoda uz 10k vienetu…
Kaip paskaiciau apie juos tai valdymas neatrodo komplikuotas, is esmes plug and play principas jei noriu zinoti tik celiu itampas.
P.S. dekui Sarunui uz gera patarima del testavimo. Vat dabar bus proga panaudoti laptopines celes su bracketais is kinijos.
2016/05/30 at 19:15 #14141sopkisParticipantValdymas gal ir neatrodo komplikuotas, bet viskas priklauso tik nuo kontrolerio programos. To analoginio PCM atveju, kur schemą daviau anksčiau, kol komponentai geri, ji balansuoja, OVP, UVP ir UCP veikia kaip priklauso. Su šitais čipukais visą darbą daro kontroleris, bet veikimo algoritmą reikia sugalvoti pačiam. Pirma bėda yra ta kad kontroleris turi veikti visą laiką, reiškia jo energijos sąnaudos turi būti kuo mažesnės, kad palikus ilgesniam laikui neiškrautų akumuliatoriaus. Jei norėsi ankstyvo balansavimo funkcijos, kai jis prasideda nepasiekus 4.2V, o tada kai kraunant tarp celių atsiranda kažkoks įtampos skirtumas, reiškia turi stebėti srovę, kad matyti kada vyksta krovimas. O toliau jau progamos veikimas – matuoji įtampas ir pagal jas darai kažkokius veiksmus. Bet maža klaida programoje ir turėsi išbalansuotą akumuliatorių arba streikuojančią UVP apsaugą.
Ir neprisirišk prie šitų dviejų AFE čipukų – gamintojų yra ne vienas, ir visokių sprendimų prigalvota.2016/06/01 at 17:56 #14187ElektrinisParticipantPo dideliu paiesku, bandysim uzsisakyti situos ML5238. Zada atsiusti 2 vnt uz ~20euru.
Galvosiu kaip cia ji prilituoti kaskur su normaliom kojelem, bet gal kaip nors. Youtubeje kaskaip paprastai atrodo… :)
Del maitinimo, tai as galvoju visa sita geri uzmaitinti is atskiros baterijos. Ar gera ideja? Turiu as pakankamai laptopiniu celiu.
Sopkis: kokiu dar sprendimu yra kurie butu pakankamai pigus?
2016/06/01 at 20:12 #14188ŠarūnasKeymasterKur radai šitų čipų?
2016/06/02 at 17:32 #14190ElektrinisParticipantcia radau europoje:
https://www.rutronik24.com/product/rohm/ml5236tbz07fl/7114382.htmlPirmiausiai bandysim tiesiai is gamintojo, kai uzsiregistruoji duoda uzsisakyti pavydzius, bet dar nieko neatrase:
http://www.lapis-semi.com/en/semicon/monitor/monitor.html2016/06/02 at 19:42 #14193ŠarūnasKeymasterRašo 14 savaičių lead time :)
2016/06/02 at 20:31 #14194sopkisParticipantRutronike buvau ir aš radęs, bet kad jie pagal mane ne pardavėjas su sandėliais, o tik tarpininkas kažkoks.
2016/06/03 at 18:58 #14209ElektrinisParticipant2016/06/05 at 22:14 #14216ŠarūnasKeymasterIN STOCK: 0
FACTORY LEAD TIME:84 Days
:)2016/06/06 at 11:26 #14217ElektrinisParticipantSita pastebejau, kad visi gamina, bet kai bandai uzsisakyti tai kaskaip nebeiseina…
Iki kaledu gal gausiu ka nors.
Vasara ilgai sviesu tad siaip ar taip nera laiko prie kompiuterio sedeti. -
AuthorPosts
- You must be logged in to reply to this topic.