mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega328 Versorgungsspannung messen


Autor: PeterZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: PeterZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach der Messung wird der Pin auf Input geschalten, also weder High noch 
Low.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: PeterZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An dem Pin habe ich gegen minus 0V

Die internen Pullups sind nicht aktiv

Autor: M. K. (sylaina)
Datum:

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

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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: PeterZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich habe bei offenem Pin gemessen also unbeschaltet.

Kopf->Tisch

Autor: PeterZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nene, Brett Kopf :) Komt von der testerei.

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

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Transistor z.b.

Autor: PeterZ (Gast)
Datum:

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

Autor: S. Landolt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: R. M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Manfred (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: PeterZ (Gast)
Datum:

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

Sieht jetzt schon ganz gut aus, danke.

Autor: Jakob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: S. Landolt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: S. Landolt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: S. Landolt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: PeterZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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

Gruß aus Berlin
Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.