Ich bräuchte Hilfe in Bezug auf das Auslesen von drei Akkus. In meinem solargetriebenen Roboter stecken 3 Akkus zu je 10.000mAh. Einer ist für die Motoren zuständig, einer für eine WiFi-Kamera und einer ist als Stromquelle für den Arduino Mega vorgesehen.
Nun zu meinem Problem: Ich muss den Akkustand aller drei Akkus unabhängig voneinander relativ genau messen können, damit ich weiß, wann der Roboter laden muss. Leider wird der Arduino, der das messen soll, von einem der Akkus gespeist, und die zwei anderen speisen Motoren/Kamera. Da an dem Arduino etwa 8 Sensoren hängen, darf aber nicht zuviel Strom dabei verloren gehen.
Meine Frage wäre: Wie ist das als Schaltung zu realisieren, und wie kann ich den Akkustand auslesen?
Hallo
Der Arduino hat doch mehrere Analogeingange damit geht das. Alle Minus Potentiale miteinander verbinden damit alles den gleichen Bezugspunkt hat.
Damit kannst du max 5Volt messen. Wenn die Spannung der Akus grösser ist musst du je einen Spannungsteiler verwenden, damit die Spannung für den Aruino nicht größer als 5 Volt werden kann.
Spannungsteiler bestehen aus 2 Widerständen. Wie die auszulegen sind hängt von deinen Akuspannungen ab. Die Summe beider Widerstände dabei mindestens 10k dann ist der Strom klein.
Auch höchstens 10kOhm für den Widerstand Richtung Quellspannung, sonst wird der Messkondensator nicht schnell genug geladen und das gibt fehlmessungen bei schnellen Messzyklen.
Was für ein Akku überhaupt?
Es gibt eigene ICs zur Akku-Überwachung, nennt sich BMS battery management system (oder so) und 'zählt' die AmpereSekunden, Die in den Akku rein und wieder raus gehen.
Je nach 'Zählerstand' ist der Akku entsprechend voll/leer.
@HotSystems
Das verstehe ich nicht so ganz. Du meinst, dass ich den Volt-Wert der Akkus messen soll?
@Tommy56
Noch weiß ich nicht genau, welches Akku ich nehme, aber alle liegen in einem Bereich von 3,3 bis 7V.
Die Messzyklen sind ohnehin nicht allzu schnell. Höchstwahrscheinlich werde ich alle 5 Minuten den Akkustand messen wollen.
@Rentner
Du meinst, dass ich alle Minuspole miteinander verbinde und dann in den Analogport stecke (als ein einziges Kabel)? So weit verstehe ich dass, aber wo muss dann der Pluspol hin, wenn der ja den Arduino und die anderen Sachen speist?
@postmaster-ino
Habe im Augenblick mehrere zur Auswahl. Entweder LiIon, LiPo oder NiMH mit Spannungen im Bereich von 3,3 bis 7V. Es wird aber wohl ein LiPo-Akku werden.
@HotSystems
Okay, also + in den Teiler und - auf GND. Und um dann den Arduino zu speisen, kann ich doch den + parallel zum Kabel zum Analogpin mit VIN verbinden, oder? Werde das mal in Fritzing planen.
ProjectColumbus: @HotSystems
Okay, also + in den Teiler und - auf GND. Und um dann den Arduino zu speisen, kann ich doch den + parallel zum Kabel zum Analogpin mit VIN verbinden, oder? Werde das mal in Fritzing planen.
Ja, wenn du den Arduino an Vin speist, ist das ok.
Welche Spannung hat der Akku ?
Und was genau wird alles am Arduino angeschlossen ?
Da darf die Spannung und der Strom für den Vin nicht zu groß werden.
Der Onboard-Regler kann keine große Verlustleistung ab.
ProjectColumbus: @HotSystems
Das verstehe ich nicht so ganz. Du meinst, dass ich den Volt-Wert der Akkus messen soll?
@Rentner
Du meinst, dass ich alle Minuspole miteinander verbinde und dann in den Analogport stecke (als ein einziges Kabel)? So weit verstehe ich dass, aber wo muss dann der Pluspol hin, wenn der ja den Arduino und die anderen Sachen speist?
Hallo,
NEIN natürlich nicht.
alle 0Volt miteinander verbinden. ebenso den 0V GND vom Arduino, das ist dann der gemeinsame Bezugspunkt. Dann hast Du von den drei Akus 3mal Plus. Die gehen bei Bedarf über je einen Spannungsteiler auf je einen Analogeingang des Arduino. Spannugsteiler benötigst Du dann wenn die Spannung die gemessen werden soll >5Volt ist. In der Software must Du dann den gemessenen Spannungswert wieder mit dem Verhältniss des Spannungsteilers multiplizieren um an die Akuspannung zu kommen.
Beispiel : Dein Aku hat,sagen wir mal 7 Volt, damit es einfach wird. Es ist also ein zusätlicher Spannungsteiler erforderlich. Der soll die Spannung um die Hälfte reduzieren. Also kann man z.B einen Spannungsteiler nehmen aus 2 Widerständen a 4,7KOhm. Damit wird der Arduino jetzt eine Spannnung von max 3,5V messen. Den vom Arduino gemessenen Wert muss man mit 2 mutiplizieren um wieder an die tatsächliche Akuspannung zu kommen.
Da alle Widerstände Tolleranzen haben, und auch nicht alle beliebigen Widerstandswerte verfügbar sind, wird man das tatsächliche Teilerverhältniss mit einem Messgerät ermitteln und diese dann bei der Berechnung berücksichtigen.
@HotSystems
Ich nutze NiMH-Akkus mit 10.000mAh bei 1,2V, die ich mit einem StepUp-Schaltkreis auf 5V bringe.
Der Arduino soll einige Sensoren auslesen und die Werte über ein 2,4 Ghz - Funkmodul an einen ESP8266 senden. Darüber hinaus verwaltet er außerdem einige Relais und ein Servoboard (wobei die Servos von einem zweiten NiMH-Akku mit den gleichen Werten gespeist werden.). Die Relais sind 16 an der Zahl, wobei nicht alle belegt sind. Die Leitungen, die geschaltet werden, sind die vom dritten NiMH-Akku.
@Rentner
Die Sache mit dem Spannungsteiler erledigt sich dann wohl, weil ich die Spannung ohnehin auf 5V hochbringe. Das müssten die Analogpins abkönnen. Meinst du mit den 0V die - der Akkus?
@TO um welchen Step-Up handelt es sich? Hast du ein Datenblatt, oder einen Link dazu? Beachte bitte, dass auch bei NiMH-Akkus die Spannung sinkt und du eventuell die Mindestspannung des Step-Up unterschreitest.
Selbst wenn die Akkuspannung den Step-Up ausreichend versorgen kann, nützt es dir nichts, die Ausgangsspannung vom Step-Up zu kontrollieren, die Spannung ist ~5V oder 0V und bei 0V ist der Arduino aus.
Greife die Akkuspannung am Pluspol des Akkus ab, also BAT+ an Arduino und parallel zum Step-Up, BAT- mit der gesamten Schaltung verbinden. Les zum Test erstmal die Spannung aus und lass sie dir im SerialMonitor anzeigen, Werte zwischen 0-246 spiegeln die Spannungen 0-1,2V wieder.