Cuprins:

Verificator baterie cu temperatură și selecție baterie: 23 de pași (cu imagini)
Verificator baterie cu temperatură și selecție baterie: 23 de pași (cu imagini)

Video: Verificator baterie cu temperatură și selecție baterie: 23 de pași (cu imagini)

Video: Verificator baterie cu temperatură și selecție baterie: 23 de pași (cu imagini)
Video: Samsung Galaxy S23 Ultra Review în Română (Cel Mai Note Galaxy S?) 2024, Iulie
Anonim
Image
Image
Schimbați din proiectul de bază
Schimbați din proiectul de bază

Tester de capacitate a bateriei.

Cu acest dispozitiv puteți verifica capacitatea bateriei 18650, acid și altele (cea mai mare baterie pe care am testat-o Este bateria 6v Acid 4, 2A). Rezultatul testului este în miliamperi / oră.

Creez acest dispozitiv deoarece am nevoie de el pentru a verifica capacitatea bateriei false din China.

Pentru siguranță, am adăugat, folosind un termistor, temperatura rezistenței la putere și a bateriei pentru a preveni încălzirea prea mare, cu acest truc pot verifica bateria acidă de 6v fără a aprinde placa (în ciclul de descărcare o perioadă de timp mergeți la rezistorul de putere fierbinte iar dispozitivul așteaptă 20 de secunde pentru a reduce temperatura).

Selectez mic microcontroler atmega328 compatibil nano (eBay).

Tot codul este aici.

Pasul 1: Schimbați din proiectul de bază

Am furat ideea din proiectul OpenGreenEnergy și am refăcut placa pentru a adăuga caracteristici, așa că acum devin mai generale.

v0.1

  • VCC-ul Arduino este acum calculat automat;
  • S-a adăugat o variabilă pentru a schimba setarea într-un mod mai confortabil.
  • S-a adăugat procentul de descărcare
  • S-a adăugat temperatura bateriei și a rezistorului de putere

v0.2

  • Posibilitate adăugată de selectare a bateriei
  • A fost creat un prototip de placă (uitați-vă la schemă), cu ecranul, butonul și difuzorul în afara plăcii, deoarece în viitor aș dori să creez un pachet.
  • S-a adăugat gestionarea limitei de temperatură la rezistența de putere, astfel încât să pot bloca procesul atunci când temperatura crește peste 70 ° (peste această temperatură a rezistenței puterii de reducere).

v0.3

În curând, un forum de la acest serviciu

Pasul 2: V0.2 al consiliului

V0.2 al Consiliului
V0.2 al Consiliului

În v0.2 pentru a susține diferite tipuri de baterii, am creat o structură care trebuie să fie umplută cu numele bateriei, tensiunea minimă și tensiunea maximă (am nevoie de ajutor pentru ao umple: P).

// Structura tipografiei bateriei BatteryType {char name [10]; plutitor maxVolt; plutitor minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

Acum folosesc un set de rezistențe de 10k pentru divizorul de tensiune pentru a citi temperatura dublă a intrării analogice. Dacă doriți să schimbați tensiunea, trebuie să modificați această valoare (explicați mai bine în continuare):

// Rezistența la tensiunea bateriei

#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Rezistența la tensiunea rezistenței de putere #define RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0

Dacă nu utilizați termistor, setați acest lucru la fals:

#define USING_BATTERY_TERMISTOR adevărat

#define USING_RESISTO_TERMISTOR adevărat

Dacă utilizați un afișaj i2c diferit, trebuie să rescrieți această metodă:

draw nul (nul)

În cadrul proiectului, puteți găsi schemele interesante, fotografii și multe altele.

Pasul 3: Breadboard: I2c Character Display Controller extins

Breadboard: I2c Character Display Controller extins
Breadboard: I2c Character Display Controller extins

Am folosit un afișaj generic de caractere și am construit controlerul i2c și l-am folosit cu biblioteca mea personalizată.

Dar dacă doriți, puteți lua un controler i2c normal (mai puțin de 1 €) cu o bibliotecă standard, codul rămâne același. Toate codurile de afișare sunt în funcție de desen, astfel încât să puteți schimba acest lucru fără a schimba alte lucruri.

Mai bine explicat aici.

Pasul 4: Breadboard: Afișarea caracterelor cu I2c integrat

Breadboard: Afișare caractere cu I2c integrat
Breadboard: Afișare caractere cu I2c integrat

Aceeași schemă fără i2c controlată s-a extins.

Pasul 5: Realizare

Pentru măsurarea tensiunii folosim principiul unui divizor de tensiune (mai multe informații pe Wikipedia).

În cuvinte simple, acest cod este factorul multiplicator pentru măsurarea tensiunii bateriei.

batResValueGnd / (batResValueVolt + batResValueGnd)

Am inserat cele 2 rezistențe ale valorii batResValueVolt și batResValueGnd după și înainte de firul de citire analogic.

batVolt = (sample1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;

sample1 este media citirilor analogice;

tensiune de referință vcc Arduino;

1023.0 este valoarea maximă de referință a citirii analogice (citirea analogică Arduino merge de la 0 la 1023).

Pentru a obține amperajul, aveți nevoie de tensiune după și înainte de rezistența de alimentare.

Când aveți măsura tensiunii după și înainte de rezistența de putere, puteți calcula miliamperii care consumă bateria.

MOSFET-ul este utilizat pentru a porni și a opri scurgerea bateriei din rezistorul de alimentare.

Pentru siguranță am introdus 2 termistori pentru a monitoriza temperatura bateriei și a rezistorului de putere.

Pasul 6: Extensibilitate

Extensibilitate
Extensibilitate
Extensibilitate
Extensibilitate

Încerc să creez o placă prototip extensibilă, dar deocamdată folosesc doar un set minim de pini (pe viitor voi adăuga leduri și alte butoane).

Dacă doriți o tensiune de sprijin mai mare de 10v, trebuie să modificați valoarea rezistenței bateriei și rezistența conform formulei

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

în schema Tensiunea de putere a rezistorului

Tensiunea de putere a rezistorului GND 1/2 / (Tensiunea de putere a rezistorului 2/2 + Tensiunea de putere a rezistorului GND 1/2)

Rozul lipeste

Pasul 7: Lista pieselor

Suma Proprietăți tip piesă

  • 2 Terminale cu șurub de 5 mm Bloc terminal cu șurub montat pe PCB 8A 250V LW SZUS (eBay)
  • 1 clonă Arduino Pro Mini (compatibilă Nano) (eBay)
  • 1 canal FET de bază IRF744N sau IRLZ44N (eBay)
  • 11 Rezistor 10kΩ Rezistor 10kΩ (eBay)
  • 2 senzor de temperatură (termistor) 10kΩ; (eBay)
  • * Formă generică de antet masculin ♂ (masculin); (eBay)
  • * Formă generică de antet feminin ♀ (feminin); (eBay)
  • 1 bord PerfBoard Prototype board 24x18 (eBay)
  • 10R, 10W

    power resistor (eBay) Îl găsesc pe al meu într-un televizor crt vechi.

Pasul 8: Placă: Resetare, butonul Gnd E pentru a selecta bateria

Placă: Reset, butonul Gnd E pentru a selecta bateria
Placă: Reset, butonul Gnd E pentru a selecta bateria

În partea stângă a știfturilor puteți găsi butonul și soneria.

Folosesc 3 butoane:

  1. una pentru schimbarea tipului bateriei;
  2. una pentru a începe descărcarea bateriei selectate;
  3. apoi folosesc pinul de resetare pentru a reporni totul și pentru a activa o nouă operație.

Toate pinii sunt deja trase în jos, deci trebuie să activați cu VCC

Resetarea este activată cu GND

Rozul lipeste

Pasul 9: Placă: I2c și pinii de alimentare

Placă: I2c și pinii de alimentare
Placă: I2c și pinii de alimentare

La bază puteți vedea VCC, GND și SDA, SCL pentru afișare (și altele în viitor).

Rozul lipeste

Pasul 10: Placă: termistor și tensiune de măsurare

Placă: termistor și tensiune de măsurare
Placă: termistor și tensiune de măsurare

În dreapta există pini pentru citirea valorii termistorului, unul pentru rezistorul de putere sau termistorul și celălalt pentru (pini tată / mamă pentru atașare) termistorul bateriei.

Apoi, există pini analogici care măsoară tensiunea diferențială după și înainte de rezistența de alimentare.

Rozul lipeste

Pasul 11: Placă: rezistență la tensiunea de măsurare

Placă: Rezistor la tensiunea de măsurare
Placă: Rezistor la tensiunea de măsurare
Placă: Rezistor la tensiunea de măsurare
Placă: Rezistor la tensiunea de măsurare

Aici puteți vedea rezistența care permite susținerea tensiunii duble decât pinul arduino (10v), trebuie să schimbați acest lucru pentru a suporta mai multă tensiune.

Rozul lipeste

Pasul 12: lipire Pasul: toate pinii

Pas de lipit: toate pinii
Pas de lipit: toate pinii
Pas de lipit: toate pinii
Pas de lipit: toate pinii

Pentru început adaug toate pinii și lipesc-o.

Pasul 13: Pași de lipire: rezistor și termistor

Pași de lipit: rezistență și termistor
Pași de lipit: rezistență și termistor
Pași de lipit: rezistență și termistor
Pași de lipit: rezistență și termistor

Apoi adaug tot resitorul (pentru butoane) și conectorul i2c (afișaj).

Apoi termistorul rezistorului de putere Este foarte important, bateria acidă se încălzește prea mult.

Pasul 14: Pași de lipit: MOSFET, rezistență la verificarea tensiunii

Pași de lipit: MOSFET, rezistență la verificarea tensiunii
Pași de lipit: MOSFET, rezistență la verificarea tensiunii
Pași de lipit: MOSFET, rezistență la verificarea tensiunii
Pași de lipit: MOSFET, rezistență la verificarea tensiunii

Acum trebuie să introducem mosfet pentru a activa descărcarea și rezistența la verificarea tensiunii.

2 rezistență pentru tensiune înainte de rezistor de putere 2 rezistență pentru tensiune după rezistor de putere, atunci când aveți această tensiune puteți calcula consumul de miliampere.

Pasul 15: Cod

Microcontrolerul este nano compatibil, deci trebuie să vă setați IDE-ul pentru a încărca un Arduino Nano.

Pentru a funcționa, trebuie să descărcați codul din depozitul meu github.

Deci trebuie să adăugați 3 biblioteci:

  1. Sârmă: bibliotecă standard arduino pentru protocolul i2c;
  2. Biblioteca Termistor de aici nu biblioteca pe care o puteți găsi în IDE arduino, ci versiunea mea;
  3. LiquidCrystal_i2c: dacă utilizați versiunea extinsă / personalizată a adaptorului i2c (versiunea mea), trebuie să descărcați biblioteca de aici, dacă utilizați componenta standard, puteți lua biblioteca de la arduino IDE, dar totul este mai bine explicat aici.

Nu testez LCD cu bibliotecă standard, mi se pare că sunt interschimbabile, dar dacă există vreo problemă, ați putut să mă contactați.

Pasul 16: Rezultat după asamblare

Image
Image
Rezultat după asamblare
Rezultat după asamblare
Rezultat după asamblare
Rezultat după asamblare

Placa de bază este în fotografie, apoi o putem testa.

Pasul 17: Selectați mai întâi tipul bateriei

Mai întâi selectați tipul bateriei
Mai întâi selectați tipul bateriei

După cum este descris, avem o hartă a valorii cu configurația bateriei.

// Structura tipografiei bateriei BatteryType {char name [10]; plutitor maxVolt; plutitor minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

Pasul 18: Începeți descărcarea

Începeți descărcarea
Începeți descărcarea
Începeți descărcarea
Începeți descărcarea

Faceți clic pe al doilea buton începe descărcarea.

Pe afișaj puteți vedea miliamperi curenți, miliamperi / ore, procentul de descărcare, tensiunea bateriei și temperatura rezistorului de putere și a bateriei.

Pasul 19: Excepții: bateria scoasă

Image
Image
Excepții: Alertă de temperatură
Excepții: Alertă de temperatură

Dacă eliminați procesul de descărcare a bateriei, acesta va fi întrerupt, când îl reintroduceți, reporniți la ultima valoare.

Pasul 20: Excepții: Alertă de temperatură

Excepții: Alertă de temperatură
Excepții: Alertă de temperatură
Excepții: Alertă de temperatură
Excepții: Alertă de temperatură
Excepții: Alertă de temperatură
Excepții: Alertă de temperatură

Dacă temperatura (bateria sau rezistența de alimentare) se încălzește, procesul de descărcare se întrerupe.

#define BATTERY_MAX_TEMP 50

#define RESISTANCE_MAX_TEMP 69 // 70 ° pe foaia de date (Rezistențe de reducere) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20

Valoarea implicită pentru temperatura maximă este de 50 ° pentru baterie și 69 pentru rezistența de putere.

După cum puteți vedea la comentariu, rezistența de putere este afectată de reducerea valorii atunci când treceți peste 70 °.

Dacă alerta este activată, începeți TEMP_TO_REMOVE_ON_MAX_TEMP secunde de pauză pentru a pune temperatura scăzută.

Pasul 21: Testați Amperajul

Test Amperaj
Test Amperaj

Rezultatul testului de amperaj este bun.

Pasul 22: Pachet

Cu o componentă separată, pachetul rezultă simplu de realizat.

Într-o cutie trebuie să faceți un dreptunghi pentru LCD, găurile pentru butoane și un butoi feminin extern pentru a furniza tensiunea de la sursa de alimentare.

Butonul de apăsare nu are nevoie de rezistență verticală pentru că îl adaug deja la bord.

Când am ceva timp, îl creez și îl postez.

Recomandat: