PI Zero als Logger am Cycle-Anaylst

Beiträge
33
Angefangen hat es damit, dass ich mein trike mit einem Tretlagermotor ausgerüstet habe. Wegen der besonderen Montagsituation am trike habe ich kein Komplettset bestehend aus Akku und Motor mit Kommunikation zum Akku BMS einsetzen können. Der Akku wurde rein nach den Abmessungen und den Anbringungsmöglichkeiten ausgesucht. Denn am trike wollte ich möglichst wenige Änderungen (vor allen Dingen keine irreversiblen) vornehmen. So kam ein Rahmenakku zum Einsatz, der sich gut an der rechten Seite des trikes, zum Teil unter dem Sitz anbringen, ließ.
upload_2016-12-18_12-22-13.png
Um die Leistung ein wenig unter Kontrolle zu haben, hab ich einen dieser 15€ „Digital Batterie-Balancer LCD Voltage Akku Power Watt Meter“ eingesetzt. Damit bekam ich schon guten Eindruck von dem, was dem Akku bei den jeweiligen Unterstützungsstufen entnommen wurde.
upload_2016-12-18_12-13-50.png
Aber am trike 2,5 mm2 Kabel vom Akku zum Display und dann zum Motor zu verlegen hat mich schon gestört.

So bin ich nach relativ kurzer Suche auf den Cycle-Analyst gekommen, der sich wesentlich eleganter am trike unterbringen ließ.
upload_2016-12-18_12-14-14.png
Der Cycle Analyst hat eine Schnittstelle, an der er seine Messwerte im Sekundentakt zur Verfügung stellt, und das im folgenden Format:

Ah V A S D3
3.296 47.62 10.04 15.32 8.9132
3.299 47.49 13.22 16.41 8.9175
3.302 47.43 13.45 17.30 8.9220
3.306 47.85 6.02 17.52 8.9268
3.308 49.36 -1.43 17.17 8.9317
3.307 49.55 -3.69 16.05 8.9365

Mit einem raspberry PI Zero war es sehr einfach möglich die Daten entgegen zu nehmen und abzuspeichern. Der Pegel des Cycle-Analyst „passt“ ohne Umsetzer und Converter direkt an den PI Zero.
Der PI Zero sammelt die Daten, und loggt sie alle 30 Sekunden in eine Datei. Der Cycle-Analyst liefert die Daten jede Sekunde, der PI Zero loggt den Mittelwert. Bei Strom und Geschwindigkeit zusätzlich die Maximalwerte, und bei Spannung zusätzlich die Minimalwerte. Das Ganze im csv Format sieht dann so aus:

2016-12-17 10:06:08;2.4234;Ah; 37.63;V;36.41;Vavg;37.62;Vmin;0.00;A;0.01;Aavg;0.02Amax;0.00;km/h;0.00;km/h avg; 0.00;km/h max;27.689;km

2016-12-17 10:06:39;2.4234;Ah; 37.63;V;37.63;Vavg;37.62;Vmin;-0.01;A;0.01;Aavg;0.04Amax;0.00;km/h;0.00;km/h avg; 0.00;km/h max;27.689;km

2016-12-17 10:07:10;2.4233;Ah; 37.63;V;37.63;Vavg;37.62;Vmin;0.00;A;0.01;Aavg;0.03Amax;0.00;km/h;0.00;km/h avg; 0.00;km/h max;27.689;km

Der PI Zero läuft mit ca. 80 mA. Meine Werbegeschenk-Powerbank lässt den PI 12h leben.

Nach der Nutzung am trike verbinde ich den PI Zero mit meinem USB Hub mit WLAN Dongle, und kann so auf die Daten zugreifen. Statt USB Hub und Dongle funktioniert auch OTG am PC einwandfrei.
upload_2016-12-18_12-14-51.png
Somit kann ich alle Daten einer Fahrt auswerten. Jetzt könnte man den PI Zero noch mit einer GPS Maus ausrüsten, und zu den Daten noch die Position erfassen…


Mit der Verbindung des PI Zero und dem Auslesen ist mir die Idee gekommen, die Ladung des Akkus ebenso aufzuzeichnen. Dazu musste ich nur den Shunt in Reihe zum Ladegerät schalten, und zwar so, dass der Cycle-Analyst das als „Regen“ aufzeichnet. Damit kann ich nun eine gute Akku Bilanz ermitteln.

Da fehlte eigentlich nur noch, dass ich den Akku auch gezielt bis einer bestimmten Spannung auflade, zum Beispiel für die längere Einlagerung in der Winterpause, oder um den Akku nicht immer bis „zum Rand“ aufzuladen. Nachdem was ich gelesen habe, ist die Lebensdauer des Akkus wesentlich höher, wenn er nur bis ca. 90% geladen wird.
Das habe ich mit meiner FritzBox und der Schaltsteckdose DECT200 realisiert. Der PI Zero kann, wenn er eine WLAN Verbindung hat, Kontakt zur DECT200 aufnehmen. Hier loggt er dann Leistung, Schaltzustand und Temperatur (der Steckdose). Bei Erreichen einer bestimmten Akkuspannung, schaltet er über diese Schaltsteckdose das Ladegerät ab. Fällt die Akkuspannung unter einen bestimmten Wert, schaltet er die Ladung wieder ein. Das Ganze ist über eine Config Datei im PI Zero konfigurierbar, die wie folgt aussieht:

[FRITZbox]
FRITZadr: http://fritz.box
FRITZuser: ich
FRITZpassword: gANZgHEIM
FRITZdectName: TrikeLader
[SYSTEM]
POLLtime: 30
[CHARGER]
Vmin: 35.0
Vmax: 38.5
Tmax: 0

Vmin ist die minimale Spannung des Akkus, ab wann die Ladung wieder eingeschaltet wird.
Vmax is die Abschalspannung
Tmax ist die max. Ladezeit in Stunden, um den Akku z.B. voll zu laden. Ist hier eine Zeit >0 eingegeben, sind Vmin und Vmax nicht mehr relevant.

Realisiert hab ich alles in python. Der PI Zero muss nicht bedient werden, so bald er Spannung bekommt erkennt er die zur Verfügung stehenden Verbindungen und nimmt seine Arbeit auf. Am PI GPIO werde ich noch ein paar LEDs für den Status nachrüsten, um schnell erkennen zu können ob der PI Zero korrekt arbeitet.
Und was kostet das Ganze?
PI Zero ca. 5€
ZERO Essential Kit ca. 7,20€
Gehäuse ca. 6€
WLAN Dongle ca. 7,20€

Und Spaß macht es auch noch….
upload_2016-12-18_12-13-50.png upload_2016-12-18_12-14-14.png upload_2016-12-18_12-14-51.png upload_2016-12-18_12-22-13.png
 
Super!:D
Das muss ich mir mal in der Weihnachtspause näher ansehen, mit GPS wäre das ein richtig schnuckeliges Spielzeug! (y)
Nur von Monty (oder war es doch die Schlange?) habe ich keine Ahnung:(.
 
Monty ist so verkehrt nicht, und ist sehr einfach zu erlernen. Es gibt für alles das eine oder andere Beispiel im Netz.
Am GPS versuch ich mich als nächstes, ein GPS Maus (33€) hab ich mal bestellt.

Bei Interesse werde ich berichten.....
 
Zurück
Oben Unten