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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.