Batteriewächter
von Anja
Dieser Artikel nimmt am Artikelwettbewerb 2012/2013 teil.
Eigenschaften
- Schaltausgang zum Abschalten der Last bei Unterspannung
- Mikroprozessordesign mit PIC18F2520
- Geringer Stromverbrauch typ. 10µA
- Geringe Mindestspannung typ. 2.5V
- Optional bestückbares Ladeteil mit L200
- Breiter Einsatzbereich von 4-12 NiMH Zellen oder 6-12V Bleiakkus
- Leiterplatte angepasst für Frontplatte eines EG2-Aluminiumgehäuses (ProMa)
Anwendungen
- Batteriemanagement
- Aus Messwert gespeistes Panelmeter
Vorgeschichte
Eigentlich wollte ich nur eine einfache Anzeige für meine, per Akku gespeisten Referenzen: wann müssen die 9V-Blocks wieder ans Ladegerät. Ein einfaches Drehspulinstrument hätte es getan. Allerdings brauchen diese relativ viel Strom im Verhältnis zu einer ISL21009. Und bei einer Empfindlichkeit von 100µA sind sie auch nicht ganz billig.
Die nächste Idee: Eine low power Referenz und ein Komparator (oder gleich einen ICL7665). Nur: Was dann als Anzeige nehmen? Selbst eine low current LED braucht einige 100µA für die Anzeige.
Alternative Anzeigen wären eine einfache LCD Balkenanzeige wie im Handy. Diese sind allerdings nicht im DIP 8 Gehäuse erhältlich. Als Alternative bleiben eigentlich nur passive LC-Anzeigen mit 2-4 Digits.
Das Ganze zu takten war die nächste Idee. Also wie beim Rauchmelder nur kurze Mess- und Anzeigephasen um Strom zu sparen.
In der Zwischenzeit waren auch Referenzen im Programm, die eine Mindestspannung von 9V oder 14V benötigen. Die Anzahl der Zellen (8-12) ist also so gewachsen, dass die 16V des ICL7665 oder gängiger CMOS Logik nicht mehr ausreichen.
Schön wäre auch eine "richtige" Spannungsanzeige - also muss ein Prozessor her. Nachdem auch die ersten 9V-Blocks Schwächen wegen Tiefentladung zeigten, sollte das Ganze auch einen Unterspannungsschutz haben.
Zum damaligen Zeitpunkt gab es nur wenige Spannungsregler mit Eingangsspannungen bis 20 oder 25V und Eigenstromverbrauch unter 20µA. Und die auch nur von Farnell, also für Privat quasi unobtanium.
Eine Idee hatte ich schon länger um z.B. Uhrenchips im 12V-System zu betreiben: Ein normaler Sperrschicht-FET hat eine negative UGS-Spannung. Wenn man das Gate also an Masse anschließt müsste am Source eine halbwegs stabile Backup-Spannung übrig bleiben. Und das auch noch ohne dass der Spannungsregler einen nennenswerten Strom braucht.
Der Ehrgeiz war geweckt, es müsste doch möglich sein einen prozessorgesteuerten Komparator mit Spannungsanzeige bei unter 20µA Stromverbrauch und mit Versorgung direkt aus der Batterie im Bereich 5-20V zu entwickeln...
Blockschaltbild
Die Schaltung auf der Leiterplatte umfasst ein einfaches Ladeteil mit L200. Die Speisung erfolgt mit einem externen 24V Steckernetzteil. Ein Low-Power Spannungsregler erzeugt die VCC-Versorgung für den Prozessorteil. Der Prozessor misst die Akkuspannung sowie den Ladestrom und erzeugt das Steuersignal für die Endstufe. Auf dem Display werden die Akkuspannung sowie der Ladestrom angezeigt. Der Taster dient zum Ein-/Ausschalten der Last. Da der Leistungsteil je nach Last sehr unterschiedlich sein kann (z.B. BTS555 für Hochstromanwendungen), ist er außerhalb der Leiterplatte untergebracht. Als Schaltungsbeispiel wird eine Endstufe mit LT1763 gezeigt.
Ladeteil
Das Ladeteil ist eine Standardapplikation mit L200, ergänzt um einen Spannungsausgang für die Strommessung. Die maximale Ladespannung wird mittels Spannungsteiler R12 zu R11 eingestellt. R13 ist parallel zu R12 und wird für den Feinabgleich der Ausgangsspannung verwendet. Auf der Leiterplatte sind die Widerstände wahlweise als SMD (R11..R13) oder bedrahtet (R11A..R13A) bestückbar. R11A ist mit 820 Ohm bestückt. R12A mit 4K7 parallel zu R13A mit 130k ergibt 4K54. Die Ausgangsspannung von 18.1 V ergibt sich aus der Referenzspannung von 2.77V des L200 * (1 + 4540R/820R). R14 begrenzt den Strom auf ca. 200 mA (0.45V / 2R2). Diode D2 verhindert ein Entladen des Akkus wenn das Steckernetzteil nicht angeschlossen ist. D3 dient als Verpolschutz. Die Schaltung um U3 verstärkt die Spannung über dem Strombegrenzungswiderstand. Es muss zwingend ein OP verwendet werden dessen common mode input range an die positive Versorgung reicht. Bei einem TL062 ist dies bei normalen Raumtemperaturen gegeben. Die Spannung über R14 wird im Verhältnis R16/R15 = 2.32 fach verstärkt. Bei 200mA, also 450mV am Strombegrenzungswiderstand, ergibt sich für den ADC-Eingang eine Spannung von 1.04V über R16. L1, L2 sowie C15-C19 bilden ein optional bestückbares EMV-Filter. C18+C19 filtern hierbei die Störungen über einen M3 Distanzbolzen auf das Aluminiumgehäuse.
Spannungsregler
Es gibt 3 alternative Bestückungsvarianten:
U5 ist ein low power Spannungsregler XC6216 von Torex. An Ein- und Ausgang werden 1µF Kondensatoren benötigt. Der Ruhestromverbrauch ist mit 5µA im Datenblatt angegeben.
Da mir das vieeel zu hoch ist, habe ich einen Sperrschicht-FET als Spannungsregler verwendet. Ein BF245C hat bei kleinen Strömen je nach Exemplarstreuung eine Gate/Source Spannung von -3.2 .. -7.5 V zwischen Gate und Source. Wenn man jetzt das Gate auf Masse legt, und an Drain die ungeregelte Eingangsspannung, bleibt am Source eine Ausgangsspannung von +3.2 bis 7.5V. Da der nachgeschaltete Prozessor maximal 5.5V Spannung verträgt müssen die FETs selektiert werden. Bei der maximalen Eingangsspannung und minimaler Last (also nur die 10 Meg-Ohm des Messinstrumentes) dürfen die 5.5V nicht überschritten werden. Bei der typischen Last von 10µA, entsprechend 330K, sollten mindestens ca. 3.8V als minimale Spannung übrig bleiben.
Beim Austesten auf dem Steckbrett habe ich herausgefunden, dass der FET relativ empfindlich auf Störimpulse reagiert und teilweise hierdurch auch hohe Spannungen an den Ausgang durchlässt. Abhilfe schaffen Abblockkondensatoren an Ein- und Ausgang. Im Gegensatz zum XC6216 reichen für den FET normale 100nF Abblockkondensatoren. Die Diode D1 dient als Verpolschutz. R2 begrenzt beim FET schnelle Spannungsanstiege sowie den Maximalstrom. Das Austesten auf dem Steckbrett sollte mit den Abblock-Cs und der Schutzbeschaltung erfolgen.
Von 10 getesteten FETs hatten alle eine maximale Spannung im Bereich 4.57 bis 4.80 V bei 25V Eingangsspannung. Bei Belastung mit 1K-Ohm und 9V Eingangsspannung habe ich 2.61V bis 2.77V gemessen. Der Regler hat also ausreichend Reserven. Die Mühe des Selektierens wird belohnt durch einen Stromverbrauch von nicht messbaren wenigen nA für den Spannungsregler.
R2 sollte bei Verwendung des XC6216 durch einen 0 Ohm Widerstand ersetzt werden. Allerdings habe ich diese Schaltungsvariante noch nicht getestet.
Eine weitere Möglichkeit ist die Bestückung eines BF545C (= SMD-Version des BF245C im SOT-23 Gehäuse) an der Position des Spannungsreglers U5. In diesem Fall ist Source und Drain des FETs vertauscht. Da der Chip des FET jedoch symmetrisch aufgebaut ist funktioniert er unabhängig von der Polarität von Source und Drain. Siehe auch Abschnitt Nachtrag.
Prozessorteil
Als Prozessor wird ein PIC18F2520 verwendet. Es ist quasi der low power Nachfolger eines PIC16F876. Der Strom mit internem Oszillator beträgt ca. 1mA. Um den Stromverbrauch zu reduzieren, ist der Prozessor hauptsächlich im sleep mode und wird nur alle 16ms aufgeweckt, um die Flanken für die Wechselspannung von 30Hz für die passive LC-Anzeige zu generieren, die auch die meisten Pins benötigt. C4 mit 10µF puffert kurze Stromspitzen in der Aufwachphase. C7 mindert EMV-Störungen.
Die Batteriespannung wird über Spannungsteiler R4/R5 an Pin RA2 gemessen. U2 sorgt mit R3 für eine stabile Referenz von 1.235V auch bei schwankenden Versorgungsspannungen. Kurzzeitig werden für den Referenzeingang bis zu 150µA und für die Referenzdiode bis zu 20µA benötigt. Da kein Abblockkondensator an der Referenz verwendet wird, ist R3 relativ niederohmig dimensioniert.
Die Stromsparfunktionen werden alle mit PIN RA1 gesteuert. Die Auswertung der Eingänge erfolgt nur ein Mal je Sekunde. Dies betrifft R3 als Versorgung für die Referenzdiode sowie R6 als pull up Widerstand für den Taster. Über T2 wird der Spannungsteiler für die Batteriespannung stromlos geschaltet. Der BSS138 ist ein FET mit geringer UGS threshold voltage von max. 1.5V. Er begrenzt also am Source die Drain-Spannung auf VCC-1.5V. Da die Referenzspannung 1.2V beträgt, ergibt sich durch den FET bei einer Versorgungsspannung bis herab zu 2.7V noch keine Begrenzung des Messbereichs für die Batteriespannung von bis zu 25.5V.
Der Ladestrom wird über Analogeingang RA0 gemessen.
Mit der gewählten Dimensionierung für R4/R5 ergibt sich ein Messbereich von 25.5V für die Batteriespannung. Der Strombereich ist für ca. 240mA ausgelegt.
An Pin RB6 wird schließlich das Schaltsignal für die Endstufe erzeugt.
Bedienteil
Aus Platzgründen (Frontplatte des EG2-Gehäuses von ProMa) konnte leider nur ein 2-stelliges LC-Display verwendet werden. Um dennoch Spannungen größer 9.9V darstellen zu können, wird der führende Dezimalpunkt als Zehner-Stelle verwendet. Ab 20.0V fängt dann der Dezimalpunkt an zu blinken. Bei Verwendung eines 3 oder 4-stelligen Displays würde man anstelle des führenden Dezimalpunktes beide Segmente für die führende "1" anschließen. Der Kondensator C5 hält Gleichspannungssignale vom Display fern. Dies ist insbesonders nützlich beim Flashen bzw. in der Debugging Phase.
J1 ist die Verbindung zur Mutterplatine. Dort kann noch ein zweiter Taster parallel zum Taster auf der Frontplatte angeschlossen werden. R7 dient als Kurzschlußschutz bzw. zur Stromreduzierung des Schaltsignals.
Endstufe
Die Endstufe ist außerhalb der Leiterplatte untergebracht. Damit ergibt sich maximale Flexibilität von wenigen mA bis zu mehreren Ampere über einen BSS138 Treiber mit BTS555 Endstufe. Der Anschluss an die BMON1048 Leiterplatte erfolgt über Buchsenleisten auf der Leiterplatte mit der Endstufe. Die Stecker für den Ladeteil und den Prozessorteil sind getrennt ausgeführt. Damit können die Messleitungen direkt am Batteriepack angeschlossen werden (4-Leiter Anschluss). Übergangswiderstände am Stecker und der Leitungen haben dann weniger Einfluss auf die Messung.
Hier ist ein Beispiel für eine Endstufe mit LT1763 für maximal 20V Ladeendspannung gezeigt. Im ausgeschalteten Zustand verbraucht der Spannungsregler weniger als 1µA zusätzlich. Der Ruhestrom mit 30µA ist ebenfalls ein guter Wert. C10 ist vorzugsweise ein Folienkondensator (geringer Mikrofonieeffekt) zur Rauschunterdrückung. Die Ausgangsspannung wird mit R11+R12 auf 14.0 V eingestellt.
Software
Die Software hat folgende Funktionen:
- Messen der Spannung und des Stroms linksbündig als 10 Bit Wert
- Verrechnung eines Korrekturfaktors aus EEPROM für Feinabgleich
- Anzeige der Spannung auf Display
- Als Timer dient der Watchdog mit 16ms Periode
- Die 30 Hz Wechselspannung für das Display wird hieraus abgeleitet
- Im Ladebetrieb erfolgt die Anzeige des Stroms im Wechsel mit der Spannung
- Unterhalb 1.15V/Zelle abschalten der Last (Spannungsanzeige blinkt)
- Oberhalb 1.25V/Zelle wiedereinschalten der Last
- Bei Tastendruck länger als 5 Sekunden wird die Last manuell ein-/ausgeschaltet
- Bei Spannungseinbruch > 0.6V/Minute wird ebenfalls abgeschaltet
- Alle Parameter wie Zellenzahl + Hysterese sind im Header konfigurierbar
#define Cells 12 ; # number of cells
#define mV * 256 * 51/1051/1235 ; 25,6V * 5K1/(100K+5K1)/VRef
#define VOn Cells * 1250 mV ; high hysteresis
#define VOff Cells * 1150 mV ; low hysteresis
#define VOLT_SEC 10 ; check every 10 seconds
#define VDIFF 600 mV ; voltage drop / minute
#define mA * 1 ; 1 mA / count
#define CURR_MIN 10 mA ; min current to display
Die Software ist mit MPASM 5.40 (MPLAB 8.70) erstellt. Die Bit-Schubsereien für das Display werden mit Tabellen in Page 0 für alle 3 Ports A-C und die Digits 1-2 abgehandelt.
Bei der Initialisierung wird erst die Hardware initialisiert und danach alle Variablen einschließlich der Kalibrierparameter die aus dem EEPROM gelesen werden. Die Kalibrierfaktoren sind im 2er Komplement als 16 Bit signed Wert gespeichert. Ein Abgleich von +/- 50% entspricht +/-32768 als Wert.
Die meiste Zeit verbringt der Prozessor im sleep mode. Alle 16 ms weckt der Watchdog den Prozessor auf, um die Pins für die Anzeige zu invertieren. Jede Sekunde finden zusätzlich noch Messfunktionen, einschließlich update der Anzeige sowie die Tastenabfrage statt. Um Zeit (und damit Strom) zu sparen, wird die Wartezeit aufs ADC-Ergebnis genutzt, um eine Tastenentprellung bzw. die Vorverarbeitung der Spannungsmessung während der Strommessung durchzuführen. Alle 10 Sekunden wird das High-Byte des Spannungswertes in einen Ringpuffer mit 6 Einträgen für die vergangene Minute eingetragen. Dies dient unterhalb der Einschaltschwelle zum Detektieren eines plötzlichen Spannungsabfalls falls eine Zelle schneller entladen ist, als die übrigen im Pack.
Aufbau
Lötseite
Die Leiterplatte ist doppelseitig. Die meisten Durchkontaktierungen liegen auf bedrahteten Bauelementen so dass eine durchkontaktierte Leiterplatte nicht zwingend nötig ist. Die drei Durchkontaktierungen im Bereich des Programmiersteckers können auch mit Kupferhohlnieten oder einer Drahtbrücke bestückt werden.
Am besten beginnt man nach Durchkontaktieren mit der Bestückung auf der Lötseite. C18, C19 sowie U5 sind im Muster nicht bestückt.
Bestückungsseite
Auf der Bestückungsseite werden zuerst die Bauteile unter dem Display, sowie die Widerstände unter dem L200 bestückt. Einige bedrahtete Bauteile müssen auf beiden Seiten der Platine verlötet werden, falls keine durchkontaktierte Leiterplatte verwendet wird.
Die Ladebuchse ist auf die Leiterplatte aufgesetzt. Die Anschlüsse werden mit Silberdraht verlängert. Mit dem Verlöten des Silberdrahtes sollte man, wie beim L200, so lange warten, bis die Frontplatte montiert ist. In den Layoutdaten ist auch ein Layer für die Frontplatte enthalten, der als Bohrhilfe verwendet werden kann.
Der L200 ist über Kopf bestückt, die Anschlussdrähte also gegenüber dem stehenden Einbau auf die andere Seite abgewinkelt. Bei Verwendung von 10mm Distanzbolzen muss als Isolierung mindestens eine 1.5 mm Aluminiumoxidscheibe verwendet werden, damit sich die Pins des L200 im montierten Zustand verlöten lassen. Die Frontplatte des EG2-Gehäuses dient hiermit gleichzeitig als Kühlfläche.
C12 muss liegend montiert werden.
Für das Display verwende ich eine 18-polige Präzisionsfassung, die mit dem Seitenschneider auseinander geschnitten wird. Verlöten geht am einfachsten wenn das Display bereits in die Fassung gesteckt ist. Die beiden Pins 1 + 18 für die Backplane sind auf der Leiterplattenoberseite verbunden (Lötung unter der Fassung nicht vergessen).
Der Taster ist eine Ausführung mit langem Stößel, wenn die Bedienung ohne Hilfswerkzeug möglich sein soll.
Montagedetail L200
Montagedetail L200:
- M3 Schraube
- Frontplatte
- Aluminiumoxidscheibe (AOS220 - 1.5mm)
- L200
- Isolierbuchse
- Unterlegscheibe (fehlt im Bild)
- M3 Mutter
Frontansichten
- Ansicht montiert mit Spannungsanzeige 16.7V
- Ansicht Ladebetrieb mit Stromanzeige 188mA
Inbetriebnahme und Abgleich
Der Ladeteil und der Batteriewächter können, auf Grund der getrennten Steckverbinder, unabhängig voneinander in Betrieb genommen werden.
Ladeteil
An einem strombegrenzten Netzteil (ca. 20-100mA) wird die Spannung an der Ladebuchse langsam von 0V an erhöht und die Stromaufnahme gemessen. Der Eigenverbrauch des L200 liegt bei ca. 10mA. Dieser Wert darf nicht wesentlich überschritten werden. Ist alles in Ordnung dreht man die Spannung langsam auf 24V. Die Ausgangsspannung des L200 sollte vor der Verpolschutzdiode D2 gemessen ca. 18.1V sein. Falls nicht, kann man durch Feinabgleich des Widerstandes R13 noch etwas korrigieren. Danach einen Akkusatz anschließen und die Strombegrenzung des Netzteils langsam auf ca. 250mA-300mA drehen. Der Strom in den Akku sollte durch den L200 auf ca. 200 mA begrenzt werden. Bei vollgeladenem Akku sollte der Strom unter C/50 besser C/100 (also 20-40 mA) zurückgehen. Gegebenenfalls ist die Ladeendspannung etwas zu reduzieren.
Prozessorteil
Zunächst wird der Prozessor mit einem Programmiergerät geflasht. Bei Verwendung des FET-Spannungsreglers darauf achten, dass die Spannungsversorgung für den Prozessor vom Programmiergerät (z.B. PICKIT3) zur Verfügung gestellt wird. Hierbei darauf achten, dass die nominalen Kalibrierwerte im EEPROM nicht zu weit von den Defaultwerten abweichen. Bei der Spannung ist der Defaultwert = 0x00, 0x00 (= Faktor 1.0 bzw. 0% Korrektur) Beim Strom ist die Verstärkung nicht ganz auf einen Strom-Endwert von 255mA ausgelegt, sondern etwa 5 Prozent tiefer. Der nominale Kalibrierwert für den Strom beträgt daher 0xF3, 0x1B (= Faktor 0.94963 bzw. -5.04%).
Nach dem Flashen wird an die beiden mittleren Pins von J1 eine Spannung von ca. 5V angeschlossen. Ist alles ok, sollte das Display die Spannung blinkend anzeigen. Der Ausgang J1 PIN 1 weist hierbei Low-Pegel auf. Die Spannung wird langsam auf ca. 20V (max. 25V) erhöht und die prozentuale Abweichung zwischen Sollwert und Anzeige berechnet. Ab ca. 15.0 V verschwindet das Blinken und der Ausgang wechselt auf High-Pegel (>2.4V). Unterhalb ca. 13.8V wird die Last wieder abgeschaltet und das Display blinkt wieder. Danach wird ein Akku (15-17V) an Prozessorteil und Ladeteil angeschlossen. Über ein strombegrenztes Netzteil werden ca. 180mA Ladestrom in den Akku eingestellt. Die Anzeige zeigt jetzt im Wechsel die Akkuspannung und den Ladestrom an. Wiederum wird die prozentuale Abweichung vom tatsächlichen Ladestrom berechnet. Die prozentualen Abweichungen werden auf die existierenden Kalibrierwerte multipliziert und dann nach einem MPASM-Lauf ins EEPROM geschrieben. Bei Verwendung von MPLAB darauf achten dass im "Release" Modus und nicht im "Debug" Modus gearbeitet wird.
Danach ist der Batteriewächter einsatzbereit.
Praxis und Ideen
Anbei ein Aufbau einer Vorgängerversion ohne Ladestrommessung (BMON1035) mit einem Stromverbrauch um 9.7 µA (schwankend) bei einem frisch aufgeladenen Akku mit 9.3V. An einem BMON1048 mit Strommessung habe ich 10-12µA gemessen. Wobei der Stromverbrauch auch von der tatsächlichen Versorgungsspannung des Prozessors abhängt.
Ich habe zwei Schaltungen mit ca. 30 mA Last seit 2.5 Jahren im Dauerbetrieb mit je 12 AA-Zellen und täglichem Ladebetrieb. Der erste Akkusatz zeigt seit letztem Sommer (bis zu 32 Grad Raumtemperatur während dem Laden) einen erhöhten Innenwiderstand. Der Ladestrom bei vollem Akku lag hierbei bei erhöhter Temperatur bei 60-70mA.
Die Spannungsdifferenz beim Einstecken / Entfernen des Ladegerätes ist bei diesem Akkusatz ca. 1V. Bei niedrigen Spannungen unter 15V und kurzem Ladebetrieb wird hierdurch die Last ungewollt abgeworfen. Das Kriterium 0.6V Abfall innerhalb einer Minute wird überschritten. Der andere Akkusatz liegt immer noch bei 0.2V Differenz zwischen Normal und Ladebetrieb.
Ganz oben auf der Wunschliste steht der vereinfachte Abgleich der Kalibrierwerte im EEPROM. Denkbar wäre irgendein Morsecode über den Taster oder ein Jumper an einem freien Pin, um den Abgleich bei angelegten Referenzwerten zu starten.
Freier Speicherplatz ist jedenfalls genügend vorhanden. Wobei Sonderfunktionen nur selten gerechnet werden sollten, um den Stromverbrauch nicht zu stark zu erhöhen.
Die führende "1" wird derzeit wegen des 2-stelligen Displays als Dezimalpunkt angezeigt. Bei einem 3-stelligen Display würde man anstelle des Dezimalpunktes die beiden Segmente "b" und "c" für die "1" parallel ansteuern.
Ideen:
- Temperaturkompensation der End-Ladespannung mittels NTC / Dioden
- Alternativ: Abschaltung des Ladezweigs per Prozessor-Pin, wenn der Ladestrom bei der Endspannung eingeschwungen ist
- Lernfunktion Berücksichtigung Spannungsdifferenz bei Ladebetrieb für Abschaltkriterium
- Automatisiertes Speichern der Abgleichwerte im EEPROM
Anpassung an andere Zellenzahlen:
Ladeteil L200 Zellen Volt R12 R13 UE,min UE,nom 4 6.5 2K2 2K2 10.2V 12V 5 7.95 2K2 5K1 11.7V 13V 6 9.4 2K2 18K 13.1V 15V 7 10.85 2K4 --- 14.6V 16V 8 12.3 3K0 47K 16.0V 18V 10 15.2 3K9 68K 18.9V 20V 12 18.1 4K7 130K 21.8V 24V
Die minimale Netzteilspannung UE,min gilt für den worst case. In der Praxis hat man hierbei ca 0.5V Reserve.
Lastregler LT1763 (Ausserhalb Leiterplatte) Zellen Volt R12 R11 5 5.1 4K7 15K 6 6.0 10K 39K 7 8.0 2K7 15K 8 9.35 3K3 22K 10 11.5 3K9 33K 12 12.0 2K7 24K 12 14.0 6K49 68K
Nachtrag
Da der BF245C in der Zwischenzeit nicht mehr hergestellt wird und nur noch in Restbeständen im Handel ist, wird hier eine Bestückungsvariante mit der SMD-Version des BF245C gezeigt. Die SMD-Version heißt BF545C und ist z.B. bei Reichelt, DigiKey, RS-Components oder Farnell erhältlich. Im Bild ist die Bestückung an der Position von U5 gezeigt. Der FET sitzt rechts in der Mitte und trägt die Markierung 22W. Hierbei ist gegenüber dem Schaltplan Source und Drain vertauscht was allerdings keine Auswirkung auf die Funktion hat. Der größte Nachteil ist daß eine vorherige Selektion der FETs auf Spannung mittels Breadboard nicht möglich ist. Der Musteraufbau mit einem willkürlich ausgewählten BF545C hatte ohne Prozessor gemessen folgende Spannungswerte:
- 4,54V @ 27,3 V und 10 MOhm Last (nur Multimeter)
- 3,95V @ 9,1 V und 100K Last
- 2,58V @ 9,1 V und 1K Last
Also auch hier ausreichend Abstand zu kritischen Werten.
Falls keine durchkontaktierte Leiterplatte verwendet wird, darf die Durchkontaktierung am BF245 Pin nicht vergessen werden.
Nachtrag2: Strommessung mit dem Oszi
Eine genauere mittlere Strommessung ist mit dem Oszi möglich. Die Schaltung wacht alle 16 ms für die AC-Erzeugung der Anzeige auf. Alle 500ms werden die Blinkfunktionen berechnet. Alle 1000ms erfolgt die ADC-Erfassung von Spannung und Strom sowie die Berechnung neuer Anzeigenwerte.
Die Messung erfolgt dabei am sowieso vorhandenen 1K Strombegrenzungswiderstand der hierbei als Shunt verwendet wird. Zusammen mit den nachgeschalteten Abblockkondensatoren ergibt sich eine erste Bandbreitenlimitierung. Eine Weitere Filterung wird durch die Auflösungserhöhung von 16 auf 20 Bit (Oversampling) erreicht. Der gemessene Effektivwert am 1K Widerstand beträgt 8.3 uA. Der gemessene gefilterte Spitzenwert 83uA. Ohne Filterung wären es in der Größenordnung von ca 1mA. Beim Display Refresh alle 16 ms ist der Effektivwert bei nur 6.9 uA.
Nachtrag3: Temperaturkompensation mit NTC
In der Zwischenzeit habe ich bei den meisten meiner Referenzen in der 12 Zellen-Variante einen 100K NTC anstelle des 130K Widerstandes R13 bestückt. Damit ergibt sich eine Temperaturkompensation von etwa -3mV/Zelle wodurch der Ladestrom am Ladeende zuverlässig auf < 40 mA zurückgeht.
Downloads
- Source code für Batteriewächter BMON1048
- Schaltplan für Batteriewächter BMON1048
- Layout (Gerber) Batteriewächter BMON1048
- Layout (PDF) Batteriewächter BMON1048
- Stückliste Batteriewächter BMON1048
Weblinks
- L200_Datasheet
- BSS84P_Datasheet
- BF245C_Datasheet
- BF545C_Datasheet
- XC6216_Datasheet
- PIC18F2520_Datasheet
- LM385Z-1.2_Datasheet
- BSS138_Datasheet
- LCD-2-13
- LT1763_Datasheet
- Gehäuse_EG2
- GC-Prevue Gerber viewer