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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.