Entwicklung einer Schutz- und Überwachungsschaltung
für Lithium- Ionen- Akkumulatoren
mit SMBus- und SPI- Anbindung

von Daniel Kreuzer und Matthias Merkle
in Zusammenarbeit mit TESK Elektronik GmbH, Bopfingen
betreut von Herrn Heß

Überblick

Das Laden und Entladen von LiIon- Akkus sind sehr sensible Vorgänge. Dabei können schon minimale Abweichungen im Bezug auf die batteriespezifischen Kenngrößen zu einer Explosion führen.
Resultierend daraus ergab sich unsere Zielvorgabe, eine Überwachungsschaltung zu entwickeln, die den Lade- und Entladevorgang des Akku- Packs selbstständig überwacht und durchführt. Ebenso musste ein Programm in C realisiert werden, das die Anbindung des Überwachungsbausteins über einen Mikrocontroller an ein externes Daten-Flash ermöglicht.
  • Planung und Auswahl der passenden Hardwarekomponenten
  • Entwicklung des Schaltungslayouts
  • SPI- und SMBus- Anbindung für die Übertragung der Messdaten
  • Auswertung und ggf. Abspeicherung der Messdaten

Ausführung

1. Aufgabenstellung
Zu Beginn unserer Technikerarbeit mussten wir uns in die Komplexität des LiIon- Akkus einarbeiten, um die Relevanz einer Schutzschaltung verstehen zu können. Danach galt es für die in 2. "Entwicklung der Hardware" genannten Features die benötigten Bauteile, bzw. Komponenten auszuwählen. Für die Realisierung unseres Projekts wurde die Gesamtaufgabe in folgende Themenbereiche gegliedert:
  • Hardware:

  • Entwicklung der Überwachungsschaltung sowie Erstellung der Platinenlayouts.
    (Bearbeitet von Matthias Merkle)

  • Software:

  • Erfassung, Auswertung und Sicherung der Messdaten mit der Anbindung vom externen Daten-Flash und des Überwachungsbausteins über SPI und I²C.
    (Bearbeitet von Daniel Kreuzer)



2. Entwicklung der Hardware

Akkusimulator

Die Hardware der intelligenten Überwachungsschaltung sollte im wesentlichen aus zwei Platinen bestehen, der T220 Platine, die hauptsächlich aus dem Mikrocontroller, dem externen Flash sowie den CAN- und RS232 Treiberbausteine besteht. Die zweite Platine T501, auf der zum einen der Überwachungsbaustein integriert ist um die verschiedenen Messungen durchzuführen, sowie die Abschaltung der Überwachungsschaltung, Spannungserzeugung von 1,8V und 3,3V für den Mikrocontroller und die Temperaturerfassung des Akkupack, aber auch der Platine selbst.

Die Überwachungsschaltung musste verschiedene Messungen durchführen und verarbeiten können:
  • Entlade- und Ladestrom
  • Gesamtspannung des Akkupack
  • Einzelspannungen der Zellen
  • Schalten der Lade- und Entladetransistoren
  • Aktivierung des Cell- Balancing
  • Sofortiges Abschalten im Fehlerfall
  • Kapazitätsanzeige des Akkupack



3. Entwicklung der Software
Für die Realisierung der Software bekamen wir von der Firma TESK die winIDEA Entwicklungsumgebung zur Verfügung gestellt. Die Funktionsweise liegt der etwas populäreren Entwicklungsumgebung uVision2 von Keil, welche auch in der TS Aalen zum Einsatz kommt, sehr nahe. Für die Kommunikation zwischen dem Überwachungsbaustein und dem Mikrocontroller dient die I²C- Schnittstelle. I²C und SMBus wurden funktional als die gleichen Schnittstellen betrachtet, da es hier bei der Umsetzung der Technikerarbeit zu keinerlei Problemen kam. Für die Übertragung der Messdaten zwischen dem Mikrocontroller und dem externen Daten-Flash kam die SPI- Schnittstelle zum Einsatz.

An die Softwareprogrammierung wurden in Betracht auf die Messdaten folgende Anforderungen gestellt:
  • Übertragung aus dem Überwachungsbaustein
  • Auswertung in Bezug auf die vorgegebenen Kenngrößen
  • Speicherung in einem externen Daten-Flash
Das Auslesen der Daten aus dem Überwachungsbaustein wird im Abstand von einer Sekunde durchgeführt. Dazu musste zuvor die interne Real Time Clock auf diesen Wert initialisiert werden. Wird der Akku Pack nicht aktiv in Anspruch genommen geht der Mikrocontroller in den Power Down Modus, wodurch eine weitere Abarbeitung des Programms nicht mehr möglich ist. Ein externer Interrupt, der durch einen externen RTC ausgelöst wird, ermöglicht eine Fortsetzung des Programmablaufs .

Ergibt die Auswertung, dass die Messdaten gesichert werden müssen, wird zunächst der aktuelle Datenstand im externen Daten-Flash ermittelt und daraufhin kann der Transfer an die ausgewählte Stelle beginnen. Bei dem Daten-Flash handelt es sich um einen Speicher, der auch ohne angelegte Spannung seine gespeicherten Daten behält. Dies ist in unserem Projekt sehr wichtig, da der Baustein ebenfalls nur über den zu überwachenden Akku- Pack versorgt wird.

Da die Entwicklung der Hard- und Software parallel abliefen, wurde der erstellte Programmcode an einem Evaluation Board getestet. Nachträglich mussten dann nur noch das passende Daten-Flash und zwei zusätzliche PullUp-Widerstände für die I²C-Kommunikation integriert werden. Mit Hilfe des Logicport Analyzer konnten die unterschiedlichen Signalverläufe auf dem PC analysiert werden.

I²C-und SPI Testaufbau




4. Inbetriebnahme
Um an den Platinen zur Überwachung des Akkupack die Inbetriebnahme durchführen zu können, nahmen wir verschiedene Messungen vor, wie z. B.: Versorgungspannungen des Mikrocontrollers sowie die Taktfrequenzen der Taktgeneratoren. Die Messungen zeigten keinerlei Fehler auf, was u. a. auf ein fehlerfreies Platinenlayout hinweist. Auf Seiten der Softwareentwicklung konnte ein positives Fazit in Bezug auf die Datenübertragung zwischen dem Mikrocontroller und dem Überwachungsbaustein, bzw. dem externen Daten-Flash gezogen werden.