Cuprins:

Tester de baterie Arduino cu interfață utilizator WEB .: 5 pași
Tester de baterie Arduino cu interfață utilizator WEB .: 5 pași

Video: Tester de baterie Arduino cu interfață utilizator WEB .: 5 pași

Video: Tester de baterie Arduino cu interfață utilizator WEB .: 5 pași
Video: DIAGNOZA AUTO PE TELEFON ?!? CUM FUNCTIONEAZA? | Tehnic Ep.23 2024, Noiembrie
Anonim
Tester de baterie Arduino cu interfață de utilizator WEB
Tester de baterie Arduino cu interfață de utilizator WEB

Astăzi, echipamentele electronice folosesc baterii de rezervă pentru a salva starea în care operația a fost lăsată când echipamentul a fost oprit sau când, din întâmplare, echipamentul a fost oprit. Utilizatorul, la pornire, revine la punctul în care a rămas și astfel nu pierde nici timpul, nici ordinea de executare a sarcinilor sale.

Pasul 1: Introducere

Introducere
Introducere

Fac un proiect pentru a măsura starea bateriilor cu diferite capacități și tensiuni folosind metoda: încărcare continuă pe două niveluri. Această metodă constă în extragerea unui curent mic din baterie timp de 10 secunde și un curent ridicat timp de 3 secunde (standardele IEC 61951-1: 2005). Din această măsurare se calculează rezistența internă și deci starea sa.

Stația de lucru va consta din mai mulți conectori, unul pentru fiecare tip de baterie și un computer. Pentru aceasta, este necesară o interfață cu utilizatorul (UI). Cea mai importantă parte a acestui tutorial este interfața de utilizare, deoarece în alte instructabile au fost descrise aceste metode de testare a bateriei. Am încercat Procesarea și am obținut rezultate bune, dar am decis să-mi creez propriul software folosind un server web local și să profitez de potențialul HTML, CSS și php.

Se știe că este foarte dificil să trimit informații de pe Arduino pe un computer cu Windows, dar în cele din urmă am reușit. Toate programele sunt incluse în acest tutorial.

Pasul 2: Ce vom măsura și cum

Ce vom măsura și cum
Ce vom măsura și cum
Ce vom măsura și cum
Ce vom măsura și cum

Rezistență internă.

Fiecare baterie reală are o rezistență internă. Întotdeauna presupunem că este o sursă de tensiune ideală, adică putem obține mult curent menținând tensiunea nominală constantă. Cu toate acestea, dimensiunea bateriei, proprietățile chimice, vârsta și temperatura afectează cantitatea de curent pe care o baterie este capabilă să o furnizeze. Ca rezultat, putem crea un model mai bun al unei baterii cu o sursă de tensiune ideală și un rezistor în serie, așa cum se arată în Fig. 1.

O baterie cu rezistență internă scăzută este capabilă să furnizeze mai mult curent și rămâne rece, cu toate acestea, o baterie cu rezistență ridicată face ca bateria să se încălzească și tensiunea să scadă sub sarcină, declanșând o oprire timpurie.

Rezistența internă poate fi calculată din relația curent-tensiune dată de două puncte într-o curbă de descărcare.

Metoda de încărcare DC pe două niveluri oferă o metodă alternativă prin aplicarea a două sarcini de descărcare secvențiale de curenți și durate de timp diferite. Bateria se descarcă mai întâi la un curent redus (0,2C) timp de 10 secunde, urmată de un curent mai mare (2C) timp de 3 secunde (vezi Figura 2); legea lui Ohm calculează valorile rezistenței. Evaluarea semnăturii de tensiune în cele două condiții de încărcare oferă informații suplimentare despre baterie, dar valorile sunt strict rezistive și nu dezvăluie starea de încărcare (SoC) sau estimările de capacitate. Testul de sarcină este metoda preferată pentru bateriile care alimentează încărcările DC.

După cum sa menționat anterior, există multe metode de măsurare a bateriilor tratate în alte instrumente și care pot fi implementate cu Arduino, dar în acest caz, deși nu oferă o evaluare completă a stării bateriei, aceasta oferă valori care pot fi utilizate pentru a le estima comportamentul viitor.

Rezistența internă se găsește utilizând relația

Unde

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

1 1-Tensiunea este măsurată în timpul curentului scăzut și al momentului mai lung de timp;

? 2-Tensiune măsurată în timpul curentului ridicat și a momentului mai scurt de timp;

? 1 - Curent în timpul unei perioade mai lungi de timp;

? 2 - Curent în cel mai scurt moment de timp.

Pasul 3: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Circuitul este o sursă de curent care atrage 0,2C (în acest caz 4mA) și 2C (în acest caz 40mA) de la baterii folosind un singur circuit controlat cu semnalul PWM de la Arduino. În acest fel, este posibil să măsurați toate bateriile de rezervă cu C = 20mAh, indiferent de tensiunea acestora în intervalul de la 1,2V la 4,8V și alte baterii cu o capacitate diferită. În prima versiune, am folosit două tranzistoare fiecare cu o sarcină pentru a scurge 4mA și celălalt 40mA. Această variantă nu era potrivită pentru viitor, deoarece doreau să măsoare alte baterii cu capacități diferite, iar această schemă necesita un număr mare de rezistențe și tranzistoare.

Circuitul cu o sursă de curent este prezentat în Fig. 3. Frecvența semnalului PWM de la pinul 5 al plăcii Arduino este de 940Hz, de aceea, Fc al Low Pass Filter (LPF) este de 8 Hz, înseamnă că prima armonică a Semnalul PWM (940Hz) va fi atenuat 20dB deoarece filtrele RC oferă 10 dB de atenuare pe deceniu (la fiecare 10 ori Fc - atenuarea va fi de 10dB în 80Hz și 20dB în 800Hz). Tranzistorul IRFZ44n este supradimensionat deoarece, în viitor, vor fi testate baterii cu capacitate mai mare. LM58n, amplificator operațional dual (OA), este interfața dintre placa Arduino și IRFZ44n. LPF a fost introdus între cele 2 amplificatoare operaționale pentru a asigura o bună decuplare între microprocesor și filtru. În Fig.3, pinul A1 al Arduino este conectat la sursa tranzistorului IRFZ44n pentru a verifica curentul extras din baterie.

Circuitul este compus din 2 părți, sub placa Arduino UNO și deasupra sursei de curent, așa cum se arată în fotografia următoare. După cum puteți vedea, în acest circuit nu există nici comutatoare, nici butoane, acestea sunt în interfața de utilizare în PC.

Acest circuit permite, de asemenea, măsurarea capacității bateriei în mAh, deoarece are o sursă de curent, iar placa Arduino are un temporizator.

Pasul 4: Programe

Programe
Programe
Programe
Programe
Programe
Programe
Programe
Programe

După cum sa menționat mai sus, aplicația are, pe de o parte, o interfață de utilizare realizată cu HTML, CSS și, pe de altă parte, schița Arduino. Interfața este extrem de simplă, pentru moment, deoarece execută doar măsurarea rezistenței interne, în viitor va îndeplini mai multe funcții.

Prima pagină are o listă verticală, de unde utilizatorul selectează tensiunea bateriei care urmează să fie măsurată (Fig. 4). Programul HTML pentru prima pagină se numește BatteryTesterInformation.html. Toate bateriile au o capacitate de 20 mAh.

A doua pagină, BatteryTesterMeasurement.html.

Pe a doua pagină, bateria este conectată la conectorul indicat și pornește (butonul START) măsurarea. Pentru moment, acest led nu este inclus, deoarece are un singur conector, dar, în viitor, vor avea mai mulți conectori.

După ce se face clic pe butonul START, începe comunicarea cu placa Arduino. În aceeași pagină, formularul Rezultate măsurare este afișat atunci când placa Arduino trimite rezultatele testului bateriei și butoanele START și CANCEL sunt ascunse. Butonul ÎNAPOI este utilizat pentru a începe testarea unei alte baterii.

Funcția următorului program, PhpConnect.php, este de a vă conecta cu placa Arduino, transmite și primește date de pe plăcile Arduino și de pe serverul web.

Notă: Transmiterea de la PC la Arduino este rapidă, dar transmisia de la Arduino la PC are o întârziere de 6 secunde. Încerc să rezolv această situație enervantă. Vă rugăm, orice ajutor este foarte apreciat.

Și schița Arduino, BatteryTester.ino.

Când rezistența internă rezultată este de 2 ori mai mare decât cea inițială (baterie nouă), bateria este defectă. Adică, dacă bateria testată are 10 Ohmi sau mai mult și, după specificații, acest tip de baterie ar trebui să aibă 5 Ohmi, bateria respectivă este defectă.

Această interfață a fost testată cu FireFox și Google fără probleme. Am instalat xampp și wampp și rulează bine în ambele.

Pasul 5: Concluzie

Acest tip de dezvoltare care utilizează o interfață cu utilizatorul pe PC are multe avantaje, deoarece permite utilizatorului o înțelegere mai ușoară a muncii pe care o desfășoară, precum și evitarea utilizării componentelor scumpe care necesită interacțiune mecanică, ceea ce le face susceptibile la întreruperi.

Următorul pas al acestei dezvoltări este să adăugați conectori și să modificați unele părți ale circuitului pentru a testa alte baterii și să adăugați și un încărcător de baterii. După aceea, PCB-ul va fi proiectat și comandat.

IU va avea mai multe modificări pentru a include pagina încărcătorului de baterie

Vă rugăm, orice idee, îmbunătățire sau corectare nu ezitați să comentați pentru a îmbunătăți această lucrare. Pe de altă parte, dacă aveți întrebări, întrebați-mă, vă voi răspunde cât de repede pot.

Recomandat: