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
@ 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
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.
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
@ 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
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
@ 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
@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
@ 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.
@Falk: Veralbern? Wieso sollte ich denn das tun? Schreib halt, was Du meinst. Dieter
@ Dieter S. (accutron) Wie soll eine Stützkondensator ander Referenzspannung ISP verhindern? Das sind doch vollkommen ander Pins. MFG Falk
>Wie soll eine Stützkondensator ander Referenzspannung ISP verhindern?
Siehe Datenblatt zum PIC16F684.
@ 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.