mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD Wandler Problem


Autor: Stache (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun habe ich schon so viel mit den AVR's gemacht, MIDI, Programmer für 
29F040 usw. Aber mit einer einfachen Temperatursteuerung hapert es. Ich 
faß es nicht.
Beim 2333 habe ich Probleme mit dem AD-Wandler. Trotz richtiger 
Einstellung des ADC Prescaler, werden bestimmte Werte einfach 
weggelassen. Er überspringt sozusagen einige Stellen. Ich habe das 
Ergebnis auf 8 Bit reduziert (ror, ror usw.) und bekomme z.B. nach dem 
Wert 184 gleich die 192, anstatt die 185 usw..
Wer kann helfen?

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wird weniger am AD-Wandler liegen als an deinem Temp-Sensor.
Was verwendest du für einen?

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe einige Erfahrungen mit PT1000 welche ich ueber einen 
Instrumentenverstaerker (sozusagen ein "optimaler" OpAmp) an den A/D 
eines AVR gebe. Dabei ist es schon so ausgelegt das ich einen 
Temperaturbereich von -20 bis +120 Grad Celsius abdecke ueber den 
gesamten Wandlungsbereich.

Durch die Ungenauigkeit des A/D-Wandlers komme ich so bei 2 
aufeinanderfolgenden Messungen des gleichen Wertes nie auf das gleiche 
Ergebnis, selbst wenn ich 64 oder 128 Messungen in Folge ausfuehre und 
diese dann Mittele ergeben sich Schwankungen von 0.3 bis 0.8 Grad 
Celsius.

Ich verwende (und empfehle :) einen extra A/D-Wandler Chip mit 24Bit 
Aufloesung zu verwenden, der hat zwar leider eine Wandlerzeit von um die 
100ms, aber da es mir eher um die Genauigkeit als die Geschwindigkeit 
geht, kann ich damit leben.

Autor: Stache (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, es hat aber nichts mit dem Sensor zu tun. Bei einem 
einfachen Poti am Eingang fehlen auch einzelne Werte (und vor allem 
immer in dem selben Bereich), der Wandler springt sozusagen immer an der 
gleichen Stelle, auch bei Verwendung eines zweiten Potis oder einer 
anderen U-Ref. Da ich immer mit "hohen" Taktfrequenzen arbeite (8MHz), 
bin ich jetzt mal auf 4MHz herunter gegangen. Es wird besser, aber kann 
es denn daran liegen? Die Controller sind doch für 8 MHz ausgelegt. Beim 
4434 übrigens taucht das Problem nicht auf, aber den gibt es ja nicht 
mehr.
Eine Alternative wäre vielleicht ein Digitaltemperatursensor mit I2C 
Ausgang

Autor: Michael Schänzler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> bin ich jetzt mal auf 4MHz herunter gegangen. Es wird besser, aber kann es denn 
daran liegen?

Wenn es mit geringerem Takt besser wird, könnte es auch an 'Dreck' auf 
deiner Analog-Masse liegen. Wie sieht denn dein AGND aus (ditto für 
AVCC)?

Michael

Autor: Stache (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, habe ich auch schon überlegt, vielleicht probier' ich da mal noch 
was. Jetzt ist es wie folgt: Potimasse = Anschluß zur Außenwelt geht 
direkt zum Pin: AGND. Gleich am Chip ist ein Kondensator von 10nF(laut 
Datenblatt) zwischen AGND und AVCC. Danach geht der AGND- Leiterzug zum 
GND an einen zentralen Punkt (Programmierbuchse). Vielleicht ändere ich 
mal den Punkt?
Von AVCC geht ein Widerstand (100 Ohm) zu VCC. AVCC habe ich direkt mit 
AREF verbunden.

Übrigens beim 4434 hatte ich dieses Problem komplett über den 
ADC-Prescaler gelöst, da ja der ADC nur unter 200kHz richtig arbeitet.

Autor: Siegfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgentwo in der AVR-Doku gibts einen Hinweis, das die Genauigkeit des 
AD-Wandlers mit steigender Taktrate abnimmt. Von den 12Bit bleiben dann 
u.U. nur noch 8 überig. Damit der Spannungsbreich stimmt, werden wohl 
die LSBs abgeschnitten.

Siegfried

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lars korrigiere doch mal deine @mail-adresse die stimmt nicht mehr.

Autor: Jürgen Lang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Vielleicht hast Du wirklich den Oszillator für den AD-Wandler zu schnell 
eingestellt. Ich könnte mir vorstellen, daß deshalb vielleicht die 
Wandlungszeit für die 3 LSBs nicht ausreicht. Ich habe den Prescaler auf 
128 bei einem Quarz von 7,3 MHz gestellt. Es ist sogar das LSB stabil, 
obwohl ich nicht einmal die Versorgungsspannung für den AD-Wandler 
abgekoppelt habe. Eine andere Erklärung wäre, daß Dein 2333 kaputt ist.

Gruß, Jürgen

Autor: Erwin Stache (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, danke, jetzt mit 4MHz läuft die Sache auch ganz gut und vor allem 
für eine einfache Temperatur - Dreipunktregelung völlig ausreichend. Bei 
Gelegenheit werde ich mal noch ein paar andere 2333 testen.
Bei genaueren Sachen sollte man wohl dann doch einen externen Wandler 
nehmen.

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(OT): korrigierte e-mail (muss .de statt .net  sein)

Autor: Jürgen Lang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann übrigens den AVR auch während der Wandlung in den Sleep-Mode 
schalten. Dann wirken sich die Rechtecksignale der CPU nicht so auf das 
gemessene Signal aus. Wenn die Wandlung abgeschlossen ist, wacht er 
selbständig wieder auf. Der Nachteil ist allerdings, man kann 
währenddessen nichts machen.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kann mir jemand mal nen externen A/D-Wandler erklären.

Wandelt der bei anliegender Spannung sofort um und aktualisiert den Wert 
immer wieder oder braucht er ein Startsignal oder soetwas.

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.