Batteriespannung vor Step-Up-Wandler messen

Hallo liebe Gemeinde.

Ich plane einen Arduino Nano über alle 3 möglichen Stromversorgungen zu betreiben:
1: an USB
2: an Vin 6.5-20 V mit Schaltnetzteil
3: an 5V über Step-Up-Wandler mit Batterien/Akku

Habe den Arduino mutig mit allen Kombinationen betrieben (z.B. alle Spannungsquellen gleichzeitig und in verschiedenen Kombinationen)

Erstaunlicherweise ist nichts abgeraucht. Darf man das so machen oder müssen noch ein paar Dioden dazwischen?

Als nettes Gimmick habe ich mir überlegt die Spannung der Batterien vor dem Step-up an Analog zu klemmen und somit die Batteriespannung zu überwachen.

Bei 2 vollen AAA sollte 1023/5V*3V also ein Wert von ca. 613 resultieren.

Leider bekomme ich nur stark schwankende Werte. :confused:

Ich vermute mal, daß liegt daran, das die Masse der Batterie vor dem Step-up nicht direkt an den Arduino geht, sondern nur über den Step-up.

Stimmt das? Wenn ja, wie kann ich das doch noch verwirklichen?

Vielen Dank und liebe Grüße.

Miss mal mit einem Digitalvoltmeter mit dem Widerstandsmessbereich, ob die Masse durchgeht. Bei meinen Modulen ist das der Fall. Da wird der Pluszweig geschaltet.
Das der Messbereich nicht ausgenutzt wird, ist ungünstig. Außerdem ist die Batteriespannung bei ausgeschaltetem µC auf dem Analogeingang nicht gut. Besser ist es, im Code die analoge Referenz zu nutzen und einen hochohmigen Spannungsteiler vor den Analogeingang zu schalten. 100K vom Analogeingang gegen Masse und 220K vom Eingang gegen U batt wären praktikabel. Im ausgeschalteten Zustand begrenzt der 220K Widerstand den Eingangsstrom, wenn die parasitären Dioden im Eingang leiten. Wenn du zwischen Analogeingang und Masse einen Kondensator von 100nF schaltest, beruhigen sich die Messwerte ebenfalls.
So hast du eine höhere Auflösung der Messwerte, da du statt 600 ca. 900 Stufen nutzen kannst. Wenn man eine Batterieüberwachung reinprogrammiert, profitiert man von der höheren Auflösung ebenfalls :wink:

Gruß Gerald

Wenn eine hOchohmiger Spannungsteielrr zum Angleich der Spannung am Analogeingang verwendet wird, mißt der Arduino wegen der niedrigen Eingangsimpedanz (Sample and Hold Kondensator wird kurz mit der Meßspannung geladen und bei zu hochohmigen Spannungsteiler erreicht der S&H Konensator nicht den Endwert)
Schalte einen Kondensator von 0,1 bia 1µF zwischen dem Analogen Eingng und Masse. Das funktioniert nur bei langsam sich ändernden Meßspannungen.

Grüße Uwe

uwefed:
Wenn eine hOchohmiger Spannungsteielrr zum Angleich der Spannung am Analogeingang verwendet wird, mißt der Arduino wegen der niedrigen Eingangsimpedanz (Sample and Hold Kondensator wird kurz mit der Meßspannung geladen und bei zu hochohmigen Spannungsteiler erreicht der S&H Konensator nicht den Endwert)
Schalte einen Kondensator von 0,1 bia 1µF zwischen dem Analogen Eingng und Masse. Das funktioniert nur bei langsam sich ändernden Meßspannungen.

Grüße Uwe

Hallo Uwe,

ich konnte keine Messwertverfälschungen diesbezüglich feststellen. Ich habe in einer Schaltung auf diese Weise 3 der Analogeingänge verwendet.
Einen zur Messung der Batteriespannung des LiPo's, den Nächsten nach dem StepUp, dann kommt ein npn Transistor als Einschalter (Selbsthaltung über einen Digitalausgang), danach noch ein 4,7 Ohm Widerstand, damit der Spannungsabfall sicher detektierbar ist und der 3. Analogeingang kommt dann an plus Ub µC.
Anfangs hatte ich Spannungsteiler im einstelligen Kiloohm Bereich, die haben mir aber im ausgeschalteten Zustand den LiPo leergesaugt! :stuck_out_tongue_closed_eyes:
Danach habe ich die von mir empfohlene Dimensionierung mit 100K getestet und keine Abweichungen feststellen können. Die Spannung LiPo wird für die Anzeige eines Batteriesymbols benutzt und bei Unterspannung zur sofortigen Notabschaltung des Gerätes. Drücke ich kurz den Eintaster (Überbrückung des Transistors und es 4,7 Ohm Widerstandes), wird das Gerät ohne Hintergrundbeleuchtung des Displays eingeschaltet. Drücke ich den Einschalter länger als 2 Sekunden, schaltet sich die Hintergrundbeleuchtung mit dazu. Nach 15 Sekunden schaltet sich das Gerät dann wieder aus.
Um die Länge des Tasendruckes festzustellen dienen die Analogeingänge 2 und 3. Die knapp 0,2V weniger sind zu verschmerzen und liegen noch innerhalb der Toleranz (4,8V) Da nochmal mit C's gepuffert, mault da auch nix rum. :wink:

Für die Strommessung evtl hilfreich: Shunt

Der ist ja größer, als mein ganzes Gerät :o
Außerdem messe ich 50-150 mA bei dem Teil aus der Bucht geht die Differenz dann im Grundrauschen unter :smiling_imp:
Außerdem kommt es mir nicht auf eine Messung des Absolutwertes an, sondern nur Spannungsabfall ja oder nein für Taster gedrückt oder nicht.
Mein Widerstand aus der Bastelkiste hat 3 Cent gekostet, das Teil kostet das Hundertfache - plus Versand :stuck_out_tongue:

Ja, da ist mir wohl ein wenig das Pferdchen durch gegangen...........
Bzw. den falschen Thread erwischt...

Hallo,

erst mal vielen Dank für die vielen schnellen Antworten.

nix_mehr_frei:
Miss mal mit einem Digitalvoltmeter mit dem Widerstandsmessbereich, ob die Masse durchgeht. Bei meinen Modulen ist das der Fall. Da wird der Pluszweig geschaltet.

Ja, danke ist bei mir auch so.

Habe auch den Tip mit den Kondensatoren mal ausprobiert.
Um einen Vergleich zu haben , habe ich schnell einen kleinen Software-Oszi programmiert (Datenrate ca. 100 Samples/sec.), und nacheinander verschiedene Kondensatoren ausprobiert.

Hier das Ergebnis:

oder im Attachment....

Man sieht schön, wie mit steigender Kapazität das Rauschen vermindert wird.
Allerdings ist das Ergebnis immer noch unakzeptabel.

Schaut man sich die Daten genauer an, so sieht man, daß es eine Häufung im oberen Bereich gibt.
So sollte der Mittelwert für alle Varianten bei ca. 540 Digits liegen. Das entspräche einer Spannung von 2,64 V.
Tatsächlich betrug die Spannung genau 2,7 V
Das richtigste Ergebnis (im Vergleich zum Voltmeter!) würde man also erreichen, wenn man ohne Kondensator misst und nur die Spitzenwerte nimmt. das wären dann in diesem Beispiel mit 553 Digits genau die erwarteten 2,70 V.
Das Rauschen kommt also vom Step-up-Wandler!

Also kann ich softwareseitig einfach ein Median-Filter mit ca. 10-fach Oversampling darüberlegen und statt des Median-Wertes einfach der Maximal-Wert nehmen. Das sollte das Rauschen auf ca. 2-3 Digits vermindern.

Aber einiges ist mir noch nicht ganz klar:
Hängt der Arduino allein am Step-Up verbraucht er 20 mA.
Wird zusätzlich der Arduino an USB angeschlossen, so steigt der Verbrauch auf 30 mA am Step-up!
Schalte ich eine Diode nach dem Step-Up dazwischen (1N4001) braucht der Arduino mit Step-UP alleine nur 14 mA.
Allerdings "verbraucht" Die Diode ca. 0.7V so daß für den Arduino nur 4.3V übrigbleiben!

Wird noch USB angeklemmt, so sinkt der Verbrauch am Step-Up auf 2,4 mA. Also wird nun hauptsächlich Strom vom USB genommen.
Was passiert hier?

Ich konnte "nix_mehr_frei" Stromverbrauch bei ausgeschaltetem Arduino mit Batterie-Plus am Analogeingang reproduzieren.
Auch hier werden 2.4 mA verbraucht. Die Power-Leuchte vom Arduino glimmt.
Da nur Batterie + und Step-up + angeschlossen sind, scheint es da eine Potentialdifferenz zu geben, so daß ein Strom fliesst.
Ist die Diode an plus zwischengeschaltet, und trenne Gnd, so ist das Leuchten weg.
Ist leider keine Lösung, da mir ja 0.7 V gefressen werden :slightly_frowning_face: . Ideal wäre also ein Step-Up auf 5.7V + Diode.

An nichts_mehr_frei:

Dein Beispiel mit dem Spannungsteiler habe ich nicht verstanden.
Bin absoluter Neuling auf dem Gebiet der Elektronik. :blush:
Wenn ich diesen (100k/220k)Spannungsteiler vor den Analogeingang schalte dann habe ich ja meine Spannung grob gedrittelt.
OK, dann käme ich auf statt 3V, auf unter 1 V und könnte somit die interne 1.1 V Referenz nutzen, war das so gemeint?

Die einfachste und stromsparendste Lösung wäre also ein Power-Schalter der plus und minus gleichzeitig trennt (4-Pol).

Leider brauche ich jetzt schon einen Power-Schalter mit 3 Pol (an/aus/an), so daß es ein 6 pol werden müsste.
Ich hatte schon Probleme einen kleinen bezahlbaren 3-pol-Schalter zu finden.

Noch Tipps?

Grüße
Starmbi

Kondensator.png

Dass Schaltnetzteile prinzipbedingt keine perfekte Gleichspannung liefern ist dir schon klar, oder? Ist die Spannung nach dem Schaltregler stabil? Und verwendest du die als Referenzspannung?

Wird zusätzlich der Arduino an USB angeschlossen, so steigt der Verbrauch auf 30 mA am Step-up!

Das liegt vielleicht am USB/seriell Wandler. Das wird auf den Standard Arduino Boards durch einen eigenen µC gemacht

Starmbi:
Das Rauschen kommt also vom Step-up-Wandler!

Ist leider keine Lösung, da mir ja 0.7 V gefressen werden :slightly_frowning_face: . Ideal wäre also ein Step-Up auf 5.7V + Diode.

An nichts_mehr_frei:

Dein Beispiel mit dem Spannungsteiler habe ich nicht verstanden.
Bin absoluter Neuling auf dem Gebiet der Elektronik. :blush:
Wenn ich diesen (100k/220k)Spannungsteiler vor den Analogeingang schalte dann habe ich ja meine Spannung grob gedrittelt.
OK, dann käme ich auf statt 3V, auf unter 1 V und könnte somit die interne 1.1 V Referenz nutzen, war das so gemeint?

Genau so war es gemeint :wink:
Ein "Wald und Wiesen"-Elko alleine bringt bei dem Ripple (dein Rauschen) wenig Punkte, weil der einen zu hohnen Innenwiderstand hat, den ESR. Achte nahe des Step Up Schaltreger auf einen low ESR Elko (z.B. die Panasonic Typen bei Reichelt) und dazu parallel am besten noch einen Keramikkondensator 100nF oder auch mehr. Der KerKo bringt da entschieden mehr Punkte. Bei mir auf dem Modul gibt es keinen Elko, sondern einen 4,7 oder 10µF Keramik Vielschichtkondensator.
Eine Shottky Diode hat nur einen Spannungsabfall von ca. 0,3V, statt 0,7V bei einer Si-Diode. Z.B. eine 1N5817.
Was hast du für ein Step Up Modul? Ich habe für mein Modul einen Schaltplan gefunden und den Spannungsteiler modifiziert. Man kann das Modul also auch "überreden" 5,7V, oder was auch immer, zu liefern.

Gruß Gerald

Hallo,

Dass Schaltnetzteile prinzipbedingt keine perfekte Gleichspannung liefern ist dir schon klar, oder? Ist die Spannung nach dem Schaltregler stabil? Und verwendest du die als Referenzspannung?

Jetzt ist es mir klar! habe mich aber auch klar als Anfänger geoutet.
Wenn ich die Spannung über 5V anlege, sollte es doch egal sein, welche Referenzspannung man auswählt, da ja gar nicht über den Spannungsregler gegangen wird.
Habe es aber mal ausprobiert ohne nennenswerte Unterschiede zu sehen.
Mein Step up sieht so aus

Hallo Gerald, bin von der Spannungsmessung erst mal abgekommen, weil man bei fallender Spannung schon sehr schön sieht, wie mein LCD-Display blass wird, ist doch auch ein schöner Indikator :wink:
Allerdings wackelt bei mir noch der Analogeingang.
Habe erst mal einen 100nF Tantal-Kondensator zwischen Analog und GND geschaltet, ohne Verbesserung.
Werde mir die low LSR Kondensatoren, sowie Keramikkondensatoren von Reichelt besorgen (dauert...)
Ich tendiere ja fast schon wieder dazu einfach einen 9V-Block an VIn zu hängen :confused: , aber das ja sehr uneffizient.
Andere Lösungen für kabellosen Betrieb werden gerne aufgegriffen.

Gruß

Stefan

Hallo,

ich experimentiere mit einer Smartphone Powerbank rum. Genauer gesagt einer "XTPower MP 10400". Die schaltet bei Lastströmen von unter 80mA noch nicht selbst ab wie alle anderen es tun. Allerdings betreibe ich höheren Aufwand um den internen Akku zu überwachen um mitzubekommen das die Powerbank bald abschalten wird. Auch verwenden ich externe A/D Wandler und externe Referenzspannungsquellen. Auch mußte ich das Gehäuse öffnen und innen löten, Garantie ist weg.

Hat mir auch viele Wochen Kopfschmerzen bereitet, weil hier die Masse weggeschalten wird, nicht die (+). Das interessiert aber nur wenn man den internen Akku messen möchte.

Ich rate Dir eine gleichzeitige Stromversorgung über USB und 5V pin ab, da Du so 2 Spannungsquellen paralellschaltest und Außgleichströme fließen.
USB oder 5V und gleichzeitig VIN ist vorgesehen und gefahrlos zu betreiben.

Grüße Uwe

Hallo!

Danke Uwe, das ist eine klare Aussage!

Gruß
Stefan

So,

Ich habe mir nun ein paar low-ESR Kondensatoren (Panasonic), sowie Keramikkondensatoren besorgt.
Diese habe ich dann zwischen + und Masse, bzw. zwischen Analogpin und Ground geklemmt.

Alle Kondensatoren zwischen Analog-Pin und Ground bringen gar nichts!
In Verbindung mit Kondensatoren zwischen + und Ground, wird das Rauschen sogar höher!

Habe dann die Low-ESR in steigender Kapazität zwischen + und Ground gesetzt.
Fazit: 470 µF bringt hier die beste Rauschminderung.

Dann habe ich meine "Wald und Wiesen"-Elkos rausgeholt.
Auch hier das beste Ergebnis mit 470 µF.

Komischerweise bringt ein 1000/2000µF gar keine Besserung, ist also genauso schlecht wie ganz ohne Elko.
Also zu klein bringt weniger, zu groß bringt gar nichts. Warum?

Fazit: bei Step-up-Wandlern sind Keramikkondensatoren, sowie Low-ESR überflüssig.

Wegen dem Leersaugen der Batterie, am Anolog-Pin zur Spannungsmessung bei ausgeschaltetem Arduino habe ich mir folgendes überlegt:
Kann man nicht einfach einen NPN als Schalter benutzen?

Sobald das Gerät eingeschaltet wird, liegt Spannung an der Basis an und über den Kollektor wird die Batteriespannung an den Analog-Pin weitergeleitet.
Beim Ausschalten wird der Stom dann wieder gekappt.
Beeinflusst so ein NPN die Spannung der Batterie am Analog-Pin, oder wird die glatt durchgeleitet?

An den NPN werden ja keine so großen Anforderungen gestellt (max. 3V).
Was wäre da preisgünstig machbar, und welchen Widerstand brauche ich an der Basis zum vollen Durchschalten?

Grüße
Starmbi

Hallo,

Du möchtest den Akku vom Rest elektrisch abklemmen oder zuschalten?
Damit wären wir eigentlich wieder beim PNP Transistor oder P-Channel Mosfet.
Irgendwie wollen in letzter Zeit viele die + Leitung schalten. :wink:
Mit PNP hätte man einen minimalen Spannungsverlust über der Emitter-Kollektor Strecke. Bewegt sich aber im 0,0xV Bereich. Max. 0,1V. Mit Mosfet ist der Spannungsverlust kaum bis gar nicht meßbar. Wenn er einen kleinen Widerstand Rds on hat.
Welcher maximale Strom soll/kann fließen?
Welche Spannung hat der Akku max. und minimal?

Kannst ja mal im Optokopplerschaltung Thread von Fipsi vorbei schauen. Da wird sowas besprochen.

Hallo,

ich möchte die Batterispannung vor dem Step up messen.
Dazu ziehe ich einfach eine Strippe von Batterie + zu einem Analogkanal.
Funktioniert auch super.
Das Problem fängt an, wenn ich den Arduino ausschalte, bzw. die Batterie über einen Schalter abschalte.
Dann zieht der Analog-Pin immer noch Strom von der Batterie und saugtmir heimlich die Batterie leer
Um das zu vermeiden wollte ich einel Leitung vom Schalter zur Basis eines NPN legen.
Der NPN schaltet dann automatisch die Messleitung von Batterie zum Analog-Pin an und aus.

Hallo,

dann möchtest Du im Grunde das gleiche machen wie ich mit meiner Powerbank und dem internen Akku.
Du mußt nichts weiter machen wie einen P-Channel Mosfet in die Plusleitung einsetzen (oder einen PNP). Das Gate von dem schalte ich mit einem Pin vom Arduino. Mit 150 Ohm Widerstand, wegen max. 40mA pro Pin.

Danke Doc.

Habe mich nun über PNP schlau gemacht, daß ist genau daß was ich brauche! (high side switching)
Hast Du einen konkreten PNP-Typ für mich an der Hand?

Gruß
Starmbi

Hallo,

wieviel Strom fließt denn maximal durch den PNP? Was hängt da alles dran zum messen?
Womit schaltest Du den PNP? Mit Arduino Pin oder was anderem?