Innehållsförteckning:
Video: Arduino batteritester med WEB -användargränssnitt: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
Idag använder elektronisk utrustning reservbatterier för att rädda det tillstånd där operationen lämnades när utrustningen stängdes av eller när utrustningen av misstag stängdes av. Användaren, när den slås på, återvänder till den punkt där han stannade och slöser därmed varken tid eller ordningsföljd för sina uppgifter.
Steg 1: Introduktion
Jag gör ett projekt för att mäta tillståndet för batterier med olika kapaciteter och spänningar med hjälp av metoden: Två nivåer DC-belastning. Denna metod består i att dra en liten ström från batteriet i 10 sekunder och en hög ström i 3 sekunder (IEC 61951-1: 2005 standarder). Från denna mätning beräknas det inre motståndet och därmed dess tillstånd.
Arbetsstationen kommer att bestå av flera kontakter, en för varje typ av batteri och en dator. För detta krävs ett användargränssnitt (UI). Den viktigaste delen av denna handledning är användargränssnittet eftersom dessa metoder för batteritestning har beskrivits i andra instruktioner. Jag försökte bearbeta och fick bra resultat men bestämde mig för att göra min egen programvara med en lokal webbserver och dra nytta av potentialen i HTML, CSS och php.
Det är känt att det är mycket svårt att skicka information från Arduino till en Windows -dator men i slutändan lyckades jag. Alla program ingår i denna handledning.
Steg 2: Vad vi ska mäta och hur
Internt motstånd.
Varje riktigt batteri har ett internt motstånd. Vi antar alltid att det är en idealisk spänningskälla, det vill säga att vi kan få mycket ström som håller den nominella spänningen konstant. Batteristorlek, kemiska egenskaper, ålder och temperatur påverkar dock mängden ström ett batteri kan hämta. Som ett resultat kan vi skapa en bättre modell av ett batteri med en idealisk spänningskälla och ett motstånd i serie, som visas i figur 1.
Ett batteri med lågt internt motstånd kan ge mer ström och håller sig kall, men ett batteri med högt motstånd får batteriet att värmas upp och spänningen sjunka under belastning, vilket utlöser en tidig avstängning.
Det interna motståndet kan beräknas utifrån ström-spänningsförhållandet som ges av två punkter i en urladdningskurva.
Tvåstegs DC-lastmetoden erbjuder en alternativ metod genom att applicera två sekventiella urladdningsbelastningar med olika strömmar och tidslängder. Batteriet laddas först ut med en låg ström (0,2C) i 10 sekunder, följt av en högre ström (2C) i 3 sekunder (se figur 2); Ohms lag beräknar motståndsvärdena. Utvärdering av spänningssignaturen under de två belastningsförhållandena ger ytterligare information om batteriet, men värdena är strikt resistiva och avslöjar inte laddningsläget (SoC) eller kapacitetsuppskattningar. Lasttestet är den föredragna metoden för batterier som driver likström.
Som tidigare nämnts finns det många metoder för att mäta batterier som behandlas i andra instruktioner och som kan implementeras med Arduino, men i det här fallet, även om det inte ger en fullständig bedömning av batteriets tillstånd, ger det värden som kan vara används för att uppskatta deras framtida beteende.
Det interna motståndet hittas genom att använda relationen
Var
Ri = (V1 - V2) / (I2 - I1)
? 1-spänning mäts under låg ström och längre tid;
? 2-spänning mätt under hög ström och kortare tidpunkt;
? 1 - Ström under längre tid;
? 2 - Ström under kortare tid.
Steg 3: Krets
Kretsen är en strömkälla som drar 0,2C (i detta fall 4mA) och 2C (i detta fall 40mA) från batterier med endast en krets som styrs med PWM -signalen från Arduino. På så sätt är det möjligt att mäta alla reservbatterier med C = 20mAh, oavsett spänning i intervallet från 1,2V till 4,8V och andra batterier med annan kapacitet. I den första versionen använde jag två transistorer var och en med en belastning för att tömma 4mA och de andra 40mA. Den varianten var inte lämplig för framtiden eftersom de ville mäta andra batterier med olika kapacitet och detta schema krävde ett stort antal motstånd och transistorer.
Kretsen med en strömkälla visas i fig. 3. Frekvensen för PWM -signalen från stift 5 på Arduino -kortet är 940Hz, det är därför Fc för lågpassfilter (LPF) är 8 Hz, det betyder att den första övertonen för PWM -signalen (940Hz) dämpas med 20dB eftersom RC -filtren ger 10 dB dämpning per decennium (var tionde gång kommer Fc - dämpningen att vara 10dB i 80Hz och 20dB i 800Hz). IRFZ44n -transistorn är överdimensionerad eftersom batterier med större kapacitet kommer att testas i framtiden. LM58n, dubbel operationsförstärkare (OA), är gränssnittet mellan Arduino -kortet och IRFZ44n. LPF: n sattes in mellan de två operationsförstärkarna för att säkerställa en bra avkoppling mellan mikroprocessorn och filtret. I figur 3 är stift A1 på Arduino anslutet till källan till transistorn IRFZ44n för att kontrollera strömmen från batteriet.
Kretsen består av 2 delar, under Arduino UNO -kortet och ovanför den aktuella källan, som visas på nästa foto. Som du kan se finns det varken omkopplare eller knappar i den här kretsen, de finns i användargränssnittet i pc.
Denna krets gör det också möjligt att mäta batterikapaciteten i mAh eftersom den har en strömkälla och Arduino -kortet har en timer.
Steg 4: Program
Som nämnts ovan har applikationen på ena sidan ett användargränssnitt gjort med HTML, CSS och på den andra sidan Arduino -skissen. Gränssnittet är extremt enkelt, för tillfället, eftersom det bara utför mätningen av internt motstånd, i framtiden kommer det att utföra fler funktioner.
Den första sidan har en rullgardinsmeny, varifrån användaren väljer spänningen på batteriet som ska mätas (fig. 4). Första sidans HTML -program, kallas BatteryTesterInformation.html. Alla batterier har en kapacitet på 20 mAh.
Andra sidan, BatteryTesterMeasurement.html.
På den andra sidan är batteriet anslutet till den angivna kontakten och startar (START -knappen) mätningen. För närvarande ingår inte denna LED eftersom den bara har en kontakt, men i framtiden kommer de att ha fler kontakter.
När du har klickat på START -knappen börjar kommunikationen med Arduino -kortet. På samma sida visas mätresultatformuläret när Arduino -kortet skickar resultaten av batteritest och START- och AVBRYT -knapparna är dolda. BACK -knappen används för att påbörja testet av ett annat batteri.
Funktionen för nästa program, PhpConnect.php, är att ansluta till Arduino -kort, överföra och ta emot data från Arduino -kort och webbserver.
Obs: Överföringen från PC till Arduino är snabb men överföringen från Arduino till PC har en fördröjning på 6 sekunder. Jag försöker lösa denna irriterande situation. Snälla, all hjälp uppskattas mycket.
Och Arduino -skissen, BatteryTester.ino.
När det resulterande interna motståndet är 2 gånger större än initialt (nytt batteri) är batteriet dåligt. Det vill säga, om batteriet som testas har 10 ohm eller mer och, enligt specifikation, bör den här typen av batteri ha 5 ohm, det batteriet är dåligt.
Detta användargränssnitt testades med FireFox och Google utan problem. Jag installerade xampp och wampp och det fungerar bra i båda.
Steg 5: Slutsats
Denna typ av utveckling med hjälp av ett användargränssnitt på datorn har många fördelar eftersom det tillåter användaren en lättare förståelse av det arbete de utför liksom att undvika användning av dyra komponenter som kräver mekanisk interaktion, vilket gör dem mottagliga för avbrott.
Nästa steg i denna utveckling är att lägga till kontakter och modifiera vissa delar av kretsen för att testa andra batterier, och lägga till en batteriladdare också. Därefter designas och beställs kretskortet.
Användargränssnittet kommer att ha fler ändringar för att inkludera batteriladdarsidan
Vänligen, någon idé, förbättring eller korrigering tveka inte att kommentera för att förbättra detta arbete. Å andra sidan, om du har några frågor, fråga mig, jag svarar så snabbt jag kan.
Rekommenderad:
Arduino AA batteritester: 3 steg
Arduino AA -batteritester: Om du bor i en familj som min är det alltid ett problem att hitta nya batterier. Visst, du kan ha ett batterifack, men hur vet du vilka som är laddade och vilka som inte är det. Detta projekt hjälper dig att hitta dina bra batterier! Projektet
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Beaglebone Black Web Control med WebPy: 6 steg
Beaglebone Black Web Control Med WebPy: Har du någonsin velat skapa ett sätt att styra din garageport med din telefon kanske samla in data och visa den från din bärbara dator. Det finns en enda kortdator som heter Beaglebone Black som är en extremt kraftfull enhet som låter dig styra
"Charlotte's Web" stil LED -filamentklocka: 10 steg (med bilder)
"Charlotte's Web" stil LED-filamentklocka: Ända sedan jag först såg LED-glödlamporna har jag tänkt att glödtrådarna måste vara bra för något, men det dröjde tills stängningen av en lokal elektronikdelbutik för mig stängdes att köpa några lökar i avsikt att krossa