Hi, Ich habe hier zwei verschiedene Sorten vom Discovery Board STM32F4, eine ältere(STM32F407VGT6) und eine neuere Version (STM32F407VGT6U). Bei der neueren Version (Auf zwei Boards getestet) stimmen die gemessenen ADC werte einer Spannung nicht, sondern weichen um die 15% vom richtigen Wert ab, während auf dem alten Board alles super funktioniert. Hat Jemand schon mal so etwas ähnliches erlebt? Z.B für 782mV als ADC Eingang bekomme ich vom ADC den Wert 1121, was bei 3.3V Referenzspannung und 12-bit Auflösung eigentlich dem Wert 903mV entspricht. Edit Vdd ist irgendwas bei 2.95V, doch auch wenn ich diesen Wert als Referenzspannung verwende, bin ich immer noch um die 0.1-1V daneben, da der Offset anscheinend nicht Konstant ist. Grüsse
Den internen Vref Korrekturwert hast Du aber eingerechnet oder?
Die Diode ist ja das Problem und diese ist noch Temperaturabhängig. Einfach die 2.95V zu nehmen reicht also nicht, oder? Was für eine Korrekturformel gibt es da? Da ich sowieso bei diesem Board nie eine Batterie anhängen werde, frage ich mich, ob ich nicht einfach die Diode D3 (http://www.st.com/content/ccc/resource/technical/document/user_manual/70/fe/4a/3f/e7/e1/4f/7d/DM00039084.pdf/files/DM00039084.pdf/jcr:content/translations/en.DM00039084.pdf, Seite 32) überbrücken kann um direkt die 3.3V als Vref zu erzeugen? Grüssse
Sebastian T. schrieb: > b ich nicht einfach die Diode > D3 > (http://www.st.com/content/ccc/resource/technical/document/user_manual/70/fe/4a/3f/e7/e1/4f/7d/DM00039084.pdf/files/DM00039084.pdf/jcr:content/translations/en.DM00039084.pdf, > Seite 32) überbrücken kann um direkt die 3.3V als Vref zu erzeugen? Bei dem DiscoF429 (das mit dem Display) habe ich das gemacht, weil die Beriebsspannung vor der Diode gut aussah und nach der Diode mies. Ausserdem wurde die Diode recht warm. Hat hier nur Vorteile gehabt, Display wurde heller und der ADC Wandler sauberer (ich verwende das Dings als portables Oszilloskop). Check nochmal, ob alle Komponenten auf dem Board auch die vollen 3,3V vertragen und dann mach das.
Ok, danke, bei der alten Version gibt es diese Diode noch gar nicht, ich denke die ist nur da, damit man das Board auch über 3.3V extern versorgen kann. Grüsse
Sebastian T. schrieb: > Was für eine Korrekturformel gibt es da? http://blog.koepi.info/2015/05/stm32-adc-some-weird-behaviours.html Suche nach VREFINT_CAL
Ich habe die Diode mal überbrückt, doch das Resultat ändert sich nicht wirklich. Bei der alten Version gab es keine Probleme, was da mit der neuen Version los ist, ist mir ein Rätsel. Ich habe nun also an VDD direkt 3.3V als Referenzspannung und der ADC misst bei 3.3V auch 4093-4095, sowie bei 0V den Wert 0-3. Doch irgendwie linearisiert mir es die Werte zwischendurch nicht: Wenn ich z.B 10V Eingang über einen 1:10 Spannungsteiler Messe, bekomme ich den Wert 1186, bei 5V den Wert 676, was mir keine lineare Beziehung ergibt. Kennt das Problem Jemand?
Wenn die Messung nicht linear ist, ändert auch der Korrekturwert das nicht. Eventuell gibt es ein Problem mit dem ADC Eingangswiderstand und dem Spannungsteiler.
Ja da stimme ich zu. Es tritt aber bei beiden neuen Boards auf, während das alte Board alles sauber misst mit dem gleichen Code. Bei sehr kleinen Werten für den ADC oder bei mehr als einem Channel für den ADC tritt das Problem auf.
Servus, kennst du den Spruch: "Wer mißt, mißt Mist!" Es gibt mehrere Möglichkeiten: -Fehlerhafter Code -ADC Channel defekt -Nicht ins Errata geschaut -oder alle drei zusammen.
Ok habe es hinbekommen, es war nur ein Problem der Sampling-Zeit, diese ist nun ADC_SampleTime_112Cycles statt ADC_SampleTime_15Cycles. Erstaunlich das dies bei der älteren Version besser funktioniert hat.
In production data steht drin wie groß die sampling time in Abhängigkeit vom gemessenen Widerstand sein soll, damit die Genauigkeit des ADC gewährleistet werden kann.
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.