Satura rādītājs:
- 1. darbība: funkcijas un izmaksas
- 2. darbība. Shēma un darbības teorija
- 3. darbība: PCB un elektronika
- 4. solis: korpuss un montāža
- 5. darbība: Arduino kods
- 6. darbība: Java kods
- 7. solis: panākumi
Video: Enerģijas padeve ar digitālo akumulatoru: 7 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Vai esat kādreiz vēlējies barošanas avotu, ko varat izmantot, atrodoties ceļā, pat ja tuvumā nav sienas kontaktligzdas? Un vai nebūtu forši, ja tas būtu arī ļoti precīzs, digitāls un kontrolējams, izmantojot datoru?
Šajā pamācībā es jums parādīšu, kā tieši to izveidot: ar akumulatoru darbināms barošanas avots, kas ir saderīgs ar arino, un kuru var kontrolēt, izmantojot datoru, izmantojot USB.
Kādu laiku atpakaļ es izveidoju barošanas avotu no vecā ATX barošanas bloka, un, lai gan tas darbojas lieliski, es vēlējos uzlabot savu spēli ar digitālo barošanas avotu. Kā jau minēts, to darbina baterijas (precīzāk, 2 litija elementi), un tas var piegādāt maksimāli 20 V pie 1 A; kas ir pietiekami lielākajai daļai manu projektu, kuriem nepieciešama precīza barošana.
Es parādīšu visu projektēšanas procesu, un visus projekta failus var atrast manā GitHub lapā:
Sāksim!
1. darbība: funkcijas un izmaksas
Iespējas
- Pastāvīga sprieguma un pastāvīgas strāvas režīmi
- Izmanto zema trokšņa lineāro regulatoru, pirms kura tiek izmantots izsekošanas priekšregulators, lai samazinātu enerģijas izkliedi
- Ar rokām pielietojamu komponentu izmantošana, lai projekts būtu pieejams
- Darbojas ar ATMEGA328P, ieprogrammēts ar Arduino IDE
- Komunikācija ar datoru, izmantojot Java lietojumprogrammu, izmantojot mikro USB
- Darbojas ar 2 aizsargātām 18650 litija jonu šūnām
- 18 mm izvietoti banānu aizbāžņi savietojamībai ar BNC adapteriem
Specifikācijas
- 0 - 1A, 1 mA soļi (10 bitu DAC)
- 0 - 20 V, 20 mV soļi (10 bitu DAC) (patiesa 0 V darbība)
- Sprieguma mērīšana: 20 mV izšķirtspēja (10 bitu ADC)
-
Pašreizējais mērījums:
- <40mA: 10uA izšķirtspēja (ina219)
- <80mA: 20uA izšķirtspēja (ina219)
- <160mA: 40uA izšķirtspēja (ina219)
- <320mA: 80uA izšķirtspēja (ina219)
- > 320 mA: 1 mA izšķirtspēja (10 bitu ADC)
Izmaksas
Pilnīga strāvas padeve man izmaksāja aptuveni 135 USD ar visām vienreizējām sastāvdaļām. Baterijas ir visdārgākā daļa (30 ASV dolāri par 2 šūnām), jo tās ir aizsargātas ar 18650 litija šūnām. Ja akumulatora darbība nav nepieciešama, ir iespējams ievērojami samazināt izmaksas. Izlaižot baterijas un uzlādes shēmu, cena samazinās līdz aptuveni 100 USD. Lai gan tas var šķist dārgi, barošanas avoti ar daudz zemāku veiktspēju un funkcijām bieži maksā dārgāk.
Ja jums nav iebildumu pasūtīt komponentus no ebay vai aliexpress, cena ar baterijām samazināsies līdz 100 USD un bez 70 USD. Daļu piegāde prasa ilgāku laiku, taču tā ir dzīvotspējīga iespēja.
2. darbība. Shēma un darbības teorija
Lai saprastu ķēdes darbību, mums būs jāaplūko shematiski. Es to sadalīju funkcionālos blokos, lai to būtu vieglāk saprast; Tādējādi es arī paskaidrošu darbību soli pa solim. Šī daļa ir diezgan padziļināta un prasa labas zināšanas par elektroniku. Ja vēlaties uzzināt, kā izveidot ķēdi, varat pāriet uz nākamo darbību.
Galvenais bloks
Darbības pamatā ir LT3080 mikroshēma: tas ir lineārs sprieguma regulators, kas var samazināt spriegumu, pamatojoties uz vadības signālu. Šo vadības signālu ģenerēs mikrokontrolleris; kā tas tiek darīts, tiks sīkāk paskaidrots vēlāk.
Sprieguma iestatīšana
Ķēdes ap LT3080 ģenerē atbilstošus vadības signālus. Pirmkārt, mēs apskatīsim, kā tiek iestatīts spriegums. Sprieguma iestatījums no mikrokontrollera ir PWM signāls (PWM_Vset), ko filtrē zemfrekvences filtrs (C9 & R26). Tas rada analogo spriegumu - no 0 līdz 5 V - proporcionālu vēlamajam izejas spriegumam. Tā kā mūsu izejas diapazons ir 0 - 20 V, mums būs jāpastiprina šis signāls ar koeficientu 4. Tas tiek darīts ar U3C neinvertējošo opamp konfigurāciju. Iestatītās tapas pastiprinājumu nosaka R23 // R24 // R25 un R34. Šie rezistori ir 0,1% toleranti, lai samazinātu kļūdas. R39 un R36 šeit nav nozīmes, jo tie ir daļa no atgriezeniskās saites.
Pašreizējais iestatījums
Šo iestatīšanas tapu var izmantot arī otrajam iestatījumam: pašreizējais režīms. Mēs vēlamies izmērīt strāvas patēriņu un izslēgt izeju, kad tā pārsniedz vēlamo strāvu. Tāpēc mēs atkal sākam ar PWM signālu (PWM_Iset), ko ģenerē mikrokontrolleris, kurš tagad ir zemfrekvences filtrs un vājināts, lai pārietu no 0 - 5 V diapazona uz 0 - 2 V diapazonu. Šo spriegumu tagad salīdzina ar sprieguma kritumu pašreizējā jutības rezistorā (ADC_Iout, skatīt zemāk), izmantojot opamp U3D salīdzinājuma konfigurāciju. Ja strāva ir pārāk augsta, tas ieslēgs LED, kā arī novilks LT3080 iestatīto līniju uz zemes (caur Q2), tādējādi izslēdzot izeju. Strāvas mērīšana un signāla ADC_Iout ģenerēšana tiek veikta šādi. Izejas strāva plūst caur rezistoriem R7 - R16. Kopā tie ir 1 omi; Iemesls, kāpēc 1R neizmanto, ir divējāds: 1 rezistoram vajadzētu būt lielākam jaudas vērtējumam (tam ir jāizkliedē vismaz 1 W), un, paralēli izmantojot 10 1% rezistorus, mēs iegūstam lielāku precizitāti nekā ar vienu 1 % rezistoru. Labs video par to, kāpēc tas darbojas, atrodams šeit: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Kad caur šiem rezistoriem plūst strāva, tas rada sprieguma kritumu, ko mēs varam izmērīt, un tas ir novietots pirms LT3080, jo sprieguma kritumam pāri tam nevajadzētu ietekmēt izejas spriegumu. Sprieguma kritumu mēra ar diferenciālo pastiprinātāju (U3B) ar pastiprinājumu 2. Tā rezultātā sprieguma diapazons ir 0 - 2 V (vairāk par to vēlāk), tātad sprieguma dalītājs pie strāvas PWM signāla. Buferis (U3A) ir paredzēts, lai pārliecinātos, ka rezistoros R21, R32 un R33 ieplūstošā strāva neiziet caur pašreizējo sensoru rezistoru, kas varētu ietekmēt tā nolasīšanu. Ņemiet vērā arī to, ka tam vajadzētu būt sliedes-sliedes opampam, jo ieejas spriegums pie pozitīvās ieejas ir vienāds ar barošanas spriegumu. Neinvertējošais pastiprinātājs ir paredzēts tikai kursa mērīšanai, lai gan ļoti precīziem mērījumiem mums ir INA219 mikroshēma. Šī mikroshēma ļauj izmērīt ļoti mazas strāvas, un tā tiek adresēta, izmantojot I2C.
Papildu lietas
Pēc LT3080 izejas mums ir vēl dažas lietas. Pirmkārt, ir strāvas izlietne (LM334). Lai stabilizētu LT3080, tas patērē nemainīgu strāvu 677 uA (ko nosaka rezistors R41). Tomēr tas nav savienots ar zemi, bet ar VEE, negatīvu spriegumu. Tas ir nepieciešams, lai ļautu LT3080 darboties līdz 0 V. Pievienojot zemei, zemākais spriegums būtu aptuveni 0,7 V. Šķiet, ka tas ir pietiekami zems, taču paturiet prātā, ka tas neļauj pilnībā izslēgt barošanas avotu. Zener diode D3 tiek izmantota, lai fiksētu izejas spriegumu, ja tas pārsniedz 22 V, un rezistoru dalītājs samazina izejas sprieguma diapazonu no 0 - 20 V līdz 0 - 2 V (ADC_Vout). Diemžēl šīs shēmas atrodas pie LT3080 izejas, kas nozīmē, ka to strāva veicinās izejas strāvu, kuru mēs vēlamies izmērīt. Par laimi, šīs strāvas ir nemainīgas, ja spriegums paliek nemainīgs; lai mēs varētu kalibrēt strāvu, kad vispirms tiek atvienota slodze.
Uzlādes sūknis
Negatīvo spriegumu, ko mēs minējām iepriekš, rada interesanta maza ķēde: uzlādes sūknis. Par tās darbību es atsaucos šeit: https://www.youtube.com/embed/1WAhTdWErrU&t=1s To baro ar 50% mikrokontrollera (PWM) PWM
Boost pārveidotājs
Tagad apskatīsim mūsu galvenā bloka ieejas spriegumu: Vboost. Mēs redzam, ka tas ir 8 - 24V, bet pagaidiet, 2 litija šūnas sērijveidā dod maksimumu 8,4 V? Patiešām, un tāpēc mums ir jāpaaugstina spriegums ar tā saukto pastiprinātāja pārveidotāju. Mēs vienmēr varētu palielināt spriegumu līdz 24 V neatkarīgi no vēlamās izejas; tomēr tas LT3080 izšķērdētu daudz enerģijas un viss kļūtu ļoti karsts! Tā vietā, lai to izdarītu, mēs paaugstināsim spriegumu līdz nedaudz vairāk nekā izejas spriegums. Aptuveni 2,5 V augstāks ir piemērots, lai ņemtu vērā sprieguma kritumu pašreizējā pretestībā un LT3080 izslēgšanas spriegumu. Spriegumu nosaka rezistori uz pastiprinātāja pārveidotāja izejas signāla. Lai mainītu šo spriegumu, mēs izmantojam digitālo potenciometru MCP41010, ko kontrolē, izmantojot SPI.
Akumulatora uzlāde
Tas noved mūs pie reālā ieejas sprieguma: baterijas! Tā kā mēs izmantojam aizsargātas šūnas, mums tās vienkārši jāsaliek sērijās, un mēs esam pabeiguši! Šeit ir svarīgi izmantot aizsargātas šūnas, lai izvairītos no pārmērīgas strāvas vai pārmērīgas izlādes un tādējādi šūnu bojāšanas. Atkal mēs izmantojam sprieguma dalītāju, lai izmērītu akumulatora spriegumu un samazinātu to līdz izmantojamam diapazonam. Tagad pārejiet pie interesantas daļas: uzlādes shēmas. Šim nolūkam mēs izmantojam mikroshēmu BQ2057WSN: kombinācijā ar TIP32CG tā pamatā veido lineāru barošanas avotu. Šī mikroshēma uzlādē šūnas, izmantojot atbilstošu CV CC trajektoriju. Tā kā manās baterijās nav temperatūras zondes, šai ieejai jābūt saistītai ar pusi no akumulatora sprieguma. Tas noslēdz strāvas padeves sprieguma regulēšanas daļu.
5V regulators
Arduino 5 V barošanas spriegums ir izgatavots ar šo vienkāršo sprieguma regulatoru. Tomēr tā nav visprecīzākā 5 V izeja, taču tā tiks atrisināta turpmāk.
2,048 V sprieguma atsauce
Šī mazā mikroshēma nodrošina ļoti precīzu 2,048 V sprieguma atskaiti. To izmanto kā atsauci analogiem signāliem ADC_Vout, ADC_Iout, ADC_Vbatt. Tāpēc mums bija nepieciešami sprieguma dalītāji, lai šos signālus samazinātu līdz 2 V. Mēs jau esam pārbaudījuši lielāko daļu vadības signālu, taču ir daži interesanti papildinājumi. Rotējošie kodētāji ir savienoti ar 2 vienīgajām arduino ārējām pārtraukšanas tapām: PD2 un PD3. Tas ir nepieciešams drošai programmatūras ieviešanai. Slēdži zemāk izmanto iekšējo pievilkšanas rezistoru. Tad potenciometra mikroshēmas atlases līnijā (Pot) ir šis dīvainais sprieguma dalītājs. Sprieguma dalītājs uz izejas, kam tas ir labs; jūs varētu teikt. Kā minēts iepriekš, 5 V barošana nav ļoti precīza. Tāpēc būtu labi to precīzi izmērīt un attiecīgi pielāgot PWM signāla darba ciklu. Bet, tā kā man vairs nebija brīvu ieeju, man bija jāveic divkāršs pienākums. Kad sāk darboties barošanas avots, šī tapa vispirms tiek iestatīta kā ievade: tā mēra barošanas sliedi un kalibrē sevi. Tālāk tas ir iestatīts kā izeja, un tas var vadīt mikroshēmas izvēles līniju.
Displeja draiveris
Displejam es gribēju plaši pieejamu un lētu hitachi LCD ekrānu. Tos virza 6 tapas, bet, tā kā man vairs nebija nevienas tapas, man bija vajadzīgs cits risinājums. Maiņu reģistrs palīgā! 74HC595 ļauj man izmantot SPI līniju, lai kontrolētu displeju, tādējādi ir nepieciešama tikai 1 papildu mikroshēmas izvēles līnija.
FTDI
Šīs enerģijas piegādes pēdējā daļa ir saikne ar nežēlīgo ārpasauli. Šim nolūkam sērijas signāli ir jāpārvērš USB signālos. To veic FTDI mikroshēma, kas ir pievienota mikro USB portam, lai to varētu viegli savienot.
Un tas arī viss!
3. darbība: PCB un elektronika
Tagad, kad mēs saprotam, kā ķēde darbojas, mēs varam sākt to veidot! Jūs varat vienkārši pasūtīt PCB tiešsaistē no sava iecienītākā ražotāja (mans maksā apmēram 10 USD), gerber failus var atrast manā GitHub kopā ar materiālu sarakstu. Pēc tam PCB salikšana pamatā ir sastāvdaļu lodēšana saskaņā ar sietspiedi un materiālu sarakstu.
Pirmais solis ir SMD komponentu lodēšana. Lielāko daļu no tiem ir viegli izdarīt ar rokām, izņemot no FTDI mikroshēmas un mikro USB savienotāja. Tāpēc jūs varat izvairīties no šo divu komponentu lodēšanas un izmantot FTDI sadalīšanas paneli. Es nodrošināju galvenes tapas, kur to var pielodēt.
Kad SMD darbs ir paveikts, varat pāriet uz visiem caurumu komponentiem. Tie ir ļoti vienkārši. Mikroshēmām, iespējams, vēlēsities izmantot kontaktligzdas, nevis lodēt tās tieši pie tāfeles. Vēlams izmantot ATMEGA328P ar Arduino sāknēšanas ielādētāju, pretējā gadījumā jums tas būs jāaugšupielādē, izmantojot ICSP galveni (parādīta šeit).
Vienīgā daļa, kurai jāpievērš mazliet lielāka uzmanība, ir LCD ekrāns, jo tas ir jāuzstāda leņķī. Lodējiet uz tā dažas vīriešu leņķiskās galvenes ar plastmasas gabalu pret ekrāna apakšpusi. Tas ļaus labi novietot ekrānu uz PCB. Pēc tam to var pielodēt tāpat kā jebkuru citu caurumu sastāvdaļu.
Atliek tikai pievienot 2 vadus, kas savienosies ar banānu spailēm uz priekšējās plāksnes.
4. solis: korpuss un montāža
Kad PCB ir izgatavots, mēs varam pāriet uz lietu. Es speciāli izveidoju PCB ap šo hammonda korpusu, tāpēc nav ieteicams izmantot citu korpusu. Tomēr vienmēr varat izdrukāt lietu ar vienādiem izmēriem 3D formātā.
Pirmais solis ir sagatavot gala paneli. Mums būs jāizurbj daži caurumi skrūvēm, slēdžiem utt. Es to darīju ar rokām, bet, ja jums ir piekļuve CNC, tas būtu precīzāks risinājums. Es izveidoju caurumus saskaņā ar shēmu un pieskāros skrūvju caurumiem.
Ir laba ideja tagad pievienot dažus zīda spilventiņus un turēt tos vietā ar nelielu pilienu superlīmes. Tie izolēs LT3080 un TIP32 no aizmugurējās plāksnes, vienlaikus nodrošinot siltuma pārnesi. Neaizmirstiet tos! Skrūvējot mikroshēmas pie aizmugurējā paneļa, izmantojiet vizlas mazgātāju, lai nodrošinātu izolāciju!
Tagad mēs varam koncentrēties uz priekšējo paneli, kas vienkārši slīd vietā. Tagad mēs varam pievienot banānu domkrati un rotējošo kodētāju pogas.
Kad abi paneļi ir savās vietās, tagad mēs varam ievietot komplektu korpusā, pievienot baterijas un to visu aizvērt. Pārliecinieties, ka izmantojat aizsargātas baterijas, nevēlaties, lai šūnas eksplodētu!
Šajā brīdī aparatūra ir pabeigta, tagad atliek tikai ar programmatūru iepūst tajā dzīvību!
5. darbība: Arduino kods
Šī projekta smadzenes ir ATMEGA328P, kuru mēs programmēsim ar Arduino IDE. Šajā sadaļā es apskatīšu koda pamatdarbību, sīkāku informāciju var atrast kā komentārus koda iekšpusē.
Kods pamatā tiek veikts, veicot šādas darbības:
- Lasiet sērijas datus no java
- Aptaujas pogas
- Izmēriet spriegumu
- Izmēriet strāvu
- Izmēriet strāvu ar INA219
- Sūtīt sērijas datus uz java
- Konfigurējiet pastiprinātāja pārveidotāju
- Iegūstiet akumulatora uzlādi
- Atjaunināšanas ekrāns
Rotējošos kodētājus apstrādā pārtraukuma servisa rutīna, lai tie būtu pēc iespējas atsaucīgāki.
Tagad kodu var augšupielādēt uz tāfeles, izmantojot mikro USB portu (ja mikroshēmai ir sāknēšanas ielādētājs). Tāfele: Arduino pro vai pro mini Programmētājs: AVR ISP / AVRISP MKII
Tagad mēs varam apskatīt mijiedarbību starp Arduino un datoru.
6. darbība: Java kods
Lai reģistrētu datus un kontrolētu strāvas padevi, izmantojot datoru, es izveidoju java lietojumprogrammu. Tas ļauj mums viegli kontrolēt dēli, izmantojot GUI. Tāpat kā ar Arduino kodu, es neiedziļināšos visās detaļās, bet sniegšu pārskatu.
Mēs sākam, izveidojot logu ar pogām, teksta laukiem utt.; pamata GUI lietas.
Tagad nāk jautrā daļa: pievienojot USB portus, kuriem izmantoju jSerialComm bibliotēku. Kad ports ir atlasīts, java klausās visus ienākošos datus. Mēs varam arī nosūtīt datus uz ierīci.
Turklāt visi ienākošie dati tiek saglabāti csv failā vēlākai datu apstrādei.
Palaižot.jar failu, vispirms nolaižamajā izvēlnē jāizvēlas pareizais ports. Pēc savienojuma sāks ienākt dati, un mēs varam nosūtīt savus iestatījumus uz barošanas avotu.
Lai gan programma ir diezgan vienkārša, var būt ļoti noderīgi to kontrolēt, izmantojot datoru un reģistrēt tās datus.
7. solis: panākumi
Pēc visa šī darba mums tagad ir pilnībā funkcionāls barošanas avots!
Man arī jāpateicas dažiem cilvēkiem par atbalstu:
- Projekta pamatā bija EEVBLOG uSupply projekts un viņa Rev C shēma. Tāpēc īpašs paldies Deividam L. Džonsam par viņa shēmu izlaišanu saskaņā ar atvērtā pirmkoda licenci un dalīšanos ar visām zināšanām.
- Milzīgs paldies Johanam Patinam par šī projekta prototipu izgatavošanu.
- Arī Sedriks Bušots un Hanss Ingelberts ir pelnījuši atzinību par palīdzību problēmu novēršanā.
Tagad mēs varam baudīt pašu gatavotu barošanas avotu, kas noderēs, strādājot pie citiem satriecošiem projektiem! Un pats galvenais: ceļā esam iemācījušies daudzas lietas.
Ja jums patika šis projekts, lūdzu, balsojiet par mani powerupply konkursā, es to ļoti novērtētu! Https: //www.instructables.com/contest/powersupply/
Otrā balva barošanas avotu konkursā
Ieteicams:
Bezvadu enerģijas pārraide, izmantojot 9 V akumulatoru: 10 soļi
Bezvadu enerģijas pārraide, izmantojot 9 V akumulatoru: Ievads. Iedomājieties pasauli bez vadu savienojuma, ja mūsu tālruņi, spuldze, televizors, ledusskapis un visa cita elektronika tiks savienota, uzlādēta un izmantota bezvadu režīmā. Patiešām, to ir vēlējušies daudzi, pat elektriskie elektroniskie ģēniji
Vienkāršs vietas metinātājs, izmantojot automašīnas akumulatoru, lai izveidotu litija jonu akumulatoru: 6 soļi
Vienkāršs vietas metinātājs, izmantojot automašīnas akumulatoru, lai izveidotu litija jonu akumulatoru: Šādi es izveidoju punktmetinātāju ar automašīnas akumulatoru, kas ir noderīgs litija jonu (litija jonu) akumulatoru bloku veidošanai. Man ir izdevies izveidot 3S10P iepakojumu un daudzas metināšanas vietas ar šo metinātāju. Šajā norādītajā Spot Welder instrukcijā ietilpst funkcionālā bloka dia
Saules enerģijas spēkstacijas attālās enerģijas uzraudzības un sadales sistēma: 10 soļi
Saules elektrostacijas attālās enerģijas uzraudzības un sadales sistēma: Šī projekta mērķis ir uzraudzīt un sadalīt enerģiju energosistēmās (saules enerģijas sistēmās). Šīs sistēmas dizains ir abstrakti izskaidrots šādi. Sistēmā ir vairāki režģi ar aptuveni 2 saules paneļiem
Kā pareizi izmērīt bezvadu sakaru moduļu enerģijas patēriņu zema enerģijas patēriņa laikmetā?: 6 soļi
Kā pareizi izmērīt bezvadu sakaru moduļu enerģijas patēriņu zema enerģijas patēriņa laikmetā ?: Zems enerģijas patēriņš ir ārkārtīgi svarīgs jēdziens lietā internetā. Lielākajai daļai IoT mezglu ir jābūt barotiem ar baterijām. Tikai pareizi izmērot bezvadu moduļa enerģijas patēriņu, mēs varam precīzi novērtēt, cik daudz akumulatora
Bezmaksas enerģijas saules enerģijas radio: 4 soļi (ar attēliem)
Bezmaksas enerģijas saules enerģijas radio: bezmaksas enerģijas saules enerģijas radio diy https://www.youtube.com/watch?v=XtP7g… ir vienkāršs projekts, lai pārveidotu veco akumulatoru darbināmu radio ar saules enerģiju darbināmu radio zvaniet bezmaksas enerģijai, jo tā neizmanto baterijas un darbojas saulē