Ich vermisse bei der gesamten Diskussion eine Angabe über die tatsächlichen Verhältnisse des Spannungsteilers zunächst mal ganz ohne Belastung und ohne Arduino , mal abgesehen von dem Multimeter. Dazu scheinen mir zwei Messungen, auch über ein paar Minuten, erforderlich zu sein.
Wie genau sind die Widerstände des Teilers tatsächlich und wie ist die Belastung des Teilers durch den Arduino. Wie kommt es zu dem wegdriften der Spannung. Hat das eventuell was mit Erwärmung eines Bauteils , Überganswiderstandes von Kabel und Steckbrett, zu tun ?
1.Spannung am Spannungsteiler mit Multimeter messen ohne Verbindung zum Arduino.
2. Gleiche Messung mit Verbindung zum Arduino.
Das eigentliche Problem scheint mir das Wegdriften zu sein. Ich würde auch mal alle anderen unbenutzten Analogeingänge auf GND legen.
Die Aussage ist vergleichsweise ungenau. Wenn man jetzt einmal annimmt. Du hast zwischen GND und IO-pin A0 gemessen. Wenn mit dem IOpin A0 sonst nichts verbunden ist dann ist doch völlig klar das man da 0V misst.
Du musst schon die Batterie an deinen Spannungsteiler angeschlossen
und den Minuspol der Batterie mit GND des Arduino verbunden haben
und
den Spannungsteiler mit io-pin A0 verbunden haben und dann messen.
Wenn wie oben beschrieben alles angschlossen ist und dann zwischen GND und Io-pin A0
0,00 V angezeigt werden und noch nicht einmal 0,X V dann stimmt etwas nicht.
Hallo,
das sehe ich ebenso, mit ging es nur darum , der T0 wundert sich halt darüber das er 11.xx Volt am der Batterie misst und mit dem Arduino nur auf 10,xx kommt. Auf die naheliegende Idee mit dem Multimeter mal den Ausgang des Spannungsteilers zu messen sollte man doch als erstes kommen.
herzlichen Dank für die vielen Antworten. Hier ein kurzes (erfolgreiches) Update zum Projekt:
Ich habe mich über das Wochenende nochmal hingesetzt und einen Faktor berechnet für die Kalibrierung, so wie @combie es gesagt hatte. Vielen dank an der Stelle nochmal für den Hinweis!
Die Werte auf dem Multimeter weichen jetzt nur noch 0,01V von den Werten im seriellen Monitor ab, was aber verzeihlich ist und wohl an der Auflösung (0-1023 Byte --> 0-15,00 V) liegt.
Die Spannungsmessung ist jetzt auch sehr stabil. Leider kann ich mir nicht erklären wieso es auf einmal nicht mehr schwankt, aber ich bin froh das es funktioniert. Ich habe das ganze nun auch auf einen Arduino MEGA angewendet und auch hier klappt es.
Ich hätte allerdings noch eine weitere Frage. Kennt sich jemand von euch mit sogenannten "Shunts" aus? Unser Prof. meinte nun, dass wir so etwas noch zur Batterieüberwachung integrieren sollen. Es wird wohl verwendet zur Strommessung und zwischen die Verbraucher, die an der Batterie hängen und den Minuspol geschaltet. Er möchte damit wohl realisieren, dass man erkennen kann, wie viele Verbraucher noch angeschaltet werden können bzw. wann man sie abschalten muss.
Genauer Wortlaut:
Wenn Sie (auch) den Strom messen, könnte man z.B. sagen, dass man für die Programmierung die Kapazität der Batterie vorgibt (z.B. 100Ah) und den Arduino davon einfach subtrahieren lässt, wieviel Ah aus der Batterie entnommen wurde (Strom mal Zeit), beispielsweise addieren lässt, wieviel Ah der Batterie zugeführt wurde. Dann liegt es beim Betreiber darauf zu achten, dass man bei 70Ah nicht mehr weiter entlädt.
Im Internet habe ich leider kein gescheites Arduino-Projekt zur Orientierung gefunden. Auch bezüglich den Bauteilen (Shunt + ADC) bin ich mir sehr unsicher, in welcher Ausführung genau wir das bräuchten. Kennt sich jemand von euch damit aus und kann mir sagen, wie man am besten vorgeht? (Oder soll ich besser einen zweiten Foreneintrag dazu veröffentlichen?)
Nicht Vergessen den Shunt auf der Minus Seite vom Akku klemmen sonst brennt Diene MCU ab. Du musst ja den Minus vom Akku mit GND verbinden. 100A Shunt gibt bei 100A Belastung normaler weise 75mV raus, es gibt aber welsche mit anderer Ausgang Spannung.
Wichtig bei Messung den nicht anfassen sonst Finger Aua = Verbrennung Gefahr
Ein Shund ist ein niederohmiger Widerstand, der in den Stromkreis geschalten wird. Der Spannungsabfall ist proportional zum Strom der durchfließt. Shunts für höhere Ströme haben 4 Klemmen. 2 große für den zu messenden Strom und 2 kleinere für das Abgreifen des Spannungsabfalls.
Es gibt spezielle Bausteine für diesen Zweck zB den INA219
Der mißt Spannung und Strom und hat den ADC integriert.
Er kann die Verstärkung für die Strommessung in 4 schritten einstellen: 40, 80, 160 und 320mV
Du brauchst also einen Shund bei dem bei Nennstrom eine dieser Spannungen abfällt.
Egal wie, beides geht in dem Fall nicht so einfach. Es sollen Lade- und Entladeströme gemessen werden.
Mit einem INA21X (X = 0 - 5 je nach Verstärkung) sollte es möglich sein. Der macht die Umsetzung der Shuntspannung im + Zweig der Batterie auf eine brauchbare Spannung zur Messung. Wichtig ist die Referenzspannung nicht auf GND, da sonst Ströme nur in eine Richtung gemessen werden können. INA215 Datasheet
Was gefällt Die an meinem INA219 nicht? Der ist zum Unterschied zum INA210 bis 215 nicht nur ein Verstärker sondern auch gleichzeitige ein A/D Wandler.
Sorry, das habe ich komplett übersehen. Der ist echt interessant.
Habe gerade mal kurz das Datenblatt überflogen und zuerst gedacht der kann keine Minusströme, weil ein Offset Eingang fehlt. Aber dann habe ich die Seite 22 entdeckt...
Jetzt stinkt es mir das meine Platine bereits fertig geätzt auf dem Tisch liegt. Da ist der INA215 drauf und danach kommt ein I2C A/D-Wandler...
Hmmm... Schreit dann doch nach einer neuen Version der Platine. Habe die Schutzbeschaltung der LiFePo Zelle versemmelt. Die MosFETs schalten mit der geringen Spannung nicht durch.
Es gibt Mosfet-Treiber. Die werden nicht wegen der Spannung sondern um einen größeren Ladestrom der Gate-Kondensators zu haben und somit den MOSFET schneller zu schalten.