Hallo,
ich hab einen üblichen KTY81 mit Spannungsteiler an einen STM32
angeschlossen.
Mir ist nun aber aufgefallen das ich trotz nutzen der Referenzspannung,
der ADC Wert nicht nur bei Temperatur änderung ändert sondern auch bei
änderung der Versorgungspannung.
Da das Ganze Batteriebetrieben laufen soll ist das natürlich ziemlich
ungünstig.
Ich hab noch nie was mit einem ADC + referenzspannung gemacht deswegen
kenn ich mich da nicht so aus.
Ist das Normal das der ADC Wert dann auch schwankt?
Das soll meines Verständnissis nach ja die Referenzspannung verhindern.
Freundliche Grüße
Günta
Günta schrieb:> ich hab einen üblichen KTY81 mit Spannungsteiler an einen STM32> angeschlossen.
Und womit wird dieser Spannungsteiler versorgt? Mit der
"Referenzspannung" oder mit der Versorungsspannung? Wenn sich die
Versorgung des Teilers ändert, dann ändert sich natürlich auch die
Spannung, die du im Teiler abgreifst.
Wenn sich die Referenzspannung im selben Maß ändert, sollte dein
ADC-Wert gleich bleiben. Aber wenn die Referenzspannung des ADCs gleich
bleibt, dann muss sich natürlich der ADC-Wert ändern, weil sich ja die
Eingangsspannung des ADC ändert.
Günta schrieb:> Mir ist nun aber aufgefallen das ich trotz nutzen der Referenzspannung,
Welcher genau? Denn: irgendeine mußt du ja immer benutzen.
> der ADC Wert nicht nur bei Temperatur änderung ändert sondern auch bei> änderung der Versorgungspannung.
Wenn du natürlich die Versorgung als Referenz benutzt, dann brauchst du
dich nicht zu wundern, wenn sich der Messwert ändert, wenn sich die
Versorgung=Referenz ändert. Das ist so logisch, dass es nichtmal
erwähnenswert ist...
Weil das so ist, gibt es typisch weitere Referenzquellen zur Wahl. Die
haben zwar typisch auch eine gewisse Abhängigkeit zur Versorgung, nur
ist diese halt deutlich geringer, als würde man direkt die Versorgung
als Referenz benutzen.
Versorgung als Referenz ist nur bei ratiometrischer Messung sinnvoll.
D.h.: wenn die zu messende Spannung eine direkte Abhängigkeit von der
Versorgung hat. Weil: genau dann (und nur dann) passt es zur gewählten
Referenz.
Sorry, das muss ich natürlich dazuschreiben, als Referenzspannung hab
ich die interne 1,224 Volt des STM32 genommen.
Diese liegt auch Konstant an PB0 an, also verändert sich nicht bei
änderung der versorgungspannung, deswegen find ich es ja so komisch das
sich dann trotzdem der ADC wert ändert.
So ist das Ganze aufgebaut:
Achim S. schrieb:> Wenn sich die Referenzspannung im selben Maß ändert, sollte dein> ADC-Wert gleich bleiben. Aber wenn die Referenzspannung des ADCs gleich> bleibt, dann muss sich natürlich der ADC-Wert ändern, weil sich ja die> Eingangsspannung des ADC ändert.
Das würde im endeffekt bedeuten das, wenn ich eine von der
Versorgungspannung unabhängige ADC werte will, das ich dann die
versorgungsspannung als referenzspannung nehmen muss statt der internen?
Günta schrieb:> als Referenzspannung hab> ich die interne 1,224 Volt des STM32 genommen.>> Diese liegt auch Konstant an PB0 an
Kann dieser "Vref-Ausgang" an PB0 auch genügend Strom liefern oder ist
der hochohmig und darf nicht belastet werden?
Günta schrieb:> So ist das Ganze aufgebaut:
Na: dann sollte - wenn alles ideal wäre - der ADC-Wert nicht von der
Versorgung abhängen. Wenn er es trotzdem tut, dann ist wohl etwas nicht
ideal. Das sollte sich durch Messung herausfinden lassen.
Hast du ein Multimeter? Dann miss doch mal den Wert von PB0. Entspricht
er dem erwarteten von 1,224V? Ändert sich die Spannung, wenn du den
Teiler als Last an PB0 anschließt? Ändert sich die Spannung, wenn die
Versorgung variiert?
Miss parallel dazu auch die Spannung an ADC_in mit dem Multimeter. Wie
verhält sich die, wenn die Versorgung variiert.
Günta schrieb:> Das würde im endeffekt bedeuten das, wenn ich eine von der> Versorgungspannung unabhängige ADC werte will, das ich dann die> versorgungsspannung als referenzspannung nehmen muss statt der internen?
Es bedetet, dass die Versorgung des Teilers und die Referenzspannung des
ADCs gleich sein und in gleicher Weise variieren sollten. Das ist die
ratiometrische Messung.
Welche Spannung das dann ist (die Versorgung des µC oder die gepufftere
interene Referenzspannung) ist in erster Näherung egal (nur wenn man
genauer hinschaut, macht es wieder einen Unterschied, weil beide
Spannungen unterschiedlich "sauber" sein dürften).
Rein aus Neugierde und weil ich jetzt nicht mal schnell einige Hundert
STM32 Datenblätter durchschauen möchte folgende Frage:
Welcher STM32 hat denn auf PB0 einen VRef Ausgang?
Wie hoch ist die Spannungsversorgung?
Für eine gut funktionierende Stabilisierung der Referenzspannungsquelle
wird eine Differenz zwischen Versorgungsspannung und Referenzspannung
benötigt.
Daher hat der MSP430G2553 wegen des großen Versorgungsspannungsbereiches
(1,8-3,6V) eine umschaltbare Referenzspannungsquelle (3V <=> 1,5V). ).
Bei 1,8V Versorgungsspannung bleibt für die 1,5V Referenzspannung nur
0,3V für die Stabilisierung übrig.
Hallo,
wie bereits von Flip B. (frickelfreak) arbeitet der ADC mit AVCC als
referenz.
Hab jetzt am spannungsteiler auch AVCC welches mit VCC
paralellgeschaltet ist als referenz.
Jetzt Klappt das Probblemlos, egal wie voll oder leer die Batterie ist
der ADC wert ändert sich nur noch bei temperaturänderung :)
rmf schrieb:> Rein aus Neugierde und weil ich jetzt nicht mal schnell einige Hundert> STM32 Datenblätter durchschauen möchte folgende Frage:> Welcher STM32 hat denn auf PB0 einen VRef Ausgang?
das ist soweit ich weiss die L0 und die L1 Serie, vermutlich die anderen
L serien auch.
Vielen Dank
Günta schrieb:> das ist soweit ich weiss die L0 und die L1 Serie, vermutlich die anderen> L serien auch.
Habe das gerade mit einem L071 positiv geprüft.
viele Dank für die schnelle Antwort.
rmf schrieb:> Habe das gerade mit einem L071 positiv geprüft.
ok, jetzt habe ich auch in dessen Datenblatt geschaut. Dort steht, dass
man VREF_out an PB0 mit maximal 1µA belasten darf, wenn sich der Wert
der Spannung nicht um mehr als 1% verschieben soll.
Der Spannungsteiler von Günta überlastet PB0 mit sehr viel mehr Strom,
so dass sich Vref an verschiedenen Stellen (beim ADC, an PB0)
unterschiedlich einstellen kann. Und dieser Unterschied darf sich dann
auch verändern, wenn die Versorgungsspannung sich ändert - und
dementsprechend wackelt der ADC-Wert.
Achim S. schrieb:> ok, jetzt habe ich auch in dessen Datenblatt geschaut. Dort steht, dass> man VREF_out an PB0 mit maximal 1µA belasten darf, wenn sich der Wert> der Spannung nicht um mehr als 1% verschieben soll.
Und die Moral von der Geschicht, belaste deine Referenzspannung
übergebührlich nicht.
Günta schrieb:>> Rein aus Neugierde und weil ich jetzt nicht mal schnell einige Hundert>> STM32 Datenblätter durchschauen möchte folgende Frage:>> Welcher STM32 hat denn auf PB0 einen VRef Ausgang?Achim S. schrieb:> man VREF_out an PB0 mit maximal 1µA belasten darf, wenn sich der Wert> der Spannung nicht um mehr als 1% verschieben soll.
Das ist genau der wichtige Punkt: Es geht um hier Mikrocontrollern, mit
integrierten ADCs und REFs.
Wegen verschiedenen Gründen (z.B. Analog vs Digital IC Techniken) werden
solche uCs **nie** der Leistung erreichen, die Analog-Schaltungen selber
ausliefern können.
Eine nimmt AVCC als Referenz, der Andere limitiert den Ausgang Strom zu
1uA.
(Macht mal mit MegaOhms einen Teiler und wundert sich allein auf
Rauschwerte und Fehlern)
Bei beiden werden ENOB deutlich kleiner als die Auflösung haben.
Eine Andere hat große Fehlern über VCC oder Temperaturen.
Es wird mindestens Eine dieser Problemen immer auftauchen.
Hallo,
mir fällt grad auf das ich so ja das problem hab das die ganze zeit
Strom durch den Spannungsteiler fließt, ich wollte den vref out
eigentlich nur einschalten wenn er gebraucht wird.
Heisst ich kann auch die 1,224V Referenzspannung von PB0 nehmen wenn der
Wiederstand bestehend aus NTC/PTC und Festwiderstand etwa 1224 KOhm
beträgt?
das entspräche dann ja 1µA
ist das nicht etwas viel widerstand?
Günta schrieb:> Heisst ich kann auch die 1,224V Referenzspannung von PB0 nehmen wenn der> Wiederstand bestehend aus NTC/PTC und Festwiderstand etwa 1224 KOhm> beträgt?
Theoretisch ja, praktisch nein. Denn erstens gibt es keine so
hochohmigen NTCs und 2. ist das alles unnötig hochohmig, was es
empfindlich gegen Feuchtigkeit und eingekoppelte Störungen machen.
Praktisch kann man mit den 1uA nix anfangen. INdirekt sagt dir der
Hersteller damit, lass die Finger von den Pin und schieße nix an,
bestenfalls einen kleinen Kondensator zur HF-Entkopplung.
Wenn du sowieso VCC als Referenzspannung nutzt aber dennoch deinen
Spannungsteiler abschaltbar machen willst, häng ihn an einen normalen
IO-Pin. Den kann man bei Bedarf einschalten, dessen Ausgangsspannung ist
nahezu VCC (CMOS-Ausgang). Die paar Dutzend Ohm Ausgangswiderstand
spielen kaum eine Rolle und sind halbwegs konstant. Damit ist der
Fehlereinfluß gering.
Falk B. schrieb:> lass die Finger von den Pin und schieße nix an,> bestenfalls einen kleinen Kondensator zur HF-Entkopplung.
... oder häng einen OpAmp als Impedanzwandler dran, wenn du unbedingt
Vref verwenden willst.
Falk B. schrieb:> Wenn du sowieso VCC als Referenzspannung nutzt aber dennoch deinen> Spannungsteiler abschaltbar machen willst, häng ihn an einen normalen> IO-Pin.
Das ich da nicht selbst drauf gekommen bin ... wäre zu einfach gewesen
:D
Vielen Dank für den Tipp