Forum: Mikrocontroller und Digitale Elektronik STM32 Analogport mit Internal Vref korrigieren


von SK (Gast)


Lesenswert?

Hallo,

ich benutze den STM32F103C8T6 ohne Spannungsstabilisierung direkt an 
einer 3,6V Batterie. Leider hat der Mikrocontroller kein 
Referenzspannungs- Pin. Das Problem ist halt das am Analogport bei 
fallender Bateriespannung es zu ungenauigkeiten kommt.

Da hatten wir die Idee das man das mit der Internen Referenzspannung 
korrigieren könnte.
Die Interne Referenz Spannung kann man ja über den ADC_Channel_Vrefint 
auslesen. Hierbei ist jedoch ein Problem aufgetreten und zwar scheint 
die gemessene Referenzspannung mit der zu messenden Spannung am 
Analogport zu steigen und fallen.

Woran liegt das?
Die müßte doch eigenlich nur von der Batterie abhängig sein?

von 4tg543z2 (Gast)


Lesenswert?

SK schrieb:
> Hallo,
>
>
>
> ich benutze den STM32F103C8T6 ohne Spannungsstabilisierung direkt an
>
> einer 3,6V Batterie. Leider hat der Mikrocontroller kein
>
> Referenzspannungs- Pin.

Das ist richtig. VDDA ist intern mit VREF+, VSSA intern mit VREF- 
verbunden
(LQFP48). Somit ist Deine AD-Referenzspannung die eigene 
Betriebsspannung - in Deinem Fall also Batteriespannung.

Datenblatt:

"3. In devices delivered in VFQFPN and LQFP packages, VREF+ is 
internally connected to VDDA and VREF- is internally
connected to VSSA. Devices that come in the TFBGA64 package have a VREF+ 
pin but no VREF- pin (VREF- is internally
connected to VSSA), see Table 5 and Figure 6."

> Das Problem ist halt das am Analogport bei
> fallender Bateriespannung es zu ungenauigkeiten kommt.

Wenn Du mit "Ungenauigkeiten" die dann mit der Batteriespannung 
schwankende AD-Referenzspannung meinst, ist das richtig. Ich würde
da nicht mehr von "Ungenauigkeiten" sprechen. Kommt aber drauf an, ob 
man Absolut- oder Relativmessungen durchführt.

> Da hatten wir die Idee das man das mit der Internen Referenzspannung
> korrigieren könnte.

Korrigieren nicht, aber verbessern. Die interne Referenzspannung 
schwankt laut Datenblatt zwischen 1,16V und 1,26V (TA = -40...+105°C), 
typisch 1,2V. Das ist natürlich immer noch viel stabiler, als die 
externe Betriebsspannung.

> Die Interne Referenz Spannung kann man ja über den ADC_Channel_Vrefint
> auslesen.

Genau. Habe mich auch gefragt, warum man die nicht gleich als interne 
Referenzspannung auf VREF+ schalten kann, aber das scheint so nicht zu 
gehen.

Demzufolge kann das ja nur SO Sinn machen: Die tatsächliche 
AD-Referenzspannung ist immer die externe VDDA/VREF+ und VSSA/VREF-. Das 
lässt sich nicht ändern. Diese Spannung muss aber immer mindestens
2,4V betragen - ist also immer größer, als die interne Referenzspannung.

Die Kopplung bzw. Auswertung ist dann nur noch rein mathematischer 
Natur.

Das Ergebnis aus der Wandlung der internen Referenzspannung entspricht
typisch 1,2V. Und jetzt ist es erst einmal egal, wie groß die wirkliche
AD-Referenzspannung ist. Mit Hilfe des Dreisatzes ;-) lässt sich nun
jede andere Spannung an einem ADC-Eingang berechnen. Die schwankende 
Betriebsspannung wird im Idealfall immer rausgerechnet. Übrig bleibt die 
Toleranz der internen Referenzspannung. Aber wenn man damit leben kann,
klappt das. Es hindert aber auch keiner daran, eine eigene noch genauere
Referenzspannung an einem der ADC-Eingänge zu betreiben (z.B. 1,2V mit 
+-0.001%).

> Hierbei ist jedoch ein Problem aufgetreten und zwar scheint
> die gemessene Referenzspannung mit der zu messenden Spannung am
> Analogport zu steigen und fallen.

Entweder gibt es hier einen Software- oder Denkfehler.
Die gemessene Referenzspannung schwankt mit Deiner Betriebsspannung hin 
und her. Wenn Du das meinst, ist das richtig. Danach kommt die 
Umrechnung für alle anderen ADC-Eingänge. Dass die interne 
Referenzspannung quasi intern schwankt ist ja gerade der Witz und 
entsteht durch die oben genannte Kopplung.

> Woran liegt das?
>
> Die müßte doch eigenlich nur von der Batterie abhängig sein?

Solange da mehr als 2,4V an VDDA als an VSSA anliegt, ist die interne 
Referenzspannung typisch bei 1,2V und schwankt s.o. noch ein wenig von 
sich aus hin und her. Das Ergebnis der Wandlung der internen 
Referenzspannung wiederum schwankt natürlich mit der Betriebsspannung 
mit. Siehe oben.

von SK (Gast)


Lesenswert?

Danke für die ausführliche Antwort.
Ich schau mal, wie gut das klappt.

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.