STM32F4 Internal Reference

OP #5467292
Lesenswert?

Hallo,

ich versuche gerade über die interne Referenzspannung eines STM eine 
externe Spannung zu ermitteln.

Mit der Formel V = ADC_Value * 3300mV / 4095 funktioniert das auch sehr 
gut und ich bekomme den richtigen Wert.

Da meine Spannungsversorgung aber natürlich nie genau 3,3V beträgt, 
würde ich gerne die interne Referenzspannung für bessere Genauigkeit 
verwenden.
Die Formel V = ADC_Value * 1200 / ADC_VREF funktioniert aber leider 
nicht, da ich beim lesen des Kanal 17 immer ca. 1500 als Wert zurück 
geliefert bekomme (Adc_Read(ADC1, ADC_Channel_Vrefint);)

Schaltplan und Source im Anhang.

mfg
Angehängte Dateien:
#5467357
Lesenswert?

Hm, das is eine ausgezeichnete Frage...

Ich hab die Formel auf die schnelle aus einem L4-Datenblatt (S.425 in 
RM0394) da ich mir fest eingebildet hab, dass der F4 auch diesen 
internen "calibration factor" VREFINT_CAL hat. Beim L4 liegt dieser 
Faktor als uint16_t auf der Adresse 0x1FFF75AA.

Auch der von dir gemessene Wert würde schwer dafür sprechen dass die 
Formel stimmt. Ich hab mal eben bei einem Board mit STM32L431 gemessen 
und da bekomm ich für VREFINT 1487. Das ergibt mit dem internen 
Kalibrationsfaktor dann in etwa 3.3V.
Gast #5468684
Lesenswert?

Felix F. schrieb:
> ich versuche gerade über die interne Referenzspannung eines STM eine
> externe Spannung zu ermitteln.
>
> Mit der Formel V = ADC_Value * 3300mV / 4095 funktioniert das auch sehr
> gut und ich bekomme den richtigen Wert.
>
> Da meine Spannungsversorgung aber natürlich nie genau 3,3V beträgt,
> würde ich gerne die interne Referenzspannung für bessere Genauigkeit
> verwenden.
> Die Formel V = ADC_Value * 1200 / ADC_VREF funktioniert aber leider
> nicht, da ich beim lesen des Kanal 17 immer ca. 1500 als Wert zurück
> geliefert bekomme (Adc_Read(ADC1, ADC_Channel_Vrefint);)

Auf die Spannung an AVCC kann man mit einem internen Kalibrationswert 
schließen, welcher bei ST in der Produktion vermessen wird. Bei einem 
Versuch habe ich damit eine Abweichung von etwa +- 10 mV. Je nach dem 
was du messen willst, kann das ausreichend sein oder nicht. Dann hilft 
die sehr ungenaue interne Referenzspannung aber auch nicht, da diese 
zwischen 1.2 - 1.25 V schwanken kann (Werte vom STM32F072).

Evtl hilft dir der Beitrag von mir weiter: 
Beitrag "STM32F072 ADC Genauigkeit trotz Kalibrierung nicht optimal"

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren