www.mikrocontroller.net

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


Autor: Dieter S. (accutron)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: Bernd (Gast)
Datum:

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

Autor: Dieter S. (accutron)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: Dieter S. (accutron)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: Dieter S. (accutron)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: Dieter S. (accutron)
Datum:

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

Dieter

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Dieter S. (accutron)

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

MFG
Falk

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wie soll eine Stützkondensator ander Referenzspannung ISP verhindern?

Siehe Datenblatt zum PIC16F684.

Autor: Falk Brunner (falk)
Datum:

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

Autor: Dieter S. (accutron)
Datum:

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

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.