Sisukord:
- Samm: funktsioonid ja maksumus
- 2. etapp: töö skeem ja teooria
- 3. samm: trükkplaat ja elektroonika
- 4. samm: ümbris ja kokkupanek
- Samm: Arduino kood
- Samm: Java -kood
- 7. samm: edu
Video: Digitaalne patareitoitega toide: 7 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Kas olete kunagi tahtnud toiteallikat, mida saate kasutada liikvel olles, isegi kui läheduses pole pistikupesa? Ja kas poleks lahe, kui see oleks ka väga täpne, digitaalne ja arvuti kaudu juhitav?
Selles juhendis näitan teile, kuidas seda täpselt luua: digitaalne patareitoitega toiteallikas, mis ühildub arduinoga ja mida saab arvuti kaudu USB kaudu juhtida.
Mõni aeg tagasi ehitasin toiteploki vanast ATX -toiteallikast ja kuigi see töötab suurepäraselt, tahtsin oma mängu digitaalse toiteallikaga tõhustada. Nagu juba öeldud, töötab see patareide abil (täpsemalt 2 liitium -elementi) ja see võib pakkuda maksimaalselt 20 V pinget 1 A juures; mis on piisav enamiku minu projektide jaoks, mis nõuavad täpset toiteallikat.
Näitan kogu disainiprotsessi ja kõik projektifailid leiate minu GitHubi lehelt:
Alustame!
Samm: funktsioonid ja maksumus
Funktsioonid
- Pideva pinge ja konstantse voolu režiimid
- Kasutab madala müratasemega lineaarset regulaatorit, millele eelneb jälgimise eelregulaator, et minimeerida toite hajumist
- Käepäraste komponentide kasutamine projekti ligipääsetavuse tagamiseks
- Toetab ATMEGA328P, programmeeritud Arduino IDE -ga
- Arvutiside Java -rakenduse kaudu mikro -USB kaudu
- Toiteallikaks on 2 kaitstud 18650 liitiumioonakku
- 18 mm vahedega banaanipistikud ühilduvuseks BNC adapteritega
Tehnilised andmed
- 0 - 1A, 1 mA sammuga (10 -bitine DAC)
- 0–20 V, 20 mV sammud (10 -bitine DAC) (tõeline 0 V töö)
- Pinge mõõtmine: 20 mV eraldusvõime (10 bit ADC)
-
Praegune mõõtmine:
- <40mA: 10uA eraldusvõime (ina219)
- <80mA: eraldusvõime 20uA (ina219)
- <160mA: eraldusvõime 40uA (ina219)
- <320mA: eraldusvõime 80uA (ina219)
- > 320mA: 1mA eraldusvõime (10 -bitine ADC)
Maksumus
Täielik toiteallikas maksis mulle umbes 135 dollarit koos kõigi ühekordsete komponentidega. Patareid on kõige kallim osa (30 dollarit 2 elemendi eest), kuna need on kaitstud 18650 liitium -elementi. Kui patareid pole vaja kasutada, on võimalik kulusid oluliselt vähendada. Patareid ja laadimisskeemi välja jättes langeb hind umbes 100 dollarini. Kuigi see võib tunduda kallis, maksavad palju väiksema jõudluse ja funktsioonidega toiteallikad sageli rohkem kui see.
Kui te ei viitsi oma komponente ebayst või aliexpressist tellida, langeb hind koos akudega 100 dollarini ja 70 dollarini ilma. Osade saabumine võtab kauem aega, kuid see on elujõuline võimalus.
2. etapp: töö skeem ja teooria
Vooluahela toimimise mõistmiseks peame vaatama skeemi. Jagasin selle funktsionaalseteks plokkideks, nii et seda oleks lihtsam mõista; Selgitan seega ka toimingut samm -sammult. See osa on üsna põhjalik ja nõuab häid elektroonikateadmisi. Kui soovite lihtsalt teada, kuidas vooluringi üles ehitada, võite järgmise sammu juurde liikuda.
Peamine plokk
Toiming põhineb LT3080 kiibil: see on lineaarne pingeregulaator, mis võib juhtsignaali põhjal pingeid vähendada. Selle juhtsignaali genereerib mikrokontroller; kuidas seda tehakse, selgitatakse üksikasjalikult hiljem.
Pinge seadistamine
LT3080 ümber olev vooluring genereerib sobivad juhtimissignaalid. Esiteks vaatame, kuidas pinge on seatud. Mikrokontrolleri pingeseade on PWM -signaal (PWM_Vset), mida filtreerib madalpääsfilter (C9 & R26). See tekitab analoogpinge vahemikus 0 kuni 5 V - proportsionaalne soovitud väljundpingega. Kuna meie väljundvahemik on 0–20 V, peame seda signaali võimendama koefitsiendiga 4. Seda teeb U3C mittepööratud opamp -konfiguratsioon. Seadistatud tihvti võimenduse määravad R23 // R24 // R25 ja R34. Need takistid on vigade minimeerimiseks 0,1% tolerantsed. R39 ja R36 pole siin olulised, kuna need on osa tagasisideahelast.
Praegune seadistus
Seda tihvti saab kasutada ka teise seadistuse jaoks: praegune režiim. Tahame mõõta praegust voolu ja lülitada väljund välja, kui see ületab soovitud voolu. Seetõttu alustame uuesti mikrokontrolleri genereeritud PWM -signaaliga (PWM_Iset), mis on nüüd madalpääsfiltreeritud ja nõrgestatud, et minna 0–5 V vahemikust 0–2 V vahemikku. Seda pinget võrreldakse nüüd opamp U3D võrdluskonfiguratsiooniga praeguse takisti (ADC_Iout, vt allpool) pingelangusega. Kui vool on liiga kõrge, lülitab see sisse LED -i ja tõmbab ka LT3080 seadistatud joone maapinnale (Q2 kaudu), lülitades seega väljundi välja. Voolu mõõtmine ja signaali ADC_Iout genereerimine toimub järgmiselt. Väljundvool voolab läbi takistite R7 - R16. Need kokku 1 oomi; põhjus, miks 1R -d ei kasutata, on kahekordne: 1 takisti peaks olema kõrgema võimsusega (see peab hajuma vähemalt 1 W) ja kasutades paralleelselt 10 1% takistit, saame suurema täpsuse kui ühe 1 % takistiga. Hea video selle kohta, miks see töötab, leiate siit: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Kui vool voolab läbi nende takistite, tekitab see pingelanguse, mida saame mõõta, ja see on paigutatud LT3080 ette, kuna selle pingelangus ei tohiks väljundpinget mõjutada. Pingelangust mõõdetakse diferentsiaalvõimendiga (U3B) võimendusega 2. Selle tulemuseks on pingevahemik 0 - 2 V (sellest lähemalt hiljem), seega pingejagur voolu PWM signaali juures. Puhver (U3A) on selleks, et veenduda, et takistitesse R21, R32 ja R33 voolav vool ei läbiks praegust takisti, mis mõjutaks selle lugemist. Pange tähele ka seda, et see peaks olema rööpast rööpani opamp, kuna positiivse sisendi sisendpinge võrdub toitepingega. Mitte inverteeriv võimendi on mõeldud ainult kursuse mõõtmiseks, kuigi väga täpsete mõõtmiste jaoks on meil INA219 kiip pardal. See kiip võimaldab meil mõõta väga väikeseid voolusid ja seda käsitletakse I2C kaudu.
Täiendavad asjad
LT3080 väljundis on meil veel asju. Esiteks on praegune valamu (LM334). See tõmbab LT3080 stabiliseerimiseks konstantse voolu 677 uA (seatud takisti R41 poolt). See pole aga ühendatud maandusega, vaid negatiivse pingega VEE -ga. Seda on vaja selleks, et LT3080 saaks töötada kuni 0 V. Kui see on ühendatud maandusega, oleks madalaim pinge umbes 0,7 V. See tundub piisavalt madal, kuid pidage meeles, et see takistab meil toiteallikat täielikult välja lülitada. Zeneri dioodi D3 kasutatakse väljundpinge kinnistamiseks, kui see ületab 22 V, ja takisti jagaja langetab väljundpinge vahemikku 0–20 V kuni 0–2 V (ADC_Vout). Kahjuks on need ahelad LT3080 väljundis, mis tähendab, et nende vool aitab kaasa väljundvoolule, mida me soovime mõõta. Õnneks on need voolud konstantsed, kui pinge jääb konstantseks; et saaksime voolu kalibreerida, kui koormus on kõigepealt lahti ühendatud.
Laadige pump
Negatiivse pinge, mida me varem mainisime, tekitab uudishimulik väike ahel: laadimispump. Selle toimimise kohta viitaksin siin: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Seda toidab mikrokontrolleri (PWM) 50% PWM
Võimendusmuundur
Vaatame nüüd meie põhiploki sisendpinget: Vboost. Näeme, et see on 8 - 24V, kuid oodake, kaks liitiumelementi järjestikku annavad maksimaalselt 8,4 V? Tõepoolest, ja sellepärast peame pinget suurendama nn võimendusmuunduriga. Võiksime alati pinge tõsta 24 V -ni, olenemata sellest, millist väljundit me soovime; see aga raiskaks LT3080 -s palju energiat ja asjad läheksid kuumaks! Nii et selle asemel suurendame pinget natuke rohkem kui väljundpinge. Umbes 2,5 V kõrgem on sobiv, et võtta arvesse praeguse takisti pingelangust ja LT3080 väljalangemispinget. Pinge seadistatakse takisti abil võimendusmuunduri väljundsignaalile. Selle pinge muutmiseks käigu pealt kasutame digitaalset potentsiomeetrit MCP41010, mida juhitakse SPI kaudu.
Aku laadimine
See viib meid tegeliku sisendpingeni: akud! Kuna kasutame kaitstud rakke, peame need lihtsalt järjestikku panema ja oleme valmis! Siin on oluline kasutada kaitstud rakke, et vältida liigvoolu või ülelaadimist ning seega ka rakkude kahjustamist. Jällegi kasutame aku pinge mõõtmiseks pingejaoturit ja langetame selle kasutatavasse vahemikku. Nüüd aga huvitava osa juurde: laadimisskeem. Selleks kasutame kiipi BQ2057WSN: koos TIP32CG -ga moodustab see põhimõtteliselt ise lineaarse toiteallika. See kiip laeb rakke sobiva CV CC trajektoori kaudu. Kuna minu patareidel pole temperatuuriandurit, tuleks see sisend siduda poole aku pingega. Sellega lõpeb toiteallika pinge reguleerimise osa.
5V regulaator
Arduino 5 V toitepinge on valmistatud selle lihtsa pingeregulaatoriga. See pole siiski kõige täpsem 5 V väljund, kuid see lahendatakse allpool.
2,048 V pinge võrdlus
See väike kiip pakub väga täpset 2,048 V pinge võrdlust. Seda kasutatakse võrdluseks analoogsignaalidele ADC_Vout, ADC_Iout, ADC_Vbatt. Sellepärast vajasime pingejagureid, et viia need signaalid alla 2 V. Mikrokontroller Selle projekti ajuks on ATMEGA328P, see on sama kiip, mida kasutatakse Arduino Unos. Käisime juba enamiku juhtimissignaalide üle, kuid siiski on huvitavaid täiendusi. Pöörlemiskoodrid on ühendatud arduino 2 välise katkestusnõelaga: PD2 ja PD3. See on vajalik usaldusväärse tarkvara juurutamiseks. Allolevad lülitid kasutavad sisemist tõmbetakistit. Siis on see kummaline pingejagur potentsiomeetri (Pot) kiibi valimisliinil. Pingejagur väljundis, milleks see hea on; võite öelda. Nagu varem mainitud, ei ole 5 V toide kohutavalt täpne. Seega oleks hea seda täpselt mõõta ja vastavalt sellele reguleerida PWM -signaali töötsüklit. Aga kuna mul ei olnud enam tasuta sisendeid, pidin tegema tihvttõmbamise topeltkoormuse. Toiteallika käivitamisel seatakse see tihvt kõigepealt sisendiks: see mõõdab toitepiiret ja kalibreerib ennast. Järgmisena seatakse see väljundiks ja see võib juhtida kiibi valimisliini.
Ekraani draiver
Ekraani jaoks tahtsin üldkasutatavat ja odavat hitachi LCD -ekraani. Neid juhib 6 tihvti, kuid kuna mul polnud ühtegi tihvti alles, vajasin teist lahendust. Vahetuste register päästmiseks! 74HC595 võimaldab mul ekraani juhtimiseks kasutada SPI -liini, seega on vaja ainult 1 täiendavat kiibi valimise rida.
FTDI
Selle energiavarustuse viimane osa on ühendus julma välismaailmaga. Selleks peame jadasignaalid teisendama USB -signaalideks. Seda teeb FTDI kiip, mis on lihtsaks ühendamiseks ühendatud mikro -USB -pordiga.
Ja see on ka kõik!
3. samm: trükkplaat ja elektroonika
Nüüd, kui me saame aru, kuidas vooluring töötab, saame hakata seda ehitama! PCB -d saate lihtsalt tellida veebist oma lemmiktootjalt (minu oma maksis umbes 10 dollarit), gerberi failid leiate koos minu materjaliga minu GitHubist. PCB kokkupanek on põhimõtteliselt komponentide jootmine vastavalt siiditrükile ja materjalide nimekirjale.
Esimene samm on SMD komponentide jootmine. Enamikku neist on lihtne käsitsi teha, välja arvatud FTDI kiibist ja mikro -USB -pistikust. Seetõttu saate vältida nende kahe komponendi jootmist ise ja kasutada selle asemel FTDI katkestusplaati. Ma pakkusin päise tihvte, kus seda saab jootma.
Kui SMD -töö on tehtud, saate liikuda kõigi aukude komponentide juurde. Need on väga lihtsad. Kiipide puhul võiksite kasutada pistikupesasid selle asemel, et neid otse plaadile joota. Eelistatav on kasutada ATMEGA328P koos Arduino alglaaduriga, vastasel juhul peate selle üles laadima, kasutades ICSP päist (näidatud siin).
Ainus osa, mis vajab veidi rohkem tähelepanu, on LCD -ekraan, kuna see tuleb paigaldada nurga all. Jootke sellele mõned isased nurga all olevad päised, plasttükk ekraani alaosa poole. See võimaldab ekraani hästi paigutada trükkplaadile. Pärast seda saab seda joota oma kohale nagu iga muud auku.
Ainus asi, mida teha, on lisada 2 juhtmest, mis ühendatakse esiplaadi banaaniklemmidega.
4. samm: ümbris ja kokkupanek
Kui trükkplaat on tehtud, saame liikuda korpuse juurde. Ma kujundasin PCB spetsiaalselt selle hammondi ümbrise ümber, nii et teise korpuse kasutamine pole soovitatav. Siiski saate alati printida samade mõõtmetega ümbrise 3D -vormingus.
Esimene samm on lõpppaneeli ettevalmistamine. Peame puurima mõned augud kruvide, lülitite jms jaoks. Ma tegin seda käsitsi, kuid kui teil on juurdepääs CNC -le, oleks see täpsem valik. Tegin augud vastavalt skeemile ja koputasin kruviauke.
Hea mõte on nüüd lisada mõned siidist padjad ja hoida neid väikese tilga superliimiga paigal. Need isoleerivad LT3080 ja TIP32 tagaplaadist, võimaldades samal ajal soojusülekannet. Ärge unustage neid! Laastude tagapaneelile kruvimisel kasutage isolatsiooni tagamiseks vilgukivipesurit!
Nüüd saame keskenduda esipaneelile, mis lihtsalt libiseb oma kohale. Nüüd saame lisada banaanipistikud ja pöördnuppude nupud.
Kui mõlemad paneelid on paigas, saame nüüd komplekti korpusesse sisestada, patareid lisada ja kõik sulgeda. Kasutage kindlasti kaitstud patareisid, te ei soovi, et rakud plahvataksid!
Siinkohal on riistvara tehtud, nüüd jääb üle vaid tarkvaraga veidi elu sisse puhuda!
Samm: Arduino kood
Selle projekti ajuks on ATMEGA328P, mida programmeerime koos Arduino IDE -ga. Selles jaotises vaatan läbi koodi põhitoimingu, üksikasjad leiate koodi kommentaaridest.
Põhimõtteliselt toimub kood järgmiste sammude kaudu:
- Seeriaandmete lugemine javast
- Küsitlusnupud
- Mõõda pinget
- Mõõtke voolu
- Mõõtke voolu INA219 abil
- Saada java andmed javale
- Boostconverteri seadistamine
- Laadige aku
- Värskenda ekraani
Pöörlevaid kodeerijaid haldab katkestusteenus, et need oleksid võimalikult reageerivad.
Koodi saab nüüd mikro -USB -pordi kaudu tahvlile üles laadida (kui kiibil on alglaadur). Tahvel: Arduino pro või pro mini Programmeerija: AVR ISP / AVRISP MKII
Nüüd võime vaadata Arduino ja arvuti vahelist suhtlust.
Samm: Java -kood
Andmete logimiseks ja toiteallika juhtimiseks arvuti kaudu tegin Java -rakenduse. See võimaldab meil hõlpsalt plaati GUI kaudu juhtida. Nagu Arduino koodi puhul, ei lähe ma kõikidesse üksikasjadesse, vaid annan ülevaate.
Alustuseks teeme akna nuppude, tekstiväljade jms abil; põhilised GUI -asjad.
Nüüd tuleb lõbus osa: USB -portide lisamine, mille jaoks kasutasin jSerialCommi raamatukogu. Kui port on valitud, kuulab java kõiki sissetulevaid andmeid. Samuti võime seadmesse andmeid saata.
Lisaks salvestatakse kõik sissetulevad andmed csv -faili hilisemaks andmete töötlemiseks.
Faili.jar käivitamisel peaksime esmalt rippmenüüst õige pordi valima. Pärast ühendamist hakkavad andmed tulema ja saame oma seaded toiteallikale saata.
Kuigi programm on üsna lihtne, võib olla väga kasulik seda arvuti kaudu juhtida ja selle andmeid logida.
7. samm: edu
Pärast seda tööd on meil nüüd täielikult toimiv toiteallikas!
Samuti pean mõnda inimest tänama toetuse eest:
- Projekt põhines EEVBLOGi uSupply projektil ja tema Rev C skeemil. Seega eriline tänu David L. Jonesile, kes avalikustas oma skeemid avatud lähtekoodiga litsentsi alusel ja jagas kõiki oma teadmisi.
- Suur tänu Johan Pattynile selle projekti prototüüpide tootmise eest.
- Ka Cedric Busschots ja Hans Ingelberts väärivad tõrkeotsingu abi eest tunnustust.
Nüüd saame nautida oma kodus valmistatud toiteallikat, mis tuleb kasuks teiste vingete projektide kallal töötades! Ja mis kõige tähtsam: me oleme teel õppinud palju asju.
Kui teile see projekt meeldis, palun hääletage minu poolt powerupply konkursil, oleksin selle eest väga tänulik! Https: //www.instructables.com/contest/powersupply/
Toiteallikate konkursi teine auhind
Soovitan:
Mini patareitoitega kineskoop -ostsilloskoop: 7 sammu (koos piltidega)
Mini patareitoitega kineskoop -ostsilloskoop: Tere! Selles juhendis näitan teile, kuidas teha mini -patareitoitega CRT -ostsilloskoopi. Ostsilloskoop on oluline tööriist elektroonikaga töötamisel; näete kõiki vooluringis voolavaid signaale ja tõrkeid
Patareitoitega kontor. Päikesesüsteem automaatse lülitusega ida/lääne päikesepaneelide ja tuuleturbiini vahel: 11 sammu (koos piltidega)
Patareitoitega kontor. Päikesesüsteem automaatse lülitusega ida/lääne päikesepaneelid ja tuuleturbiin: Projekt: 200 ruutjalga kontor peab olema toitega. Kontor peab sisaldama ka kõiki selle süsteemi jaoks vajalikke kontrollereid, patareisid ja komponente. Päikese- ja tuuleenergia laeb akusid. Väike probleem on ainult
Ülimalt lihtne patareitoitega leegi tuli: 6 sammu (koos piltidega)
Ülimalt lihtne patareitoitega leeklamp: palju tunde kestnud COVID-19 YouTube'i liigsöömise ajal sain inspiratsiooni Adam Savage'i ühe päeva ehitamise episoodist, eriti sellest, kus ta ehitab oma kodus ehitatud riksa jaoks gaasilaterna rekvisiidi. Ehituse keskmes oli
Patareitoitega ukseandur koos koduautomaatika integreerimisega, WiFi ja ESP-NOW: 5 sammu (koos piltidega)
Patareitoitega ukseandur koos koduautomaatika integreerimisega, WiFi ja ESP-NOW Olen näinud veel mõningaid toredaid andureid ja häiresüsteeme, kuid tahtsin selle ise teha. Minu eesmärgid: andur, mis tuvastab doo ja teatab sellest
Digitaalne USB C toitega Bluetooth -toide: 8 sammu (piltidega)
Digitaalne USB C toitega Bluetooth -toiteallikas: kas olete kunagi tahtnud toiteallikat, mida saate kasutada liikvel olles isegi ilma seinakontakti läheduses? Ja kas poleks lahe, kui see oleks ka väga täpne, digitaalne ja juhitav arvuti ja telefoni kaudu? Selles juhendis näitan teile, kuidas täpselt ehitada