Obsah:

Kontrola batérie s teplotou a výberom batérie: 23 krokov (s obrázkami)
Kontrola batérie s teplotou a výberom batérie: 23 krokov (s obrázkami)

Video: Kontrola batérie s teplotou a výberom batérie: 23 krokov (s obrázkami)

Video: Kontrola batérie s teplotou a výberom batérie: 23 krokov (s obrázkami)
Video: ANDROID MÁ JEDNO SKRYTÉ NASTAVENÍ 🤖 2024, November
Anonim
Image
Image
Zmena zo základného projektu
Zmena zo základného projektu

Tester kapacity batérie.

Pomocou tohto zariadenia môžete skontrolovať kapacitu batérie 18650, kyseliny a iných (najväčšia batéria, ktorú som testoval, je to 6v Acid battery 4, 2A). Výsledok testu je v miliampéroch/hodiny.

Vytváram toto zariadenie, pretože potrebujem skontrolovať kapacitu falošnej čínskej batérie.

Z dôvodu bezpečnosti som pomocou termistora dodal teplotu silového odporu a batérie, aby sa zabránilo príliš vysokému zahrievaniu. Pomocou tohto triku môžem skontrolovať 6v kyselinovú batériu bez spustenia dosky (v cykle vybíjania nejaký čas prejdite na horúci výkonový odpor a zariadenie počkajte 20 sekúnd na zníženie teploty).

Vybral som malý mikroprocesor kompatibilný s nano (eBay) kompatibilným s atmega328.

Celý kód je tu.

Krok 1: Zmena zo základného projektu

Ukradol som myšlienku z projektu OpenGreenEnergy a prerobil som dosku, aby som pridal funkcie, takže sa teraz staňte všeobecnejšími.

v0.1

  • VCC Arduina sa teraz automaticky vypočítava;
  • Pridaná premenná na pohodlnejšie zmenu nastavenia.
  • Pridané percento vybitia
  • Pridaná teplota batérie a výkonového rezistora

v0.2

  • Pridaná možnosť výberu batérie
  • Bol vytvorený prototyp dosky (pozri schému) s obrazovkou, tlačidlom a reproduktorom mimo dosky, pretože v budúcnosti by som chcel vytvoriť balík.
  • Pridaná správa teplotného limitu k výkonovému rezistoru, aby som mohol zablokovať proces, keď teplota stúpne nad 70 ° (nad touto teplotou sa výkonový odpor znižuje).

v0.3

Čoskoro bude predstavenstvo z tejto služby

Krok 2: V0.2 rady

V0.2 predstavenstva
V0.2 predstavenstva

Vo v0.2 na podporu rôznych typov batérií som vytvoril štruktúru, ktorá musí byť vyplnená názvom batérie, minimálnym a maximálnym napätím (potrebujem pomoc s jeho naplnením: P).

// Štruktúra typu batérie, štruktúra, BatteryType {char name [10]; float maxVolt; float 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 }};

Teraz používam sadu 10k odporov na delič napätia na čítanie dvojnásobnej teploty analógového vstupu. Ak chcete zmeniť podporu napätia, musíte zmeniť túto hodnotu (lepšie to vysvetlite ďalej):

// Odpor napätia batérie

#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Napäťový odpor výkonového odporu #define RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0

Ak nepoužívate termistor, nastavte ho na hodnotu false:

#define USING_BATTERY_TERMISTOR pravda

#define USING_RESISTO_TERMISTOR pravda

Ak používate iný displej i2c, musíte túto metódu prepísať:

void draw (void)

V projekte nájdete mrazivé schémy, fotografie a ďalšie.

Krok 3: Breadboard: Ovládač zobrazenia znakov I2c bol rozšírený

Breadboard: Ovládač zobrazenia znakov I2c rozšírený
Breadboard: Ovládač zobrazenia znakov I2c rozšírený

Použil som generický znakový displej a postavil som radič i2c a používal ho s vlastnou knižnicou.

Ale ak chcete, môžete si vziať bežný ovládač i2c (menej ako 1 €) so štandardnou knižnicou, kód zostáva rovnaký. Všetok kód zobrazenia je vo funkcii kreslenia, takže to môžete zmeniť bez toho, aby ste museli meniť ostatné veci.

Tu je to lepšie vysvetlené.

Krok 4: Breadboard: zobrazenie znakov s integrovaným I2c

Breadboard: zobrazenie znakov s integrovaným I2c
Breadboard: zobrazenie znakov s integrovaným I2c

Rozbalila sa rovnaká schéma bez ovládania i2c.

Krok 5: Realizácia

Na meranie napätia používame princíp deliča napätia (viac informácií na Wikipédii).

Jednoducho povedané, tento kód je multiplikačným faktorom merania napätia batérie.

batResValueGnd / (batResValueVolt + batResValueGnd)

Vložil som 2 odpory hodnoty batResValueVolt a batResValueGnd za a pred analógový čítací vodič.

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

vzorka1 je priemerná analógová hodnota;

vcc referenčné napätie Arduino;

1023.0 je referenčná maximálna hodnota analógového čítania (analógové čítanie Arduino sa pohybuje od 0 do 1023).

Na získanie prúdu potrebujete napätie pred a pred výkonovým odporom.

Keď máte zmerané napätie po a pred výkonovým odporom, môžete vypočítať miliampér, ktoré spotrebúvajú batériu.

MOSFET sa používa na spustenie a zastavenie vybíjania batérie z výkonového rezistora.

Z bezpečnostných dôvodov som vložil 2 termistory na monitorovanie teploty batérie a výkonového odporu.

Krok 6: Rozšíriteľnosť

Rozšíriteľnosť
Rozšíriteľnosť
Rozšíriteľnosť
Rozšíriteľnosť

Pokúšam sa vytvoriť prototyp dosky, ktorý je možné rozšíriť, ale zatiaľ používam iba minimálnu sadu pinov (v budúcnosti pridám LED diódy a ďalšie tlačidlá).

Ak chcete podporné napätie vyššie ako 10 V, musíte zmeniť hodnotu odporu batérie a odpor podľa vzorca

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

v schéme Napájacie napätie rezistora

Napájacie napätie rezistora GND 1/2/(výkonové napätie rezistora 2/2 + silové napätie rezistora GND 1/2)

Pink je dole spájkovanie

Krok 7: Zoznam dielov

Vlastnosti typu súčiastky

  • 2 5 mm skrutkovacia svorka Vnútorná skrutková svorkovnica na dosku plošných spojov 8A 250V LW SZUS (eBay)
  • 1 klon Arduino Pro Mini (kompatibilný s Nano) (eBay)
  • 1 základný FET P-kanál IRF744N alebo IRLZ44N (eBay)
  • 11 10kΩ odporový odpor 10kΩ (eBay)
  • 2 teplotný snímač (termistor) 10 kΩ; (eBay)
  • * Obecný tvar hlavičky mužského pohlavia ♂ (muž); (eBay)
  • * Generický ženský tvar hlavičky ♀ (žena); (eBay)
  • 1 doska PerfBoard Prototypová doska 24 x 18 (eBay)
  • 10R, 10W

    výkonový odpor (eBay) Môj nájdem v starom crt televízore.

Krok 8: Doska: Reset, Gnd E Tlačidlo na výber batérie

Doska: Reset, Gnd E Tlačidlo na výber batérie
Doska: Reset, Gnd E Tlačidlo na výber batérie

V ľavej časti pinov nájdete tlačidlo a bzučiak.

Používam 3 tlačidlá:

  1. jeden na zmenu typu batérie;
  2. jeden na spustenie vybíjania vybranej batérie;
  3. potom pomocou resetovacieho kolíka všetko reštartujem a aktivujem novú operáciu.

Všetky kolíky sú už stiahnuté, takže ich musíte aktivovať pomocou VCC

Reset sa aktivuje pomocou GND

Pink je dole spájkovanie

Krok 9: Doska: I2c a kolíky napájacieho zdroja

Doska: I2c a kolíky napájacieho zdroja
Doska: I2c a kolíky napájacieho zdroja

Na základni vidíte VCC, GND a SDA, SCL pre zobrazenie (a ďalšie v budúcnosti).

Pink je dole spájkovanie

Krok 10: Doska: termistor a meracie napätie

Doska: Termistor a meracie napätie
Doska: Termistor a meracie napätie

Vpravo sú kolíky na čítanie hodnoty termistora, jeden pre termistor rezistora napájania a druhý pre (male/female piny na pripojenie) termistor batérie.

Potom existujú analógové kolíky, ktoré merajú diferenciálne napätie po a pred výkonovým odporom.

Pink je dole spájkovanie

Krok 11: Doska: odpor k meraciemu napätiu

Doska: Odpor voči meraciemu napätiu
Doska: Odpor voči meraciemu napätiu
Doska: Odpor voči meraciemu napätiu
Doska: Odpor voči meraciemu napätiu

Tu vidíte odpor, ktorý umožňuje podporovať napätie dvojnásobné ako arduino pin (10v), musíte to zmeniť, aby podporovalo viac napätia.

Pink je dole spájkovanie

Krok 12: Spájkovanie Krok: Všetky kolíky

Krok spájkovania: všetky kolíky
Krok spájkovania: všetky kolíky
Krok spájkovania: všetky kolíky
Krok spájkovania: všetky kolíky

Najprv pridám všetky piny a spájkujem to.

Krok 13: Spájkovacie kroky: rozbaľovací odpor a termistor

Spájkovacie kroky: pulzný odpor a termistor
Spájkovacie kroky: pulzný odpor a termistor
Spájkovacie kroky: pulzný odpor a termistor
Spájkovacie kroky: pulzný odpor a termistor

Potom pridám všetok pulldown rezistor (pre tlačidlá) a konektor i2c (displej).

Potom termistor s výkonovým odporom Je to veľmi dôležité, pretože kyslá batéria je príliš horúca.

Krok 14: Spájkovacie kroky: MOSFET, odpor voči kontrolnému napätiu

Kroky spájkovania: MOSFET, odpor voči kontrolnému napätiu
Kroky spájkovania: MOSFET, odpor voči kontrolnému napätiu
Kroky spájkovania: MOSFET, odpor voči kontrolnému napätiu
Kroky spájkovania: MOSFET, odpor voči kontrolnému napätiu

Teraz musíme vložiť mosfet, aby sa aktivovalo vybíjanie a odpor voči kontrolnému napätiu.

2 odpor pre napätie pred výkonovým odporom 2 odpor pre napätie za výkonovým odporom, keď máte toto napätie, môžete vypočítať spotrebu miliampéra.

Krok 15: Kód

Mikrokontrolér je kompatibilný s nano, takže musíte nastaviť IDE na nahrávanie Arduino Nano.

Aby fungovalo, musíte si stiahnuť kód z môjho úložiska github.

Potom musíte pridať 3 knižnice:

  1. Drôt: štandardná arduino knižnica pre protokol i2c;
  2. Knižnica Termistor tu nie je knižnica, ktorú nájdete v arduino IDE, ale moja verzia;
  3. LiquidCrystal_i2c: ak používate rozšírenú/vlastnú verziu adaptéra i2c (moja verzia), musíte si stiahnuť knižnicu odtiaľto, ak používate štandardný komponent, môžete si stiahnuť knižnicu z arduino IDE, ale všetko je lepšie vysvetlené tu.

Netestujem LCD so štandardnou knižnicou, zdá sa mi, že sú zameniteľné, ale ak sa vyskytne nejaký problém, kontaktujte ma.

Krok 16: Výsledok po montáži

Image
Image
Výsledok po montáži
Výsledok po montáži
Výsledok po montáži
Výsledok po montáži

Základná doska je na fotografii, potom ju môžeme vyskúšať.

Krok 17: Najprv vyberte typ batérie

Najprv vyberte typ batérie
Najprv vyberte typ batérie

Ako je popísané, máme mapu hodnôt s konfiguráciou batérie.

// Štruktúra typu batérie, štruktúra, BatteryType {char name [10]; float maxVolt; float 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 }};

Krok 18: Začnite vybíjať

Začnite vybíjať
Začnite vybíjať
Začnite vybíjať
Začnite vybíjať

Kliknutím na druhé tlačidlo spustíte vybíjanie.

Na displeji vidíte aktuálny miliampér, miliampér/hodinu, percento vybitia, napätie batérie a teplotu výkonového rezistora a batérie.

Krok 19: Výnimky: Batéria vybratá

Image
Image
Výnimky: Teplotný alarm
Výnimky: Teplotný alarm

Ak odstránite proces vybíjania batérie, ktorý sa pozastaví, po opätovnom vložení sa reštartuje na poslednej hodnote.

Krok 20: Výnimky: Teplotné upozornenie

Výnimky: Teplotný alarm
Výnimky: Teplotný alarm
Výnimky: Teplotný alarm
Výnimky: Teplotný alarm
Výnimky: Teplotný alarm
Výnimky: Teplotný alarm

Ak sa teplota (batéria alebo napájací odpor) zvýši, proces vybíjania sa pozastaví.

#define BATTERY_MAX_TEMP 50

#define RESISTANCE_MAX_TEMP 69 // 70 ° v technickom liste (Derating odpory) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20

Predvolená hodnota pre maximálnu teplotu je 50 ° pre batériu a 69 pre výkonový odpor.

Ako vidíte na komentári, výkonový odpor je ovplyvnený znížením výkonu pri prechode nad 70 °.

Ak je upozornenie vyvolané, začnite TEMP_TO_REMOVE_ON_MAX_TEMP sekundami prestávky na zníženie teploty.

Krok 21: Otestujte prúd

Testovací prúd
Testovací prúd

Výsledok testu prúdu je dobrý.

Krok 22: Balíček

Vďaka oddelenej zložke je výsledok balíka ľahko realizovateľný.

V krabici musíte urobiť obdĺžnik pre LCD, otvory pre tlačidlá a externú zásuvku na napájanie z napájacieho zdroja.

Tlačidlo nepotrebuje sťahovací odpor, pretože som ho už pridal.

Keď mám čas, vytvorím a zverejním.

Odporúča: