www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD-Wandler im Dauerbetrieb ungenau


Autor: Cimbom Gs (cimbomgs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag!

Ich arbeite mit einem Freescale Mikrocontroller (MC56F8036).
Der AD-Wandler macht mir große Probleme:

Wenn ich im Debug-Modus bin und Schritt für Schritt die AD-Wandlung 
durchführe (d.h. am Brake Point stoppe), bekomme ich auch richtige 
Werte. ABER wenn ich Dauerhaft die Messung mit dem AD-Wandler 
durchführe, bekomme ich niedrigeren Wert.

Wenn ich eine Messung durchführe und stoppe, erhlate ich einen Wert von 
2,75 Volt. ABER wenn ich jetzt 100 Messungen durchführe und danach 
stoppe, erhalte ich einen Wert von 2,43 Volt.

Die 100 Messungen speichere ich in ein Array, wenn ich mir die Werte 
anschaue, dann sehe ich dass sie ca. gleich sind (d.h. bei 2.43 Volt 
liegen).

Wie kann das sein, hat jemand eine Idee?

Wie kann der AD-Wandler im Dauerbetrieb kleineren Wert messen als den 
Soll-Wert?
Wenn es sich um 0,1Volt unterschieden hätte, wäre ok aber 0,3 Volt finde 
ich sehr ungenau.

Aber warum erhalte ich richtige Werte, wenn ich nach jeder Messung beim 
Brake Point stoppe?

Bitte ich brauche dringend Hilfe, bin für jede Antwort sehr dankbar

Gruß
Cimbom

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne den MC56F8036 zu kennen...
... aber sampelst Du zu schnell?
Interne Kapazität des AD-Eingangs mit dem Generatorinnenwiderstand 
bilden schließlich ein RC-Glied, das eine gewisse Zeit zum Aufladen 
braucht.

Autor: Cimbom Gs (cimbomgs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan wrote:
> Ohne den MC56F8036 zu kennen...
> ... aber sampelst Du zu schnell?
habe auf minimale Umwandlungszeit eingestellt :-(

(bei 5,33 MHz AD-Frequenz ist Umwandlungszeit 17us eingestellt)

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>habe auf minimale Umwandlungszeit eingestellt :-(

Mag sein, aber das RC-Glied läßt sich nicht per Software einstellen.
Ohne nähere Hardware-Info schwierig zu diagnostizieren.
R zu groß ?

Autor: Cimbom Gs (cimbomgs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiß nicht was mit "Generatorinnenwiderstand" gemeint ist. Die 
Versorgungsspannung des AD-Wandlers kommt direkt von einem 
Spannungsregler. Kein Widerstand dazwischen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cimbom Gs wrote:
> Weiß nicht was mit "Generatorinnenwiderstand" gemeint ist.

Deine zu messende Spannung fällt ja nicht vom Himmel.
Es muss eine Schaltung geben, die die Spannnug erzeugt.

Das ist der Generator.
Aus sicht des AVR liefert der eine Spannung und kann dabei
einen bestimmten Strom liefern. Klingelts? R = U / I.
Wenn er eine Spannung mit einem bestimmten Strom liefern kann,
dann kann man ihn auch als Widerstand ansehen.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu deinem Freescale µC gibt es ein Datasheet. In dem sollte drin stehen, 
wie hoch der Innenwiderstand der zu messenden Spannungsquelle sein darf, 
bevor solche Effekte auftreten.

Ist der Innenwiderstand höher, muss man das entweder hardwareseitig 
angehen (OPV), oder man sorgt per Software dafür, dass der S&H mehr Zeit 
hat. Beispielsweise indem man zwischen Auswahl des ADC-Kanals und 
Messung mehr Zeit lässt, oder indem man nach der Kanalauswahl mehrfach 
misst und nur den letzten Wert verwendet.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder ganz einfach: wie sieht Deine Schaltung aus?
Deine Versorgungsspannung ist die eine Sache. Die andere Sache ist, wie 
der ADC-Eingangspin des Prozessors beschaltet ist. Sicherlich ist hier 
ein Schutzwiderstand vorhanden, der die beschriebenen Probleme machen 
kann bzw. macht.

Autor: Cimbom Gs (cimbomgs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe alles nochmal geprüft, das Problem liegt nicht an dem 
AD-Wandler. Es liegt an dem Eingangssignal.

Ich habe mir den Signal am Oszi angeschaut und das Siganl macht genau 
das was ich oben geschrieben habe. Was ich zu erst dachte, dass es der 
AD-Wandler macht..

Ich glaube ich drehe durch :-/

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich glaube ich drehe durch :-/

Eine Nacht darüber schlafen und die Probleme lösen sich von selbst :-)

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich habe alles nochmal geprüft, das Problem liegt nicht an dem
>AD-Wandler. Es liegt an dem Eingangssignal.

Dein Eingangssignal ist nicht zufällig die Versorgungsspannung des µC?
Nicht dass der ADC im "Dauerlauf" kräftig Strom zieht und die Spannung 
einbricht?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.