Forum: Mikrocontroller und Digitale Elektronik Eingangsimpendanz ADC Mega16


von Axel Rühl (Gast)


Lesenswert?

Hi,

jetzt will ich auch mal was fragen:

Ich messe mit meinem Mega16 die Bordspannung vom KFZ.
Spannungsteiler 1 zu 16 am Eingang. 150K in reihe und 10K nach Masse.
(150K+10K)/10K = 16
Die Spannung errechne ich so:

Bordspannung=((Referenzspannung/1024)x ADC(0))x 16.
Offensichtlich liegt der ADC-Eingangswiderstand dem 10K nach Masse
parallel und verfälscht meinen Spannungsteiler. Kurzum, die angezeigte
Spannung ist zu hoch, statt 12,4Volt wird 14,2Volt ausgegeben.
Ich werde nach der Mittagspause( uhh, lange vorbei) mal die widerstände
auf 15K/1K ändern, mal sehn, was passiert.

Jemand 'ne Idee?

Grüße
AxelR.

von Fritz Ganter (Gast)


Lesenswert?

Laut Datenblatt hat er 50nA Leckstrom, wären also 100MOhm bei 5V.

von crazy horse (Gast)


Lesenswert?

Am Eingangswiderstand des ADC liegts nicht, der ist hoch genug,
ausserdem würde ein parallelliegender Eingangswiderstand das Ergebnis
nach unten verfälschen, nicht nach oben (es sei denn, du hast die
pullups von PortA eingeschaltet?).

von Axel Rühl (Gast)


Lesenswert?

Die PULLUP's waren an, danke mann!!

Ich habe die Spannungen vor und an den Spannugsteilern gemessen.
Meine Litiumzelle hat 4.13V, am avr-pin 2.053V macht 1 zu 2.012.
Die Bordspannung vor dem Spannungsteiler:
10.79V, am AVR 0.675 macht 1 zu 15.985. Sollte nun stimmen.
Mal sehen..
Vorher hatte ich an den PortPins 2,5irgentwas Volt gemessen.

Im Datenblatt steht übrigens, dass der Eingang für Impendanzen kleiner
gleich 10Kohm ausgelegt ist.
Ich würd'gern die interne Referenz verwenden, die schwankt aber von
Exemplar zu Exemplar. Jetzt habe ich die bei einem anderen im EEprom zu
stehen, und messe mit dr Hand und trach das dann da ein, kanns ja auch
nicht sein!! Hier verwende ich die meine 3Volt Betriebsspannung, huuuh.
Möchte garnicht wissen, was bei minus 20Grad da angezeigt wird.
Das sind doch dann im leben keine 3Volt. Daher lieber die inetrne
Referenz.
Hat jemand schon mal aufgeschrieben, wie man die Referenz ermittelt,
indem man von Aussen stabile 5 Volt anlegt? Nur die Formel aus obigem
Post umstellen nach Referenzspannug, oder?

Bordspannung=((Referenzspannung/1024)x ADC(0))x 16
Referenzspannung=Bordspannung/16*1024/ADC(0), glaube ich. Stimmt das?

Hätt'man mal in der Schule besser aufpassen sollen...

Gruß und Danke
AxelR.

von Axel Rühl (Gast)


Lesenswert?

habe nun die Referenzspannung per hand eingetragen...
die Spannung stimmte nun, lief jedoch bei 6,55 Volt über, fing quasi
bei Null wieder an.
Achso, ich programmiere immernoch mit FastAVR, sowas wie Bascom.
da meine Betriebsspannung 2.949V beträgt,, habe ich 2949 eingetragen.
das dividiert durch 1024 ergibt 2 komma 878xxx. also glatt zwei als
integer, was so schon nicht stimmt, fehlen ja 0.878xx. das mal ADC(0)
und dann nochmal mal 16 ergibt eben einen tollen Fehler!
also habe ich 10mal mehr(29490) eingetragen, kommt dann entsprechend
28,8xxx raus. Schon besser. das mal ADC(0)und nochmal mal 16 lässt aber
den Wertebereich meiner Variable schnell überlaufen. Ende vom Lied, das
die Spannungen sehr gut zu messen sind, aber über 6,5 Volt wieder bei
Null anfangen. Ich bin nun temporär auf Float ausgewichen.
Das endergebniss wird dann durch 10 geteilt und bis 65535mVolt zur
Anzeige gebracht.(Float rechnet schon mit Kommas, da fällt der
integer-Fehler sowieso weg, jetzt lass ich das aber so)
Wenn auch einer mit FastAVR programmiert, kann er ja damit vielleicht
was anfangen, den anderen nochmal meinen Dank für die prompte Reaktion
auf meinen Request.

Viele Grüße

Axel Rühl
Potsdam

von harry (Gast)


Lesenswert?

hi,

die referenz kannst du recht genau ausmessen, indem du an einen
adc-input eine spannungsquell mit poti hängst, das poti langsam
'aufdrehen', wenn dein input-wert gerade von 1022 nach 1023 wechselt,
entspricht die ref. genau der spannung am input + inputspannung/1024.
im übrigen wird die referenz intern per bandgap erzeugt, die schwanken
zwar leicht nach oben oder unten je exemplar, sind (und bleiben) aber
stabil.

gruss, harry

von Fritz Ganter (Gast)


Lesenswert?

Du kannst auch am AREF Anschluss die Referenzspannung messen, solange
der ADC enabled ist.
Weiss jemand, wie gross der Kondensator an AREF sein soll, der
empfohlen wird? Im Datenblatt find ich keinen Wert.

von Axel Rühl (Gast)


Lesenswert?

<Zitat 05.05.2004>
...die schwankt aber von
Exemplar zu Exemplar. Jetzt habe ich die bei einem anderen (Projekt) im
EEprom zu
stehen, und messe mit d(e)r Hand und trach das dann da ein,...
</Zitat>

Na sag ich doch. Ich mese jetzt bei jedem Teil die Referenzspannung,
notier mir die auf einen Zettel, starte mein Konfigprogramm über die
UART, um dann diese Referenzspannung im EEprom einzutragen.Die ist auf
alle Fälle stabiler, als meine Betriebsspannung.

Ich kann doch da kein Poti drannhängen, wer soll denn da den ganzen Tag
drehen, ;-) Ich dachte an eine externe Referenz von 2.500Volt und über
den Fehler, der sich aus der angezeigten Spannung ergibt, Rückwärts auf
die tatsächliche Referenzspannung schliessen.

<Zitat>
Referenzspannung=Bordspannung/16*1024/ADC(0), glaube ich. Stimmt das?
</Zitat>

U_REF_INT = 5.000V /16*1024/ADC(0)
So in etwa, hat schon mal einer nachgerechnet, vielleicht ist sogar
einer dabei, der das im Kopf kann?
Nimmt man nun 1024 zum rechnen oder 1023?

Ich habe 100nF am AREF.

Schönen Tag noch
AxelR

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.