letztes Update: 06.11.2009

Akkuwarner für LiPo-Akkus (LiPoBlitzer)
für Quadrokopter, Helis, Modellflugzeuge

Line
 


Akkuwarner


Der hier vorgestellte Akkuwarner soll das Tiefentladen von Lithium-Polymer Akkus verhindern. Sinkt die Zellenspannung eines LiPo Akkus unter 2,4 Volt, wird die Zelle dauerhaft geschädigt.

Der Akkuwarner kann in allen Modellflugzeugen, Helis und Mikrokoptern verwendet werden. Er zeigt den Spannungsverlauf während des Fluges über eine High-Power-Led an.

Es gibt je nach Akkuspannung verschiedene Blitzfolgen, dadurch läßt sich der Entladezustand des Akkus gut abschätzen.

Die hier verwendete rote High-Power LED, eine Seoul Z-LED P4 oder eine LUXEON Rebel wird mit einem Strom von 500 mA !! betrieben. Durch die kurzen On-Zeiten ist keine besondere Kühlung erforderlich.

Die erzeugten Lichtblitze sind kilometerweit am Himmel zu sehen, auch bei Sonnenlicht.

Durch eine automatische Erkennung der Zellenanzahl ist ein Betrieb mit 3s bis 4s Akkus möglich.

Wer mit 5s oder 6s Akkus fliegt sollte sich den "Akkuwarner für LiPo-Akkus (LiPoBlitzer) mit CAT4201 Ledtreiber" ansehen.

Alternativ können die Warnschwellen für verschiedene Akkutypen eingelernt und in den 3 vorhandenen Speicherplätzen abgelegt werden.

Ausserdem gibt es auf PortB.3 eine Statusausgabe der eingestellten und der aktuellen Parameter.
 
   
Akkuwarner Die Verwendung des Akkuwarners ist einfach.
Links wird die Hochleistungsleuchtdiode angeschlossen, rechts geht es zum Akku. Fertig

Ach so, die Größe der Platine ist 13x41mm
   
Akkuwarner Hier ist die 6pol. Pfostenleiste bestückt. Das ist aber nicht erforderlich. Eine 6pol. Stiftleiste, in die durchkontaktierten Löcher gesteckt, reicht für die paar Sekunden beim Programmieren aus.
   
Akkuwarner Die Schaltung des Akkuwarners.

Sie ist durch das Design des ATtiny vorgegeben.

Verwendet werden können die Typen ATtiny13 (1k Flash), ATtiny25 (2k Flash), ATtiny45 (4k Flash) und ATtiny85 (8k Flash).
Sie unterscheiden sich hauptsächlich durch die Größe ihres Flashspeichers.


In der Praxis verwende ich einen ATtiny45 (4k Flash) oder ATtiny85 (8k Flash).
   
Akkuwarner Board Die Bestückungsseite.

Auf der unteren Seite ist links der Anschluss für den Akku und rechts der Ledanschluss zu sehen.
Auf der oberen Seite, in der Mitte befindet sich der 6Pol. ISP (Programmieranschluss)
Daneben ist der Triggerjumper, er dient zum Einlernen einer persönlichen Warnschwelle.
   
   
   
   
   
   
   
Schaltung:

Das Herz der Schaltung ist ein AVR® 8-Bit RISC Microcontroller der Firma Atmel der mit 8 MHz getaktet wird. Durch die identische Pinbelegung können der ATtiny25 (2k Flash), ATtiny45 (4k Flash), ATtiny85 (8k Flash) oder ein ATtiny13 (1k Flash) verwendet werden.

Die zu messende Akkuspannung wird über den Spannungsteiler R1/R2 auf PB2/ADC1 (Pin7) geführt. PB1 (Pin6) steuert den HEXFET Power MOSFET IRLML2502 im SOT-23 Gehäuse an. Der IRLML2502 kann einen Drain Strom von 4,2A bei VDSS 20V mit einem RDS(ON) von 0,045 Ohm schalten.

In der Drain Leitung liegen zwei 1Ohm Reihenwiderstände und die High-Power LED. Die Anode der Led liegt an +5V. Der sich ergebende Strom beträgt satte 500 mA. Durch zwei weitere 1Ohm Widerstände (1206 = 1/4 Watt) kann der Strom auf 1000 mA !! erhöht werden.

Der 5V Spannungsregler kann ein normaler 7805 sein. In der Luxusausführung verwende ich einen DC/DC - Wandler R-785.0-1.0 SIP3 von RECOM.
   
   
Software:

Das Programm ist in BASCOM geschrieben.

Beim Start ermittelt das Programm die Anzahl der verwendeten LiPozellen, z.B. 3s, 4s oder 5s Akku. Passend zur Anzahl der Zellen werden die vier Warnschwellen festgelegt. Diese Warnschwellen werden laufend mit der aktuellen Akkuspannung verglichen.

Feinabgleich: Für die verschiedenen Akkutypen (3s, 4s) sind die Warnschwellen per default festgelegt, das sollte in den meisten Fällen reichen.
Trotz der Verwendung von hochpräzisen Metallglasurwiderständen mit 1% Genauigkeit sind kleine Toleranzen nicht zu vermeiden.

Es ist aber möglich für jeden Akkutyp eine untere Warnschwelle einzulernen, die weiteren Warnschwellen werden dann hiervon abgeleitet.

Dazu stellt man mit einem Labornetzteil die gewünschte untere Spannungsschwelle ein, z. B. 9,6 V für einen 3s Akku.
Nun wird der Akkuwarner mit gestecktem Triggerjumper in Betrieb genommen und einige Sekunden am Netzteil belassen.
Jetzt kann der Jumper abgezogen werden. Die gelernte Schwelle ist dauerhaft gespeichert. Der Vorgang kann jederzeit wiederholt werden.

Es stehen 3 Speicherplätze für die untere Warnschwelle zur Verfügung, für einen 2s, 3s und 4s Akku. Der Speicherplatz wird automatisch, je nach Akku gewählt.

Das sind die Defaultwerte für die untere Warnschwelle:
Akku 2s 3s 4s 5s
untere Warnschwelle 6,40 V 9,60 V 12,80 V 16,00 V

Betrieb: Der Akkuzustand wird über ein Doppelblitzen der Led in den Stufen 1 bis 3 signalisiert (LED 50ms an / 50ms aus / 50ms an).
Die Warnstufe 4 ist ein Dauerblitzen (LED 50ms an / 50ms aus).
Damit kann man die "letzte Warnung" vor dem Absturz besser von den Infowarnungen unterscheiden. :)


Hier die 4 Warnstufen:



1. Stufe 1x doppelblitzen, 1,5s Pause
2. Stufe 2x doppelblitzen, 1s Pause
3. Stufe 3x doppelblitzen, 0,7s Pause
4. Stufe Dauerblitzen
Spannung bei einem 3s Akku

> ca.10,7V Collision Light
< ca.10,7V ca. 25% Kapazität vorhanden
< ca.10,2V Landung vorbereiten
< ca. 9,7V unbedingt landen
 

Akkuwarner Für die technisch Interessierten:

Die Platine hat auf PortB.3 (Pin2) eine Debugausgabe. Wenn man PB3 mit dem RX-Eingang des USB-to-TTL RS232 Converters verbindet, kann man mit einem Terminalprgramm (19200,8,n,1) diese Ausgabe sehen.

Copyright und Versionsinformation
U = die gemessene Akkuspannung
T1 = Triggerpunkt für 3s Akkus (default 9,6V)
T2 = Triggerpunkt für 4s Akkus (default 12,8V)
T3 = Triggerpunkt für 5s Akkus (default 16,0V)

Warn = aktueller Warnlevel
Zellen = Anzahl der erkannten Zellen
Onecell = aktuelle Spannung einer LiPo Zelle (gerechnet)
Trigger = Warnschwelle für eine Zelle

Um die Genauigkeit der Spannungsmessung zu erhöhen wird über mehrere Messungen ein Mittelwert gebildet und dieser mit der internen Referenz von 2,56V verglichen.

   
Firmware flashen:

Die aktuelle Firmwareversion ist hier zu finden: Download Firmware Es ist die Version 1.7 vom 27.10.2009
'
Hier gibt es eine Version ohne Zellenerkennung. Die Voreinstellung ist 4s. Mit dem Triggerjumper läßt sich aber eine (fast) beliebige Triggerspannung einstellen.

Die Firmware passt leider nicht mehr in einen ATtiny13. Ich verwende den ATtiny45. Der hat 4k Flash. Davon ist noch die Hälfte für zukünftige Erweiterungen frei.

Zum programmieren des ATtiny wird ein STK500 kompatibler Programmer benötigt. Als Software kann avrdude aus dem Mikrokopter-Verzeichnis benutzt werden. Ich verwende AVR Studio 4.

Da der ATtiny mit 8MHz arbeitet ist der /8 Divisor in den Fusebits auszuschalten und die Brown-out detection (BOD) auf 2,7V einzustellen.

Der Programmer muss mit dem 6 pol. Anschluss auf der Akkuwarnerplatine verbunden werden. Wenn der Programmer keine 5V zur Verfügung stellt, muss die Akkuwarnerplatine mit 5 bis 20V Spannung versorgt werden (Netzteil oder LiPo).

Alternativ kann auch die Sercon verwendet werden.
Leider besitzt diese keinen STK500 kompatiblen Anschluss, sodass ein Adapterkabel mit folgender Belegung notwendig ist:


Sercon
6 pol. Stecker
Akkuwarner
6 pol. Stecker
1 SCK 3 SCK
2 RESET 5 RESET
3 MISO 1 MISO
4 NC 2 5V
5 MOSI 4 MOSI
6 GND 6 GND


Der Jumper auf der Sercon muss gesteckt sein. Als Software kann PonyProg benutzt werden.