Kazalo:
- 1. korak: Preklopite iz osnovnega projekta
- 2. korak: V0.2 odbora
- 3. korak: Ogledna plošča: razširjen krmilnik za prikaz znakov I2c
- 4. korak: Ogledna plošča: prikaz znakov z vgrajenim I2c
- 5. korak: Uresničitev
- 6. korak: Razširljivost
- 7. korak: Seznam delov
- 8. korak: plošča: ponastavite, z gumbom Gnd E izberite baterijo
- 9. korak: Plošča: I2c in zatiči za napajanje
- 10. korak: Plošča: Termistor in merilna napetost
- 11. korak: Plošča: Upor do merilne napetosti
- 12. korak: Korak spajkanja: vsi zatiči
- 13. korak: Koraki spajkanja: izvlečni upor in termistor
- Korak 14: Koraki spajkanja: MOSFET, odpornost na preverjeno napetost
- 15. korak: Koda
- Korak 16: Rezultat po sestavljanju
- Korak 17: Najprej izberite vrsto baterije
- 18. korak: Začnite prazniti
- Korak 19: Izjeme: Odstranjena baterija
- 20. korak: Izjeme: temperaturno opozorilo
- 21. korak: Preizkusite amperažo
- Korak: Paket
Video: Preverjevalnik baterije s temperaturo in izbiro baterije: 23 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Tester zmogljivosti baterije.
S to napravo lahko preverite kapaciteto baterije 18650, kisline in drugih (največja baterija, ki sem jo preizkusil, je 6v kislinska baterija 4, 2A). Rezultat testa je v miliamperih/urah.
To napravo ustvarjam, ker jo potrebujem za preverjanje zmogljivosti ponarejene kitajske baterije.
Zaradi varnosti sem z uporabo termistorja dodal temperaturo odpornosti napajanja in baterije, da preprečim, da bi bilo preveč vroče. S tem trikom lahko preverim 6 -voltno kislinsko baterijo, ne da bi požarili ploščo (v ciklu praznjenja nekaj časa pojdite na upor z vročo močjo in naprava počaka 20 sekund, da zniža temperaturo).
Izbral sem majhen mikro krmilnik atmega328 združljiv nano (eBay).
Vsa koda je tukaj.
1. korak: Preklopite iz osnovnega projekta
Idejo sem ukradel iz projekta OpenGreenEnergy in ploščo sem preuredil, da dodam funkcije, zato postanem zdaj splošnejša.
v0.1
- VCC iz Arduina se zdaj samodejno izračuna;
- Dodana spremenljivka za bolj udoben način spreminjanja nastavitev.
- Dodan odstotek praznjenja
- Dodana temperatura baterije in močnega upora
v0.2
- Dodana možnost izbire baterije
- Ustvaril prototipno ploščo (poglejte shemo) z zaslonom, gumbom in zvočnikom zunaj plošče, ker bi v prihodnosti rad ustvaril paket.
- Močnemu uporu je dodano upravljanje temperaturne meje, tako da lahko blokiram proces, ko temperatura naraste nad 70 ° (pri tej temperaturi se upor moči zmanjša).
v0.3
Kmalu prihaja oglasna deska te storitve
2. korak: V0.2 odbora
V v0.2 za podporo različnih vrst baterij sem ustvaril strukturo, ki mora biti napolnjena z imenom baterije, minimalno napetostjo in največjo napetostjo (potrebujem pomoč pri polnjenju: P).
// Struktura tipa baterijestruktura BatteryType {char ime [10]; float maxVolt; plavajoči minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType vrsta baterije [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v kislina", 6.50, 5.91 }};
Zdaj uporabljam niz 10k uporov za delilnik napetosti za branje dvojne temperature analognega vhoda. Če želite spremeniti napetostno podporo, morate to vrednost spremeniti (bolje pojasnite v nadaljevanju):
// Odpornost napetosti akumulatorja
#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Upor napetosti močnega upora #define RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0
Če ne uporabljate termistorja, nastavite to vrednost na false:
#define USING_BATTERY_TERMISTOR drži
#define USING_RESISTO_TERMISTOR true
Če uporabljate drug zaslon i2c, morate to metodo znova zapisati:
void draw (void)
V projektu lahko najdete sheme, fotografije in drugo.
3. korak: Ogledna plošča: razširjen krmilnik za prikaz znakov I2c
Uporabil sem splošni prikaz znakov in izdelal krmilnik i2c ter ga uporabil s svojo knjižnico po meri.
Če pa želite, lahko vzamete običajen krmilnik i2c (manj kot 1 €) s standardno knjižnico, koda ostane enaka. Vsa koda prikaza je v funkciji risanja, tako da lahko to spremenite brez spreminjanja drugih stvari.
Bolje razložiti tukaj.
4. korak: Ogledna plošča: prikaz znakov z vgrajenim I2c
Ista shema brez nadzorovanega i2c je razširjena.
5. korak: Uresničitev
Za merjenje napetosti uporabljamo načelo delilnika napetosti (več informacij na Wikipediji).
Z enostavnimi besedami je ta koda multiplikacijski faktor za merjenje napetosti akumulatorja.
batResValueGnd / (batResValueVolt + batResValueGnd)
Vstavil sem 2 upora vrednosti batResValueVolt in batResValueGnd po in pred analogno žico za branje.
batVolt = (vzorec1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;
vzorec 1 je povprečni analogni odčitek;
vcc referenčna napetost Arduino;
1023,0 je referenčna največja vrednost analognega branja (analogno branje Arduino gre od 0 do 1023).
Če želite dobiti jakost toka, potrebujete napetost po in pred močnostnim uporom.
Ko izmerite napetost po in pred močnostnim uporom, lahko izračunate miliampere, ki porabijo baterijo.
MOSFET se uporablja za zagon in ustavitev praznjenja baterije iz močnostnega upora.
Zaradi varnosti sem vstavil 2 termistorja za spremljanje temperature akumulatorja in močnostnega upora.
6. korak: Razširljivost
Poskušam ustvariti prototipno ploščo, ki je razširljiva, vendar za zdaj uporabljam le minimalen nabor zatičev (v prihodnosti bom dodal LED in druge gumbe).
Če želite podporno napetost večjo od 10v, morate spremeniti vrednost upora upora in upora upora v skladu s formulo
(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)
v shemi Napetost napetosti upora
Moč napetosti upora GND 1/2/(Moč napetosti upora 2/2 + Moč napetosti upora GND 1/2)
Roza je spajkanje navzdol
7. korak: Seznam delov
Količina Lastnosti vrste dela
- 2 5 mm vijačni priključek Vijačni priključni blok za pritrditev na PCB 8A 250V LW SZUS (eBay)
- 1 klon Arduino Pro Mini (združljiv Nano) (eBay)
- 1 osnovni FET P-kanalni IRF744N ali IRLZ44N (eBay)
- 11 10kΩ uporni upor 10kΩ (eBay)
- 2 temperaturni senzor (termistor) 10 kΩ; (eBay)
- * Splošna oblika moške glave ♂ (moški); (eBay)
- * Splošna oblika ženske glave ♀ (ženska); (eBay)
- 1 plošča PerfBoard Prototipna plošča 24x18 (eBay)
-
10R, 10W
napajalni upor (eBay) Svojega najdem v starem televizorju crt.
8. korak: plošča: ponastavite, z gumbom Gnd E izberite baterijo
V levem delu zatičev najdete gumb in zvočni signal.
Uporabljam 3 gumbe:
- ena za spremembo vrste baterije;
- eden za začetek praznjenja izbrane baterije;
- nato uporabim reset pin, da znova zaženem vse in aktiviram novo operacijo.
Vsi zatiči so že potegnjeni navzdol, zato jih morate aktivirati z VCC
Ponastavitev se aktivira z GND
Roza je spajkanje navzdol
9. korak: Plošča: I2c in zatiči za napajanje
Na dnu lahko vidite VCC, GND in SDA, SCL za prikaz (in drugo v prihodnosti).
Roza je spajkanje navzdol
10. korak: Plošča: Termistor in merilna napetost
Na desni so zatiči za odčitavanje vrednosti termistorja, enega za termistor napajalnika in drugega za (moški/ženski zatiči za pritrditev) baterijskega termistorja.
Potem so na voljo analogni zatiči, ki merijo diferencialno napetost po in pred močnostnim uporom.
Roza je spajkanje navzdol
11. korak: Plošča: Upor do merilne napetosti
Tukaj lahko vidite upor, ki dovoljuje, da podpira napetost dvojno kot arduino pin (10v), to morate spremeniti, da podpira večjo napetost.
Roza je spajkanje navzdol
12. korak: Korak spajkanja: vsi zatiči
Najprej dodam vse zatiče in ga spajkam.
13. korak: Koraki spajkanja: izvlečni upor in termistor
Nato dodam ves spustni rezitor (za gumbe) in priključek i2c (zaslon).
Potem je termistor močnega upora zelo pomemben, saj se kislinska baterija preveč segreje.
Korak 14: Koraki spajkanja: MOSFET, odpornost na preverjeno napetost
Zdaj moramo vstaviti MOSFET, da aktiviramo praznjenje in upor za preverjanje napetosti.
2 upor za napetost pred močnostnim uporom 2 upor za napetost po močnostnem uporu, ko imate to napetost, lahko izračunate miliampere.
15. korak: Koda
Mikrokrmilnik je združljiv z nano, zato morate za nalaganje Arduino Nano nastaviti svoj IDE.
Za delo morate prenesti kodo iz mojega skladišča github.
Nato morate dodati 3 knjižnice:
- Wire: standardna arduino knjižnica za protokol i2c;
- Knjižnica Termistor od tu ni knjižnica, ki jo najdete v arduino IDE, ampak moja različica;
- LiquidCrystal_i2c: če uporabljate razširjeno/prilagojeno različico vmesnika i2c (moja različica), morate knjižnico prenesti od tu, če uporabljate standardno komponento, jo lahko vzamete iz arduino IDE, vendar je tukaj vse bolje razloženo.
LCD -jev ne preizkušam s standardno knjižnico, zdi se mi, da so zamenljivi, če pa pride do kakšne težave, pa me kontaktirajte.
Korak 16: Rezultat po sestavljanju
Osnovna plošča je na fotografiji, nato jo lahko preizkusimo.
Korak 17: Najprej izberite vrsto baterije
Kot je opisano, imamo zemljevid vrednosti s konfiguracijo baterije.
// Struktura tipa baterijestruktura BatteryType {char ime [10]; float maxVolt; plavajoči minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType vrsta baterije [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v kislina", 6.50, 5.91 }};
18. korak: Začnite prazniti
Kliknite drugi gumb za začetek praznjenja.
Na zaslonu lahko vidite trenutne miliampere, miliampere/ure, odstotek praznjenja, napetost baterije in temperaturo močnega upora in baterije.
Korak 19: Izjeme: Odstranjena baterija
Če odstranite postopek praznjenja akumulatorja, se bo postopek ustavil, ko ga znova vstavite, se znova zažene pri zadnji vrednosti.
20. korak: Izjeme: temperaturno opozorilo
Če se temperatura (baterija ali močnostni upor) segreje, se postopek praznjenja ustavi.
#define BATTERY_MAX_TEMP 50
#define RESISTANCE_MAX_TEMP 69 // 70 ° na podatkovnem listu (upočasnjeni upori) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20
Privzeta vrednost za največjo temperaturo je 50 ° za baterijo in 69 za močnostni upor.
Kot lahko vidite v komentarju, na močnostni upor vpliva zmanjšanje, ko gre za več kot 70 °.
Če je opozorilo zvišano, začnite s TEMP_TO_REMOVE_ON_MAX_TEMP sekundami premora, da nastavite nizko temperaturo.
21. korak: Preizkusite amperažo
Rezultat preskusa jakosti toka je dober.
Korak: Paket
Z ločeno komponento je paketni rezultat enostavno uresničljiv.
V škatli mora biti pravokotnik za LCD, luknje za potisne gumbe in zunanji ženski sod za napajanje napetosti iz napajalnika.
Potisni gumb ne potrebuje izvlečnega upora, ker sem ga dodal že na krovu.
Ko imam nekaj časa, ga ustvarim in objavim.
Priporočena:
Preverjevalnik onesnaženja razreda CPC: 10 korakov
CPC Class Polution Checker: Pozdravljeni, študent sem iz Belgije in to je moj prvi velik projekt za diplomo! Ta Instructable govori o tem, kako narediti merilnik zračne emisije za zaprte sobe, zlasti za učilnice! Slišim, kako razmišljate, zakaj ta projekt? No, vse je sta
DIY žepni preverjevalnik temperature zraka: 6 korakov
DIY žepni preverjevalnik temperature zraka: za to bomo uporabili zaslon Nokia 5110, digitalni temperaturni modul in Arduino Uno. Potreben je tudi priključek 9 V z žicami, ne s sodom, skupaj s stikalom in žicami. Morda boste potrebovali spajkalnik, lahko pa tudi samo zvite žice
Robot za izbiro in namestitev na podlagi RFID: 4 koraki
Robot za izbiro in namestitev na podlagi RFID: Že vrsto let ljudje poskušajo nadomestiti človeško delo s stroji. Stroji, imenovani roboti, so hitrejši in učinkovitejši od ljudi. Izraz robotika je praktično opredeljen kot preučevanje, načrtovanje in uporaba robotskih sistemov za proizvodnjo. Roboti so g
Robot za izbiro in postavitev baze Arduino: 8 korakov
Arduino Base Pick and Place Robot: Naredil sem super poceni (manj kot 1000 dolarjev) industrijsko robotsko roko, ki študentom omogoča, da vdrejo v obsežnejšo robotiko in majhnim lokalnim produkcijam omogoča uporabo robotov v svojih procesih, ne da bi pri tem zlomil banko. Njegov Eassy za gradnjo in izdelavo
Preverjevalnik vrtljajev za mini motor Dc: 11 korakov (s slikami)
Preverjevalnik vrtljajev za mini motor Dc: število vrtljajev na minuto, na kratko je hitrost vrtenja, izražena v vrtljajih v minuti. orodja za merjenje vrtljajev običajno uporabljajo tahometer. Lansko leto se mi je zdel zanimiv projekt, ki ga je izdelal electro18, in to je moj navdih, on je bil nor