• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Akkustandanzeige???

Brick
Offline
#1 Dennis Hurst
Hallo

Wäre es realisierbar in der software eine akkustandanzeige einzubauen?
nur mal so als kleine anmerkung......
denke damit wäre vielen geholfen

Gruss
Dennis
Offline
#2 Gunther
Das ist sicher möglich, versuche es doch mal. Google ist hier die erste Anlaufstelle: “Arduino, battery Level“ o.ä. Der Code ist ja offen, da kannst du dich austoben. Wenn Du eine Lösung hat, dann Teile sie gerne hier mit der Community! Erst das macht es zu einem kooperativen Gemeinschaftsprojekt.

Posted mobile via Tapatalk...
Subscribe to: LRTimelapse Newsletter, Youtube Channel, Instagram, Facebook.
Offline
#3 anmispo
Hallo,
über den Jahreswechsel habe ich etwas an einer Akkustandsanzeige für den Timer gebastelt und würde mein Ergebnis gerne mit euch teilen.

Im folgenden wird die Variante für Akkuspannungen bis zu 10 V beschrieben. (Bei höheren Spannungen muss die Anzahl der Wiederstände erhöht werden und entsprechende Anpassungen im Sketch vorgenommen werden.)

Um die Spannung des Akkus auf 5 V oder kleiner für den analogen Ardino Pin zu bringen wird sie über zwei gleiche Wiederstände vermindert. Hierbei habe ich zwei Wiederstände mit 27k Ohm genommen. Hierbei gilt das Ohmsche gesetz I=U/R, weshalb der Stromverbrauch sinkt, je höher der Wiederstand ist. Man kann jedoch auch zwei gleiche Wiederstände einer andere größe verwenden. Die beiden Wiederstände werden in Reihe geschalten, wobei die Akkuspannung über die beiden Wiederstände angelegt wird, sowie an das Arduino über den Vin Pin und den GND Pin angelegt wird. Zwischen den beiden Wiederständen wird ein Kontakt mit dem analogen Arduino Pin A1 hergestellt. (Bei Spannungen größer 10 V braucht ihr mehr als zwei wiederstände. Der kontakt mit dem A1 Pin wird dann zwischen den beiden Wiederständen hergestellt die am nähsten zum GND liegen, sodass sich zwischen GND und A1 ein Wiederstand und zwischen A1 und Vin die restlichen Wiederstände befinden.)
   

Den Sketch habe ich auf GitHub als neuen Zweig "Pro-Timer Free Battery" hochgeladen.
https://github.com/anmispo/LRTimelapse-P...b4db84d87d
Vielleicht wird er ja dann von Gunther in eine neue Version übernommen.

Je nach Akku müsst ihr im Sketch an folgender Stelle die Spannung eintragen, die euer Akku voll geladen und leer besitzt, damit die berechnung der Prozentanzeige, sowie der graphischen Batterieanzeige stimmt. (Solltet ihr eine höhere Spannung als 10 V haben und damit auch mehr als zwei Wiederstände könnt ihr an dieser Stelle auch die Anzahl der Wiederstände eintragen.
Code:
float voltageFull = 8.1;  // voltage of full battery
float voltageEmty = 7.0;  // voltage of emty battery
int nrResistance = 2;     // number of resistors of the Voltage Divider (in case of >5V - 10V battery 2x (27K) resistors)

Im Sketch habe ich folgende Funktionen einprogramiert:
  • graphiesche Batterieanzeige mit 4 Balken oben rechts in mehreren Menüs.
    • 4 Balken: 100% bis 75%
    • 3 Balken: 75% bis 50%
    • 2 Balken: 50% bis 25%
    • 1 Balken: 25% bis 10%
    • 0 Balken: 10% bis 0%
  • Batterie Menü erreichbar über das Settings Menü (>Pause  >Ramp Interval >Battery) während laufender Aufnahme.
    In diesem Menü wird die Akkuspannung angezeigt, sowie die daraus berechnete Prozentangabe und graphischen Batteriebalken.Weiterhin kann hier die graphische Batterieanzeige in allen Menüs abgeschalten werden, sodass die Benutzeroberfläche bis auf das neue Batteriemenü zur bisherigen Version 0.90 unverändert benutzt werden kann. Dies ermöglicht auch eine ungestörte Nutzung der Sketches, wenn hardwareseitig keine Batterieanzeige realisiert wurde.
Hier noch ein paar Bilder vom Display.

   

Ich hoffe ich konnte den ein oder anderen zum nachbauen animieren.

Viele Grüße

anmispo

PS: Ich bin mir nicht sicher, ob ich das mit GitHub so richtig gemacht habe, wenn nicht bitte melden.
Offline
#4 Gunther
Danke für Deinen Beitrag! Das hört sich schon sehr gut an. Mir wäre allerdings eine Lösung lieber, die ohne Hardwareänderung auskommt. Ich denke es müsste möglich sein, die Spannung direkt auszulesen und in der Software auf den Akkustand zu mappen. Ich habe das mal für einen anderen Arduino (nicht UNO) gemacht und es war kein Problem, man muss halt einmal den maximalen Wert ermitteln und einmal den minimalen und dazwischen dann interpolieren. Vielleicht magst Du das ja mal versuchen, dann würde ich das auch in den Standard übernehmen. Ich möchte halt vermeiden, dass die Leute noch mehr löten müssen, bzw. dafür an ihrer Hardware änderungen vornehmen müssen.
Subscribe to: LRTimelapse Newsletter, Youtube Channel, Instagram, Facebook.
Offline
#5 anmispo
Soweit wie ich das verstanden habe ist eine interne Spannungsmessung nur mit dem 5 V Vcc pin möglich. Sobald die Stromversorgung mit einer höheren Spannung über den Vin pin stattfindet, muss Handwareseitig nachgeholfen werden.

Ich habe deshalb den Sketch nun so angepasst, dass die Spannungsmessung mit beiden Varianten (interne Spannungsmessung ohne Hardwareänderungen (nur bei Stromversorgung über 5V Vcc pin möglich); Externe Spannungsmessung über oben beschriebene Hadwareanpassung; oder beides) möglich ist. Nun auch auf Grundlage von Version 0.91.
Auch hier können nun für beide Varianten die Spannungen des jeweiligen Akkus voll und leer zur Prozent- und Batterieberechnung eingetragen werden (Zeile 125-129).
Code:
float voltageFull = 8.1;  // voltage of full battery
float voltageEmty = 7.0;  // voltage of emty battery
float voltageFullInternal = 5.0;  // voltage of full battery (max. 5V)
float voltageEmtyInternal = 4.5;  // voltage of emty battery (max. 5V)
int nrResistance = 2;     // number of resistors of the Voltage Divider (in case of >5V - 10V battery 2x (27K) resistors)
Den Sketch habe ich wieder auf GitHub hochgeladen:
https://github.com/anmispo/LRTimelapse-P...505586a8e9
Offline
#6 Gunther
Okay, ich schau mir das mal an, wenn ich wieder in Deutschland bin. Das Problem wird vermutlich sein, dass unterschiedliche Akkus/Batterien unterschiedliche Spannungseinträge brauchen. Wenn man mit einem Akkutypen arbeitet, kann es aber funktionieren. Ich selbst nutze für den Timer eigentlich nie den 12V eingang sonder immer die 4 AA Akkus.
Subscribe to: LRTimelapse Newsletter, Youtube Channel, Instagram, Facebook.
Offline
#7 hspeedy
Hallo zusammen, ich bin mir nicht so richtig sicher ob das mit den Prozenten Sinn macht. Der Code für die Bestimmung der Spannung ist perfekt. Für mich macht eine Messung der Spannung des Arduino Sinn. Diese sollte immer 5V betragen. Sie sinkt nur dann unter diesen Wert, wenn die Spannung der Akkus nicht mehr ausreicht. Damit läuft der Timer aber immer noch. Man könnte dies nun nutzen um ab einem Schwellewert eine  Warnung zu zeigen. Die Spannungslage der Akkus ist glaub nicht linear und je nach Typ vermutlich unterschiedlich.
Offline
#8 anmispo
Mit der Prozentanzeige hast du schon recht. Ich habe das ja ursprünglich für meine Bauvariatne des Timers entwickelt, den ich mit einem alten Li-Ionen Akku betreibe. Darum funktioniert das hier recht gut mit den Prozent, weil ich hier in einem Spannungsbereich über 5 V liege. Außerdem ist es mir hier nicht wichtig den genauen Prozentsatz zu kennen, sondern nur einen groben Anhaltspunkt zu haben, wie viel Akku ich noch habe. Und hier vorallem, dass mir der Akku bei < 10 % als leer angezeigt wird, weil Li-Ionenakkus es garnicht mögen tiefer entladen zu werden, was dann auch beim Laden gefährlich werden kann, da sie dann termisch durchgehen können. Den Betrieb mit 4 AA Akus, wie er von Gunther beschrieben ist, konnte ich leider mit meinem Timer nicht selbst testen und kann daher nichts über das Verhalten des Spannungsabfalls der Akkus sagen. Ich denke jedoch auch, dass das Verhalten hier je nach Akku sehr unterschiedlich sein kann. Ich würde mich daher freuen, wenn hier jemand damit erfahrungen gesammelt hat oder sammelt, diese hier mit uns teilt. Es ist ja dann ein leichtes den Sketch entspechend anzupassen. Die Spannung wird ja im Batteriemenü angezeigt, sodass man da ja mal beobachten kann, wie sich die Spannung so verhält im Laufe der Akkunutzung. Eventuell kann man ja auch mal mit einem Multimeter die Spannung der Akkus messen, wenn das Arduino dann den Geist aufgegeben hat, um mal einen minimal Wert zu ermitteln, bis zu dem das Arduino arbeitet.

...also check out: