Cuprins:
- Pasul 1: Schimbați din proiectul de bază
- Pasul 2: V0.2 al consiliului
- Pasul 3: Breadboard: I2c Character Display Controller extins
- Pasul 4: Breadboard: Afișarea caracterelor cu I2c integrat
- Pasul 5: Realizare
- Pasul 6: Extensibilitate
- Pasul 7: Lista pieselor
- Pasul 8: Placă: Resetare, butonul Gnd E pentru a selecta bateria
- Pasul 9: Placă: I2c și pinii de alimentare
- Pasul 10: Placă: termistor și tensiune de măsurare
- Pasul 11: Placă: rezistență la tensiunea de măsurare
- Pasul 12: lipire Pasul: toate pinii
- Pasul 13: Pași de lipire: rezistor și termistor
- Pasul 14: Pași de lipit: MOSFET, rezistență la verificarea tensiunii
- Pasul 15: Cod
- Pasul 16: Rezultat după asamblare
- Pasul 17: Selectați mai întâi tipul bateriei
- Pasul 18: Începeți descărcarea
- Pasul 19: Excepții: bateria scoasă
- Pasul 20: Excepții: Alertă de temperatură
- Pasul 21: Testați Amperajul
- Pasul 22: Pachet
Video: Verificator baterie cu temperatură și selecție baterie: 23 de pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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
Î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
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
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
Î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
În partea stângă a știfturilor puteți găsi butonul și soneria.
Folosesc 3 butoane:
- una pentru schimbarea tipului bateriei;
- una pentru a începe descărcarea bateriei selectate;
- 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
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
Î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
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
Pentru început adaug toate pinii și lipesc-o.
Pasul 13: Pași de lipire: rezistor ș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
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:
- Sârmă: bibliotecă standard arduino pentru protocolul i2c;
- Biblioteca Termistor de aici nu biblioteca pe care o puteți găsi în IDE arduino, ci versiunea mea;
- 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
Placa de bază este în fotografie, apoi o putem testa.
Pasul 17: Selectați mai întâ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
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ă
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ă
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
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:
Verificator de poluare a clasei CPC: 10 pași
CPC Class Polution Checker: Bună ziua, sunt student din Belgia și acesta este primul meu mare proiect pentru diploma mea de licență! Acest Instructable este despre cum să faci un contor de soluție de aer pentru camere închise, în special săli de clasă! Te aud gândindu-te de ce acest proiect? Ei bine, totul sta
Verificator de temperatură a aerului de buzunar DIY: 6 pași
Verificator de temperatură a aerului de buzunar DIY: Vom folosi un afișaj Nokia 5110, un modul digital de temperatură și un Arduino Uno pentru a realiza acest lucru. Este nevoie, de asemenea, de o mufă de 9V cu fire, nu de butoi, împreună cu un întrerupător și fire. Poate fi necesar un fier de lipit, dar puteți, de asemenea, să răsuciți firele
Termometru de gătit cu sondă de temperatură ESP32 NTP cu corectare Steinhart-Hart și alarmă de temperatură .: 7 pași (cu imagini)
Termometru de gătit cu sondă de temperatură ESP32 NTP cu corecție Steinhart-Hart și alarmă de temperatură: încă se află în călătorie pentru a finaliza un „proiect viitor” „Termometru de gătit cu sondă de temperatură ESP32 NTP cu corectare Steinhart-Hart și alarmă de temperatură” este un instructabil care arată cum adaug o sondă de temperatură NTP, piezo b
Asigurați-vă propriul verificator de rezistență: 4 pași
Faceți-vă propriul verificator de rezistență: lucruri de care aveți nevoie: baterie EGO tip Twist Old Cel mai ieftin multimetru pe care îl puteți găsi. (Puteți ridica unul la 6,99 USD la Harbor Freight. Am primit-o pe a mea gratuit cu un cupon în anunțurile mele săptămânale.) Unelte de lipit (am lipit doar de 2 sau 3 ori în viața mea. Eu
Utilizarea benzii de cupru pentru a crea un tampon de selecție digital: 4 pași
Folosirea benzii de cupru pentru a crea un tampon de selecție digital: parțial eu împărtășesc această tehnică și parțial eu învăț cum să folosesc Instructables. Dacă există probleme cu documentația mea despre tehnică sau cu utilizarea mea de Instructables, vă rog să-mi spuneți în comentarii - mulțumesc! Am avut nevoie de un rând lung o