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
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.
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)
>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ß ?
Weiß nicht was mit "Generatorinnenwiderstand" gemeint ist. Die Versorgungsspannung des AD-Wandlers kommt direkt von einem Spannungsregler. Kein Widerstand dazwischen.
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.
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.
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.
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 :-/
>Ich glaube ich drehe durch :-/
Eine Nacht darüber schlafen und die Probleme lösen sich von selbst :-)
>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?
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.