Ich barbeite an einem grösserem Messprojekt,bei dem der STM32F103ZET
verwendet wird. Die ADC Referenzspannung hab ich aus einer hochstabilen
1,2V Bandgapreferenz, die mit einem OPV auf 2,4V verdoppelt wird,
gewonnen. Aus Stabilitätsgründen war ich gezwungen einen 220uF Tantal
auf den Ausgang des OPV zu schalten.
Wenn jetzt die interne Kalibrierung der ADC's gestartet wird, wird dabei
offenbar diese externe Referenzspannung verwendet. Das heisst aber, dass
sich diese erst einmal stabilisiert haben muss bevor man kalibriert. Uns
das kann mit so einem dicken Kondensator am OPV doch etwas dauern. Daher
ist es keine gute Idee, unmittelbar nach hochfahren und initialisieren
der CPU zu kalibrieren. Mir fiel das Problem bei "Kaltstart" und
Softwarereset auf,wo ich bei Softwarereset immer die zu erwarteten ADC
Werte hatte, bei Kaltstart aber um 10 bis 20 Digits höhere Werte. Eine
verzögerte Kalibrierung hat das Problem dann behoben. Im Ref-Manual hält
man sich bei der genauen Funktion der Kalibrierung ja vornehm zurück.
Hoffe dass das jemanden nützlich sein kann.
Grüsse
Gebhard schrieb:> Aus Stabilitätsgründen war ich gezwungen einen 220uF Tantal auf den> Ausgang des OPV zu schalten.
Warum das?
> Daher ist es keine gute Idee, unmittelbar nach hochfahren und> initialisieren der CPU zu kalibrieren.
Schreib doch besser: es ist keine gute gute Idee, eine (bis dahin) nicht
stabile Referenz zum Kalibrieren zu nehmen.
Denn das eigentliche Problem der Anwendung kommt ja nicht vom STM32
sondern von deinem speziellen Aufbau. Hättest du direkt die 1,2V
Referenzquelle als Referenz genommen, dann wäre das "Problem" gar nicht
aufgetreten.
> Im Ref-Manual hält man sich bei der genauen Funktion der Kalibrierung> ja vornehm zurück.
Wer mit einem Finger auf andere zeigt, der zeigt mit drei Fingern auf
sich selbst. Denn von deiner Referenzquelle kann das Handbuch ja gar
nichts wissen. Das muss stillschweigend davon ausgehen, dass die
Referenz stabil ist, wenn du darauf kalibrierst.
Gebhard schrieb:> Aus Stabilitätsgründen war ich gezwungen einen 220uF Tantal> auf den Ausgang des OPV zu schalten.
Das ist ganz schlechter Stil, und ich glaub nicht, dass du dazu
gezwungen bist.
> Aus Stabilitätsgründen war ich gezwungen einen 220uF> Tantal auf den Ausgang des OPV zu schalten.
Damit hast du die eigentliche Ursache brutal bekämpft aber nicht
behoben.
Immer, wenn ich mit meinem Auto in die Garage fahre, krache ich gegen
die Fahrräder. Also habe ich jetzt einen automatischen Enterhaken
gebaut, der mein Auto im letzten Moment zurück hält.
So in etwa wirkt deine "Lösung". Die richtige lösung wäre vermutlich:
Langsamer fahren -> richtig gegenkoppeln/dämpfen.
> Das heisst aber, dass sich diese erst einmal stabilisiert haben> muss bevor man kalibriert.
Was bei deiner Schaltung nun ziemlich lange dauert, denn der Ausgang des
OP-Amps ist Wechselspannungsmäßig kurzgeschlossen. Er wird sich also
wesentlich erwärmen, bis ein Gleichgewicht zwischen Kühlung und Heizung
entsteht. Und das dauert halt.
> Daher ist es keine gute Idee, unmittelbar nach hochfahren und> initialisieren der CPU zu kalibrieren.
Das ist generell keine gute Idee. Kalibrieren sollte man stets in der
realen Betriebsumgebung. Dazu zählt in allererster Linie die Temperatur,
aber auch Spannung, Luftdruck und elektromangetische Einflüsse.
Du bringst ein Klavier auch nicht in die Werkstatt um es stimmen zu
lassen, sondern der Fachmann kommt zu Dir nach Hause.
Hmmm... wieder einige Klugscheisser hier.
Wie man einen Spannungsfolger mit HF belastbarem Ausgang ohne
Kondensator am Ausgang stabil kriegt, soll man mir bitte mal zeigen. Bin
da ganz Ohr.
Die Auskunft des Ref-manuals ist auch mehr als dürftig, da steht nur,
dass die Abweichungen der Kondensatoren ausgeglichen werden. Wie das vor
sich geht,ob bzw. welche Referenz verwendet wird steht nicht da.
>Schreib doch besser: es ist keine gute gute Idee, eine (bis dahin) nicht>stabile Referenz zum Kalibrieren zu nehmen.>Denn das eigentliche Problem der Anwendung kommt ja nicht vom STM32>sondern von deinem speziellen Aufbau. Hättest du direkt die 1,2V>Referenzquelle als Referenz genommen, dann wäre das "Problem" gar nicht>aufgetreten.
Mein lieber Lothar,wenn du mal nachgelesen hättest,kämst du
dahinter,dass die interne 1,2 V Referenz Schrott ist, außerdem passt mir
der Pegel nicht.
Das eigentliche Problem war eher, dass ich die ST Bibliothek bzw. die
Beispielsammlung verwendet habe und nichts dabei gefunden habe, nach
Initialisierung des ADC diesen auch gleich zu kalibrieren, wie es halt
dort gemacht wird.
Darum hab ich hier darauf hingewiesen.
Grüsse
>Aus Stabilitätsgründen war ich gezwungen einen 220uF Tantal auf den Ausgang des
OPV zu schalten.
>Wie man einen Spannungsfolger mit HF belastbarem Ausgang ohne Kondensator am
Ausgang stabil kriegt, soll man mir bitte mal zeigen. Bin da ganz Ohr.
Ich hoffe, dass der 220µF Elko nicht direkt am Ausgang des OPV hängt.
Ansonsten wirst Du mit der Stabilität große Probleme haben. Im
Zweifelsfall mal nach den Stichwörtern "Kapazitive Last" und
"Phasenreserve" suchen. Wieso man zur HF-Unterdrückung 220µF braucht ist
ebenso rätselhaft.
Üblicherweise nimmt man dazu einen viel kleineren C und isoliert ihn vom
Ausgang des OPV durch einen Widerstand.
http://www.analog.com/en/analog-dialogue/articles/techniques-to-avoid-instability-capacitive-loading.html
>Ich hoffe, dass der 220µF Elko nicht direkt am Ausgang des OPV hängt.
doch, das tut er.
>Zweifelsfall mal nach den Stichwörtern "Kapazitive Last" und>"Phasenreserve" suchen. Wieso man zur HF-Unterdrückung 220µF braucht ist>ebenso rätselhaft.
kleinere Kondensatoren schwingen auf jeden Fall(z.B. 0,1uF)
Man muss den Kondensator soweit vergrößern, dass er den dominanten Pol
bildet (zusammen mit dem Ausgangswiderstand des OPV).Kleiner
Kondensatoren für die HF sind sowieso noch parallel dazu.
Ein Widerstand in Serie bewirkt einen Spannungsabfall, das ist ziemlich
unerwünscht.
Grüsse
Gebhard schrieb:> Ein Widerstand in Serie bewirkt einen Spannungsabfall, das ist ziemlich> unerwünscht.
Spule parallel zum Widerstand schalten oder anderen OPV verwenden.
220µF Kondensatoren haben eine beträchtliche parasitäre Induktivität.
Du hast da gerade einen ganzen Heuwagen über eine Mücke geschüttet, um
die still zu kriegen. Mit etwas Pech schlüpft die Mücke bald durch das
grobe Heu hindurch und schwingt munter weiter.
>wie gesagt, es sind auch noch kleine C's parallel geschaltet, der große>ist nur gegen Schwingneigung.
Buhaha. 10Ohm in Reihe zu den kleinen Cs bringt viel mehr
als den OP mit dem 220uF Monster zu quälen.
Hört auf, die "Klugscheisserei" will er eh nicht hören. Wird schon alles
. seine Richtigkeit haben...
Vielleicht mal noch einen 2200my dazupacken, besonders geringer ESR
selbstredend
>Wird schon alles>. seine Richtigkeit haben...
ja hat es, diese Schaltung ist zigfach erprobt
Ich bin ja noch unbedarft, mach das ganze eh erst seit 40 Jahren...
Gebhard schrieb:> mach das ganze eh erst seit 40 Jahren...
Was kein Beweis für die Richtigkeit ist.
Es gibt Fehler, die schleppt man sein ganzes Leben mit, weil es nicht
auffällt, dass es ein Fehler ist.
H.Joachim S. schrieb:> Gebhard schrieb:>> mach das ganze eh erst seit 40 Jahren...>> Was kein Beweis für die Richtigkeit ist.> Es gibt Fehler, die schleppt man sein ganzes Leben mit, weil es nicht> auffällt, dass es ein Fehler ist.
Fehler, die man immer wieder macht, nennt man Tradition. Es gibt sehr
alte Traditionen :-)
Jedenfalls würde ich folgendes vorschlagen:
Eine Referenz zu verwenden, deren Spannung passt.
Eine Referenz verstärken hat Nachteile:
- Der OPV hat einen Offset, der Temperaturabhängig ist
- Die Widerständen haben ebenfalls eine Temperaturdrift.
Ich würde das schon deshalb nicht tun.
Nenne doch mal die nötigen Daten der Referenz (Genauigkeit, Spannung),
möglicherweise fällt mir eine passende ein. Referenzen gibts viele auf
dem Markt, da sollte doch was mit passender Spannung erhältlich sein.
Was das eigentliche Thema angeht:
Ich persönlich würde die Lib ebenso schreiben. Warum?
Versorgung und Referenzspannungsquelle laufen gleichzeitig an. Der Reset
kommt erst ca. 100ms nachdem die Versorgung hoch ist (dafür gibts den
guten alten DS1816). Erst dann kann ja die Kalibrierung beginnen.
Da kann man bei einer nomalen Schaltung durchaus davon ausgehen, dass
die Referenz inzwischen stabil ist.
>Hey er hat doch gar keine Frage gestellt.
so ist es!
Aber es gibt immer Schwachköpfe die aus ihren Löchern kriechen, einen
Text nicht sinnerfassend lesen können,irgendein Halb oder Viertelwissen
haben und hier irgendeinen Schwachsinn posten. Kann man ja gleich auf
Facebook gehen, vieleicht fällt da einem noch eine Verschwörungstheorie
ein.
kopfschüttel
Gebhard schrieb:> Aber es gibt immer Schwachköpfe die aus ihren Löchern kriechen, einen> Text nicht sinnerfassend lesen können,irgendein Halb oder Viertelwissen> haben und hier irgendeinen Schwachsinn posten.
ich habe bisher aber weder einen Schaltplan oder eine Erklärung für Dein
Vorgehen gesehen, also warum Verdoppler, warum großes C, warum HF.
@Achim
Ja warum Verdoppler? Scheint jetzt deine Vorstellungskraft zu sehr zu
strapazieren.
Man stelle sich vor, man möchte eine Wechselspannung messen. Hmmm... da
wär so was schon ganz praktisch oder? Der ADC-Ref/2 fungiert als
virtuelle Masse.Geht super! ehrlich!
Schaltplan schick ich auch noch, nicht den originalen ,präzisen, aber
den für gewöhnliche Anforderungen. Kannst ja noch alles verbessern oder
verschlimmbessern.
Ist ein OPA2376 für diese Aufgabe nicht ein wenig Perlen vor die Säue?
Der ADC des STM32F103 ist zwar mit 1 MSPS brauchbar schnell, aber er hat
nur nominell 12 Bit und davon gehen normal dann noch 2-3 wieder im
Rauschen unter.
Um da die Referenz zu puffern sollte es doch auch nen billigerer OP tun.
Ein LM385 als Referenz ist ein Witz. Der hat max 1% und 150 ppm. Gibt
das ein Schätzeisen? Bei Linear gibt's Besseres mit weniger
Bauteileaufwand. Aus meiner Sicht ist die Schaltung unbrauchbar.
Ist doch nach eigeneenm Bekunden nur ne ungefähre Beispielschaltung...
Der originale, präzise (für mehr als nur gewöhnliche Messungen) kommt ja
noch.
Da steht dann auch die hochpräzise Referenzquelle, der tatsächlich
verwendete OP und der genaue Typ des 220µF-Kondensators drin.
Also die Referenz ist schon mal exakt, zumindest aber "hochstabil". Und
das Rauschen wird ja eh über den gesamten Frequenzbereich untergepflügt.
edit: selbst der olle ICl8069 ist schon mal fast ein Quantensprung
gegenüber dem LM385.
Ich finde, dieser fette Elko am OP-Amp Ausgang könnte ein neuer Running
Gaga werden. So wie die Amper hoch skillen.
Lass ihn uns immer dann vorschlagen, wenn ein OP-Amp nicht tut was er
soll und der fragende nichts ändern will.
Er hat ja nichts gefragt, sondern eine Lösung für ein selbst
geschaffenes Problem präsentiert.
Unabhängig von der ungweöhnlichen Grösse des Elkos ist es natürlich auch
sonst so, dass man manchmal eben warten muss, bis ein Zustand
eingeschwungen ist. Was nach einem Reset nur sehr selten wirklich weh
tut - da hat man Zeit.
Gebhard schrieb:> Mein lieber Lothar,wenn du mal nachgelesen hättest,kämst du> dahinter,dass die interne 1,2 V Referenz Schrott ist
Wo hatte ich was von einer internen Referenz geschrieben? Du hast doch
eine externe Referenz. Gut. Und dann hast du sie vermurkst verdoppelt.
Das ist schlecht.
Also schließ einfach die externe Referenz direkt an und fertig. DAS
meinte ich.
Und die interne Referenz ist wie bei µC üblich durchaus konstant, nur
eben intitial ungenau und braucht deshalb einen Abgleich.
Gebhard schrieb:> Kannst ja noch alles verbessern oder verschlimmbessern.
Am Besten alles löschen und richtig machen.
> Man stelle sich vor, man möchte eine Wechselspannung messen. Hmmm... da> wär so was schon ganz praktisch oder
Ich kann das ganz ohne virtuelle Masse und das Herumgehampel mit zig
Bauteilen...
> Mein lieber Lothar
Spar dir diese billige Arroganz. Wenn du keine Kommentare lesen willst,
dann schreib einfach nichts.
Gebhard schrieb:> 10Ohm /1mA = 10mV Spannungsabfall = ca. 20 Digits => indiskutabel
Auch bullshit.
IVREF Current on the VREF input pin 160µA typical 200μA max
Schonmal rel. weit weg von den 1mA.
Ausserdem legt man die Gegenkopplung hinter den Widerstand, ein
Spannungsabfall dort spielt dann keine Rolle mehr.
H.Joachim S. schrieb:> Gebhard schrieb:>> 10Ohm /1mA = 10mV Spannungsabfall = ca. 20 Digits => indiskutabel>> Auch bullshit.> IVREF Current on the VREF input pin 160µA typical 200μA max> Schonmal rel. weit weg von den 1mA.> Ausserdem legt man die Gegenkopplung hinter den Widerstand, ein> Spannungsabfall dort spielt dann keine Rolle mehr.
Zum (anderen), möglichen Problem gibt's von TI extra einen Artikel:
Resistors in the feedback of a buffer: Ask why!
https://e2e.ti.com/blogs_/archives/b/precisionhub/archive/2014/07/15/resistors-in-the-feedback-of-a-buffer-ask-why
Ansonsten zur Schaltung:
Zweimal Opamp-Drift, dazu einmal die Drift der Widerstände der
Verstärkung (Drift: Temperatur, Luftfeuchte, Alter usw.)
1.2V VRef-Diff bei 12-Bit -> LSB ~293uV. Der Rest sollte besser als 1/2
LSB ~146 uV sein. Die OPA2376 sind zwar ganz gut, driften aber, je nach
Temperaturbereich, schon mal mit max. +-2uV/°C. Selbst wenn die
Schaltung nur 25 °C +-20 °C aushalten soll (OPAs +-1uV/°C), bleibt da
nicht mehr viel für die Referenz... und dann fehlt noch das Tracking der
Widerstände für die Verstärkung, die Langzeitdrift der ganzen Teile...