Weil der Thread nun da ist:
Hier meine Lösung für eine Anzeige mit Unterspannungsschutz (keine Einzelzellenüberwachung), für praktisch jede Spannung konfigurierbar (hier für einen 3s-Pack realisiert).
Strom etwa 6A dauerstrom mit diesem Mosfet (auf der Rückseite der Platine IRF7456). Basiert auf einem ATTiny13.
Der komplette Teil über den LEDs kann nach der Programmierung abgesägt werden, da dies nur dazu dient und auch auf der Unterseite frei von nutzelektronik und Verbindungen ist.
Die Anzeige erfolgt in folgenden Schritten:
rot, ge und gn an
rot, ge an gn blinkt
rot und ge an
rot an ge blinkt
rot an
rot blinkt, dann ist auch der Ausgang aus!
Pegel frei programmierbar, Spannungsteiler und Versorgungswiderstand muß nur angepasst werden. Stromaufnahme bei leerem Akku <10mA (ist nicht für Dauerverbindung geeignet, könnte man aber so umprogrammieren jedoch fließt bei U>4,7V immer strom durch die Z-Dioden-Begrenzung, auch wenn der uc nichts zieht.
Hier das Board:
Und hier das Programm in Bascom:
' Batteriewächter für 3s LiIon-Pack LEDs: Rot PB0, Gelb PB2, Grün PB4, Mosfet PB1 Analogeingang PB3 über 10k/470R-Teiler
$regfile = "ATtiny13.DAT"
$crystal = 1200000
$tiny
Ddrb = &B00010111
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
Admux = &B01100011
Adcsra = &B11100000
Portb.0 = 1
Waitms 500
Portb.2 = 1
Waitms 500
Portb.4 = 1
Waitms 500
Portb = 0
Const Tot = 85
Const Leer = 97 ' bei Teiler 10k/470R etwa 10,45/V
Const Fastleer = 110
Const Halb = 116
Const Voll = 122
Main:
Do
If Adch >= Voll Then
Portb = &B00010111
Waitms 300
Goto Main
Elseif Adch >= Halb Then
Portb = &B00010111
Waitms 300
Portb.4 = 0
Waitms 300
Goto Main
Elseif Adch >= Fastleer Then
Portb = &B00000111
Goto Main
Elseif Adch >= Leer Then
Portb = &B00000111
Waitms 300
Portb.2 = 0
Waitms 300
Goto Main
Elseif Adch >= Tot Then
Portb = &B00000011
Goto Main
Elseif Adch < Tot Then
Portb = &B00000001
Waitms 300
Portb.0 = 0
Waitms 300
Wait 2
Goto Main
End If
Loop
Gruß
Thomas