Kazalo:

Preverjevalnik baterije s temperaturo in izbiro baterije: 23 korakov (s slikami)
Preverjevalnik baterije s temperaturo in izbiro baterije: 23 korakov (s slikami)

Video: Preverjevalnik baterije s temperaturo in izbiro baterije: 23 korakov (s slikami)

Video: Preverjevalnik baterije s temperaturo in izbiro baterije: 23 korakov (s slikami)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Julij
Anonim
Image
Image
Spremeni iz osnovnega projekta
Spremeni iz osnovnega projekta

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

V0.2 upravnega odbora
V0.2 upravnega 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

Ogledna plošča: razširjen krmilnik za prikaz znakov I2c
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

Ogledna plošča: prikaz znakov z vgrajenim I2c
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

Razširljivost
Razširljivost
Razširljivost
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

Plošča: ponastavite, z gumbom Gnd E izberite baterijo
Plošča: ponastavite, z gumbom Gnd E izberite baterijo

V levem delu zatičev najdete gumb in zvočni signal.

Uporabljam 3 gumbe:

  1. ena za spremembo vrste baterije;
  2. eden za začetek praznjenja izbrane baterije;
  3. 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

Plošča: I2c in napajalni zatiči
Plošča: I2c in napajalni zatiči

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

Plošča: Termistor in merilna napetost
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

Plošča: upor do merilne napetosti
Plošča: upor do merilne napetosti
Plošča: upor do merilne napetosti
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

Korak spajkanja: vsi zatiči
Korak spajkanja: vsi zatiči
Korak spajkanja: vsi zatiči
Korak spajkanja: vsi zatiči

Najprej dodam vse zatiče in ga spajkam.

13. korak: Koraki spajkanja: izvlečni upor in termistor

Koraki spajkanja: izvlečni upor in termistor
Koraki spajkanja: izvlečni upor in termistor
Koraki spajkanja: izvlečni upor in termistor
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

Koraki spajkanja: MOSFET, odpornost na preverjeno napetost
Koraki spajkanja: MOSFET, odpornost na preverjeno napetost
Koraki spajkanja: MOSFET, odpornost na preverjeno napetost
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:

  1. Wire: standardna arduino knjižnica za protokol i2c;
  2. Knjižnica Termistor od tu ni knjižnica, ki jo najdete v arduino IDE, ampak moja različica;
  3. 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

Image
Image
Rezultat po sestavljanju
Rezultat po sestavljanju
Rezultat po sestavljanju
Rezultat po sestavljanju

Osnovna plošča je na fotografiji, nato jo lahko preizkusimo.

Korak 17: Najprej izberite vrsto baterije

Najprej izberite vrsto baterije
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

Začnite prazniti
Začnite prazniti
Začnite prazniti
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

Image
Image
Izjeme: temperaturno opozorilo
Izjeme: temperaturno opozorilo

Č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

Izjeme: temperaturno opozorilo
Izjeme: temperaturno opozorilo
Izjeme: temperaturno opozorilo
Izjeme: temperaturno opozorilo
Izjeme: temperaturno opozorilo
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

Preskusna amperaža
Preskusna amperaža

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: