INHOUDSOPGAWE:
- Stap 1: Kenmerke en koste
- Stap 2: Skematiese en teorie van werking
- Stap 3: PCB en elektronika
- Stap 4: Behuizing en montering
- Stap 5: Arduino -kode
- Stap 6: Java -kode
- Stap 7: Sukses
Video: Kragvoorsiening met digitale batterye: 7 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Wou u al ooit 'n kragvoorsiening wat u onderweg kan gebruik, selfs sonder 'n stopcontact in die buurt? En sou dit nie cool wees as dit ook baie presies, digitaal en beheerbaar was via 'n rekenaar nie?
In hierdie instruksies sal ek jou wys hoe om presies dit te bou: 'n digitale battery wat deur arduino versoenbaar is en via die rekenaar via USB bestuur kan word.
'N Ruk gelede het ek 'n kragvoorsiening gebou uit 'n ou ATX -PSU, en hoewel dit goed werk, wou ek my spel versterk met 'n digitale kragvoorsiening. Soos reeds gesê, word dit aangedryf deur batterye (2 litiumselle om presies te wees), en dit kan 'n maksimum van 20 V lewer by 1 A; wat baie is vir die meeste van my projekte wat 'n presiese kragvoorsiening benodig.
Ek sal die hele ontwerpproses wys, en alle projeklêers kan op my GitHub -bladsy gevind word:
Laat ons begin!
Stap 1: Kenmerke en koste
Kenmerke
- Konstante spanning en konstante stroom modi
- Gebruik 'n lineêre reguleerder met 'n lae geraas, voorafgegaan deur 'n opsporingsreguleerder om die kragverlies te verminder
- Gebruik hande -soldeerbare komponente om die projek toeganklik te hou
- Aangedryf deur ATMEGA328P, geprogrammeer met Arduino IDE
- PC -kommunikasie via Java -toepassing via mikro -USB
- Aangedryf deur 2 beskermde 18650 litiumioonselle
- Piesangproppe met 'n afstand van 18 mm vir verenigbaarheid met BNC -adapters
Spesifikasies
- 0 - 1A, stappe van 1 mA (10 bit DAC)
- 0 - 20V, stappe van 20 mV (10 bit DAC) (ware 0V -werking)
- Spanningsmeting: 20 mV resolusie (10 bit ADC)
-
Huidige meting:
- <40mA: 10uA resolusie (ina219)
- <80mA: 20uA resolusie (ina219)
- <160mA: 40uA resolusie (ina219)
- <320mA: 80uA resolusie (ina219)
- > 320mA: 1mA resolusie (10 bit ADC)
Koste
Die volledige kragvoorsiening kos my ongeveer $ 135, met alle eenmalige komponente. Die batterye is die duurste deel ($ 30 vir 2 selle), aangesien dit 18650 litiumselle beskerm. Dit is moontlik om die koste aansienlik te verlaag as geen battery nodig is nie. Deur die batterye en die laaikringe weg te laat, daal die prys tot ongeveer $ 100. Alhoewel dit duur kan lyk, kos kragvoorsienings met baie minder prestasie en funksies dikwels meer as dit.
As u nie omgee om u komponente by ebay of aliexpress te bestel nie, sal die prys met batterye tot $ 100 daal en $ 70 sonder. Dit neem langer om die dele in te kom, maar dit is 'n lewensvatbare opsie.
Stap 2: Skematiese en teorie van werking
Om die werking van die stroombaan te verstaan, moet ons na die skema kyk. Ek het dit in funksionele blokke verdeel, sodat dit makliker is om te verstaan; Ek sal dus ook die werking stap vir stap verduidelik. Hierdie gedeelte is redelik diep en verg goeie elektroniese kennis. As u net wil weet hoe u die kring moet bou, kan u na die volgende stap gaan.
Hoofblok
Die operasie is gebaseer op die LT3080 -chip: dit is 'n lineêre spanningsreguleerder wat spanning kan verlaag, gebaseer op 'n beheersignaal. Hierdie beheersignaal word deur 'n mikrobeheerder gegenereer; hoe dit gedoen word, sal later in detail verduidelik word.
Spanning instelling
Die stroombane rondom die LT3080 genereer die toepaslike beheerseine. Eerstens kyk ons na hoe die spanning ingestel is. Die spanningsinstelling van die mikrobeheerder is 'n PWM -sein (PWM_Vset), wat deur 'n laagdeurlaatfilter (C9 en R26) gefiltreer word. Dit lewer 'n analoog spanning - tussen 0 en 5 V - eweredig aan die gewenste uitgangsspanning. Aangesien ons uitsetbereik 0 - 20 V is, sal ons hierdie sein moet versterk met 'n faktor 4. Dit word gedoen deur die nie -omkerende opamp -konfigurasie van U3C. Die versterking van die stelpen word bepaal deur R23 // R24 // R25 en R34. Hierdie weerstande is 0,1% verdraagsaam om foute tot die minimum te beperk. R39 en R36 maak nie hier saak nie, aangesien dit deel uitmaak van die terugvoerlus.
Huidige instelling
Hierdie stelpen kan ook gebruik word vir die tweede instelling: huidige modus. Ons wil die huidige trekking meet en die uitset afskakel as dit die gewenste stroom oorskry. Daarom begin ons weer met 'n PWM -sein (PWM_Iset), gegenereer deur die mikrobeheerder, wat nou laagweg gefiltreer en verswak word om van 'n 0 - 5 V -reeks na 'n 0 - 2 V -reeks te gaan. Hierdie spanning word nou vergelyk met die spanningsval oor die huidige sinweerstand (ADC_Iout, sien hieronder) deur die vergelykingskonfigurasie van opamp U3D. As die stroom te hoog is, skakel dit 'n LED aan en trek die stellyn van die LT3080 ook grond toe (via Q2), waardeur die uitset afgeskakel word. Die meting van die stroom en die opwekking van die sein ADC_Iout word soos volg gedoen. Die uitsetstroom vloei deur weerstande R7 - R16. Dit is altesaam 1 ohm; die rede waarom 1R in die eerste plek nie gebruik word nie, is tweeledig: een weerstand moet 'n hoër drywing hê (dit moet ten minste 1 W verdwyn), en deur 10 1% weerstande parallel te gebruik, kry ons 'n hoër presisie as met 'n enkele 1 % weerstand. 'N Goeie video oor waarom dit werk, kan hier gevind word: https://www.youtube.com/embed/1WAhTdWErrU&t=1s As stroom deur hierdie weerstande vloei, veroorsaak dit 'n spanningsval wat ons kan meet, en dit is geplaas voor die LT3080, aangesien die spanningsval daaroor nie die uitsetspanning mag beïnvloed nie. Die spanningsval word gemeet met 'n differensiaalversterker (U3B) met 'n versterking van 2. Dit lei tot 'n spanningsbereik van 0 - 2 V (meer hieroor later), vandaar die spanningsverdeler by die PWM -sein van die stroom. Die buffer (U3A) is daar om seker te maak dat die stroom wat in resistors R21, R32 en R33 vloei, nie deur die huidige sensorweerstand gaan nie, wat die lesing daarvan kan beïnvloed. Let ook daarop dat dit 'n spoor-tot-spoor-opamp moet wees, want die insetspanning by die positiewe ingang is gelyk aan die voedingspanning. Die nie -omkeerversterker is slegs vir die kursusmeting, maar vir baie presiese metings het ons die INA219 -chip aan boord. Met hierdie chip kan ons baie klein strome meet, en word via I2C aangespreek.
Bykomende dinge
Op die uitset van die LT3080 het ons nog meer dinge. Eerstens is daar 'n huidige wasbak (LM334). Dit trek 'n konstante stroom van 677 uA (ingestel deur weerstand R41) om die LT3080 te stabiliseer. Dit is egter nie aan die aarde gekoppel nie, maar aan VEE, 'n negatiewe spanning. Dit is nodig om die LT3080 in staat te stel om tot 0 V. te werk. As dit op die aarde gekoppel is, is die laagste spanning ongeveer 0,7 V. Dit lyk laag genoeg, maar hou in gedagte dat dit ons verhinder om die kragbron heeltemal uit te skakel. Die zenerdiode D3 word gebruik om die uitgangsspanning vas te klem as dit bo 22 V gaan, en die weerstandsverdeler laat die uitsetspanning van 0 - 20 V tot 0 - 2 V (ADC_Vout) daal. Ongelukkig is hierdie stroombane op die uitset van die LT3080, wat beteken dat hul stroom sal bydra tot die uitsetstroom wat ons wil meet. Gelukkig is hierdie strome konstant as die spanning konstant bly; sodat ons die stroom kan kalibreer wanneer die las eers ontkoppel word.
Laaipomp
Die negatiewe spanning wat ons voorheen genoem het, word gegenereer deur 'n vreemde stroombaan: die laaipomp. Vir die werking daarvan verwys ek hier: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Dit word gevoed deur 'n 50% PWM van die mikrobeheerder (PWM)
Versterk omskakelaar
Kom ons kyk nou na die ingangsspanning van ons hoofblok: Vboost. Ons sien dat dit 8 - 24V is, maar wag, 2 litiumselle in serie gee 'n maksimum van 8.4 V? Inderdaad, en daarom moet ons die spanning verhoog met 'n sogenaamde boost converter. Ons kan altyd die spanning na 24 V verhoog, maak nie saak watter uitset ons wil hê nie; Dit sal egter baie krag in die LT3080 vermors en dinge sal te warm word! Dus, in plaas daarvan om dit te doen, verhoog ons die spanning tot 'n bietjie meer as die uitgangsspanning. Ongeveer 2,5 V hoër is gepas, om die spanningsval in die huidige sinweerstand en die uitvalspanning van die LT3080 in ag te neem. Die spanning word bepaal deur weerstande op die uitsetsein van die hupstootomskakelaar. Om hierdie spanning onmiddellik te verander, gebruik ons 'n digitale potensiometer, die MCP41010, wat via SPI bestuur word.
Battery laai
Dit lei ons tot die werklike ingangsspanning: die batterye! Aangesien ons beskermde selle gebruik, moet ons dit eenvoudig in serie plaas en is ons klaar! Dit is belangrik om beskermde selle hier te gebruik, om te voorkom dat die strome te veel stroom of oordrewe, en dus skade aan die selle veroorsaak. Weereens gebruik ons 'n spanningsverdeler om die batteryspanning te meet en dit tot 'n bruikbare bereik te laat sak. Nou na die interessante deel: die laaikringbane. Ons gebruik die BQ2057WSN -chip hiervoor: in kombinasie met die TIP32CG vorm dit basies self 'n lineêre kragvoorsiening. Hierdie chip laai die selle via 'n geskikte CV CC -baan. Aangesien my batterye nie 'n temperatuursonde het nie, moet hierdie inset aan die helfte van die batteryspanning gekoppel word. Hiermee word die spanningsreguleringsgedeelte van die kragbron afgesluit.
5V reguleerder
Die 5 V -voedingsspanning van die arduino word gemaak met hierdie eenvoudige spanningsreguleerder. Dit is egter nie die akkuraatste 5 V -uitgang nie, maar dit word hieronder opgelos.
2.048 V spanning verwysing
Hierdie klein skyfie bied 'n baie akkurate 2.048 V spanningsverwysing. Dit word gebruik as verwysing vir die analoog seine ADC_Vout, ADC_Iout, ADC_Vbatt. Daarom het ons spanningsverdelers nodig gehad om hierdie seine na 2 V. te bring. Mikrokontroleerder Die brein van hierdie projek is die ATMEGA328P, dit is dieselfde chip wat in die Arduino Uno gebruik word. Ons het reeds die meeste beheerseine nagegaan, maar daar is tog 'n paar interessante toevoegings. Die roterende enkoders is gekoppel aan die twee enigste eksterne onderbrekingspenne van die arduino: PD2 en PD3. Dit is nodig vir 'n betroubare sagteware -implementering. Die skakelaars daaronder gebruik 'n interne pullup -weerstand. Dan is daar hierdie vreemde spanningsverdeler op die chip -kieslyn van die potensiometer (Pot). 'N Spanningsverdeler op 'n uitset, waarvoor is dit goed? kan jy sê. Soos voorheen genoem, is die 5 V -toevoer nie heeltemal akkuraat nie. Dit sou dus goed wees om dit akkuraat te meet en die werksiklus van die PWM -sein dienooreenkomstig aan te pas. Maar aangesien ek nie meer gratis insette gehad het nie, moes ek 'n pen twee keer trek. As die kragtoevoer begin, word hierdie pen eers as 'n invoer gestel: dit meet die toevoerrail en kalibreer homself. Vervolgens word dit as 'n uitset gestel, en dit kan die chip -kieslyn dryf.
Wys bestuurder
Vir die vertoning wou ek 'n algemeen beskikbare - en goedkoop - hitachi lcd -skerm hê. Hulle word aangedryf deur 6 penne, maar aangesien ek geen penne meer gehad het nie, het ek 'n ander oplossing nodig gehad. 'N Skofregister tot redding! Met die 74HC595 kan ek die SPI -lyn gebruik om die skerm te beheer, en hoef dus slegs 1 ekstra chip -kieslyn te hê.
FTDI
Die laaste deel van hierdie kragvoorsiening is die verbinding met die wrede buitewêreld. Hiervoor moet ons die seriële seine omskakel in USB -seine. Dit word gedoen deur 'n FTDI -chip, wat aan 'n mikro -USB -poort gekoppel is vir maklike verbinding.
En dit is al wat daar is!
Stap 3: PCB en elektronika
Noudat ons verstaan hoe die stroombaan werk, kan ons begin bou! U kan die PCB eenvoudig aanlyn by u gunsteling vervaardiger bestel (myne kos ongeveer $ 10). Die gerber -lêers kan op my GitHub gevind word, tesame met die materiaalbrief. Die samestelling van die PCB is dan basies 'n kwessie van die soldeer van die komponente volgens die syskerm en die materiaalverslag.
Die eerste stap is om die SMD -komponente te soldeer. Die meeste van hulle is maklik om met die hand te doen, behalwe deur die FTDI -chip en die mikro -USB -aansluiting. Daarom kan u nie die twee komponente self soldeer nie, en eerder 'n FTDI -uitbreekbord gebruik. Ek het kopstukke voorsien waaraan dit gesoldeer kan word.
As die SMD -werk voltooi is, kan u na alle deurkomponente gaan. Dit is baie eenvoudig. Vir die skyfies wil u dalk voetstukke gebruik in plaas daarvan om dit direk aan die bord te soldeer. Dit is verkieslik om 'n ATMEGA328P met Arduino -laaiprogram te gebruik, anders moet u dit oplaai met behulp van die ICSP -kop (hier getoon).
Die enigste deel wat meer aandag nodig het, is die lcd -skerm, want dit moet skuins gemonteer word. Soldeer 'n paar manlike hoekopskrifte daarop, met die plastiekstuk na die onderkant van die skerm. Dit sal 'n goeie plasing van die skerm op die rekenaar moontlik maak. Daarna kan dit net soos enige ander deurgatskomponent op sy plek gesoldeer word.
Die enigste ding wat u hoef te doen, is om twee drade by te voeg wat aansluit by die piesangterminale op die voorkant.
Stap 4: Behuizing en montering
Met die PCB gemaak, kan ons na die saak gaan. Ek het spesifiek die PCB rondom hierdie hammond -kissie ontwerp, dus word dit nie aanbeveel om 'n ander kissie te gebruik nie. U kan egter altyd 'n geval met dieselfde afmetings in 3D druk.
Die eerste stap is om die eindpaneel voor te berei. Ons sal 'n paar gate moet boor vir skroewe, skakelaars, ens. Ek het dit met die hand gedoen, maar as u toegang tot 'n CNC het, sou dit 'n meer akkurate opsie wees. Ek het die gate volgens die skema gemaak en die skroefgate getik.
Dit is 'n goeie idee om nou 'n paar syblokkies by te voeg en dit met 'n klein druppel supergom vas te hou. Dit isoleer die LT3080 en TIP32 van die agterplaat, terwyl dit steeds hitte -oordrag moontlik maak. Moenie dit vergeet nie! Gebruik 'n mica -wasser wanneer u die skyfies aan die agterpaneel vasskroef om isolasie te verseker!
Ons kan nou fokus op die voorpaneel wat net op sy plek gly. Ons kan nou die piesangpype en die knoppe vir die roterende enkoders byvoeg.
Met albei panele in plek, kan ons nou die eenheid in die omhulsel steek, die batterye byvoeg en alles toemaak. Maak seker dat u beskermde batterye gebruik; u wil nie hê dat die selle moet ontplof nie!
Op hierdie punt is die hardeware klaar, nou is dit net wat u oorbly om 'n bietjie lewe daarin te blaas met die sagteware!
Stap 5: Arduino -kode
Die brein van hierdie projek is die ATMEGA328P, wat ons met die Arduino IDE sal programmeer. In hierdie afdeling gaan ek deur die basiese werking van die kode; die besonderhede kan gevind word as kommentaar in die kode.
Die kode loop basies deur hierdie stappe:
- Lees reeksdata van java
- Peilknoppies
- Meet spanning
- Meet die stroom
- Meet die stroom met INA219
- Stuur reeksdata na java
- Stel boostconvertor op
- Kry batterylading
- Dateer skerm op
Die roterende enkoders word hanteer deur 'n onderbrekingsroetine om hulle so responsief moontlik te maak.
Die kode kan nou via die mikro -USB -poort op die kaart opgelaai word (as die chip 'n selflaaiprogram het). Raad: Arduino pro of pro mini programmeerder: AVR ISP / AVRISP MKII
Nou kan ons kyk na die interaksie tussen die Arduino en die rekenaar.
Stap 6: Java -kode
Ek het 'n Java -toepassing gemaak om data aan te meld en die kragvoorsiening via die rekenaar te beheer. Dit stel ons in staat om die bord maklik te beheer deur middel van 'n GUI. Net soos met die Arduino -kode, gaan ek nie in op alle besonderhede nie, maar gee ek 'n oorsig.
Ons begin deur 'n venster te maak met knoppies, teksvelde, ens. basiese GUI -dinge.
Nou kom die prettige deel: die byvoeging van die USB -poorte, waarvoor ek die jSerialComm -biblioteek gebruik het. Sodra 'n poort gekies is, luister Java na inkomende data. Ons kan ook data na die toestel stuur.
Verder word alle inkomende data in 'n csv -lêer gestoor vir latere databehandeling.
As u die.jar -lêer uitvoer, moet ons eers die regte poort in die keuselys kies. Na die verbinding begin data inkom, en ons kan ons instellings na die kragvoorsiening stuur.
Alhoewel die program redelik basies is, kan dit baie handig wees om dit via 'n rekenaar te beheer en die data daarvan aan te teken.
Stap 7: Sukses
Na al hierdie werk het ons nou 'n ten volle funksionele kragvoorsiening!
Ek moet ook 'n paar mense bedank vir hul ondersteuning:
- Die projek was gebaseer op EEVBLOG se uSupply -projek en sy Rev C -skema. 'N Spesiale dank aan David L. Jones vir die vrystelling van sy skemas onder 'n open source lisensie en die deel van al sy kennis.
- Baie dankie aan Johan Pattyn vir die vervaardiging van die prototipes van hierdie projek.
- Ook Cedric Busschots en Hans Ingelberts verdien krediet vir die hulp met die oplos van probleme.
Ons kan nou ons eie tuisgemaakte kragvoorsiening geniet, wat handig sal wees as u aan ander wonderlike projekte werk! En die belangrikste: ons het onderweg baie dinge geleer.
As u van hierdie projek gehou het, stem dan vir my in die kragvoorsieningswedstryd, ek sal dit opreg waardeer! Https: //www.instructables.com/contest/powersupply/
Tweede prys in die kragvoorsieningswedstryd
Aanbeveel:
LED -lig (te) op batterye met sonoplaai: 11 stappe (met foto's)
LED -lig (te) met batterye Met sonoplaai: my vrou leer mense hoe om seep te maak, die meeste van haar klasse was in die aand en hier in die winter word dit donker omstreeks 16:30, sommige van haar studente het probleme ondervind om ons huis. Ons het 'n bord voor, maar selfs met 'n straatlig
DIY Bluetooth -luidspreker met batterye // Hoe om te bou - Houtbewerking: 14 stappe (met foto's)
DIY Bluetooth-luidspreker met batterye // Hoe om te bou-Houtwerk: ek het hierdie herlaaibare, battery-aangedrewe, draagbare Bluetooth-boombox-luidspreker gebou met behulp van die Parts Express C-Note luidsprekerstel plus hul KAB-versterkerbord (skakels na alle onderstaande dele). Dit was my eerste luidsprekerbou en ek is eerlik verbaas oor hoe wonderlik die
Digitale USB C -aangedrewe Bluetooth -kragvoorsiening: 8 stappe (met foto's)
Digitale USB C -aangedrewe Bluetooth -kragvoorsiening: wou u ooit 'n kragvoorsiening hê wat u onderweg kan gebruik, selfs sonder 'n stopcontact in die buurt? En sou dit nie gaaf wees as dit ook baie presies, digitaal en beheerbaar was via die rekenaar en u telefoon nie? In hierdie instruksies sal ek jou wys hoe om presies te bou
Draagbare verstelbare mini -kragvoorsiening: 5 stappe (met foto's)
Draagbare verstelbare mini -kragvoorsiening: 'n GROOT HELLO! en welkom by gemengde uitsette wat eers opdrag gegee kan word. Aangesien die meeste van my projekte 'n soort elektronika behels, is 'n goeie kragtoevoer noodsaaklik om aan die vraag van verskillende kragvereistes te kan voldoen. So ek het vir my 'n bank-top krag gebou
DXG 305V digitale kamera -batterymodus - nie meer verslete batterye nie !: 5 stappe
DXG 305V -batterymodus vir digitale kamera's - nie meer verslete batterye nie !: Ek het hierdie digitale kamera al 'n paar jaar en het gevind dat dit die krag van die herlaaibare batterye binnekort sou suig! Uiteindelik het ek gedink aan 'n manier om dit aan te pas, sodat ek die batterye kon spaar vir die tye wat ek eintlik nodig gehad het