Hallo, ich habe einen PIC 18f und will damit eine analoge Spannung einlesen von 0...10V welche ich davor auf 0...5V herunterteile. Vref- ist GND und Vref+ ist +5V. lege ich 0V an, dann lese ich einen ADC Wert von 0xFFF4 lege ich 5V an dann lese ich einen ADC Wert von 0x0770 bei 2,5V ist der ADC Wert 0x0338 bei 1V ist der ADC Wert 0x00CB es ist ein 12Bit wandler, also maximal 4095, würde bei 5V analogspannung von 2048 machen, aber ich lese nur 1904 ein. woran kann das liegen? mit einem multimeter messer ich die jeweilige spannung an dem eingang. kann mit jemand helfen? danke
Sieht doch garnicht so schlecht aus! Wie groß sind denn die Widerstände deines Spannungsteilers?
bastler schrieb: > lege ich 0V an, dann lese ich einen ADC Wert von 0xFFF4 Das klingt eher unwahrscheinlich. Zeig mal den Code. Gruß Oliver
der spannungsteiler sind zwei 10k ohm widerstände. die Funktion sieht wie folgt aus: word ADConvert(byte bChannel) { byte i; word wResult; word wTemp; wResult = 0; for(i=0;i<8;i++) { ADCON0bits.GO_DONE = 1; while(ADCON0bits.GO_DONE); wTemp = ADRESH; wTemp <<= 8; wTemp += ADRESL; wResult += wTemp; } wResult >>= 3; return(wResult); }
>der spannungsteiler sind zwei 10k ohm widerstände.
Zu viel! Das ergibt 5kOhm Quellimpedanz! Laut Datenblatt soll diese aber
nicht größer als 2k5 sein.
5k erhöhen eigentlich nur die Acquisition Time. Lässt du genug Zeit zwischen Channel umschalten und dem Go?
aber zwischen spannungsteiler und mikrocontroller habe ich noch einen operationsverstärker als impedanzwandler, sein ausgangswiederstand ist ja sehr gering. an die zeit hab ich auch schon gedacht, hab sie schon verändert aber keine verbesserung feststellen können
bastler schrieb: > aber zwischen spannungsteiler und mikrocontroller habe ich noch einen > operationsverstärker als impedanzwandler, sein ausgangswiederstand ist > ja sehr gering. Diese Information ist neu! :-) Und die Spannung hinter dem OP stimmt genau? Wie gut ist die Versorgungsspannung am µC gepuffert und geblockt, diese wird ja als Referenz benutzt?! Welchen PIC18F benutzt Du denn?
sry das ich diese info verschwiegen habe. die versorgung ist eigentlich an einigen kondensatoren angeschlossen. und ja die versorgung wird momentan als referenz benutz, will aber eine andere quelle als referenz noch mit einbauen. könnte diese der grund sein das die ad wandlung nicht stimmt? ich benutz den pic18f65k22
Schau mal kurz ins Errata :o) Ich habe mir auch so einen "unbrauchbaren" Klotz ans Bein geschnallt. Bei meinem Derivat ists aber noch schlimmer, da können AD Kanäle mal einfach nicht funktionieren. Welche... ist bei jedem Chip anders, aber Microchip will partout das Silizium nicht anpassen... Habs bei Dir nur kurz überflogen, aber stand was von bis zu 50LSB Offset Error ect. Gruss
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.