Innholdsfortegnelse:

Arduino batteritester med WEB -brukergrensesnitt .: 5 trinn
Arduino batteritester med WEB -brukergrensesnitt .: 5 trinn

Video: Arduino batteritester med WEB -brukergrensesnitt .: 5 trinn

Video: Arduino batteritester med WEB -brukergrensesnitt .: 5 trinn
Video: Расшифровка балансира ячеек литиевой батареи 18650 2024, November
Anonim
Arduino batteritester med WEB -brukergrensesnitt
Arduino batteritester med WEB -brukergrensesnitt

I dag bruker elektronisk utstyr reservebatterier for å redde tilstanden der operasjonen ble igjen da utstyret ble slått av eller når utstyret ved et uhell ble slått av. Brukeren, når han slår på, går tilbake til punktet der han bodde og sløser dermed ikke med tid eller rekkefølgen på utførelsen av oppgavene.

Trinn 1: Introduksjon

Introduksjon
Introduksjon

Jeg gjør et prosjekt for å måle tilstanden til batterier med forskjellige kapasiteter og spenninger ved å bruke metoden: To-lags DC-belastning. Denne metoden består i å trekke en liten strøm fra batteriet i 10 sekunder og en høy strøm i 3 sekunder (IEC 61951-1: 2005 standarder). Fra denne målingen beregnes den interne motstanden og dermed dens tilstand.

Arbeidsstasjonen vil bestå av flere kontakter, en for hver type batteri og en PC. For dette er et brukergrensesnitt (UI) nødvendig. Den viktigste delen av denne opplæringen er brukergrensesnittet fordi disse metodene for batteritesting er beskrevet i andre instrukser. Jeg prøvde behandling og fikk gode resultater, men bestemte meg for å lage min egen programvare ved hjelp av en lokal webserver og dra nytte av potensialet til HTML, CSS og php.

Det er kjent at det er veldig vanskelig å sende informasjon fra Arduino til en Windows -PC, men til slutt lyktes jeg. Alle programmene er inkludert i denne opplæringen.

Trinn 2: Hva vi skal måle og hvordan

Hva vi skal måle og hvordan
Hva vi skal måle og hvordan
Hva vi skal måle og hvordan
Hva vi skal måle og hvordan

Intern motstand.

Hvert ekte batteri har en intern motstand. Vi antar alltid at det er en ideell spenningskilde, det vil si at vi kan få mye strøm som holder den nominelle spenningen konstant. Batteristørrelse, kjemiske egenskaper, alder og temperatur påvirker imidlertid mengden strøm et batteri kan hente. Som et resultat kan vi lage en bedre modell av et batteri med en ideell spenningskilde og en motstand i serie, som vist i figur 1.

Et batteri med lav intern motstand er i stand til å levere mer strøm og holder seg kald, men et batteri med høy motstand får batteriet til å varme opp og spenningen faller under belastning, noe som utløser en tidlig avstengning.

Den interne motstanden kan beregnes ut fra strøm-spenningsforholdet gitt av to punkter i en utladningskurve.

Den to-lags DC-lastemetoden tilbyr en alternativ metode ved å bruke to sekvensielle utladningslaster med forskjellige strømmer og tidsvarigheter. Batteriet lades først ut ved lav strøm (0,2C) i 10 sekunder, etterfulgt av en høyere strøm (2C) i 3 sekunder (se figur 2); Ohms lov beregner motstandsverdiene. Evaluering av spenningssignaturen under de to belastningsforholdene gir tilleggsinformasjon om batteriet, men verdiene er strengt resistive og avslører ikke ladetilstand (SoC) eller kapasitetsestimater. Lasttesten er den foretrukne metoden for batterier som driver likestrøm.

Som tidligere nevnt, er det mange metoder for måling av batterier behandlet i andre instrukser og som kan implementeres med Arduino, men i dette tilfellet, selv om det ikke gir en fullstendig vurdering av batteriets tilstand, gir det verdier som kan brukes til å estimere deres fremtidige oppførsel.

Den indre motstanden blir funnet ved å bruke relasjonen

Hvor

Ri = (V1 - V2) / (I2 - I1)

? 1-spenning måles under lav strøm og lengre øyeblikk;

? 2-spenning målt under høy strøm og kortere øyeblikk;

? 1 - Strøm i lengre øyeblikk;

? 2 - Gjeldende i løpet av kortere tid.

Trinn 3: Krets

Krets
Krets
Krets
Krets
Krets
Krets

Kretsen er en strømkilde som trekker 0,2C (i dette tilfellet 4mA) og 2C (i dette tilfellet 40mA) fra batterier ved å bruke bare en krets som styres med PWM -signalet fra Arduino. På denne måten er det mulig å måle alle reservebatterier med C = 20mAh, uansett spenning i området fra 1,2V til 4,8V og andre batterier med annen kapasitet. I den første versjonen brukte jeg to transistorer hver med en belastning for å tømme 4mA og de andre 40mA. Den varianten var ikke hensiktsmessig for fremtiden siden de ønsket å måle andre batterier med forskjellig kapasitet, og denne ordningen krevde et stort antall motstander og transistorer.

Kretsen med en strømkilde er vist i figur 3. Frekvensen til PWM -signalet fra pinne 5 på Arduino -kortet er 940Hz, derfor er Fc for lavpassfilter (LPF) 8 Hz, det betyr at den første harmoniske av PWM -signal (940Hz) dempes 20dB fordi RC -filtrene gir 10 dB demping per tiår (hver 10. gang vil Fc - demping være 10dB i 80Hz og 20dB i 800Hz). IRFZ44n -transistoren er overdimensjonert fordi batterier med større kapasitet i fremtiden vil bli testet. LM58n, dual operationsforsterker (OA), er grensesnittet mellom Arduino -kortet og IRFZ44n. LPF ble satt inn mellom de to operasjonsforsterkerne for å sikre en god frakobling mellom mikroprosessoren og filteret. I figur 3 er pin A1 på Arduino koblet til kilden til transistoren IRFZ44n for å kontrollere strømmen som er trukket fra batteriet.

Kretsen består av 2 deler, under Arduino UNO -kortet og over den nåværende kilden, som vist på neste bilde. Som du kan se, er det verken brytere eller knapper i denne kretsen, de er i brukergrensesnittet på pc.

Denne kretsen tillater også måling av batterikapasiteten i mAh siden den har en strømkilde og Arduino -kortet har en tidtaker.

Trinn 4: Programmer

Programmer
Programmer
Programmer
Programmer
Programmer
Programmer
Programmer
Programmer

Som nevnt ovenfor har programmet på den ene siden et brukergrensesnitt laget med HTML, CSS og på den andre siden Arduino -skissen. Grensesnittet er ekstremt enkelt, for øyeblikket, fordi det bare utfører måling av intern motstand, i fremtiden vil det utføre flere funksjoner.

Den første siden har en rullegardinliste, hvor brukeren velger spenningen til batteriet som skal måles (fig. 4). Førstesides HTML -program, kalles BatteryTesterInformation.html. Alle batterier har en kapasitet på 20 mAh.

Andre side, BatteryTesterMeasurement.html.

På den andre siden er batteriet koblet til den angitte kontakten og starter (START -knappen) målingen. For øyeblikket er denne LED -en ikke inkludert fordi den bare har en kontakt, men i fremtiden vil de ha flere kontakter.

Når du har klikket på START -knappen, begynner kommunikasjonen med Arduino -kortet. På samme side vises måleresultatskjemaet når Arduino -kortet sender resultatene fra batteritesten og START- og AVBRYT -knappene er skjult. TILBAKE -knappen brukes til å starte testen av et annet batteri.

Funksjonen til det neste programmet, PhpConnect.php, er å koble til Arduino -kort, overføre og motta data fra Arduino -kort og webserver.

Merk: Overføring fra PC til Arduino er rask, men overføring fra Arduino til PC har en forsinkelse på 6 sekunder. Jeg prøver å løse denne irriterende situasjonen. Vennligst, all hjelp blir satt stor pris på.

Og Arduino -skissen, BatteryTester.ino.

Når den resulterende interne motstanden er 2 ganger større enn den opprinnelige (nytt batteri), er batteriet dårlig. Det vil si at hvis batteriet som testes har 10 ohm eller mer, og etter spesifikasjon, bør denne typen batteri ha 5 ohm, at batteriet er dårlig.

Dette brukergrensesnittet ble testet med FireFox og Google uten problemer. Jeg installerte xampp og wampp, og det går bra i begge.

Trinn 5: Konklusjon

Denne typen utvikling ved bruk av et brukergrensesnitt på PC -en har mange fordeler fordi den gir brukeren en lettere forståelse av arbeidet de utfører, samt unngår bruk av dyre komponenter som krever mekanisk interaksjon, noe som gjør dem utsatt for brudd.

Det neste trinnet i denne utviklingen er å legge til kontakter og endre noen deler av kretsen for å teste andre batterier, og legge til en batterilader også. Etter det vil kretskortet bli designet og bestilt.

Brukergrensesnittet vil ha flere modifikasjoner for å inkludere batteriladersiden

Vær så snill, enhver idé, forbedring eller korreksjon, ikke nøl med å kommentere for å forbedre dette arbeidet. På den annen side, hvis du har spørsmål, spør meg, jeg vil svare på det så fort jeg kan.

Anbefalt: