Hallo, ich habe versucht mit einem Beispielprogramm die Genauigkeit bzw. die Stabilität der ADCs beim STM32 zu testen. Dabei habe ich mich an der Application Note 2668 von ST orientiert und probehalber 5000 Werte einer Gleichspannung hintereinander aufgenommen. Dabei sollte sich eigentlich eine Gauss-Verteilung ergeben (siehe Bild1). Bei mir sieht die Verteilung jedoch ganz anders aus (Bild2). Die gesampelten Werte schwanken über einen viel größeren Bereich (63 Digits) und die Häufigkeiten sind auch ganz anders verteilt. Es handelt sich um einen STM32F103VET. Die Spannungsversorgung (analoger und digitaler Teil) wird über einen AMS1117-3.3 realisiert. Zum Test habe ich mittels eines Spannungsteilers (2x2K zwischen VDDA und GND) eine Spannung an PC0 angelegt und diese mit ADC1 bzw. ADC3 ausgewertet. Der häufigste Wert 2047 ist ja korrekt, aber die Verteilung sieht mir nach einem systematischen Fehler aus. Softwaremäßig habe ich schon verschiedenes ausprobiert (verschiedene ADCs an verschiedenen Eingängen, Sampleraten, verschiedene System- und Bustakte). Die ADCs werden natürlich nach dem einschalten kalibriert. Kann es evtl. an einer zu stark schwankenden Referenzspannung liegen (AMS1117 evtl. ungeeignet)? Hat eventuell jemand schon mal ähnlich Untersuchungen angestellt und kann seine Ergebnisse hier posten? Gruß Thomas
Kannst Du noch einen Kondensator zwischen den zweiten 2K2 und GND legen?
Hallo, wenn ich das richtig verstehe soll dieser Kondensator eine eventuell vorhandene Restwelligkeit in der zu messenden Spannung glätten. Daran hatte ich prinzipiell auch schon gedacht, aber ich hatte das Problem eher bei der Referenzspannung vermutet. Da ich in Sachen Hardware Neuling bin muss ich mir erstmal einen passenden Kondensator zum testen besorgen. Was für einen Kondensator sollte ich ggf. verwenden, wenn ich nur Spannungen messen möchte die sich recht langsam ändern (z.B. Temperatursensor)?. Ich habe mal auf die schnelle eine Batterie an den ADC angeschlossen. Die sollte ja eine recht konstante Spannung liefern. Das Ergebnis sieht mehr nach raten statt messen aus (siehe Anhang). Gruß Thomas
Hallo, ich habe heute mal versucht einen Kondensator (33µF) zwischen GND und den ADC Eingang zu schalten. Leider ergibt sich dadurch auch keine Verbesserung. mfg Thomas
Noch eine Idee: Betreibe doch mal den STM32 mit 2 AA Batterieen, das sind dann 3V und ist auch "glatt", dazu noch 470uF um die Spitzen ab zu decken.
Hoi! Wie sieht denn dein Aufbau aus? Ist das ein fertiges Eval-Board oder hast du das selbst gebaut? Sind alle Versorgungsleitungen des yC entsprechend entkoppelt? Was war das für ein Kondensator den du dazwischen gehängt hast? Bei der Größe nehme ich mal an ein Elko? Ein Schaltplan und ggf. Layout wäre hilfreich!
>Kann es evtl. an einer zu stark schwankenden Referenzspannung liegen >(AMS1117 evtl. ungeeignet)? Hast du am AMS1117-Ausgang auch ein 22µF Tantal, wie in Datenblatt(Seite4) steht?
Danke für den Tip. Da muss ich mal sehen wie ich das hinbekomme. Es handelt sich nämlich um eine fertige Platine, bei der die Spannungsversorgung normalerweise über einen USB-Anschluss erfolgt. Die 5V vom USB sind aber auch nochmal mit einem Pin einer Siftleiste verbunden. Evtl kann ich da "rückwärts" einspeisen. Das werde ich mir morgen nochmal genauer anschauen. Danke Thomas
Hallo, da war ich wohl etwas langsam... Also, es handelt sich um fertiges Board. Einige IO-Pins sind dabei auf eine 40. pol Stiftleiste herausgeführt. Dort habe ich mit einem Stecker und einem kurzen Kabel nur den Spannungsteiler mit dem 33µF Elko angeschlossen. Der Aufbau ist sicher ganz und gar nicht professionell, aber ich dachte für simple Messung einer Gleichspannung sollte es reichen. Die Verteilung der Werte wie oben gezeigt sieht auch nicht wie zufällige Einstreuungen aus, d.h. sie verändert sich nicht von Messung zu Messung. Alle VDD-Pins sind mit 100nF versehen. Die Beschaltung des AMS1117 habe ich mal mit angefügt. mfg Thomas
Hallo, ich habe heute das Board mit Batterien betrieben. Ich konnte keinen Unterschied zwischen Batterieversorgung und USB-Versorgung feststellen. Ich habe allerdings die 5V-Schiene mit Batterien versorgt, VDD wurde also weiterhín vom AMS1117 erzeugt. Kann ich auch auf der Ausgangsseite des AMS1117 externe 3V anlegen ohne das der IC Schaden nimmt? Um ein Problem mit meiner Spannungsteilerschaltung auszuschließen habe ich diesmal die interne Referenzspannung gemessen. Ich habe einen häufigsten Wert von 1487 erhalten, was bei 3.36V Referenzspannung ca. 1.22V entspricht. Das liegt innerhalb der vorgebenen Limits. Die Verteilung sieht aber nicht besser aus als bei den obigen Beispielen. Im Anhang diesmal der gesamte Schaltplan. Die grundsätzliche Frage ist ja, ob es sich überhaupt um ein Hardware-Problem handelt, oder ob ich doch zum x-ten Mal die Software abgrasen muss. mfg Thomas
Also,Entkoppelung-Kondensator(C12) für AVCC, ist mit nur 10nF unverschämt niedrig dimensioniert. Olimex-Platine hat z.B. an diese Stelle 10µF Tantal und 100n Kerko. Dort ist auch LM1117-Ausgang ausreichend enktoppelt mit 47µF-Tantal und 2µ2 Kerko. Ich tippe dass Problem in nicht ausreichendem Entkoppelung liegt. mfg Branko
Ich habe gerade nochmal in das Datenblatt des AMS1117 geschaut, das bei der Platine mit dabei war. Dort wird auf der Eingangs- und Ausgangsseite jeweils 1x 10µF vorgeschlagen so wie es auch umgesetzt wurde. In der Praxis wird das wohl eher anders gehandhabt. Bei AVCC schlägt ST im Datenblatt 10nF+1µF vor. Auf meinem Board wurden leider nur die 10nF verbaut. Würde es evtl etwas bringen C12 bzw. C6/C7 zu tauschen? Allerdings traue ich mir das mit meinen eher begrenzten Lötfähigkeiten nicht so recht zu. Deshalb sollte es ja eine fertige Platine sein bei der ich mich auf die Software konzentrieren kann. mfg Thomas
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.