Forum: Mikrocontroller und Digitale Elektronik PIC 32 ADC Messen mit Internal Vref


von raph (Gast)


Lesenswert?

Hallo Zusammen

Ich will mit meienm PIC 32 eine externe Spannung zwischen 2,6V und 3,0V 
messen.

Meine Idee ist es den Vref- de PIC32 auf 2,37 einzustellen und mit der 
Internal VREF- und VDD am ADC die Messung Spannung so zu skalieren auf 
die 10 Bit.

Leider scheiter ich noch am Konfigurieren der Register:


 ADC1_Init_Advanced(_ADC_INTERNAL_REF);

//Regsiter für Vref
 AD1CON2.B13 =0;
 AD1CON2.B14 = 0;
 AD1CON2.B15 = 0;

 CVRCON = 0b1000000001001111;                    // internal Vref 2,37V
 CVRCON.B5 = 0;             // CVRR 0 = Range internal VREF

der ADC gibt wrde von int "916" bei 2.9V was wohl darauh hindeutet
das vref- nicht genützt wird ? Richtiges Register Setup ?
oder muß ich den Augang von internal Vref an den EIngang vref- am PIC32 
verbinden

Gruß

RL

von Chris B. (dekatz)


Lesenswert?

Welcher PIC32?? Bei den PIC32MX3xx/4xx gilt (electrical 
characterisitics, Tabelle 30.34):
VREFL = min:AVss,   max:VREFH - 2,0V
Bei deinen VREFH = 3,6V wäre die höchste VREFL also 1,6V.

von raph (Gast)


Lesenswert?

Hallo

Ich nütze ein PIC32460F512L

wie kommst du auf 3,6 V ?

Vref kann man auf ca 2,37 V einstellen laut Datasheet S.552

 ADC Accuracy – Measurements with Internal VREF+/VREF -

Kurze Frage kann man (Vref-) auf die 2,37 V einstellen oder nur (Vref+)
für den ADC CVRCON Register oder geht das nur für den Komporator
und ich muß meine zu messende Sapnnung mit OP Differenzierer vorher 
selber aufbereiten

Besten Gruß

RL

von Chris B. (dekatz)


Lesenswert?

Das CVRCON Register ist für den Comperator zuständig. Die erzeugte 
Spannung kann man am Pin CV_REFOUT ausgeben lassen.

ADCON2.VCFG (B15...B13) beschreiben welcher PIN für die VoltageReference 
des ADC verwendet wird. Für VREFH entweder AV_DD oder CVREF+/VREF+, für 
VREFL entweder AV_SS oder CVREF-/VREF-.

Bei deiner obigen Einstellung
AD1CON2.B13 =0;
 AD1CON2.B14 = 0;
 AD1CON2.B15 = 0;

wird für VREFL = AV_SS und VREFH = AV_DD (als die Spannung mit welcher 
der ADC versorgt wird)

Du kannst ja CV_REFOUT mal mit VREF- verbinden (??? habe ich noch nie 
probiert).

Dann muss aber ADCON2 so konfiguriert werden:

AD1CON2.B13 =0;
 AD1CON2.B14 = 1;
 AD1CON2.B15 = 0;

Allerdings gilt trotzdem für den zulässigen Bereich von VREF- beim ADC 
was ich oben schon gepostet habe: max.VREF- = VREFH - 2,0V.
Welche Spannung hast du an AV_DD??

Bei deiner Konfiguration von ADCON2 ist eine extern zugeführte VREF- von 
2,37V zu hoch...
Und, ich habe keine Ahnung wie genau/unsinnig das Ergebniss ist, wenn 
die Abstand VREF- zu VREF+ keine 2,0V beträgt.

(Wie ich auf 3,6V komme?? Ich nehem an dein PIC32 läuft mit 3,6V oder 
läuft der mit 5 Volt????)

von RL (Gast)


Lesenswert?

Vielen Dank für die Antwort.

Ich werde das jetzt nächste Woche ausprobieren
sowie die andere Idee eine OP Differenziererschaltung

Gruß

Rl

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.