Forum: Mikrocontroller und Digitale Elektronik Atmega328 Versorgungsspannung messen


von PeterZ (Gast)


Lesenswert?

Hallo,

ich versuche wie hier bei dieser Schaltung die Batteriespannung zu 
messen.
https://lowpowerlab.com/2015/01/30/weathershield-is-here/

Es wird die Batteriespannung mit einem P-Mosfet auf einen 
Spannungsteiler geschaltet und die Spannung gemessen.

Nun ist es so das der Atmega 328 auf 3,3V per Spannungsregler läuft, die 
Batteriespannung aber ca. 5V sind.

Bei dieser Beschaltung mit dem Mosfet habe ich somit von den 5V über 
einen Widerstand auf einen EA-Pin am Atmega anliegen.

Nun ist es so das ich einen Stromfluss von 0,3mA an diesen Pin (A3) 
habe.

Ist der Stromfluss normal?

von holger (Gast)


Lesenswert?

>Bei dieser Beschaltung mit dem Mosfet habe ich somit von den 5V über
>einen Widerstand auf einen EA-Pin am Atmega anliegen.
>
>Nun ist es so das ich einen Stromfluss von 0,3mA an diesen Pin (A3)
>habe.
>
>Ist der Stromfluss normal?

Natürlich fliesst Strom wenn man an einem Widerstand eine
Spannung anliegen hat. Bei Low liegen 5V am Widerstand, und bei
High sind es 1,7V.

von PeterZ (Gast)


Lesenswert?

Nach der Messung wird der Pin auf Input geschalten, also weder High noch 
Low.

von holger (Gast)


Lesenswert?

>Nach der Messung wird der Pin auf Input geschalten, also weder High noch
>Low.

Du vergisst die ESD Diode im uC. Multimeter nehmen und am Pin messen.
Du wirst dort ungefähr 3,3V messen.

von PeterZ (Gast)


Lesenswert?

An dem Pin habe ich gegen minus 0V

Die internen Pullups sind nicht aktiv

von M. K. (sylaina)


Lesenswert?

PeterZ schrieb:
> An dem Pin habe ich gegen minus 0V

d.h. über den Widerstand fallen 5V ab?

von holger (Gast)


Lesenswert?

>An dem Pin habe ich gegen minus 0V

Klar, wenn der Pin ein Ausgang und der FET eingeschaltet ist.
Wenn der Pin ein Eingang ist kannst du dort keine 0V messen.
Der Widerstand zu den 5V wirkt als Pullup.

von PeterZ (Gast)


Lesenswert?

Ich habe bei offenem Pin gemessen also unbeschaltet.

Beschaltet so wie es gedacht ist sind es 3,95V

Versorgungspannung sind 4,92V

Das kommt dann schon hin
5V-3,95V=1,05V an 2,5k sind ungefähr die gemessenen 0,38mA

Schade somit ist die Schaltung eigentlich Mist :(
Dauerhafter Stromfluss bei Batteriebetrieb von knapp 0.4mA sind nicht 
gut.

von holger (Gast)


Lesenswert?

>Ich habe bei offenem Pin gemessen also unbeschaltet.

Kopf->Tisch

von PeterZ (Gast)


Lesenswert?

nene, Brett Kopf :) Komt von der testerei.

Gibt es eine bessere Schaltung bei der das nicht so ist?

von Udo (Gast)


Lesenswert?

Transistor z.b.

von PeterZ (Gast)


Lesenswert?

und den 1k weglassen, dann verfälscht aber Uce die Messung, oder?

von S. Landolt (Gast)


Lesenswert?

> Dauerhafter Stromfluss bei Batteriebetrieb von knapp 0.4mA
> sind nicht gut.
Das kommt auf die Kapazität dieser 5 V-Batterie und die angestrebte 
Laufzeit an.

von Michael U. (amiga)


Lesenswert?

Hallo,

auch an einem AVR-ADC kann man mit einem hochohmigen Spannungsteiler die 
Batteriespannung messen. Zusätzlich muß ein geeigneter Kondensator (100n 
z.B. und Reststrom nahe 0) an ADC und GND. Der sorgt dafür, daß der ADC 
beim S&H-Zyklus die nötige relativ niederohmige Quelle sieht.
Da man bei Batteriekontrolle üblicherweise möglichst oft und schnell 
messen will und schnelle Spannungsänderungen auch nicht die Regel sind, 
stört die Zeitkonstante nicht.

Bei einem Teiler von 180k/330k hat man 10µA Eigenverbrauch, da muß man 
üblicherweise nichts abschalten.
Es bietet sich auch an, die kleinste interne Referenzspannung zu nehmen, 
bei 1,1V also z.B. 430k/100k, das konnt dem ADC entgegen und der 
Kondensator kann etwas kleiner sein.

In meinem "Multimeter" benutze ich 220k/68k und 10n für den 10V-Bereich, 
gemessen wird der Mittelwert aus 8 Messungen.
Das spielt so nun schon ein paar Jahre und solange man damit nicht die 
Abschaltspannung eines Li-IO-Laders bestimmen will, mit völlig 
ausreichender Genauigkeit.
http://www.avr.roehres-home.de/multimeter/index.html

Gruß aus Berlin
Michael

: Bearbeitet durch User
von R. M. (Gast)


Lesenswert?

PeterZ schrieb:
> nene, Brett Kopf :) Komt von der testerei.
>
> Gibt es eine bessere Schaltung bei der das nicht so ist?

Einen zusätzlichen n-kanal FET (oder npn mit Basisvorwiderstand) gegen 
Masse, der dann, zum Messen mit 1 angesteuert wird.

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

PeterZ schrieb:
> https://lowpowerlab.com/2015/01/30/weathershield-is-here/
> Es wird die Batteriespannung mit einem P-Mosfet auf einen
> Spannungsteiler geschaltet und die Spannung gemessen.

Mit der Idiotenschaltung, die ich im Screenshot angehängt habe?

Vin erscheint dabei über 2,5 kOhm auf dem Ausgang A3. Wenn Vin höher als 
Ub des Controllers ist, garantiere ich lediglich eine zufällige Funktion 
oder den Tod des Controllers.

von PeterZ (Gast)


Lesenswert?

habe jetzt einen hochohmigen Spannungsteiler wie von Michael empfohlen 
eingebaut 220k+390k, mit 100n.

Sieht jetzt schon ganz gut aus, danke.

von Jakob (Gast)


Lesenswert?

Ein Spannungsteiler 220k + 390k macht 3,2 V aus 5,0 V
- eher knapp: Aus 5,25 V werden 3,36 V
und hat einen Ri = 140 kOhm.
Die 5 V werden mit 8,2 µA belastet. So weit, so gut.

Auch die 100 nF sind OK, die Aufladung des internen
Sample-Kondensators mit < 100 pF bringt einen Fehler von
< 1/1000, also kleiner 1 LSB.
Damit hat man die 5 V auf 5 mV genau.

Was ist aber mit dem I/O-Leakage Current?
Laut Datenblatt kann der bis zu 1 µA sein.

1 µA * 140 kOhm = 140 mV = 43 LSB
Für 5 V ergibt das einen möglichen Fehler bis +/- 0,22 V!

Wenn der Leckstrom stabil wäre, könnte man ihn (wie die
Toleranzen des Spannungsteilers) raus-kalibrieren.

Leider schweigt sich ATMEL darüber aus - er wird auch von
der Temperatur und von ??? abhängen.

Ist nur WORST CASE, sollte man aber im Hinterkopf behalten!
Besonders, wenn die Messung entscheidend für die Funktion der
Schaltung ist.

von S. Landolt (Gast)


Lesenswert?

> Die 5 V werden mit 8,2 µA belastet. So weit, so gut.
Trotzdem sollte PeterZ sich Gedanken machen, was er eigentlich anstrebt. 
Um ein extremes Beispiel anzuführen: bei einer Autobatterie wäre mir 
auch 1 mA egal.
  Was wird sonst noch verbraucht, z.B. vom uC selbst und vom 3.3 
V-Regler?

> Was ist aber mit dem I/O-Leakage Current?
> Laut Datenblatt kann der bis zu 1 µA sein.
Über diesen Wert bin ich auch schon einige Male gestolpert, zumal für 
den Analog-Comparator 50 nA als Maximum angegeben werden. An einem 
ATmega328P-PU (1545) kann ich bei 21 °C an PC0 keinen Strom messen, das 
Messgerät zeigt bis 0.01 uA an. Wenn also PeterZ nicht gerade eine Serie 
produzieren will, kann er seine Exemplare ausmessen.

von Manfred (Gast)


Lesenswert?

S. Landolt schrieb:
>> Was ist aber mit dem I/O-Leakage Current?
>> Laut Datenblatt kann der bis zu 1 µA sein.
> Über diesen Wert bin ich auch schon einige Male gestolpert, zumal für
> den Analog-Comparator 50 nA als Maximum angegeben werden. An einem
> ATmega328P-PU (1545) kann ich bei 21 °C an PC0 keinen Strom messen, das
> Messgerät zeigt bis 0.01 uA an. Wenn also PeterZ nicht gerade eine Serie
> produzieren will, kann er seine Exemplare ausmessen.

Ja aber, da steht doch etwas im Datenblatt vom Mega x28:

"When the channel is selected, the source must drive the S/H capacitor 
through the series resistance (combined resistance in the input path).
The ADC is optimized for analog signals with an output impedance of 
approximately 10 k or less. If such a source is used, the sampling time 
will be negligible. If a source with higher impedance is used, the 
sampling
time will depend on how long time the source needs to charge the S/H 
capacitor, with can vary widely. The user is recommended to only use low 
impedance sources with slowly varying signals, since this minimizes the 
required charge transfer to the S/H capacitor."

Es bleibt also strittig, das Datenblatt definiert jedenfalls keine 
hochohmige Anschaltung.

von S. Landolt (Gast)


Lesenswert?

Dafür hatte Michael U. 100 nF vorgeschlagen, und PeterZ ist dem gefolgt. 
Natürlich muss dabei die Zeitkonstante berücksichtigt werden, was aber 
bei einer Batteriemessung wohl keine Rolle spielt.

von Michael U. (amiga)


Lesenswert?

Hallo,

>Es bleibt also strittig, das Datenblatt definiert jedenfalls keine
>hochohmige Anschaltung.

ein 100n Kondensator am ADCin ist für den S&H-Kondensator mit wenigen pF 
eine niederohmige Quelle.
Das man damit keine schnellen Änderungen mit hoher Samplerate abtasten 
kann, ist logisch, das wäre für eine reine Spannungsüberwachung auf 
leere Batterie/Akku aber auch ziemlich unnütz.
Die Zeitkonstante Spannungsteiler/100n könnte man ausrechnen, die ist 
aber für die Anwendung mehr als kurz genug.

Gruß aus Berlin
Michael

von S. Landolt (Gast)


Lesenswert?

an Manfred:

Laut Datenblatt 'Figure 24-8. Analog Input Circuitry' hat der 
S&H-Kondensator 14 pF. Es gilt Q=C*U. Siehe auch den Beitrag von Jakob, 
2. Absatz.

von PeterZ (Gast)


Lesenswert?

So habe nun eine andere Art der Messung verwendet. Der Spannungsteiler 
wird per P-Kanal Mosfet geschalten. Allerdings ist das Gate über einen 
Kondensator angebunden.
Wie hier als Beispiel:
http://fettricks.blogspot.de/2014/01/reducing-voltage-divider-load-to-extend.html

Das gefällt mir nun doch etwas besser und funktioniert auch.

von Michael U. (amiga)


Lesenswert?

Hallo,

jeder darf den Aufwand treiben, den er für angemessen hält.

Gruß aus Berlin
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.