Hallo,
nutze einen dsPIC30 mit 24MHz. Als Referenzspannung für den 12Bit
A/D-Wandler dient ein MCP1525 mit 2.495V. Bei einer Spannung von 332mV
am Eingang des AD Kanals, gibt er mir einen Wert von 514 aus, obwohl es
rechnerisch 544 sein müßten. Dies zieht sich bis zum Endbereich hin.
Liegt es an der Einstellung des AD`s?
Arbeite mit dem C30
Der Kanal 2 ist über einen OP(LM358) an einen Spannungsteiler
angeschloßen(91k/13k). Bei einer Spannung von 5V ist der Wert ganz
genau. Bei 2.5V zeigt er mir 100mV zu wenig an und bei 8V 100mV zuviel.
Von Linearität ist absolut nicht zu reden :(
Gruß sascha
Hallo Sascha
du betreibst die referenzspannung ausserhalb der Spec. Laut Tabelle
23-38 muss die Referenz VrefH mindestens Avss+2,7Volt betragen
Gerhard
>du betreibst die referenzspannung ausserhalb der Spec. Laut Tabelle>23-38 muss die Referenz VrefH mindestens Avss+2,7Volt betragen
Ich habe Tabelle 23-38 angehängt.
Wo siehst du das da?
Zu sehen in Tabelle 23-37 Parameter AD05...
Aber benutze als negative Referenz lieber den externen Eingang (einfach
mit GND verbinden) und nicht AVss. Die dsPICs ziehen leider so viel
Strom, daß auf AVss dadurch wohl ein Offset entsteht. Takte mal den
dsPIC langsamer und Du wirst sehen, daß auch der Offset kleiner wird.
OK, habs gesehen. War mir auch neu.
@ Sascha Focus
Teste mal wie das Ergebnis aussieht wenn du eine höhere Referenz nimmst.
Und wie hast du AVDD verbunden? Schön mit 100nF direkt am pin und
vielleicht noch ne Spule reingebaut? Oder einen kleinen Wiederstand?
Die ganze Schaltung wär nicht schlecht.
Übrigens. Mit was hast du denn deine zB 332mV gemessen? Wenn das nämlich
ein 10 € Multimeter war, is die Messung nix Wert.
Sorry
das hab ich aus dem Datenblatt von 2005, da steht das auf der Seite 200
schau mal in deinem Datenblatt unter
12-BIT A/D MODULE SPECIFICATIONS, unter Electrical Characteristics
Gerhard
Hallo Sascha
ich hab das jetzt im aktuellen Datenblatt gefunden:
Table 23-37, 12-BIT A/D MODULE SPECIFICATIONS, page 199
Param No: AD05 VrefH AVss+2,7 Volt als Minimalwert für die Referenz
Gerhard
@ willivonbienemaya
hast natürlich recht. Allerdings hab ich mich mit dem 4013 auch schon
rumgeärgert. Darum hätt ich auf jeden Fall das aktuelle Datasheet
durchgeschaut - es könnte sich auch was geändert haben. Das feature
Uref > AVss+2,7 Volt ist wirklich bescheuert.
Gerhard
Willivonbienemaya .. wrote:
> OK, habs gesehen. War mir auch neu.>> @ Sascha Focus> Teste mal wie das Ergebnis aussieht wenn du eine höhere Referenz nimmst.> Und wie hast du AVDD verbunden? Schön mit 100nF direkt am pin und> vielleicht noch ne Spule reingebaut? Oder einen kleinen Wiederstand?>> Die ganze Schaltung wär nicht schlecht.>> Übrigens. Mit was hast du denn deine zB 332mV gemessen? Wenn das nämlich> ein 10 € Multimeter war, is die Messung nix Wert.
Hi,
habe jetzt ein MCP1541 = 4.096V eingesetzt. Ist schon etwas besser. Mit
der Beschränkung der VRef habe ich glatt übersehen. AVDD habe ich über
einen 10R Widerstand an +5V angeschloßen. 100nF sind direkt an AVDD und
AGND. Aber irgendwie bin ich von den PIC enttäuscht. Durch die
Takteinstellung des AD blicke ich immer noch nicht durch.
Gemessen habe ich mit einem Meterman 33XR. Ist für den Hausgebrauch
schon recht (Fluke 179 habe ich nur auf der Arbeit). Anbei die
Schaltung.
Gruß Sascha
Hallo Sascha,
ich hab mirs noch mal angeschaut.
Ich hab nix böses gesehen.
Hast du die Möglichkeit mal die Pins alle mit nem Oszi zu messen?
Ansonsten kannste mal mit den TAD Zeiten rumspielen.
Also hier -> ADCON3bits.ADCS
Davon abgesehen sollte man nicht enttäuscht sein von einem Controller
wenn man nicht durchblickt. Allenfalls vom Datenblatt. Aber das ist an
dieser Stelle nicht mal schlecht. Zum AD Wandler gibt es sogar
Beispiele.
Bei dem AD gibt es halt einige schöne Features. ZB kann man den mit
internem takt laufen lassen. is nützlich wenn man zb Strom sparen will.
Dann läuft der AD Wandler weiter während der Rest schläft.
Gruß
Andreas
Beispiele schön und gut. Aber bis jetzt alle im Interrupt genutzt. Habe
mich auch etwas ungeschickt ausgedrückt. Ich finde die Stromaufnahme
schon ziemlich hoch. Der Pic wird schon schön warm.
Gruß sascha
alles kann man halt leider nicht haben. entweder 5V und schnell oder
wenig stromaufnahme.
Aber das die da nicht so toll sind stimmt schon.
Takte sie einfach niedriger und benutze Idle und Sleep Modi. Dann
bekommst du die Stromaufnahme auf unter 10mA und warm wird nix mehr.
Hi,
wie schon beschrieben, ist die VREF jetzt 4.096V. Diese ist jetzt
komplett angewählt mit ADCON2bits.VCFG=3 und auch dementsprechend
angeschloßen. Bei Eingangsspannung von 1,30V messe ich mit dem AD auch
1,30V. Bei 6,57V messe ich jetzt 6,65V.
Berechnen tue ich den Wert so:
test=33313; //max Spannung 33.313V an Spannungsteiler
BATT_SPANNUNG=((((test*100)/4095)*adwert)/100);
Der OP und die ext. Dioden habe ich auch weggelassen. So langsam
verzweifle ich. Frag mich, wo der Offset her kommt. Je höher die
Eingangsspannung wird, desto höher wird auch die Abweichung. Auch ein
heruntertakten bringt keinen erfolg.
Gruß Sascha
Ein Fehler erst mal: Warum teilst du durch 4095 ? 12 Bit sind 4096.
Und lass doch ma den dummen Spannungsteiler weg. da hast du nur wieder
unerwünschte nebeneffekte und toleranzen die du beachten müsstest.
schliss doch mal deine 2,5 V referenz direkt an ohne was anderes
dazwischen (denk an den dicken kondensator am ausgang der 2,5 V
Referenz).
Der AD Wandler müsste ja dann auf 2500 kommen. Tut er das?
Willivonbienemaya .. wrote:
> Ein Fehler erst mal: Warum teilst du durch 4095 ? 12 Bit sind 4096.
Schon klar, aber zählen 0V nicht auch dazu? Wir zählen doch wohl von 0
bis 4095. Nutze jetzt eine Referenzspannung von 4.096V
Siehe Thread: Beitrag "AD werte umrechnen"> Und lass doch ma den dummen Spannungsteiler weg. da hast du nur wieder> unerwünschte nebeneffekte und toleranzen die du beachten müsstest.> schliss doch mal deine 2,5 V referenz direkt an ohne was anderes> dazwischen (denk an den dicken kondensator am ausgang der 2,5 V> Referenz).>> Der AD Wandler müsste ja dann auf 2500 kommen. Tut er das?
Jepp, das macht er. Wenn ich mir den Wert des AD dezimal anzeigen lasse,
kommt der Wert 4095 bei 4.096V am Eingang .
Gruß Sascha
Das mit den 4095 oder 4096 is mir jetzt egal.
Wenn ich ne Referenz von 4096mV hab und einen 12 Bit Ad Wandler, dann
rechne ich gar net lang rum, sondern nehm das Ergebins und schreib mV
dran.
>Jepp, das macht er. Wenn ich mir den Wert des AD dezimal anzeigen lasse,>kommt der Wert 4095 bei 4.096V am Eingang .
Ich frag dich ob 2500 rauskommt und du erzählst mir: "Ja, es kommen 4095
raus". Aha sag ich da nur.
Wenn du die Referenz mit dem eingang kurzschliesst kommt klar der
maximalwert raus. (Oder du kannst den AD wegschmeissen)
Wiederholung der Frage: Hast du mal deine 2,5 V Referenz dran gemacht
und geschaut was der AD Wandler sagt?
Zur Erinnerung: Du bist auf der Suche nach Messfehlern ;-)
Willivonbienemaya .. wrote:
> Das mit den 4095 oder 4096 is mir jetzt egal.>> Wenn ich ne Referenz von 4096mV hab und einen 12 Bit Ad Wandler, dann> rechne ich gar net lang rum, sondern nehm das Ergebins und schreib mV> dran.>>>Jepp, das macht er. Wenn ich mir den Wert des AD dezimal anzeigen lasse,>>kommt der Wert 4095 bei 4.096V am Eingang .>> Ich frag dich ob 2500 rauskommt und du erzählst mir: "Ja, es kommen 4095> raus". Aha sag ich da nur.>> Wenn du die Referenz mit dem eingang kurzschliesst kommt klar der> maximalwert raus. (Oder du kannst den AD wegschmeissen)>> Wiederholung der Frage: Hast du mal deine 2,5 V Referenz dran gemacht> und geschaut was der AD Wandler sagt?>> Zur Erinnerung: Du bist auf der Suche nach Messfehlern ;-)
Hatte dich falsch verstanden, sorry. Ich messe 2.491V mit dem AD. 2.491V
mit dem Multimeter.
Gruß Sascha
Das sieht doch relativ genau aus ;-)
Dann behaupte ich einfach mal, dass es an deinem OP liegt. Der 358 is ja
eher was für en kleinen Geldbeutel als für gute Messungen.
Wie groß is eigentlich R14 ?
Der sollte nicht zu groß sein, dass du noch schön hochohmig auf deinen
AD Wandler gehst.
R14 hat 100R. Wie schon vorher, habe ich mit dem Spannungsteiler diese
Probleme. Auch ohne OP. SelnHab schon die Widerstände gewechselt, ohne
Erfolg. Ich habe schon alles weggelassen, Dioden, OP und den
Spannungsteiler direkt angeschloßen.
Ich raff es einfach nicht. Mit der Strommessung habe ich absolut keine
Probleme und vor allem keine solchen Abweichungen.
Da demnächst eh ein neues Layout fällig wird, gibt es ne gute Empfehlung
als Impedanzwandler für den AD?.
Gruß Sascha
Leider hab ich noch keins. Rauschen sollte nichts, außer der PIC selber.
Selbst wenn ich direkt an einen analogen Eingang mittel Kabel am Pin
gehe, habe ich diese abweichungen. Im Bereich um 2,5V ist alles ok.
Darunter messe ich zu wenig, darüber hinaus wird es immer etwas zuviel.
Alles bei einer Referenzspannung von 4,096V. Selbst ein PIC auf
Lochraster ohne sonstige weitere Beschaltungen hat ein ähnliches
verhalten.
Gruß Sascha