Forum: Mikrocontroller und Digitale Elektronik Steigungsfehler AD-Wandlung beim PIC16F684


von Dieter S. (accutron)


Lesenswert?

Hallo zusammen,

der PIC16F684 macht eine Wandlung mit 10 Bit. Ich benutze eine 
Referenzspannung an Pin12 (mit ca. 2,3 V), diese ist software-mäßig auch 
gewählt. Wenn ich jetzt für verschiedene Eingangsspannungen das 
Verhältnis von letzterer zur Referenzspannung bilde und dieses mit 1024 
multipliziere, müsste ich ja recht genau auf die Werte kommen, die mir 
der AD-Wandler beim Lesen liefert. Leider habe ich hier eine recht hohe 
Abweichung von ca. 4 %, d. h. der PIC liefert immer 4 % mehr als nach 
Rechnung erwartet. Ich habe schon alles versucht mit Takt reduzieren, 
Wartezeiten usw, aber diese Abweichung bleibt.

Hat jemand ähnliche Erfahrungen gemacht?

Gruß

Dieter

von Falk B. (falk)


Lesenswert?

@  Dieter S. (accutron)

>Referenzspannung an Pin12 (mit ca. 2,3 V), diese ist software-mäßig auch

ca. 2,3V

>Abweichung von ca. 4 %, d. h. der PIC liefert immer 4 % mehr als nach
>Rechnung erwartet.

Hast du mal die Referenz gemessen? Ist sie von aussen zugänglich? Denn 
die integrierten Referenzspannungen sind nicht sonderlich genau.

Sowas muss man meist per Software kalibrieren.

MFG
Falk

von Bernd (Gast)


Lesenswert?

Wie Falk schon gesagt hat, du mußt da sicherlich ein bischen an der 
Software schrauben. Ein Fehler von 4% ist zwar schon ein bischen viel 
aber nicht ungewöhnlich. Du hast einen Offsetfehler... aber wie du sagst 
einen "Steigungsfehler"... sprich einen nicht linearen Offsetfehler.

Ich habe bei ähnlich schlechten Wandlerergebnissen mit ein bischen 
Korrektur per Software schon Ergebnisse < 0,3% herausgeholt. Interessant 
dabei ist, dass eine solche Korrektur dann für den gleichen MC, gleiche 
Charge, zu gleichen Ergebnissen führt. Will sagen, die sind alle gleich 
Fehlerbehaftet :-)

Aber dafür ist Software ja da.

von Dieter S. (accutron)


Lesenswert?

Hallo,

@Falk:
Ich habe die Spannung an Pin12 zwar Referenzspannung genannt, aber sie 
ist de facto die Spannung eines Spannungsteilers und nicht besonders 
stabil. Aber ich habe sie ja auch immer mitgemessen und bei der 
Bestimmung des theoret. AD-Wertes berücksichtigt. Trotzdem macht der PIC 
anscheinend ca. 4% zuviel beim Wandlungswert. Das heißt, 1023 erreicht 
er bereits bei ca. 96% des Werts am Referenzeingang.

Das Datenblatt schweigt sich aus über den Steigungsfehler.


@Bernd:
Mir ist schon klar, dass man das mit der Software ausgleichen kann, aber 
gerade das wollte ich vermeiden, wenigstens den Grobabgleich. Dass man 
Bauteiltoleranzen ausgleichen muss, damit kann ich leben. Aber der 
Operationsverstärker mit Widerständen 0,1% ist ja sinnlos, wenn ich beim 
AD-Wandler 4% kompensieren muss.

Gruß

Dieter

von Falk B. (falk)


Lesenswert?

@  Bernd (Gast)

>Software schrauben. Ein Fehler von 4% ist zwar schon ein bischen viel
>aber nicht ungewöhnlich. Du hast einen Offsetfehler...

Nöö.

> aber wie du sagst
>einen "Steigungsfehler"... sprich einen nicht linearen Offsetfehler.

Käse^2. Wenn er bei verschiedenen Spannungen immer 4% (relative Angabe!) 
falsch misst, ist das ein Steigungsfehler. Ein Offsetfehler wäre es, 
wenn er bei verschiedenen Spannungen immer einenkonstanten Fehler von 
z.B. 100mV misst (absolute Angabe!).

MFG
Falk

von Dieter S. (accutron)


Lesenswert?

Hallo,

habe das Problem selber lösen können. Die Ursache war eine (mit 4k7) zu 
hochohmige Anbindung der Referenzspannung an den Pin des PIC. 
Oszilloskop zeigt einen deutlichen, periodischen Einbruch am Pin12 (RA1) 
des PIC.

Lösung: Koppelwiderstand niederohmiger wählen, z. B. 470 Ohm. Direkte 
Ankopplung ist problematisch, weil dann das ISP nicht mehr möglich ist.

Für die AD-Wandlung findet man zwar Hinweise, dass der Koppelwiderstand 
10k nicht unterschreiten sollte, aber dass der Referenz-Eingang viel 
stärker belastet, ist nicht ausdrücklich erwähnt. Bei 4k7 jedenfalls 
bricht die Spannung von ca. 2,3 V kurzzeitig um fast 1 V zusammen. Sie 
steigt zwar innerhalb Bruchteile von µsec wieder an, deshalb "nur" ein 
Fehler von 4%.

Gruß

Dieter

von Falk B. (falk)


Lesenswert?

@  Dieter S. (accutron)

>Oszilloskop zeigt einen deutlichen, periodischen Einbruch am Pin12 (RA1)
>des PIC.

Fehlt dort vielleicht nicht eher ein Stützkondensator? so 100nF..5uF?
Datenblatt?

MFG
Falk

von Dieter S. (accutron)


Lesenswert?

@Falk:

Der Stützkond. würde es natürlich auch beheben. Aber ISP wäre dann auch 
nicht mehr möglich. Sonst müsste man Kunstgriffe anwenden.

Gruß

Dieter

von Falk B. (falk)


Lesenswert?

@  Dieter S. (accutron)

>Der Stützkond. würde es natürlich auch beheben. Aber ISP wäre dann auch
>nicht mehr möglich. Sonst müsste man Kunstgriffe anwenden.

Du willst uns veralbern. Viel Spass noch damit.

von Dieter S. (accutron)


Lesenswert?

@Falk: Veralbern? Wieso sollte ich denn das tun? Schreib halt, was Du 
meinst.

Dieter

von Falk B. (falk)


Lesenswert?

@  Dieter S. (accutron)

Wie soll eine Stützkondensator ander Referenzspannung ISP verhindern? 
Das sind doch vollkommen ander Pins.

MFG
Falk

von holger (Gast)


Lesenswert?

>Wie soll eine Stützkondensator ander Referenzspannung ISP verhindern?

Siehe Datenblatt zum PIC16F684.

von Falk B. (falk)


Lesenswert?

@  holger (Gast)

>>Wie soll eine Stützkondensator ander Referenzspannung ISP verhindern?

>Siehe Datenblatt zum PIC16F684.

Ohje, da hat Microchip aber einen Bock geschossen.
Du aber auch. Wenn du Vcc als Referenzspannung nutzen willst, kannst du 
das ohne RA1, denn die ist intern direkt zuschaltbar. Dann puffern die 
100nF an Vcc die Referenz.

MFg
Falk

von Dieter S. (accutron)


Lesenswert?

Falk Brunner schrieb:
> Ohje, da hat Microchip aber einen Bock geschossen.
> Du aber auch. Wenn du Vcc als Referenzspannung nutzen willst, kannst du
> das ohne RA1, denn die ist intern direkt zuschaltbar. Dann puffern die
> 100nF an Vcc die Referenz.

Ja, das weiß ich. In meiner Schaltung brauche ich aber eine getrennt 
anzuschließende Ref-Quelle. Das klappt jetzt auch recht gut.

Gruß

Dieter

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.