Innholdsfortegnelse:

Mikrokontrollerbasert smart batterilader: 9 trinn (med bilder)
Mikrokontrollerbasert smart batterilader: 9 trinn (med bilder)

Video: Mikrokontrollerbasert smart batterilader: 9 trinn (med bilder)

Video: Mikrokontrollerbasert smart batterilader: 9 trinn (med bilder)
Video: Как зарядить автомобильный аккумулятор - что использовать, как подключить зарядное устройство? 2024, Juli
Anonim
Mikrokontrollerbasert smart batterilader
Mikrokontrollerbasert smart batterilader
Mikrokontrollerbasert smart batterilader
Mikrokontrollerbasert smart batterilader
Mikrokontrollerbasert smart batterilader
Mikrokontrollerbasert smart batterilader

Kretsen du er i ferd med å se er en smart batterilader basert på ATMEGA8A med automatisk avstengning. Ulike parametere vises via en LCD under forskjellige ladestatuser. Kretsen vil også lage lyd via en summer når ladingen er fullført.

Jeg bygde laderen i utgangspunktet for å lade 11,1v/4400maH Li-ion-batteriet. Fastvaren er i utgangspunktet skrevet for å lade denne bestemte batteritypen. Du kan laste opp din egen ladeprotokoll for å oppfylle dine behov for å lade andre batterityper.

Som du vet, er smarte batteriladere lett tilgjengelig på markedene. Men som en elektronisk entusiast er det alltid å foretrekke for meg å bygge min egen i stedet for å kjøpe en som vil ha statiske/uforanderlige funksjoner. I denne modulen har jeg planer om å oppgradere i fremtiden, så jeg har igjen plass angående det.

Da jeg først kjøpte mitt forrige 11.1v/2200mah Li-ion batteri, søkte jeg etter DIY batteriladere med smart kontroll på internett. Men jeg fant svært begrensede ressurser. Så da laget jeg en batterilader basert på LM317 og det fungerte veldig bra for meg. Men ettersom mitt forrige batteri døde over tid (uten grunn), kjøpte jeg et annet Li-ion-batteri på 11.1v/4400mah. Men denne gangen var det forrige oppsettet utilstrekkelig til å lade det nye batteriet. For å møte min krav, jeg studerte litt på nettet, og klarte å designe min egen smarte lader.

Jeg deler dette ettersom jeg tror at mange hobbyister/entusiaster er der ute som virkelig brenner for å jobbe med kraftelektronikk og mikrokontroller og også trenger å bygge en egen smart lader.

La oss ta en rask titt på hvordan du lader et Li-ion-batteri.

Trinn 1: Lad protokoll for et Li-ion-batteri

For å lade Li-ion-batteri må visse betingelser være oppfylt. Hvis vi ikke opprettholder betingelsene, vil enten batteriet være underladet, eller det vil bli satt i brann (hvis det er overladet) eller vil bli permanent skadet.

Det er et veldig godt nettsted for å vite alt som er nødvendig om forskjellige typer batterier, og selvfølgelig vet du navnet på nettstedet hvis du er kjent med å jobbe med batterier … Ja, jeg snakker om batteryuniversity.com.

Her er lenken for å kjenne de nødvendige detaljene for å lade et Li-ion-batteri.

Hvis du er lat nok til å lese alle disse teoriene, er essensen som følger.

1. Full opplading av et 3,7v Li-ion batteri er 4,2v. V i vårt tilfelle betyr 11,1v Li-ion batteri 3 x 3,7v batteri. For full ladning må batteriet nå 12,6v, men av sikkerhetsmessige årsaker må vi vil lade den opp til 12,5v.

2. Når batteriet er i ferd med å nå full ladning, faller strømmen fra batteriet fra laderen til så lavt som 3% av den nominelle batterikapasiteten. For eksempel er batterikapasiteten til min cell-pack 4400mah. Så når batteriet er fulladet, vil strømmen som trekkes av batteriet nås til nesten 3% -5% av 4400ma, dvs. mellom 132 og 220ma. For å stoppe ladningen trygt, vil ladingen bli stoppet når trukket strøm går under 190ma (nesten 4% av nominell kapasitet).

3. Den totale ladningsprosessen er delt inn i to hoveddeler 1-konstant strøm (CC-modus), 2-konstant spenning (CV-modus). (Det er også toppladningsmodus, men vi vil ikke implementere det i laderen vår som laderen vil varsle brukeren ved full lading ved å alarme, da må batteriet kobles fra laderen)

CC -modus -

I CC -modus lader laderen batteriet med 0,5c eller 1c ladningshastighet. Nå hva i helvete er 0,5c/1c ???? For å være enkel, hvis batterikapasiteten er for si 4400mah, så i CC -modus, 0,5c vil være 2200ma og 1c vil være 4400ma ladestrøm. 'c' står for lade/utladningshastighet. Noen batterier støtter også 2c, dvs. i CC -modus, du kan stille ladestrømmen opp til 2xbatterikapasitet, men det er vanvittig !!!!!

Men for å være trygg, vil jeg velge ladestrøm på 1000ma for 4400mah batteri, dvs. 0,22c. I denne modusen vil laderen overvåke strømmen som trekkes av batteriet uavhengig av ladespenningen. E Laderen vil opprettholde 1A ladestrøm ved å øke /redusere utgangsspenningen til batteriladningen når 12,4v.

CV -modus -

Nå som batterispenningen når 12,4v, holder laderen 12,6 volt (uavhengig av strømmen som trekkes av batteriet) på utgangen. Nå vil laderen stoppe ladingssyklusen avhengig av to ting. Hvis batterispenningene krysser 12,5v og også hvis ladestrømmen faller under 190ma (4% av nominell batterikapasitet som tidligere forklart), vil ladingssyklusen bli stoppet og en summer vil høres.

Trinn 2: Skjematisk og forklaring

La oss nå se på kretsens arbeid. Skjematisk er vedlagt i pdf -format i BIN.pdf -filen.

Inngangsspenningen til kretsen kan være 19/20v. Jeg har brukt en gammel bærbar lader for å få 19v.

J1 er en terminalkontakt for å koble kretsen til inngangsspenningskilden. Q1, D2, L1, C9 danner en bukkonverter. Hva i helvete er det ??? Dette er i utgangspunktet en likestrøm til likestrøm. av omformer, kan du oppnå ønsket utgangsspenning ved å variere driftssyklusen. Hvis du vil vite mer om bukkomformere, kan du gå til denne siden. men for å være ærlig, er de helt forskjellige fra teori. For å evaluere riktige verdier av L1 & C9 for mine krav, det tok 3 dager med prøving og feiling. Hvis du skal lade forskjellige batterier, kan det være mulig at disse verdiene kommer til å endre seg.

Q2 er drivertransistoren for strøm Mosfet Q1. R1 er en forspenningsmotstand for Q1. Vi vil mate pwm -signalet i Q2s base for å kontrollere utgangsspenningen. C13 er en frakoblingshette.

Nå blir utgangen matet til Q3. Et spørsmål kan stilles om "Hva er bruken av Q3 her ??". Svaret er ganske enkelt, det fungerer som en enkel bryter. Når vi måler spenningen til batteriet, vil vi slå av Q3 for å koble ut ladespenningseffekten fra bukkomformeren. Q4 er driveren for Q3 med en forspenningsmotstand R3.

Vær oppmerksom på at det er en diode D1 i banen. Hva dioden gjør her i banen ?? Dette svaret er også veldig enkelt. Når kretsen blir koblet fra inngangseffekten mens batteriet er koblet til utgangen, vil strømmen fra batteriet strøm i omvendt bane via kroppsdiodene til MOSFET Q3 & Q1 og dermed vil U1 og U2 få batterispenningen ved inngangene og vil drive kretsen fra batterispenningen. For å unngå dette, brukes D1.

Utgangen fra D1 mates deretter til gjeldende sensorinngang (IP+). Dette er en hall-effekt basestrømsensor, dvs. den nåværende sensingdelen og utgangsdelen er isolert. Den nåværende sensorutgangen (IP-) mates deretter til Her danner R5, RV1, R6 en spenningsdelerkrets for å måle batterispenningen/utgangsspenningen.

Atmega8s ADC brukes her til å måle batterispenningen og strømmen. ADC kan måle maks. 5v. Men vi måler maks 20v (med noe takhøyde). For å kutte spenningen til ADC -området, en 4: 1 spenningsdeler brukes. Gryten (RV1) brukes til å finjustere/kalibrere. Jeg vil diskutere det senere. C6 er frakoblingskapsel.

Utgangen til ACS714 nåværende sensor mates også til atmega8s ADC0 pin. Via denne ACS714 sensoren måler vi strømmen. Jeg har et breakout board fra pololu av 5A versjon og fungerer veldig bra. Jeg vil snakke om i neste trinn på hvordan måle strømmen.

LCD -skjermen er en normal 16x2 lcd. LCD -skjermen som brukes her er konfigurert i 4 -bits modus ettersom pin -antallet på atmega8 er begrenset. RV2 er lysstyrkejusteringspotten for LCD -skjermen.

Atmega8 er klokket til 16mhz med en ekstern krystall X1 med to frakoblingskapsler C10/11. ADC -enheten til atmega8 blir drevet via Avcc -pinnen via en 10uH induktor. C7, C8 er frakoblingskapsler koblet til Agnd. Plasser dem som tett som mulig til Avcc og Aref tilsvarende mens du lager PCB. Legg merke til at Agnd -pinnen ikke er vist i kretsen. Agnd -pinnen vil bli koblet til jord.

Jeg har konfigurert ADC til atmega8 til å bruke ekstern Vref, dvs. vi vil levere referansespenningen via Aref -pinnen. Hovedårsaken bak dette for å oppnå maksimal lesenøyaktighet. Den interne 2,56v referansespenningen er ikke så stor i avrs. Det er derfor jeg konfigurerte det eksternt. Nå er det en ting å merke seg. 7805 (U2) leverer bare ACS714 -sensoren og Aref -pinnen til atmega8. Dette er for å opprettholde optimal nøyaktighet. ACS714 gir en stabil utgangsspenning på 2,5v når det er ingen strømstrøm gjennom den. Men for eksempel, hvis forsyningsspenningen til ACS714 vil bli senket (si 4.7v), blir også utgangsspenningen for ingen strøm (2.5v) redusert, og det vil skape upassende/feilaktig strømavlesning. Også når vi måler spenningen med hensyn til Vref, må referansespenningen på Aref være feilfri og stabil. Derfor trenger vi en stabil 5v.

Hvis vi ville drive ACS714 & Aref fra U1 som leverer atmega8 og lcd, ville det være et vesentlig spenningsfall ved U1s utgang, og ampere- og spenningsavlesningen ville være feilaktig. Derfor brukes U2 her for å eliminere feilen ved å levere en stabil 5v til Aref og ACS714 bare.

S1 trykkes for å kalibrere spenningsavlesningen. 2 er reservert for fremtidig bruk. Du kan enten legge til/ikke legge til denne knappen etter eget valg.

Trinn 3: Fungerer …

Fungerer …
Fungerer …
Fungerer …
Fungerer …
Fungerer …
Fungerer …

Når den blir slått på, vil atmega8 slå på bukkomformeren ved å gi 25% pwm -effekt ved Q2 -basen. På den annen side vil Q2 kjøre Q1 og buck -omformeren vil bli startet. og batteriet.atmega8 leser deretter batterispenningen via motstandsdeleren. Hvis det ikke er tilkoblet et batteri, viser atmega8 meldingen "Sett inn batteri" via 16x2 lcd og venter på batteriet. Hvis et batteri deretter er festet, viser atmega8 vil kontrollere spenningen. Hvis spenningen er lavere enn 9v, viser atmega8 "Feil batteri" på 16x2 lcd.

Hvis et batteri med mer enn 9v er funnet, vil laderen først gå inn i CC -modus og slå på utgangs mosfet Q3. Ladermodus (CC) oppdateres for å vises umiddelbart. Hvis batterispenningen blir funnet mer enn 12,4v, da mega8 vil umiddelbart forlate CC -modus og gå inn i CV -modus. Hvis batterispenningen er mindre enn 12,4v, vil mega8 opprettholde 1A ladestrøm ved å øke/redusere utgangsspenningen til bukkomformeren ved å variere driftssyklusen til pwm. Ladestrømmen vil bli lest av ACS714 nåværende sensor. Bucks utgangsspenning, ladestrøm, PWM driftssyklus vil bli periodisk oppdatert på lcd.

. Batterispenningen kontrolleres ved å slå av Q3 etter hvert 500ms -intervall. Batterispenningen oppdateres umiddelbart til LCD -skjermen.

Hvis batterispenningen blir mer enn 12,4 volt under lading, forlater mega8 CC -modus og går inn i CV -modus. Modustatus oppdateres umiddelbart til LCD -skjermen.

Da vil mega8 opprettholde utgangsspenningen på 12,6 volt ved å variere driftssyklusen til bukken. Her blir batterispenningen kontrollert etter hvert intervall på 1 sekund. Så snart batterispenningen er større enn 12,5 volt, så vil den bli sjekket hvis trukket strøm er under 190ma. Hvis begge betingelsene er oppfylt, vil ladingssyklusen bli stoppet ved permanent å slå av Q3 og en summer vil lyde ved å slå på Q5. Også mega8 vil vise "Charge complete" via lcd.

Trinn 4: Deler påkrevd

Deler påkrevd
Deler påkrevd

Nedenfor er de nødvendige delene for å fullføre prosjektet. Se datablad for pinout. Bare avgjørende deler databladkobling gitt

1) ATMEGA8A x 1. (datablad)

2) ACS714 5A nåværende sensor fra Pololu x 1 (jeg anbefaler på det sterkeste å bruke sensoren fra Pololu da de er best nøyaktige blant alle andre sensorer jeg har brukt. Du finner den her). Pinout er beskrevet på bildet.

3) IRF9540 x 2. (datablad)

4) 7805 x 2 (anbefalt fra Toshiba genuinespare, da de gir den mest stabile 5v -utgangen). (Datablad)

5) 2n3904 x 3. (datablad)

6) 1n5820 schottky x 2. (datablad)

7) 16x2 LCD x 1. (datablad)

8) 330uH/2A strøminduktor x 1 (anbefalt av coilmaster)

9) 10uH induktor x 1 (liten)

10) Motstander -(Alle motstander er 1% MFR -type)

150R x 3

680R x 2

1k x 1

2k2 x 1

10k x 2

22k x 1

5k pot x 2 (PCB -monteringstype)

11) Kondensatorer

Merk: Jeg brukte ikke C4. Det er ikke nødvendig å bruke den hvis du bruker strømforsyning til bærbar datamaskin/regulert strømforsyning som 19v strømkilde

100uF/25v x 3

470uF/25v x 1

1000uF/25v x 1

100n x 8

22p x 2

12) PCB -montering kort trykkbryter x 2

13) 20v summer x 1

14) 2 -polet koblingsklemme x 2

15) Skap (jeg brukte et skap som dette.). Du kan bruke hva du vil.

16) 19v laptop strømforsyning (jeg endret en hp laptop strømforsyning, Du kan bruke hvilken som helst type strømforsyning som du vil. Hvis du vil bygge en, kan du gå til mine instrukser.)

17) Mellomstor kjøleribbe for U1 og Q1. Du kan bruke denne typen. Eller du kan referere til kretsbildene mine. Men sørg for å bruke kjøleribbe for dem begge.

18) Banankontakt - Kvinne (svart og rød) x 1 + mann (svart og rød) (avhengig av behovet for kontakter)

Trinn 5: Tid til å beregne ……

Spenningsmåling:

Maksimal spenning, vi måler ved hjelp av atmega8 adc er 20v. Men atmega8s adc kan måle maks på 5v. Så for å lage20v innenfor 5v -området, brukes en 4: 1 spenningsdeler her (som 20v/4 = 5v). Så vi kan implementere det ved ganske enkelt å bruke to motstander, men i vårt tilfelle har jeg lagt til en gryte mellom to faste motstander, slik at vi kan justere nøyaktigheten manuelt ved å snu potten. Oppløsningen til ADC er 10bit dvs. adc vil representere 0v til 5v som 0 til 1023 desimaltall eller 00h til 3FFh. ('h' står for hex -tall). Referansen er satt til 5v eksternt via Aref -pinnen.

Så den målte spenningen = (adc -avlesning) x (Vref = 5v) x (motstandsdelerfaktor, dvs. 4 i dette tilfellet) / (maks adc -avlesning, dvs. 1023 for 10bit adc).

Anta at vi får en adc -avlesning på 512. Da vil den målte spenningen være -

(512 x 5 x 4) / 1023 = 10v

Gjeldende måleberegning:

ACS714 vil gi 2,5v stabil utgang ved utpinnen når ingen strøm vil strømme fra IP+ mot IP-. Det vil gi 185mv/A over 2,5v, dvs. for eksempel, hvis 3A strøm strømmer gjennom kretsen, vil acs714 gi 2,5v+(0,185 x 3) v = 3,055v når den er ute.

Så den nåværende måleformelen er som følger -

Målt strøm = (((adc-lesing)*(Vref = 5v)/1023) -2,5) /0,185.

for eksempel, adc -avlesningen er 700, så vil den målte strømmen være - (((700 x 5)/1023) - 2,5) /0,185 = 4,98A.

Trinn 6: Programvaren

Programvaren er kodet i Winavr ved hjelp av GCC. Jeg har modulert koden, dvs. jeg har opprettet forskjellige biblioteker som adc -bibliotek, lcd -bibliotek etc. Adc -biblioteket inneholder de nødvendige kommandoene for å konfigurere og samhandle med adc. LCD -biblioteket inneholder alle funksjoner for å kjøre 16x2 lcd. Du kan også bruke lcd_updated _library.c ettersom startsekvensen for lcd er endret i dette biblioteket. Hvis du vil bruke det oppdaterte biblioteket, så gi det nytt navn til lcd.c

Main.c-filen inneholder hovedfunksjonene. Ladeprotokollen for li-ion er skrevet her. Definer ref_volt i main.c ved å måle utgangen til U2 (7805) med et presist multimeter for å få nøyaktige avlesninger som beregninger er basert på det.

Du kan ganske enkelt brenne.hex -filen direkte i din mega8 for å omgå hodepine.

For de som ønsker å skrive en annen ladeprotokoll, har jeg lagt nok kommentarer til at selv et barn kan forstå hva som skjer for hver linjeutførelse. Bare du må skrive din egen protokoll for forskjellige batterityper. Hvis du bruker Li- ion med forskjellig spenning, må du bare endre parametrene. (Selv om dette ikke er testet for annen li-ion/annen batteritype. Du må regne det ut selv).

Jeg anbefaler på det sterkeste å ikke bygge denne kretsen, hvis dette er ditt første prosjekt eller du er ny på mikrokontroller/kraftelektronikk.

Jeg har lastet opp hver fil som det er i originalformatet, bortsett fra Makefile, ettersom det skaper et problem å åpne. Jeg har lastet den opp i.txt -format. Bare kopier innholdet og lim det inn i en ny Makefile og bygg hele prosjektet. Voila …. Du er klar til å brenne hex -filen.

Trinn 7: Nok av teori … la oss ta det

Nok med teori … la oss ta det
Nok med teori … la oss ta det
Nok med teori … la oss ta det
Nok med teori … la oss ta det
Nok med teori … la oss ta det
Nok med teori … la oss ta det
Nok med teori … la oss ta det
Nok med teori … la oss ta det

Her er bildene av prototypen min fra breadboardet til ferdig i PCB. Gå gjennom notatene til bildene for å vite mer. Bildene er ordnet i serie fra start til slutt.

Trinn 8: Før første ladesyklus …. Kalibrer !!

Før du lader et batteri med laderen, må du først kalibrere det. Ellers kan det ikke lade batteriet/overlade det.

Det er to typer kalibrering 1) Spenningskalibrering. 2) Gjeldende kalibrering. Trinnene er som følger for å kalibrere.

Først måles utgangsspenningen til U2. Deretter defineres den i main.c som ref_volt. Min var 5,01. Endre den i henhold til din måling. Dette er det viktigste nødvendige trinnet for spenning og strømkalibrering. For gjeldende kalibrering, ingenting alt annet er nødvendig. Alt vil bli tatt hånd om av selve programvaren

Nå som du har brent hex -filen etter å ha definert ref volt i main.c, drep strømmen til enheten.

. Mål nå batterispenningen som du vil lade ved å bruke et multimeter, og koble batteriet til enheten.

Trykk nå på S1 -knappen og hold den inne og slå på kretsen mens du trykker på knappen. Etter en kort forsinkelse på ca. 1 sekund, slipp knappen S1. Vær oppmerksom på at enheten ikke går inn i kalibreringsmodus hvis du slår på kretsen først, og deretter trykker du på S1.

Nå kan du se i displayet at kretsen er gått inn i kalibreringsmodus. En "cal -modus" vil vises på LCD -skjermen sammen med batterispenningen. Match nå batterispenningen som vises på LCD -en med multimeteravlesningen ved å vri på gryten. Når du er ferdig, trykker du på S1 -bryteren igjen, holder den inne i omtrent et sekund og slipper den. Du vil være ute av kalibreringsmodus. Nullstill igjen laderen ved å slå den av og på.

Den ovennevnte prosessen kan også utføres uten at et batteri er tilkoblet. Du må koble en ekstern strømkilde til utgangsterminalen (J2). Når du har kommet inn i kalibreringsmodus, kalibrer du med potten. Men denne gangen må du først koble fra den eksterne strømkilden og deretter trykke på S1 for å komme ut av kalibreringsmodus. Dette er nødvendig for å først koble fra den eksterne strømkilden for å unngå feil på noen enheter.

Trinn 9: Slå på etter kalibrering … nå er du klar til å rocke

Slår på etter kalibrering … nå er du klar til å rocke
Slår på etter kalibrering … nå er du klar til å rocke
Slår på etter kalibrering … nå er du klar til å rocke
Slår på etter kalibrering … nå er du klar til å rocke
Slår på etter kalibrering … nå er du klar til å rocke
Slår på etter kalibrering … nå er du klar til å rocke

Når kalibreringen er fullført, kan du nå starte ladeprosessen. Fest batteriet først, og slå deretter på enheten. Resten blir tatt hånd om av laderen.

Kretsen min er 100% fungerende og testet. Men hvis du merker noe, vennligst gi meg beskjed. Du er også velkommen til å kontakte for spørsmål.

Lykkelig å bygge.

Rgds // Sharanya

Anbefalt: