Dienstag, 29. November 2011

Arduino Zwischenstand

Viel zu berichten gibt es nicht, aber ich wollte mal einen Zwischenstand geben, wie weit es mit der Entladeschaltung ist.
Das Programm ist schon auf einem guten Weg. Mathias hilft mir bei Fragen und Problemen und Franz wacht aus der Ferne mit einem Auge über die Ergebnisse ;)
Leider fehlen noch immer die LiFePo4-Zellen für den Test, so kann ich leider nur warten, oder mir eine der "echten" Zellen schnappen.
Wie ich mich kenne, werde ich nicht länger als bis zum Wochenende aushalten und dann loslegen ;)

Das Schreiben und Auslesen der SD-Karte klappt gut. Ich schreibe eine .csv-Datei, die ich später mit Hilfe von OpenOffice zu einem Diagramm wandle.
Ich hoffe so einen Überblick über den Verlauf zu bekommen und Kenntnisse für die Mammut-Aufgabe der kompletten Kapazitätserfassung zu gewinnen.

Ein SD-Shield mit integrierter Echtzeituhr ist auf dem Weg. Damit umgehe ich die Zählung von Tackten etc. und habe eine definierte Größe, die ich mit in die Tabellen aufnehmen kann.

Franz Daisychain-Ansatz möchte ich mir gern genauer ansehen, sobald ich die Zeit finde und alle Bauteile habe.
Christians Box ist ebenfalls ein Blick wert, allerdings geht es mir im Moment mehr um die Grundlagenforschung, um zu verstehen, wie meine persönlichen Zellen ticken.

Dienstag, 22. November 2011

Arduino: Bauteile zusammen

Es ist heute wieder ein Paket aus Fernost angekommen. Dieses Mal waren zwei Widerstände im Umschlag.
Der eine ist ein 0,1Ω Ohm 100W und der zweite ein 0,25Ω Ohm 100W.
Beide haben eine glatte flache Unterseite, damit ich sie auf einen Kühlkörper montieren kann, denn zumindest der 0,1Ω wird ziemlich was leisten müssen.
Mit meinem Labornetzteil und Multimeter habe ich bei kleiner Spannung (0,5V) den Strom gemessen, um zu sehen, ob die Widerstände in der Toleranz liegen. Alles OK, 0,1029Ω und 0,2516Ω inklusive der Messgerätetoleranzen.

Somit sollte die Hardware vorhanden sein, um unsere ersten Versuche durchzuführen.
Ein Arduino Duemilanove:

Ein LCD Display mit 24 Zeichen und 2 Zeilen:

Ein zweites LCD-Shield habe ich wegen der einfacheren Nutzung dazu genommen. Es hat bereits 6 Taster integriert. Zudem muss nicht gelötet werden, sonder aufstecken und losprogrammierren. Der Nachteil ist nur der, wenn man sich an den Platz des 24x2 gewöhnt hat, möchte man nicht mehr auf so einem "kleinen" 16x2 Display arbeiten :)
Zum Test habe ich unterschiedliche Stromsensoren besorgt. Unterschiedlich im Messbereich (+/-5A, 0-20A, 0-30A) und dem Anschluß (Schreubklemme, Kabelschuh):

Zudem ist ein alter Bekannter dabei: Der LEM HASS 50-S, der in der 200-S Version bereits in der Franz-Box zum Einsatz kommt:

Zur speicherung der Daten ist eine SD-Karte vorgesehen, wie auch in Christians 4D-Box. Diese im Bild ist erstmal in Benutzung, allerdings werde ich mir wohl ein Shild besorgen, was eine Echtzeituhr integriert hat. So kann ich die Daten mit dem jeweiligen Datum speichern:

Und zum Schluß noch ein Relais, was das Hauptrelais schaltet, denn das wird mit 12V schalten und die ~40A Last tragen:

Jetzt heißt es, an die Software setzen und los geht es :)

Mittwoch, 16. November 2011

Einzelzellenüberwachung

Neben dem Entlade- und Ladeaufbau, denke ich auf einem einfachen Aufbau für die Messung der einzelnen Zellspannungen mit dem Arduino herum.
Der Arduino Duemilanove hat nur eine begrenzte Anzahl von Analogen Eingängen zur Spannungsmessung (6), was für unsere 45 Zellen nicht ausreicht.
Somit habe ich ein paar Multiplexer (CD4051) bestellt, die das Problem lösen sollen.

Über drei digitale Ausgänge des Arduino schalte ich bis zu acht Multiplexer und kann so an nur einem einzelnen analogen Eingang des Arduino bis zu 64 analoge Signale messen.
Dabei wird nur ein Wert zur Zeit gemessen, aber da der 4051 sehr schnell schaltet, wird dies keine größeren Verzögerungen mit sich bringen.
Für unsere Unterspannungsmessungen ausreichend, denke ich.

Mit Franz haben wir schon einmal diskutiert, was wichtig für die Überwachung ist.
Nicht die ständige Anzeige aller Zellen, sondern die Zelle mit der aktuell niedrigsten Spannung muss betrachtet werden und ggf. muss eine Überwachung eingreifen, sollte sich der Ladezustand dem kritischen Bereich nähern.
Die Kür ist neben der Anzeige, eine aktive Drosselung des "Gaspedals", durch die Zuschaltung eines Widerstands zum Fahrpoti.

Im Versuch mit einer einzelnen Zelle ist alles kein Problem, aber im Fahrzeug sind die Zellen in Reihe geschaltet und somit können diese nicht auf einen Massepunkt gebrahct werden.

Offene Frage: Wie bekomme ich eine übersichtliche galvanische Trennung der Eingänge zueinander hin?



Mal sehen, was Franz darüber in seinem Blog stehen hat ... ;)

LCD Einteilung für Messaufbau

"Grau, teurer Freund, ist alle Theorie, und Grün des Lebens goldner Baum."
Was der gute alte Mephisto in Goethes Faust schon wusste, ist Teil meines ständigen Lernprozesses :)

Ich komme mit dem Arduino gut zurecht, auch wenn ich leider nur wenig Zeit habe, mich konzentriert an die Programmierung zu setzen und große Schritte zu machen, tippel ich mich mit kleinen Tapsen zum Ziel.

Bisher sind die nötigen Teile für die Strommessung angekommen und eingebaut.
Gegenüber dem LEM habe ich die Möglichkeit kleinere Ströme exakt zu erfassen, was für die ersten Tests an den bestellten 18560 LiFePo-Zellen wichtig ist.
Die Zellen selbst (UltraFire 4000mAh) sind noch auf dem Weg.

Im späteren Aufbau werde ich je nach größe des fließenden Stroms den LEM HASS-50S  (>30A) oder den ACS714 Chip (<30A)  nutzen.

Bisher nutze ich ein Display mit 24 Zeichen und zwei Zeilen. Damit habe ich eingermaßen Platz, alles übersichtlich anzuordnen. Hier mal ein kleiner Vorgeschmack, wie es aussehen soll:
Zur Abschaltung nutze ich ein an den Arduino angeschlossenes Relais, dass im "richtigen" Moment einfach die Last von der Batterie trennt, bzw zuschaltet.

Zur Ladung werde ich erstmal mit den vorhandenen MeanWell SP-75-3.3 arbeiten.
Wer Interesse an einem hat, für je 35,- Euro habe ich noch zwei abzugeben.

Freitag, 11. November 2011

Vorbereitung für Zellenmessung


Es laufen derzeit meine Vorbereitungen, um die Messung der einzelnen Zellen duchzuführen.
Der Plan sieht vor, jede einzelne Zelle bis zu ihrem elaubten Nullpunkt am unteren Ende der Ladekurve zu bringen und diese dann wieder vollzuladen bis zum erlaubten "Höchstpunkt".

Die Energie, die beim Laden in die Zelle fließt, wird damit die Kapazität der Zelle bestimmen.
Jeder Hersteller gibt unterschiedliche Ladekurven und Endladekurven, sowie empfohlene Entlade- und Ladespannungen und Ströme an, daher gelten die unten aufgeführen Werte nur für die von mir verwendeten Zellen!

Bei 20°C ist der Punkt, der als entladen gilt bei 2,5V und 39A (0.3C).
Die Zellen wurden zum Zeitpunkt unseres ersten Kaufs noch mit 2,0V Entladespannung angegeben und 3,8V Endladespannung (hier auf das "d" und "t" achten ;)  ).
Mittlerweile sind hier 2,5V und 3,6V angegeben.

Zur Vorbereitung werde ich den Wagen bis ca.80% leerfahren, damit die Prozedur nicht unnötig lange dauert.

Als Aufbau wird ein 100W 0,1Ω Ohm Widerstand eingesetzt.
Bei anfänglichen 3,2V wird der Strom etwa 32A ausmachen, bei 2,5V sind es noch 25A.
Die Spannung und der Strom wird doppelt überwacht.
Zum einen wird ein Arduino darüber wachen und im entscheidenden Moment ein Relais öffnen, um den Stromfluß zu unterbrechen, zum anderen werde ich mit Stromzange und Multimeter die Werte gegenprüfen und ggf. einschreiten.
Wenn das bei den ersten Zellen reibungslos funktioniert, werde ich dem Arduino die Arbeit überlassen.

Den Aufbau für das Laden werde ich voraussichtlich ähnlich aufbauen. Endspannung wird 3,5V werden.
Zum Laden der einzelnen Zellen werde ich es mit den drei MeanWell-Netzteile (je 15A) probieren und sehen, ob es nach meine Wünschen klappt.
Die Ah und Wh werden von einem zweiten Arduino gemessen.

So kann ich die ersten Zellen laden, wärend der Rest noch entladen wird.

Bei 45 Zellen wir das eine lange Prozedur ...

Mittwoch, 2. November 2011

Kohlebürsten einschleifen und warten

Roger hat einen wichtigen Punkt angesprochen, den ich hier noch einmal genauer beschreiben möchte.
Helwig-Carbon, der Hersteller der in den NetGain WapP Motoren verwendeten Kohlebürsten, hat beschrieben, wie man diese behandeln sollte, um eine möglichst lange Lebensdauer zu erreichen.

Einschleifen:
Die Kohlebürsten sind aus der Fabrik heraus nicht auf den Radius des Kollektors vorbereitet.
Das bedeutet, dass diese Arbeit erst einmal von dem neuen Besitzer eines z.B. WarP Motors erledigt werden muss.
Sinn und Zweck der Übung ist es, dass die Kohlen möglichst exakt auf dem Kollektor des Motors aufliegen, bevor das erste Mal das "Strompedal" auf den Boden gedrückt wird.
Empfohlen wird hier, den Motor 100Std.(!) bei ca. 2.000 U/min laufen zu lassen.
Alternativ muss in den ersten ~5.000 Kilometern der Gasfuß gezügelt werden.

Wir haben uns für den zweiten Weg entschieden und haben nach nun ~3.500km erst 70% der empfohlenen Kilometer rum.
Dabei sind wir nicht bei den 2.000 U/min geblieben, sondern haben uns eine maximale Umdrehung von 4.200 auferlegt, die der Wagen selten zu spüren bekommt. Zudem beträgt unser Strom im Schnitt ~100A und max. 500A.
All denen, die den Wagen zum Ampelrennen und für Hochgeschwindigkeitsfahrten nutzen möchten, ist der erste Weg zuu empfehlen! Sonst besteht nicht nur die Gefahr die Kohlen zu beschädigen, sondern auch den Kollektor.

Es ist kein Problem, den Motor von einem anderen Motor drehen zu lassen, um die Kohlen einzuschleifen, aber unbedingt auf die Drehrichtung achten!


Wartung:
Über die Laufleistung der Kohlen haben wir bereits geschrieben (2.000 Std), je weniger Umdrehungen und Strom, umso länger die Lebenserwartung..
Vor dem Tausch sollte man nur eine Sichtprüfung durchführen. Helwig empfiehlt die Kohlen so selten wie möglich bis nie rauszunehmen und sie danach wieder einzustecken.


Den Kollektor bei größeren Wartungen, neuen Kohlen, Verschmutzung, etc. säubern und ggf. abschleifen.
Dafür Granat-Schleifpapier nutzen in der Körnung 80, 100, 220. Anschließend die Zwischenräume am Kollektor gründlich reinigen und ggf. mit einer Rasierklinge und Feile nacharbeiten.

Niemals Silikon an die Kohlebürsten bringen!