Obsah:
- Krok 1: Přechod ze základního projektu
- Krok 2: V0.2 rady
- Krok 3: Breadboard: I2c Character Display Controller Expanded
- Krok 4: Breadboard: Zobrazení znaků s integrovaným I2c
- Krok 5: Realizace
- Krok 6: Rozšiřitelnost
- Krok 7: Seznam dílů
- Krok 8: Deska: Reset, tlačítkem Gnd E vyberte baterii
- Krok 9: Deska: I2c a napájecí kolíky
- Krok 10: Deska: Termistor a měřicí napětí
- Krok 11: Deska: Rezistor k měřicímu napětí
- Krok 12: Pájení Krok: Všechny kolíky
- Krok 13: Pájecí kroky: Pulldown odpor a termistor
- Krok 14: Pájecí kroky: MOSFET, odpor ke kontrole napětí
- Krok 15: Kód
- Krok 16: Výsledek po sestavení
- Krok 17: Nejprve vyberte typ baterie
- Krok 18: Začněte vybíjet
- Krok 19: Výjimky: Baterie odstraněna
- Krok 20: Výjimky: Teplotní upozornění
- Krok 21: Otestujte proud
- Krok 22: Balíček
Video: Kontrola baterie s teplotou a výběrem baterie: 23 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Tester kapacity baterie.
S tímto zařízením můžete zkontrolovat kapacitu baterie 18650, kyseliny a dalších (největší baterie, kterou jsem testoval, je to 6v Acid battery 4, 2A). Výsledek testu je v miliampérech/hodiny.
Vytvořil jsem toto zařízení, protože potřebuji zkontrolovat kapacitu falešné porcelánové baterie.
Z důvodu bezpečnosti jsem pomocí termistoru dodal teplotu napájecího odporu a baterie, aby se předešlo příliš vysokému zahřátí, pomocí tohoto triku mohu zkontrolovat 6v kyselinovou baterii bez vypálení desky (v cyklu vybíjení nějakou dobu přejděte na horký napájecí odpor a zařízení počkejte 20 sekund na snížení teploty).
Vybral jsem malý mikrořadič atmega328 kompatibilní nano (eBay).
Veškerý kód je zde.
Krok 1: Přechod ze základního projektu
Ukradl jsem myšlenku z projektu OpenGreenEnergy a předělal jsem desku, abych přidal funkce, takže teď začnu být obecnější.
v0.1
- VCC Arduina se nyní automaticky vypočítá;
- Přidána proměnná pro pohodlnější změnu nastavení.
- Přidáno procento vybíjení
- Přidána teplota baterie a výkonového rezistoru
v0.2
- Přidána možnost výběru baterie
- Byla vytvořena prototypová deska (viz schéma) s obrazovkou, tlačítkem a reproduktorem mimo desku, protože v budoucnu bych chtěl vytvořit balíček.
- Přidána správa teplotního limitu výkonového rezistoru, takže mohu blokovat proces, když teplota stoupne nad 70 ° (přes tuto teplotu silový odpor snižuje výkon).
v0.3
Již brzy deska z této služby
Krok 2: V0.2 rady
Ve v0.2 na podporu různých typů baterií jsem vytvořil strukturu, která musí být vyplněna názvem baterie, minimálním a maximálním napětím (potřebuji pomoc s jeho naplněním: P).
// Struktura baterie typestruct 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 }};
Nyní používám sadu 10k odporů pro dělič napětí ke čtení dvojnásobné teploty analogového vstupu. Pokud chcete změnit podporu napětí, musíte tuto hodnotu změnit (dále vysvětlete lépe):
// Odpor napětí baterie
#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Napěťový odpor výkonového rezistoru #define RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0
Pokud termistor nepoužíváte, nastavte na hodnotu false:
#define USING_BATTERY_TERMISTOR true
#define USING_RESISTO_TERMISTOR true
Pokud používáte jiný displej i2c, musíte tuto metodu přepsat:
void draw (void)
V projektu najdete mračná schémata, fotografie a další.
Krok 3: Breadboard: I2c Character Display Controller Expanded
Použil jsem obecný znakový displej a postavil jsem řadič i2c a používal ho s vlastní knihovnou.
Pokud ale chcete, můžete si vzít běžný ovladač i2c (méně než 1 €) se standardní knihovnou, kód zůstává stejný. Veškerý kód zobrazení je ve funkci kreslení, takže to můžete změnit, aniž byste změnili další věci.
Lepší vysvětlení zde.
Krok 4: Breadboard: Zobrazení znaků s integrovaným I2c
Rozbaleno stejné schéma bez i2c řízeného.
Krok 5: Realizace
Pro měření napětí používáme princip Dělič napětí (více informací na Wikipedii).
Jednoduše řečeno, tento kód je multiplikačním faktorem pro měření napětí baterie.
batResValueGnd / (batResValueVolt + batResValueGnd)
Za a před analogový čtecí vodič jsem vložil 2 odpory hodnoty batResValueVolt a batResValueGnd.
batVolt = (sample1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;
sample1 je průměrná analogová hodnota;
vcc referenční napětí Arduino;
1023.0 je referenční maximální hodnota analogového čtení (analogové čtení Arduino se pohybuje od 0 do 1023).
Chcete -li získat proud, potřebujete napětí po a před napájecím odporem.
Když máte změřené napětí po a před výkonovým odporem, můžete vypočítat miliampér, který spotřebovává baterii.
MOSFET slouží ke spuštění a zastavení vybíjení baterie z výkonového rezistoru.
Z bezpečnostních důvodů jsem vložil 2 termistory pro sledování teploty baterie a napájecího rezistoru.
Krok 6: Rozšiřitelnost
Snažím se vykrmit prototyp desky, který je rozšiřitelný, ale prozatím používám pouze minimální sadu pinů (v budoucnu přidám LED a další tlačítka).
Pokud chcete podpůrné napětí větší než 10v, musíte podle vzorce změnit hodnotu odporu baterie a odpor
(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)
ve schématu Napájecí napětí rezistoru
Napájecí napětí odporu GND 1/2/(Napájecí napětí odporu 2/2 + Napájecí napětí odporu GND 1/2)
Pink pájí dolů
Krok 7: Seznam dílů
Vlastnosti typu dílu Částka
- 2 šroubová svorka 5 mm Šroubová svorkovnice pro montáž na desku plošných spojů 8A 250V LW SZUS (eBay)
- 1 klon Arduino Pro Mini (kompatibilní Nano) (eBay)
- 1 základní FET P-Channel IRF744N nebo IRLZ44N (eBay)
- 11 10kΩ odporový odpor 10kΩ (eBay)
- 2 teplotní senzor (termistor) 10 kΩ; (eBay)
- * Obecný mužský záhlaví forma ♂ (muž); (eBay)
- * Obecný ženský záhlaví forma ♀ (žena); (eBay)
- 1 deska PerfBoard Prototype board 24x18 (eBay)
-
10R, 10W
silový odpor (eBay) Našel jsem ten svůj ve staré crt televizi.
Krok 8: Deska: Reset, tlačítkem Gnd E vyberte baterii
V levé části kolíků najdete tlačítko a bzučák.
Používám 3 tlačítka:
- jeden pro změnu typu baterie;
- jeden zahájí vybíjení vybrané baterie;
- pak pomocí resetovacího kolíku restartuji vše a aktivuji novou operaci.
Všechny kolíky jsou již staženy dolů, takže je musíte aktivovat pomocí VCC
Reset se aktivuje pomocí GND
Pink pájí dolů
Krok 9: Deska: I2c a napájecí kolíky
Na základně vidíte VCC, GND a SDA, SCL pro zobrazení (a další do budoucna).
Pink pájí dolů
Krok 10: Deska: Termistor a měřicí napětí
Vpravo jsou kolíky pro čtení hodnoty termistoru, jeden pro termistor pro odporový odpor a druhý pro (samčí/samičí kolíky k připojení) termistor baterie.
Pak existují analogové piny, které měří diferenciální napětí po a před výkonovým odporem.
Pink pájí dolů
Krok 11: Deska: Rezistor k měřicímu napětí
Zde vidíte odpor, který umožňuje podporovat napětí dvojnásobné než arduino pin (10v), musíte to změnit, aby podporovalo větší napětí.
Pink pájí dolů
Krok 12: Pájení Krok: Všechny kolíky
Nejprve přidám všechny piny a pájím to.
Krok 13: Pájecí kroky: Pulldown odpor a termistor
Poté přidám veškerý pulldown rezistor (pro tlačítka) a konektor i2c (displej).
Potom termistor s výkonovým odporem Je to velmi důležité, protože kyselá baterie je příliš horká.
Krok 14: Pájecí kroky: MOSFET, odpor ke kontrole napětí
Nyní musíme vložit mosfet k aktivaci vybíjení a odporu ke kontrole napětí.
2 odpor pro napětí před výkonovým odporem 2 odpor pro napětí za výkonovým odporem, když máte toto napětí, můžete vypočítat spotřebu miliampéra.
Krok 15: Kód
Mikrokontrolér je kompatibilní s nano, takže musíte nastavit IDE pro nahrání Arduino Nano.
Aby fungoval, musíte si stáhnout kód z mého úložiště github.
Poté musíte přidat 3 knihovny:
- Wire: standardní arduino knihovna pro protokol i2c;
- Knihovna termistorů odsud ne knihovna, kterou najdete v arduino IDE, ale moje verze;
- LiquidCrystal_i2c: pokud používáte rozšířenou/vlastní verzi adaptéru i2c (moje verze), musíte si knihovnu stáhnout odtud, pokud používáte standardní komponentu, můžete knihovnu převzít z arduino IDE, ale vše je lépe vysvětleno zde.
Netestuji LCD se standardní knihovnou, zdá se mi, že jsou zaměnitelné, ale pokud se vyskytne nějaký problém, kontaktujte mě.
Krok 16: Výsledek po sestavení
Základní deska je na fotografii, pak ji můžeme vyzkoušet.
Krok 17: Nejprve vyberte typ baterie
Jak je popsáno, máme mapu hodnoty s konfigurací baterie.
// Struktura baterie typestruct 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čněte vybíjet
Kliknutím na druhé tlačítko zahájíte vybíjení.
Na displeji vidíte aktuální miliampér, miliampér/hodiny, procento vybití, napětí baterie a teplotu napájecího rezistoru a baterie.
Krok 19: Výjimky: Baterie odstraněna
Pokud odeberete proces vybíjení baterie, který se pozastaví, po opětovném vložení se restartuje na poslední hodnotě.
Krok 20: Výjimky: Teplotní upozornění
Pokud se teplota (baterie nebo napájecí odpor) zahřeje, proces vybíjení se pozastaví.
#define BATTERY_MAX_TEMP 50
#define RESISTANCE_MAX_TEMP 69 // 70 ° on datasheet (Derating odpory) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20
Výchozí hodnota pro maximální teplotu je 50 ° pro baterii a 69 pro výkonový odpor.
Jak vidíte na komentáři, výkonový odpor je ovlivněn snížením výkonu při překročení 70 °.
Pokud je vyvolána výstraha, začněte TEMP_TO_REMOVE_ON_MAX_TEMP sekundy pauzy, aby se snížila teplota.
Krok 21: Otestujte proud
Výsledek testu proudu je dobrý.
Krok 22: Balíček
Díky oddělené složce je výsledek balíčku snadno realizovatelný.
V krabici je třeba udělat obdélník pro LCD, otvory pro tlačítka a externí zásuvku pro napájení z napájecího zdroje.
Tlačítko nepotřebuje stahovací odpor, protože jsem ho přidal již na palubu.
Když mám trochu času, vytvořím a zveřejním.
Doporučuje:
Výměna baterie iPhone 6 Plus: Průvodce výměnou interní baterie: 12 kroků (s obrázky)
Výměna baterie iPhonu 6 Plus: Průvodce výměnou interní baterie: Hej lidi, před nějakou dobou jsem vytvořil průvodce výměnou baterie iPhonu 6 a zdálo se, že pomohl spoustě lidem, takže zde je návod pro iPhone 6+. IPhone 6 a 6+ mají v podstatě stejnou konstrukci, s výjimkou zjevného rozdílu velikostí. Existuje
Relé řízené teplotou ESP8266: 9 kroků (s obrázky)
Relé řízené teplotou ESP8266: Můj přítel je vědec, který dělá experimenty, které jsou velmi citlivé na teplotu a vlhkost vzduchu. Místnost inkubátoru má malý keramický ohřívač, ale termostat ohřívače nebyl dostatečně přesný, dokázal udržet pouze teplotu
Indikátor stavu baterie DIY/automatické vypnutí baterie 12 V: 5 kroků (s obrázky)
Indikátor stavu baterie DIY/Automatické odpojení 12v baterie: DIYers … Všichni jsme prošli situací, kdy jsou naše špičkové nabíječky zaneprázdněny nabíjením těchto lithium -polymerových baterií, ale stále potřebujete nabíjet tuto 12v olověnou baterii a jedinou nabíječku, kterou jste dostal je slepý … Ano, slepý, protože
Hudební spektrum s digitálními hodinami a teplotou: 9 kroků (s obrázky)
Hudební spektrum s digitálními hodinami a teplotou: Jsme tu opět s projektem, který se vám bude líbit. Pokud rádi posloucháte hudbu a máte rádi vizualitu, tento projekt je pro vás. DIGITÁLNÍ HODINY HUDEBNÍ SPEKTRUM ELEKTRONICKÁ SADA S TEPLOTNÍM ZOBRAZENÍM Jedná se o elektronickou sadu. Když dokončíte pr
Odesílá sms s teplotou na čas: 5 kroků (s obrázky)
Zasílá sms s temperaturou včas: Cílem je získat SMS s temperaturou z domu mých otců. Nic efektního, jen rychlé skládání dílů dohromady. Díly jsou: Geekcreit ® Rozšiřující deska ATmega328P Nano V3 kompatibilní s ArduinoDIY NANO IO Shield V1.O pro ArduinoDS130