Inhoudsopgave:

Arduino-batterijtester met WEB-gebruikersinterface. Ajarnpa
Arduino-batterijtester met WEB-gebruikersinterface. Ajarnpa

Video: Arduino-batterijtester met WEB-gebruikersinterface. Ajarnpa

Video: Arduino-batterijtester met WEB-gebruikersinterface. Ajarnpa
Video: 8 Cool Arduino Science Projects 2024, Juli-
Anonim
Arduino batterijtester met WEB-gebruikersinterface
Arduino batterijtester met WEB-gebruikersinterface

Tegenwoordig maakt elektronische apparatuur gebruik van back-upbatterijen om de staat te bewaren waarin de handeling was achtergelaten toen de apparatuur werd uitgeschakeld of wanneer de apparatuur per ongeluk werd uitgeschakeld. De gebruiker keert bij het inschakelen terug naar het punt waar hij bleef en verspilt dus geen tijd of de volgorde van uitvoering van zijn taken.

Stap 1: Inleiding

Invoering
Invoering

Ik ben bezig met een project om de toestand van batterijen met verschillende capaciteiten en spanningen te meten met behulp van de methode: Tweetraps DC-belasting. Deze methode bestaat uit het afnemen van een kleine stroom van de batterij gedurende 10 seconden en een hoge stroom gedurende 3 seconden (IEC 61951-1: 2005-normen). Uit deze meting wordt de interne weerstand berekend en daarmee de toestand.

Het werkstation zal bestaan uit verschillende connectoren, één voor elk type batterij, en een pc. Hiervoor is een gebruikersinterface (UI) nodig. Het belangrijkste onderdeel van deze tutorial is de gebruikersinterface, omdat in andere instructables deze methoden voor het testen van batterijen zijn beschreven. Ik probeerde Processing en kreeg goede resultaten, maar besloot mijn eigen software te maken met behulp van een lokale webserver en te profiteren van het potentieel van HTML, CSS en php.

Het is bekend dat het erg moeilijk is om informatie van Arduino naar een Windows-pc te sturen, maar uiteindelijk is het me gelukt. Alle programma's zijn opgenomen in deze tutorial.

Stap 2: Wat gaan we meten en hoe?

Wat we gaan meten en hoe?
Wat we gaan meten en hoe?
Wat we gaan meten en hoe?
Wat we gaan meten en hoe?

Interne weerstand.

Elke echte batterij heeft een interne weerstand. We gaan er altijd van uit dat het een ideale spanningsbron is, dat wil zeggen dat we veel stroom kunnen krijgen om de nominale spanning constant te houden. De grootte van de batterij, chemische eigenschappen, leeftijd en temperatuur hebben echter allemaal invloed op de hoeveelheid stroom die een batterij kan leveren. Als gevolg hiervan kunnen we een beter model van een batterij maken met een ideale spanningsbron en een weerstand in serie, zoals weergegeven in Fig. 1.

Een batterij met een lage interne weerstand kan meer stroom leveren en blijft koud, maar een batterij met een hoge weerstand zorgt ervoor dat de batterij warm wordt en de spanning daalt onder belasting, wat een vroege uitschakeling veroorzaakt.

De interne weerstand kan worden berekend uit de stroom-spanningsrelatie die wordt gegeven door twee punten in een ontlaadcurve.

De tweetraps DC-belastingsmethode biedt een alternatieve methode door twee sequentiële ontladingsbelastingen met verschillende stromen en tijdsduur toe te passen. De batterij ontlaadt eerst bij een lage stroom (0,2C) gedurende 10 seconden, gevolgd door een hogere stroom (2C) gedurende 3 seconden (zie figuur 2); de wet van Ohm berekent de weerstandswaarden. Het evalueren van de spanningssignatuur onder de twee belastingsomstandigheden biedt aanvullende informatie over de batterij, maar de waarden zijn strikt resistief en onthullen niet de laadstatus (SoC) of capaciteitsschattingen. De belastingstest is de voorkeursmethode voor batterijen die DC-belastingen voeden.

Zoals eerder vermeld, zijn er veel methoden voor het meten van batterijen die in andere instructables worden behandeld en die met de Arduino kunnen worden geïmplementeerd, maar in dit geval, hoewel het geen volledige beoordeling van de staat van de batterij biedt, geeft het waarden die kunnen worden gebruikt om hun toekomstig gedrag in te schatten.

De interne weerstand wordt gevonden met behulp van de relatie

Waar

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

?1-Voltage wordt gemeten tijdens lage stroom en langere tijd;

?2-Voltage gemeten tijdens de hoge stroom en kortere tijd;

?1 - Stroom gedurende langere tijd;

?2 - Stroom gedurende het kortere tijdstip.

Stap 3: Circuit

Stroomkring
Stroomkring
Stroomkring
Stroomkring
Stroomkring
Stroomkring

Het circuit is een stroombron die 0,2C (in dit geval 4mA) en 2C (in dit geval 40mA) uit batterijen trekt met slechts één circuit dat wordt bestuurd met het PWM-signaal van Arduino. Op deze manier is het mogelijk om alle back-up batterijen met C = 20mAh te meten, ongeacht hun spanning in het bereik van 1,2V tot 4,8V en ook andere batterijen met een andere capaciteit. In de eerste versie gebruikte ik twee transistors met elk een belasting om 4mA en de andere 40mA af te tappen. Die variant was niet geschikt voor de toekomst omdat ze andere batterijen met verschillende capaciteiten wilden meten en dit schema vereiste een groot aantal weerstanden en transistors.

Het circuit met een stroombron wordt getoond in Fig. 3. De frequentie van het PWM-signaal van pin 5 van het Arduino-bord is 940Hz, daarom is de Fc van Low Pass Filter (LPF) 8 Hz, dit betekent dat de eerste harmonische van PWM-signaal (940 Hz) wordt 20 dB verzwakt omdat de RC-filters 10 dB demping per decennium leveren (elke 10 keer de Fc - demping is 10 dB in 80 Hz en 20 dB in 800 Hz). De IRFZ44n-transistor is te groot omdat in de toekomst batterijen met een grotere capaciteit zullen worden getest. De LM58n, dubbele operationele versterker (OA), is de interface tussen het Arduino-bord en de IRFZ44n. De LPF werd tussen de 2 operationele versterkers geplaatst om een goede ontkoppeling tussen de microprocessor en het filter te verzekeren. In figuur 3 is pin A1 van Arduino verbonden met de bron van transistor IRFZ44n om de stroom die uit de batterij wordt getrokken te controleren.

Het circuit bestaat uit 2 delen, onder het Arduino UNO-bord en boven de huidige bron, zoals weergegeven in de volgende foto. Zoals je kunt zien, zijn er in dit circuit geen schakelaars of knoppen, ze bevinden zich in de gebruikersinterface op pc.

Dit circuit maakt het ook mogelijk om de batterijcapaciteit in mAh te meten, omdat het een stroombron heeft en het Arduino-bord een timer heeft.

Stap 4: Programma's

Programma's
Programma's
Programma's
Programma's
Programma's
Programma's
Programma's
Programma's

Zoals hierboven vermeld, heeft de applicatie aan de ene kant een gebruikersinterface gemaakt met HTML, CSS en aan de andere kant de Arduino-schets. De interface is op dit moment uiterst eenvoudig, omdat het alleen de meting van interne weerstand uitvoert, in de toekomst zal het meer functies vervullen.

De eerste pagina heeft een vervolgkeuzelijst, waaruit de gebruiker de spanning van de te meten batterij selecteert (Fig. 4). HTML-programma voor de eerste pagina, heet BatteryTesterInformation.html. Alle batterijen hebben een capaciteit van 20mAh.

Tweede pagina, BatteryTesterMeasurement.html.

Op de tweede pagina wordt de batterij aangesloten op de aangegeven connector en start (START-knop) de meting. Deze led wordt momenteel niet meegeleverd omdat deze maar één connector heeft, maar in de toekomst zullen ze meer connectoren hebben.

Zodra op de START-knop is geklikt, begint de communicatie met het Arduino-bord. Op dezelfde pagina wordt het formulier Meetresultaten weergegeven wanneer het Arduino-bord de resultaten van de batterijtest verzendt en de START- en CANCEL-knoppen zijn verborgen. De TERUG-knop wordt gebruikt om de test van een andere batterij te starten.

De functie van het volgende programma, PhpConnect.php, is om verbinding te maken met het Arduino-bord, verzendt en ontvangt gegevens van Arduino-boards en webserver.

Opmerking: verzending van pc naar Arduino is snel, maar verzending van Arduino naar pc heeft een vertraging van 6 seconden. Ik probeer deze vervelende situatie op te lossen. Alsjeblieft, alle hulp wordt zeer op prijs gesteld.

En de Arduino-schets, BatteryTester.ino.

Wanneer de resulterende interne weerstand 2 keer groter is dan de initiële (nieuwe batterij), is de batterij slecht. Dat wil zeggen, als de geteste batterij 10 Ohm of meer heeft en, volgens specificatie, zou dit soort batterij 5 Ohm moeten hebben, dan is die batterij slecht.

Deze gebruikersinterface is zonder problemen getest met FireFox en Google. Ik heb xampp en wampp geïnstalleerd en het werkt in beide goed.

Stap 5: Conclusie

Dit type ontwikkeling met behulp van een gebruikersinterface op de pc heeft veel voordelen omdat het de gebruiker een beter begrip geeft van het werk dat ze doen en het gebruik van dure componenten die mechanische interactie vereisen, waardoor ze vatbaar zijn voor breuken, vermijdt.

De volgende stap van deze ontwikkeling is om connectoren toe te voegen en sommige delen van het circuit aan te passen om andere batterijen te testen, en ook een batterijlader toe te voegen. Daarna wordt de printplaat ontworpen en besteld.

De gebruikersinterface zal meer wijzigingen ondergaan om de pagina met de batterijlader op te nemen

Alsjeblieft, elk idee, verbetering of correctie, aarzel niet om commentaar te geven om dit werk te verbeteren. Aan de andere kant, als je vragen hebt, stel ze dan, ik zal ze zo snel mogelijk beantwoorden.

Aanbevolen: