LiPo Ladegerät

Planung

Vorgabe

- LiPo Ladegerät für Single Cell Akkus

- Ladestrom Auswahl über Schalter

- Status Anzeige für Ladezustand

Geplante Ausführung

- Ladestromauswahl über DIP Schalter, einstellbarer Bereich von 100mA bis 500mA

- Entlade Schaltung mit Kapazitätstest

- Ladestatus auf Display anzeigen

- Lade-/Restladezeit auf Display anzeigen

- Akkuspannung auf Display anzeigen

- Lade-/Entladestrom auf Display anzeigen

 

Umsetzung

Laderegler

Ein MCP73831 von Microchip übernimmt die Laderegelung der Single Cell Akkus. Der hier verwendete Chip lädt die Akkus auf maximal 4.2V auf und geht anschließend in den Erhaltungsmodus, d.h. erst wenn die Spannung am geladenen Akku auf 94% abfällt, bei diesem Chip also auf 3,95V, beginnt der Ladevorgang erneut. Der Ladechip verfügt dabei über folgende 5 Pins:

- VCC (4) sollte laut Datenblatt auf Vreg + 0.3V gelegt werden und mit einem 4.7uF Kondensator gegen GND (2) entstört werden. Maximal jedoch auf 6V.

- VBAT (3) darf nur mit dem Pluspol des LiPo Akkus verbunden werden eine Verpolung kann zu einem Defekt am Ladechip und einem irreparablem Schaden am Akku führen

- STAT (1) ist mit einem Vorwiderstand und einer LED gegen VCC zu verbinden. STAT befindet sich auf Masse solange der Ladevorgang andauert und geht auf HIGH, also VCC, sobald der Akku fertig geladen ist.

- PROG (5) wird zum Einstellen des Ladestroms genutzt. Der gewünschte Ladestrom kann mit der Formel I[mA] = 1000V/R[kΩ] berechnet werden. Maximal kann der MCP73831 500mA an den Akku liefern, was einem Programmierwiderstand von 2kΩ entspricht.

Schaltung

Spannungsversorgung

Da für die Strommessung mit einem Operationsverstärker eine negative Spannungsversorgung beötigt wird und linear Regler für die Ladechips zu ineffizient sind, wird für diesen Aufbau ein PC Netzteil verwendet, welches bereits über alle benötigten Spannungen und Ströme sowie eine große Effizienz verfügt. Für die Microcontroller-Einheit wird jedoch aus Sicherheitsgründen ein Linearregler von 12V auf 5V verwendet, um bei eventuellen Schwankungen bei Einschalten die Microcontroller Einheit nicht zu beschädigen. Alle Spannungen werden zudem mit einem 100nF Kondensator und einem 47uF Elko direkt an den ICs entstört.

Ladeschaltung

Schaltplan Ladeeinheit

Schaltplan Lade-Entlade Einheit und Strom-Spannungs-Messung

Der gewünschte Ladestrom kann hier über einen dreifach DIP Schalter eingestellt werden und erlaubt eine Abstufung im Ladestrom von 100mA. Der maximale Ladestrom liegt bei den erlaubten 500mA. In der nachfolgenden Tabelle sind Schalterbelegung, der angeschlossene Widerstand und der resultierende Ladestrom aufgeführt

Schalter Widerstand Ladestrom
1 10kΩ 100mA
2 5.1kΩ 200mA
3 5.1kΩ 200mA
1 & 2 3.3kΩ 300mA
2 & 3 2.55kΩ 400mA
1 & 2 & 3 2.0kΩ 500mA

Die aufgeführten Ladeströme wurden durch Messungen bestätigt und weichen maximal 2% (±5mA) vom angegebenen Wert ab.

Strom-/Spannungsmessung

Durch den geringen Drain-Source Widerstand von nur rund 20mΩ bei einer Gate-Source Spannung von 12V mit einem Drain Strom von 500mA, ist die abfallende Spannung am MOSFET von 10mV für die Spannungsmessung vernachlässigbar klein.

Über den MOSFET Q1 mit Treiberstufe Q2 kann das Entladen des Akkus ausgewählt werden. Dazu muss der Button SW1 solange gedrückt werden, bis der Microcontroller diesen erfasst hat und dies mit der LED D2 bestätigt, die Button Abfrage erfolgt alle 5 Sekunden oder über den Interrupt Button sofort. Nun schaltet der MOSFET mittels dem Transistor Q2 durch und entlädt den Akku. Zusatzlich wird der bilaterale Schalter U4D aktiviert und legt damit die Entlade Akkuspannung an den Eingang des Schalters U4C. Hier kann nun über den Inverter U5B zwischen der Entladeakkuspannung und dem Entladestrom durch den Lastwiderstand R9 gewählt werden. Standardmäßig liegen beide Inverter U5A und U5B über die Pull Down Widerstände R10 und R11 auf GND und schalten so die Ladeakkuspannung und den Ladestrom abwechselnd an den Controller durch.

Der Operationsverstärker U3A verstärkt dabei die am Shuntwiderstand R5-R7 (Laden) oder R19 (Entladen) abfallende Spannung um das Verhaltnis von R8 zu R9. Hier also um den Faktor 3,9. Diese Spannung liegt an dem Eingang von U4B an und kann über den Inverter U5B an den Controller geschaltet werden. Bei einem maximal Strom von 500mA  fällt  eine Spannung bei dem angegebenen Gesamtwiderstand von 0,5Ω von 0,25V ab. Verstäkrt mit 3,9 ergibt sich eine maximale Ausgangsspannung von etwa einem Volt.

Da der Akku über die Shunt Widerstände R5-R7 auf Masse liegt, ist folglich auch die gemessene Akkuspannung um die am Shunt abfallende Spannung höher. Diese Verfälschung, wie im vorherigen Absatz beschrieben von maximal 0,25V, sollte seitens des Controllers ausgeglichen werden. Näheres dazu im Programm Code.

Die Spannungs und Strommessung wechselt sich standardmäßig im Sekundentakt ab.

Microcontroller

Schaltplan Microcontroller Einheit

Schaltplan Microcontroller und Extension Einheit

Der verwendete Microcontroller ist ein ATmega328 im TQFP-32 Format. Dieser besitzt im Gegensatz zur DIP-28 Version zwei weitere Analoge Eingänge, welche hier für die Messung des Stroms bzw. der Spannung verwendet werden. Dabei werden die Ports A0, A1, A2, A3, A6, A7 verwendet und die Pins A4 (SDA) und A5 (SCL) für eine Erweiterung bzw. Kommunikation mit einem anderen Controller offen gehalten.

Da der Akkuladezustand auch auf dem Display angezeigt werden soll und der ATmega328 nicht über ausreichend Ports (maximal 14) verfügt, werden diese mit zwei 74HC165 um 16 Digital Inputs erweitert. Dieser Chip ist ein sogenanntes Parallel In Serial Out Register. Wird der Parallel Load des IC auf LOW gelegt, werden die Pins D0 bis D7 überprüft und die Werte (LOW oder HIGH) können am Daten Pin Q7 seriell abgegriffen werden. Die hier verwendete Anordung, die sogenannte daisy-chain Schaltung, ermöglicht mit nur 3 Ports des Microcontrollers theoretisch beliebig viele Register anzusteuern. Dabei wird der Output des zweiten ICs, also der Port an dem eigentlich die Werte der gelesenen Pins anliegt mit dem Input (DS (Pin 10)) des ersten ICs verbunden.

Selbes erfolgt mit den bilateralen Schaltern U4A-U4D, da auch dafür nicht genügend Ports am ATmega328 zur Verfügung stehen, werden diese durch das klassische 74HC595 Shift Register erweitert. Diese können jedoch nur Zustände an den Ports Q0 bis Q7 ausgeben. Der auszugebende Wert kann seriell über den Port DS an Pin 14 eingegeben werden sobald der Latch Pin LOW ist. Wird der Latch wieder auf HIGH gesetzt, so werden die eben eingegebenen Werte für die Ports ausgegeben. Auch hier erfolgt die daisy-chain Schaltung. Hier wird Q7' (Pin 9), ein sogenannter Overflow mit dem Input (DS (Pin 14)) des zweiten ICs verbunden. Werden mehr als 8 Bit in das erste Register geladen, so sind diese am Pin Q7' und werde am DS Pin des zweiten ICs eingelesen.

Mit dieser Anordnung können mit nur 6 Pins am Microcontroller je 16 Inputs und Outputs erzeugt werden. Die damit verbleibenden 8 Pins werden mit zwei Button für die Navigation auf dem LCD und 6 Pins für das LCD verbraucht.

Da das LCD auf der Controller Platine nicht sicher funktionierte wurde zum Schluss auf einen Atmega2560 Board umgestiegen und die Funktionen großteils daran angepasst.

 

Platine

 

 

 

 

 

 3D Ansicht Microcontroller Einheit (links), 3D Ansicht Ladeeinheit (rechts)

 

Adapter Platine

Um die Akkus und Schalter nicht direkt auf der Platine betägigen zu müssen, wurde dafür eine Adapter Platine erstellt auf der alle wichtigen Verbindungen nach außen geführt sind. Dazu zählen die Ladebuchse, die Entladebuchse, die DIP Schalter zum Einstellen des Ladestroms, die Lade und Entlade LED, der Entlade Taster, das LCD, I2C, ein Reset Button für den Arduino und zwei Button zur geplanten Navigation auf dem LCD.

Schaltplan Adapter Platine

Das schwarze Flachbandkabel ist immer verbunden mit Pin 1 des "CONN_13x2" bzw. "LCD & Communication", Pin 26 immer mit dem roten Kabel

 

 3D Ansicht Adapter Platine

Die Pin Belegung der LCD Verbindungen lautet:

LCD1 (P17) Pin 6 GND, Pin 5 Vcc, Pin 4 Contrast, Pin 3 RS, Pin 2 R/W, Pin 1 EN

LCD2 (P19) Pin 6 N.C., Pin 5 N.C., Pin 4 N.C., Pin 3 N.C., Pin 2 DB4, Pin 1 DB5

LCD3 (P22) Pin 6 DB6, Pin 5 DB7, Pin 4 LED+, Pin 3 LED-, Pin 2 N.C., Pin 1 N.C.

CONN_2 (P24) Pin 1 N.C., Pin 2 N.C.

Am verwendeten grauen Flachbandkabel ist der 2 fach Pin im schwarzen Schrumpfschlauch SDA und im roten SCL.

Der abgeflachte Pin am ICSP Header ist wie überall Pin 1, also MISO

 

Programm Code

Der Programm Code ist im Download Ordner zu finden

 

Verwendung/Anwendung

Grundsätzlich ist die Schaltung an der Platine der Spannungsversorgung mit den groß angeschriebenen 5V zu verbinden. Damit lassen sich alle Akkus auf der Adapterplatine mit bis zu 500mA laden. Für die Anzeige der Informationen auf dem LCD muss der Atmega2560 ebenfalls mit Spannung, ggf. über USB, versorgt werden. Nun lassen sich die Ladezustände aller Akkus grafisch anzeigen und schalten circa alle 5 Sekunden auf dem Display durch. Der Lade-/Entladestrom kann nur angezeigt werden wenn auch die +12V, Masse und -12V an der Spannungsversorgung, ebenfalls wie gekennziechnet angeschlossen werden.

Die Entladeschaltung ist noch mit einem Lastwiderstand von 8,2Ω auszustatten, welcher extern angebracht werden sollte und unbedingt gekühlt werden muss! Ebenfalls ist dafür der Code noch zu erweitern.

NIEMALS MEHR ALS DIE GEKENNZEICHNETE SPANNUNG ANLEGEN !

 

Probleme

G-Code erzeugen

Ein besonderes Problem bestand in der Erzeugung eines für die CNC Fräse verwendbaren G-Code. Eine Anleitung zur Lösung dieses Problems ist nun unter Anleitungen -> CNC -> Layout und G-Code Erstellung mit KICAD zu finden.

Fräsen der SMD Footprints

Besonders schwierig war das  Fräsen der SMD Footprints, vor allem das des Microcontrollers. Das Einspannen in die Fräsvorrichtung verbog bis dahin die Platine derart stark, dass das Fräsen für das TQFP32 Package mit einer Tiefe von nur 0.06mm nicht möglich war. Auch die Lösung für dieses Problem ist in der Anleitung Layout und G-Code Erstellung mit KICAD zu finden.

 

Download

Dieses File enthält die Datenblätter der verwendeten ICs, den Schaltplan als Datei und PDF, die Platine als Datei und Gerber File sowie den Arduino Code

 <Download File>

Anhänge:
Diese Datei herunterladen (Wiki Ordner.zip)Arduino Code, Schaltpläne, Datenblätter[ ]%2014-%04-%24 %1:%Apr%+02:00