Drucken
Kategorie: Cubietruck
Zugriffe: 33504

Eine weitere nützliche Feature des Cubietrucks ist die Möglichkeit, einen Akku anzuschliessen. Damit kann man bei einem Stromausfall eine gewisse Zeit überbrücken und ggf. das System sauber herunterzufahren (und bei Bedarf vorher auch bestimmte Aktionen auszuführen). Aber auch bei einer oder anderen Bastelaktion erweist sich oft als sehr praktisch, den Strom mal kurz unterbrechen zu können, ohne vorher alles herunterfahren zu müssen.

Die Installation ist recht einfach. Es wird ein LiPo oder LiIon Akku benötigt, je größer desto besser ;) (Ich habe einen mit 3250 mAh genommen. Damit läuft mein System über 2 Stunden autark, incl. 2,5 Zoll Festplatte.) An den AKku muss ein Kabel mit einem passendem Stecker angelötet werden (gibts günstig "in der Bucht"). Das ganze wird an den Cubietruck angeschlossen (Wichtig: vorher herunterfahren und von der Stromversorgung trennen!).

Vor dem Anschliessen ist es sinnvoll, dem Board die tatsächliche Akkukapazität mitzuteilen. Diese Einstellung sthet dem System in der Datei /sys/class/power_supply/battery/energy_full_design zur Verfügung. Man kann sie dort jedoch nicht direkt eintragen, sie wird beim Booten durch /boot/script.bin definiert. Die Datei muss nicht genau so heißen, den genauen Namen erfährt man aus /boot/uEnv.ct (kann je nach eingesetzten Betriebsystem(version) etwas anders sein). Der zuständige Eintrag  kann z.B. so aussehen: script=/boot/ct-hdmi.bin. Die Schript-Datei ist jedoch binär. Damit sie bearbeitet werden kann, muss sie vorher mittels bin2fex-Utility in lesbare Form umgesetzt werden und nach der Bearbeitung auch wieder zurück (bin2fex -> script.fex -> edit -> fex2bin -> script.bin). Der anzupassender Parameter heißt pmu_battery_cap. Die Angaben haben in mAh zu erfolgen.

 

Cubietruck Akku 02 k

 

Cubietruck Akku 01 k

 

Folgende Graphik zeigt ca. 1,5 Stunden Laufzeit des Boards auf dem Akku (von 100 auf ca. 40 %) mit anschliessendem Wiederaufladen.

Cubietruck Akku Plot 01

 

Wenn die Stromunterbrechung zu lange dauern sollte, ist es sinnvoll das System herunterzufahren, bevor der Akku leer wird. Dafür benutze ich folgendes Script (check_usv.sh):

#!/bin/sh

BATPRESENT=`cat /sys/class/power_supply/battery/present`
BATLEVEL=`cat /sys/class/power_supply/battery/capacity`
BATONLINE=`cat /sys/class/power_supply/battery/online`
DATE=`date +"%F_%R"`

if [ $BATPRESENT -eq 0 ]
then
#    Batterie nicht vorhanden
    exit
fi

if [ $BATONLINE -eq 0 ]
then
#    Batterie wird nicht entladen
    exit
fi

if [ $BATONLINE -eq 1 ] && [ $BATLEVEL -le 30 ]
then
    echo -e "$DATE: Batterieladezustand niedrig: $BATLEVEL" >>  /var/log/battery.log
    echo -e "$DATE: Cubietruck wird heruntergefahren" >> /var/log/battery.log
    halt
    exit
fi

 

Das Script wird per Cront alle 5 Minuten ausgeführt. Dafür ist ein Eintrag am Ende der Crontab (crontab -e) einzufügen: */5  * * * * sudo /home//check_usv.sh. Die Script-Datei kann irgendwo liegen, der Pfad in der Crontab muss natürlich stimmen.

 

WARNUNG: Die Lithium-Akkus (vor allem LiPos) können gefährlich sein und im ungünstigsten Fall sogar Feuer fangen. Betreiben Sie diese nicht in der nähe von brenbaren Materialien und kontrollieren Sie diese von Zeit zu Zeit. Aufgeblähte Akkus müssen sofort vom Strom getrennt und fachgerecht entsorgt werden!
(Direkt auf dem Holzbrett lag mein Akku nur für die Photos. Ansonsten steckt dieser in einer Blechbox).

 

 

Kommentare (5)

Cancel or