Arduino-Voltmeter realisieren mit einem Spannungsteiler? DC-DC-Wandler?

Moin allerseit,

gerne möchte ich mich an euch mit meiner neuen Projekt-Idee wenden. Vorweg möchte ich mich für eure Anteilnahme bedanken.

"Diesmal" möchte ich mit meinem Arduino eine RGB-LED-Leiste (16xLEDs) bauen, welche die Spannung von einem Akku-Pad (4S6P) anzeigt. Der Akku soll einen kleinen 1,8KW Motor betreiben. Es soll der Spannungsbereich es Akkus von 16,8V (= alle 16 LEDs leuchten) bis 12V (= nur noch eine LED leuchtet) mit dem Arduino messen.

Dazu habe ich mir heute einen Spannungsteiler mit 3 Widerständen (R1 = 220 KOhm, R2 = 98,8KOhm + 27,28KOhm) gebaut. Ich bin mir gerade nicht sicher, ob ein Spannungsteiler sich gut eignet. Zum einen, da der Spannungteiler den Akku zusätzlich belastet. Mein einiger maßen gutes Labornetzgerät zeigt mir einen Spannungsteiler-Strom von 0,001A an. Wobei der Strom noch viel geringer sein müsste. Aber nicht angezeigt werden kann. Zum anderen frag ich mich, wie sich die Widerstands-Werte im Einsatz über Wochen, Monate, Jahre verändern könnten??? Das würde dann ja Einfluss auf die ADC-Werte nehmen, die ich von Arduino verarbeiten lasse. Oder hab ich jetzt ein Denkfehler???

Es gibt ja noch DC-DC-Wandler, welcher in Frage kommen würde. Und da frage ich mich, ob dieser nicht eine bessere Möglichkeit wäre. Zudem würde mir ein DC-DC-Wandler immer eine Spannung von 5V ausspucken. Sollte nähmlich mein Akku-Pad extrem gut gelasen werden, dann würde z.B. die Widerstands-Spannung des Spannungsteiler über den Mikorcontroller-Eingang zunehmen.

Wobei ich sagen muss, dass ich jetzt bei dem Spannungsteiler an dem Widerstand über den Mikrocontroller-Eingang 4,7V ausgespukt bekomme, bei 16.8V Quellspannung. Es ist also noch etwas Luft bis zu 5V.

Habt ihr da eine gute Idee, bez. Erfahrung???
Würde mich sehr über Tipps freuen.
Dank euch!

Gruß
Sebastian

Irgendwie ist dein Text schwer zu verstehen.

Was genau hast du mit dem Spannungsteiler vor ?
Und was mit einem DC-DC-Wandler ?

Ein Schaltbild ist hier angebracht, damit wir das auch richtig verstehen.

Widerstände sind sehr langzeitstabil. Ich verstehe jetzt nicht wie Du zu diesen Widerstandswerten kommst. Sind die ausgemessen?

Bei 5V Endwert braucht es eine 5V Referenzspannung. Wenn man die Versorgungsspannung als Referenz nimmt ist man sich nie sicher daß das wirklich 5V sind.

Wenn der Spannungsteiler zu hochohmig ist (wie in Deinem Fall) braucht es einen Kondensator von 0,1µF Zwischen dem Analogeingang und Masse.

Ein Spannungsteiler mit R1 = 220 KOhm, R2 = 98,8KOhm + 27,28KOhm ergibt bei 16,8V Eingangsspannung eine Ausgangsspannung von 6,12V ( 16,8V : R1+R2 = Vout : R2)

Grüße Uwe

uwefed:
Bei 5V Endwert braucht es eine 5V Referenzspannung. Wenn man die Versorgungsspannung als Referenz nimmt ist man sich nie sicher daß das wirklich 5V sind.

Die kann man im Setup messen und dann als konkreten Wert in die Messung einfließen lassen, falls sie wenigstens zeitstabil ist.

Gruß Tommy

Tommy56:
Die kann man im Setup messen und dann als konkreten Wert in die Messung einfließen lassen, falls sie wenigstens zeitstabil ist.

Gruß Tommy

Funktioniert das auch mit dem Arduino DUE?
Grüße Uwe

Immer wieder das Mantra:

  1. Für absolute Messungen die interne oder eine externe Referenz.
  2. Für ratiometrische Messungen gerne Vcc als Referenz.

Funktioniert das auch mit dem Arduino DUE?

:o
Natürlich nicht, denn der macht bei 5V die Grätsche

:sunglasses: :sunglasses:

combie
In diesem Fall will der TO die Batteriespannung messen. Das ist dann keine ratiometrische Messungen.
Grüße Uwe

uwefed:
combie
In diesem Fall will der TO die Batteriespannung messen. Das ist dann keine ratiometrische Messungen.
Grüße Uwe

Öhhmmm....

Ja das ist eine absolute Messung.
Und genau darum gilt das Mantra auch hier!
Oder, habe ich dich falsch verstanden?

Moin, danke für eure Anteilnahme und sorry für die verspätete Rückmeldung.

@HotSystems
Ich möchte die Spannung von einen Akku-Pad so reudieren (von 16,8 auf 5V), dass ich dies Spannung mit einem Arduino Nano Every Monitoren kann. Und da stellt sich mir voreg die Frage, ob ich dazu am besten einen Spannungsteiler nehmen soll. Oder, ob ich einen DC-DC Abwärtswandler nehmen soll, und die gewünschten 5 V zu erhalten. Da die gesamte Schaltung mit Batterien betrieben wird, möchte ich am besten einen möglischt geringen Stromverbrauch durch alle Komponenten erreichen. Da ich sehr große Widerstände einsetzte, hab ich auch einen sehr geringen Stromverbrauch über den Spannungsteiler und somit sollte sich meine Frage (Spannungsteiler vs DC-DC-Wandler) eigentlich erübrigt haben. Darüber war ich mir zuvor nicht sicher.

@uwefed
Danke für die Mitteilung, das Widerstände sehr langzeitstabil sind. Das beruhigt mich zu wissen.

Jupp, ich habe alle Werte der Widerstände ausgemessen und so meine Berechnung gemacht, um auf die 5V zu kommen.

Jäpp, den Kondensator hatte ich schon mit eingebaut. So wie du vorgeschlagen hast.

Ja, da hast du recht! Ich habe mich in der Angabe vertran. Es gibt R1, R2, R3. Da ich keinen passenden Widersand in meiner Sammung habe, habe ich R1 + R2 zu einem Widerstand zusammen gefühgt Dann bekomme ich den Wert, den ich in meinem Fall benötige. R3 ist der Widerstand an dem ich die 5V abnehme.

GENAU! Das habe ich mich auch gefragt, da der Arduino mit einer Batterie betrieben wird. Sobald die Spanung der Batterie abnimmt, würde ja auch die Referenzspannung abnehmen, mit der die 5V des Spannungsteilers verglichen wird. Da stehe ich im Moment gedanklich vor diesem Problem. Außerdem habe ich das Problem, das die Spannung einer Batterie im geladen Zusatnd ca 4V beträgt. Somit habe ich gar keine 5V Referenzspannung. Jetzt habe ich einfach mal probiert die 5V des Spannungsteilers mit einer 4V Referenzspannung zu vergleichen. Das hat aber in sofern nicht geklappt, da die ADC sich nicht linear verhalten haben. Sprich: 1V Abfall zb. von 5V am Spannungsteiler auf 4V ergab nicht den gleiche ADC-Different wie bei 4V am Spannungsteiler auf 3V. Klar, können die Werte des ADC nicht gleich sein. Aber ich rede hier von vollkommen anderen Werten, so dass ich damit nicht arbeiten konnte.
Das ist also noch das Problem, für welches ich noch keinen guten Plan habe. Eine Idee die mir eingfallen ist, ist die 16,8V nicht auf 5V, sondern auf 4V zu reduzieren. Aber auch dann werde ich wahscheinlich das Problem haben, dass der eine 4V-Akku nicht so lange durchhalten wird, die der Akku-Pad (4S6P). Zwar wird mit dem Akku-Pad ein Motor (1,8KW) für ein Longboard angetrieben, dennoch gehe ich einfach mal davon aus, dass das Akku-Pad länger durchhalten wird. Hmmmmm...

@Tommy56
Mit Wertstabil meinst du, dass es sich bei der Referenzspannung um eine Konstantspannungsquelle und nicht um einen Akku handelt? Danke für dein Tipp die Spannung im Setup zu mesen.

@All
Aktuell beschäftige ich mich damit, wie ich das Flackern des LEDs-Streifens weg bekomme. Ich steuern mit dem Arduino 18 LEDs bei maximaler gemessenen Spannung von 5V an.
a) zu sehen ist, wie die Helligkeit der LEDs abnehmen. Die erste der 18 LEDs leutet am hellsten und die 18te am dunkelsten.
b) zu sehen ist, dass egal wie viele LEDs ich ansteuer die LEDs leicht flackern

Ich hab jetzt schon ein Kondensator 47uF bei Vcc und GND der LEDs parallel angeschlossen. Bewirkt aber keine Änderung. Es flackert weiterhin.
Hmmmm....

@All
Das Flackern und die Helligkeitsunterschied sind beseitigt. Es lag an der Steuerung meines Programmes!

Das ist also noch das Problem, für welches ich noch keinen guten Plan habe.

Erstaunlicher Weise ignorierst du mein Mantra, welches genau dieses Problem angeht.

Nein, ich möchte dich nicht überreden!

Sondern, mich interessiert: Was gefällt dir daran nicht?

Moin @Shannon Member

Ehrlich gesagt verstehe ich nicht, was du damit meinst. Könntest du mir das eventuell genauer ausführen? Du schlägst mir vor Vcc aus Referenz zu nehmen?

Du schlägst mir vor Vcc aus Referenz zu nehmen?

Uwe sagte:

In diesem Fall will der TO die Batteriespannung messen.
Das ist dann keine ratiometrische Messungen.

Darauf ich:

Ja das ist eine absolute Messung.
Und genau darum gilt das Mantra auch hier!

Und jetzt nochmal das Mantra:

Für absolute Messungen die interne oder eine externe Referenz.
Für ratiometrische Messungen gerne Vcc als Referenz.

@Shannon Member
Was Uwe geschrieben hat, hat ich schon gelesen. Ich kann es nur nicht verstehe, was und wie er das genau meint? :wink:

uwefed:
combie
In diesem Fall will der TO die Batteriespannung messen. Das ist dann keine ratiometrische Messungen.
Grüße Uwe

Man kann die Spannungsquellen für eine AD/Wandlung in 2 Gruppen einteilen.
Ratiometrisce und absolute.

Ratiometrisch bedeutet daß die zu messende Spannung in unserem Fall von der Versorgungsspannung abhängt. Beispiel ist ein Spannungsteiler mit einem veränderbaren Widerstand und einem Festwiderstand. Der veränderbare Widerstand verändert seinen Wert durch irgendeinen physikalische Größe oder Einfluß ( zB Temperatur, Biegung, Druck, Licht, Drehwinkel oder Strecke (Poti) ecc) Hier ist die Ausgangsspannung unter anderem proportional zur Versorgungsspannung des Spannungsteilers. In diesem Fall nimmt man am besten die gleiche Versorgungsspannung als Referenzspannung für den A/D Wandler. So heben sich Spannungsschwankungen der Versorgungsspannung auf. Beim Arduino kann man bei Versorgung über USB schon mal statt 5V lediglich 4,6V haben.

Absolut:
Die Spannung die ein Sensor als Meßwert gibt, ist unabhängig von seiner Versorgungsspannung. Als Beispiel führe ich mal einen TMP35 oder TMP335 an. Die Ausgangsspannung ist in weiten Bereichen der Versorgungsspannung nur von der Temperatur abhängig. In diesem Fall ist eine leicht Schwankende Versorgungsspannung als Referenzspannung schlecht da diese das Meßergebnis verfälscht. In diesem Fall kann man entweder die 3,3V des auf dem Arduino vorhandenen Spannungsstabilisators als Referenzspannung nehmen oder die interne Referenzspannung (je nach Modell des Controllers 1,1V 2,56V) nehmen.

Im Fall der Messung einer Batteriespannung.
Die Meßspannung ist nicht abhängig von der Versorgungsspannung des Arduino. Darum wird bei der Verwendung der Versorgungsspannung des Arduino als Referenzspannung eine zusätzliche Fehlerquelle eingefügt. Am einfachsten ist es die interne Referenz des Controllers zu wählen (analogReference() - Arduino Reference und den Spannungsteiler so zu bemessen daß die Ausgangsspannung des Spannungsteiler höchstens die Referenzspannung erreicht. Höhere Spannungen als die Referenzspannung ( zB 2V bei 1,1V interne Referenz) machen den Controller zwar nicht kaputt (Spannungen bis zur Versorgungsspannung sind erlaubt), ergeben aber keinen gültigen Meßwert. Es wird nur 1023 ausgegeben.

Grüße Uwe

@Uwe
Vielen Dank erstmal, dass du dir die Mühe machst und mir das Thema näher zu bringen.

Tut mir leid, dass ich dir das so sagen muss. Aber ich kann dir immer noch nicht folgen. Ich kann deine Beispiele nicht auf mein Anwendung übertragen. Sorry, wirklich nicht! Ich steh echt aufm Schaluch...

Du führst Beispiele auf, die mit meiner Anwendung so nicht statt finden. Ich weiss ja, welche Spannungen anliegen.
Ich habe die Spannung der Batterie mit der der Arduino betrieben, die Spannung die am ADC anliegt, die Spannung des Akku-Pads nach gemessen und möchte diese miteinander vergleichen.

Die Frage zu Beginn war: ob ich ein Spannungsteiler, oder lieber ein DC-DC-Wandler nutzen soll, umd die Akku-Pad-Spannung von 16,8V auf 5V runter reduzieren soll. Mitlerweile setzten ich den Spannunteiler ein. Und das scheint sehr gut zu funktionieren. Den der Akku-Pad wird kaum durch den Spannungsteiler belastet. Über den Spannungsteiler fließt nur ein sehr geringer Strom von 1mA.

den Arduino kannst du mit einem DC-DC Wandler versorgen, da der unabhängig von der momentanen Spannung des Akku-Pads immer 3,3V bzw. 5V bringt. Die zu messende Spannung natürlich mit einem Spannungsteiler aus Widerständen. Dann könnte es fast sogar egal sein, ob absolut oder radiometrisch, wenn du die tatsächliche Versorgungsspannung im Setup misst.

Die Frage zu Beginn war: ob ich ein Spannungsteiler, oder lieber ein DC-DC-Wandler nutzen soll, umd die Akku-Pad-Spannung von 16,8V auf 5V runter reduzieren soll.

Für die Meßspannung: Spannungsteiler
Für die Stromversorgung: DC/DC Wandler.

Ein DC/DCWandler hat als Eigenschaften eine möglichst gleichmäßige, genaue Ausgangsspannung mit einer wechselnden Eingangsspannung. Die Ausgangsspannung ist nur zu einem sehr kleinen Teil (wir reden unter 1% der Ausgangsspannunng) vom Wert der Eingangsspannung abhängig. Die Ausgangsspannung hängt zu einem kleinen Teil auch vom abgegebenen Strom ab. Diese Abhängigkeit ist so klein daß zur Spannungsversorgung des Arduino das kein Problem ist. Es ist aber nicht brauchbar irgendetwas zu hinten zu messen was vorne sich ändert.

Spannungsmessung: Spannungsteiler. Du kannst den Spannungsteiler hochohmiger ausgelegt werden (sagen wir auch über 100kOhm Gesamtwiderstand) wenn Du einen kleine Kondensator (0,1µF) zwischen Analogeingang und Masse schaltest. Dadurch kann der Kondensator den Strom liefern, den der Analogeingang zur Messung braucht. (einige µA für einige 10µS daraus ergibt sich daß die Spannungsquelle höchstens 10kOhm Innenwiderstand darf)

Grüße Uwe

Moin @ElEspanol
Danke für deine Anteilnahme

Moin @uwefed
Danke für die Ausführliche Info. Ich werde einen Rat gerne befolgen und einen Kondensator mit einbauen. Mir ist nämlich auch aufgefallen, dass der ADC-Wert gerne seinen Wert ändert. Und das ohne, dass sich sonst was verändert hat. Ich hate auch schon darüber nach gedacht einen zusätzlichen Kondensator zwischen zu schalten.

Mit ist aufgefallen, dass der Arduino eine höhere Eingangspannung ab kann. Laut technischer Spezifikation verträgt der Arduino Nano Every (den habe ich gerade im Gebrauch) eine EIngangsspannung von VIN min-MAX 7-21V. Das hab ich auch ausprobiert und es hat geklappt. Meine Überlegung ist jetzt, dass ich den Arduino direkt an das Akku-Pad anschließen soll. Damit der Arduino aber nicht zufällig durch irgendwelche zu hohen Spannungen oder Ströme gebraten wird, werde ich ein PTC-Widerstand und eine Z-Diode einbauen.

Gruß
Sebastian

Die Versorgungsspannung des Arduinos kann 7 bis 21V betragen nicht aber die Eingangsspannung der Eingänge.
Grüße Uwe