Forum: Mikrocontroller und Digitale Elektronik Atmega328P AREF mit 3.3V Referenzspannung


von Lukas G. (luke21)


Lesenswert?

Hallo zusammen,
ich möchte einen standalone Atmega328P mit einem Batteriespannungsmesser 
via Aref betreiben.
Als Batterie kommt ein 12V Akku zum Einsatz, die Versorgungsspannung des 
Atmegas beträgt 3.3V.
Wenn ich jetzt als VCC 3.3V verwende und Aref mit einem 100nF 
Kondensator auf GND entkoppel, dann kann ich mit den analogen Eingängen 
auch nur Spannungen von 0V - 3.3V messen oder? Dann brauch ich in dem 
Fall einen Spannungsteiler zwischen Batteriespannung und Messspannung, 
sodass am  analogen Eingang nie mehr als 3.3V ankommen, wenn ich das so 
richtig verstanden habe?

von Stefan F. (Gast)


Lesenswert?

Lukas G. schrieb:
> Wenn ich jetzt als VCC 3.3V verwende ...
> dann kann ich mit den analogen Eingängen
> auch nur Spannungen von 0V - 3.3V messen oder?

Ja

> Dann brauch ich in dem Fall einen Spannungsteiler

Ja

Und: Die Referenzspannung darf nicht höhere sein, als die 
Versorgungsspannung. Also 12V würden gar nicht gehen.

von Lukas G. (luke21)


Lesenswert?

Stefan ⛄ F. schrieb:
> Und: Die Referenzspannung darf nicht höhere sein, als die
> Versorgungsspannung. Also 12V würden gar nicht gehen.

Wenn AREF mit einem Kondensator auf GND liegt, kann das eh nicht 
passieren

von Frank K. (fchk)


Lesenswert?

Genau richtig. Und Du planst etwas Spielraum ein, damit der ADC-Pin 
nicht gleich abraucht, wenn Du einen voll geladenen Bleiakku mit 14V 
Gesamtspannung dran hast.

Wenn Du eine externe Referenz mit 2.048V nimmst (z.B. LM4040AIM3-2.0), 
hast Du es besonders einfach, ADC-Counts in Spannung umzurechnen und 
umgekehrt.

2.048V=2048mV=2^11mV, d.h bei einem 10 Bit ADC ist ein ADC-Count genau 
0.2V.

fchk

von Lukas G. (luke21)


Lesenswert?

Frank K. schrieb:
> Genau richtig. Und Du planst etwas Spielraum ein, damit der ADC-Pin
> nicht gleich abraucht, wenn Du einen voll geladenen Bleiakku mit 14V
> Gesamtspannung dran hast.

Wenn ich das nur mit Spannungsteiler mache und ohne dem Chip, dann 
könnte ich als R1=30k und R2=9.3k nehmen, sodass ich bei maximaler 
Batteriespannung von 14V am analogInput höchstens 3,31V erreiche

von Frank K. (fchk)


Lesenswert?

Lukas G. schrieb:
> Frank K. schrieb:
>> Genau richtig. Und Du planst etwas Spielraum ein, damit der ADC-Pin
>> nicht gleich abraucht, wenn Du einen voll geladenen Bleiakku mit 14V
>> Gesamtspannung dran hast.
>
> Wenn ich das nur mit Spannungsteiler mache und ohne dem Chip, dann
> könnte ich als R1=30k und R2=9.3k nehmen, sodass ich bei maximaler
> Batteriespannung von 14V am analogInput höchstens 3,31V erreiche

Lege das so aus, dass Du maximal bis 3.0V am ADC-Pin hast, und nimm eine 
BAT54S, um zu hohe und zu niedrige Spannungen nach VCC und GND 
abzuleiten. Das schützt den Pin.

Und den Spannungsteiler solltest Du niederohmiger machen. Im Datenblatt 
steht: "The ADC is optimized for analog signals with an output impedance 
of approximately 10 kOhm or less." Sprich R1+R2 sollten so ungefähr um 
die 10k sein.

fchk

von Stefan F. (Gast)


Lesenswert?

Frank K. schrieb:
> Sprich R1+R2 sollten so ungefähr um die 10k sein.

Die Impedanz ist R1 und R2 parallel gerechnet. Also 1/( 1/R1 + 1/R2 ) 
soll weniger als 10kΩ sein.

Oder vereinfacht: Wenn der kleinere Widerstand <= 10kΩ hat, ist der 
andere egal.

von MaWin (Gast)


Lesenswert?

Lukas G. schrieb:
> dann kann ich mit den analogen Eingängen auch nur Spannungen von 0V -
> 3.3V messen oder?

Ja.

> Dann brauch ich in dem Fall einen Spannungsteiler

Ja, und lege den gleich so aus, dass er auf die interne Referenzspannung 
von 1.1V teilt. Die ist deutlich stabiler aus die 3.3V 
Versorgungsspannung. Leider streut je nach Exemplar um +/-10%, man muss 
also ein Mal kalibrieren. Ohne Kalibrierung schliesst man als externe 
VRef einen TL431B an, der liefert 2.5V+/-0.5%.

Bedenke, dass der Spannungsteiler nicht mehr als 10k Quellimpedanz hat, 
also maximal 12k nach GND und 168k zum Akku. Das belastet den Akku mit 
75uA.

Teilst du nur auf 3V, wären das schon 0.22mA.

von Sebastian (Gast)


Lesenswert?

Frank K. schrieb:
> Lege das so aus, dass Du maximal bis 3.0V am ADC-Pin hast

Würd ich auch eher so machen.

Frank K. schrieb:
> und nimm eine BAT54S, um zu hohe und zu niedrige Spannungen nach VCC und
> GND abzuleiten. Das schützt den Pin.

Das ist hinter 30k wohl eher nicht mehr nötig, da reichen denke ich die 
Schutzdioden des Eingangs.

LG, Sebastian

von Stefan F. (Gast)


Lesenswert?

MaWin schrieb:
> Ohne Kalibrierung schliesst man als externe
> VRef einen TL431B an, der liefert 2.5V+/-0.5%.

Vielleicht reichen ihm ja auch die 1% handelsüblicher 3,3V Regler
Beispiel LF33AB: https://datasheet.ciiva.com/26904/lf33cv-26904802.pdf

Beides ist jedenfalls deutlich genauer, als die interne Referenz. 
Ehrlich gesagt konnte ich mich mit dieser noch nie so recht anfreunden, 
wenn absolute Messwerte stimmen müssen.

von Ingo Less (Gast)


Lesenswert?

Frank K. schrieb:
> 2.048V=2048mV=2^11mV, d.h bei einem 10 Bit ADC ist ein ADC-Count genau
> 0.2V.
Du hast es sicher richtig gemeint:
Ref: 2,048V
Messbereich: 20,48V
LSB: 20mV

von Manfred (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
>> Ohne Kalibrierung schliesst man als externe
>> VRef einen TL431B an, der liefert 2.5V+/-0.5%.
>
> Vielleicht reichen ihm ja auch die 1% handelsüblicher 3,3V Regler
> Beispiel LF33AB: https://datasheet.ciiva.com/26904/lf33cv-26904802.pdf

Stefanus' Märchenstunde!

Im Datenblatt stehen zwar 1% Abweichung der Ausgangsspannung, dazu 
addieren sich aber die Regelabweichungen gegen Eingangsspannung und 
Laststrom.

Das ist ein LDO zur Stromversorgung, keine Referenz und obendrein ein 
Exot, den der Bastler kaum bekommen wird.

> Beides ist jedenfalls deutlich genauer, als die interne Referenz.

Unsinn.

> Ehrlich gesagt konnte ich mich mit dieser noch nie so recht anfreunden,
> wenn absolute Messwerte stimmen müssen.

Das ist Dein persönliches Problem. Die interne 1,1V Referenz streut 
leider von einem zum anderen IC deutlich, wie es MaWin sagte. Sie ist 
aber in sich sehr stabil, ich habe damit einige Anwendungen sauber 
umgesetzt.

Ich messe die Referenz und füge einen Korrekturfaktor in die Berechnung 
ein. Würde ich eine Serie fertigen, wäre ich mit der internen Referenz 
nicht glücklich, da dann jedes Exemplar individuell kalibriert werden 
müsste.

von Wolfgang (Gast)


Lesenswert?

Manfred schrieb:
> Würde ich eine Serie fertigen, wäre ich mit der internen Referenz
> nicht glücklich, da dann jedes Exemplar individuell kalibriert werden
> müsste.

Du unterschätzt moderne Serienfertigung. Ein Bootloader kommt auch nicht 
von selbst auf den Chip. Da kann man die Kalibrierung auch mit 
abhandeln.

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.