mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega8 A/d Wandler schwingt


Autor: David (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte eine A/d Wandlung mit dem Atmega8 machen. Habe einen Sensor
der mir einen Strom von 4-20mA ausgibt. Habe diesen Strom an einen
Widerstand gelegt der im Arbeitsbereich des Sensors dafür laut
hersteller ausgelegt ist. Da der Spannungsabfall zwischen 0,8 und 4,2V
liegt habe ich einen Op(Op07) als differnzverstärker benutzt. So wird
der Spannungbereich auf Null Volt runtergezogen (Am Ausgang also
zwischen 0V - 3,4V). Dann habe ich einen zweiten Op(op07) als
nichtinvertierer beschaltet. So habe ich schließlich 0V-5V als
eingangspannung für den Atmega8. Mein Problem ist das der Ausgegebende
Wert 0-1023 nach der Wandlung nicht stabil ist. Er schwingt bis zu 8
Werten vom eigentlichen wert ab. Ich betreibe den Atmega8 mit 4Mhz.
Wenn ich ihn mit 1Mhz betreibe ist das schwingen weg. Weiß nicht was
ich machen muss, habe schon an sämtlichen Stellen Kondensatoren
eingesetzt, leider ohne Erfolg. Zur kommunikation mit dem Pc bin ich
auf die 4 Mhz angewiesen. Danke im vorraus für jede Antwort

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laß die OP07 einfach weg und begnüge Dich mit 0,8 - 4,2 V.

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht die Beschaltung von AVcc aus?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Saubere Referenzspannung? 5V klingt nach Vref=Vcc.
ADC Noise Reduction Mode ausprobiert?
ADC-Takt stimmt?

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Ich würde auch den OP weglassen und stattdessen softwaremäßig
subtrahieren.)

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Zur kommunikation mit dem Pc bin ich
> auf die 4 Mhz angewiesen.

Die Kommunikation mit dem PC geht mit einem Baudratenquarz, z.B.
3,686400MHz bedeutend besser als mit 4MHz.

Ansonsten würde ich mal überprüfen, ob der Vorteiler für den ADC-Takt
richtig eingestellt ist. Der ADC-Takt sollte zwischen 50kHz und 200kHz
liegen. Ist er zu schnell, dann wird das Ergebnis ungenau.

Dann gibt es noch die Möglichkeit der Mittelwertbildung über mehrere
Messungen, sollte man aber erst tun, wenn die anderen Fehlerquellen
beseitigt sind.

OPVs würde ich in deinem Fall nicht einsetzen, mach lieber den
Lastwiderstand der Stromschleife so, dass du den (nach oben) vollen
Arbeitsbereich des ADC nutzt. Die unteren unbenutzbaren 20% kannst du
dann subtrahieren (wie schon genannt wurde).

...

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@David: Wie versorgst du den OP07?
Das Teil ist nicht Rail-to-Rail-fähig. Weder Eingangs- noch
Ausgangsseitig.
Schwingeffekte sind häufig das Ergebnis, wenn der zulässige Bereich
verlassen wird.
Ansonsten kann ich mich den Vorpostern nur anschliessen: OP weglassen
und den Bereich per Software anpassen.

Gruss
Jadeclaw.

Autor: David (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ich eine gröst möglichste Auflösung haben möchte würde ich bei 0,8
bis 4,2V nicht den kompleten Arbeitsbereich des A/D Wandlers ausnutzen.
Selbst wenn ich die Refernzspannung auf 4,2V runtersetze ist mir die
Auflösung nicht gross genug. Brauche 1000 von 1023 Schritten.

 ADC-Takt habe ich geändert. Schwingt aber immer noch.

ADC Noise Reduction Mode habe ich noch nicht ausprobiert weis auch
nicht was das bringen soll.

Viele raten von den OPs ab! Bringen die OPs denn grosse Störungen mit
sich? Habe extra schon welche mit niedrigem  INPUT OFFSET
VOLTAGE DRIFT ausgewählt.
Was heist "Rail-to-Rail-fähig"?

OPs werden mit +12V und -12V betrieben.
AVCC = 5Volt
AREFF = 5Volt (78L05 Feinfestspannungsregler)

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Viele raten von den OPs ab! Bringen die OPs denn grosse Störungen
> mit sich?

Damit OPVs richtig und störungsfrei arbeiten können, muss man schon
eine verdammt gute Platine designen. Die ersten 5 selbstentwickelten
Platinen gehören mit Sicherheit nicht dazu. Der OPV wird dir also
vermutlich mehr Schaden durch Schwingungen verursachen, als er Nutzen
bei der Vergrößerung der Auflösung bringt.

> Was heist "Rail-to-Rail-fähig"?

Das heißt, dass Eingänge und Ausgang den gesamten
Betriebsspannungsbereich annehmen können. Denn normalerweise
funktionieren OPVs nicht bei Spannungen, die sehr nahe an den
Betriebsspannungsgrenzen liegen.

...

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"weis auch nicht was das bringen soll"

Die Abweichungen, die du misst, sind u.U. ebensolcher "noise".

Ansonsten kannst du auch den Differenz-Modus vom ADC des Mega8
ausprobieren. Der ist zwar in der DIP-Version nicht getestet, wird aber
meist funktionieren.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Brauche 1000 von 1023 Schritten.

Dann nimm besser einen 12Bit ADC. 4-20mA ist der Meßbereich. Hinzu
kommen noch Erkennung für Fehlfunkion (Kabelbruch, Nullpunktdrift) und
Überlast, sodaß die Spannung am Meßwiderstand mit 0,8 - 4 V nicht auf 0
V -> Vref ausgereizt werden sollten.

Autor: David (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe die spannung jetzt direkt vom widerstand abgegriffen. Der vom A/D
Wandler ausgegebende Wert schwingt immer noch.

@A.K.
Zum "Differenz-Modus vom ADC des Mega8" habe ich im Datenblatt (305
Seiten) vom Atmega8 nichts gefunden.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, stimmt. War der falsche Typ, im Mega8 gibt's den nicht.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Zum "Differenz-Modus vom ADC des Mega8" habe ich im Datenblatt (305
> Seiten) vom Atmega8 nichts gefunden.

Ich auch nicht!!! - Auch nicht beim Mega48/88/168.

Also bitte, wo ist die ADC-Differenzwandlung mit Mega8/48/88/168
beschrieben? Die interessiert mich nämlich sehr (falls es sie wirklich
gibt).

...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut, erledigt, ich ziehe meine Frage zurück...

...

Autor: David (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weis keiner woran das liegen könnte?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es wurde schon nach der Beschaltung von Vcc, AVcc, Vref usw gefragt. Ich
habe den noise reduction mode angeregt.

Wie wär's, wenn du mal mit exakter Info zu Stromversorgung und
Beschaltung kommst - mit Bild bitte, Worte sind da zu ungenau. Und auch
den noise reduction mode ausprobierst.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brummschleife/Erdungsschleife können wir ausschliessen?
Desktop/Tower-PCs sind faktisch alle masseseitig mit PE verbunden.
Wenn das Teil woanders her ebenfalls Schutzerde bekommt, dann
schlabberts mit 50Hz.
Die Wandler im ATMega8 sind allerdings auch etwas unruhig, D0/D1
wechseln, dazu schau mal ins Datenblatt ab Seite 201 'ADC Noise
Canceler'.
Die CPU wird während der Wandlung gestoppt und durch den ADC-Interrupt
wieder aufgeweckt. Dadurch wird verhindert, dass CPU-HF-Müll während
der Wandlung in den Converter einstrahlt.

Gruss
Jadeclaw.

Autor: David (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Masse ist nicht mit PE verbunden.
Mit dem noise reduction mode habe ich es jetzt auch ausprobiert.
Schwingt immer noch. Habe auch den Eingang des A/D Wandlers von PC0 auf
PC1 gewechselt aber das schwingen ist immer noch da.
Habe eine Zeichnung gemacht.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich das richtig sehe, fehlen an den Spannungsreglern die
Abblockkondensatoren. 1µF direkt an den Ausgang jedes Reglers, 100µF
direkt an den Eingang jedes Reglers. Ohne schwingen die Teile wie Sau.
Direkt am Controller 100nF keramisch von VCC gegen GND und ebenfalls
100nF von AVCC gegen GND. Autos sind rollende Streubüchsen, deshalb
10kOhm zwischen ADC-Eingang und Knoten 251Ohm-Widerstand - Sensor. Vom
ADC-Eingang 100nF gegen GND. Bei allen Kondensatoren auf kurze
Verbindungen achten.

Wenn das nicht hilft, dann weiss ich leider auch nicht weiter.

Gruss
Jadeclaw.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Addendum: Ebenfalls 100nF von AREF gegen GND.

Gruss
Jadeclaw.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei der Schaltung kannst du mit Schwankungen von +/-8 zufrieden sein...

Häng direkt einen 10nF Kondensator vom ADC Pin zu AGND.

Einen 78L05 direkt an eine Autobatterie zu hängen ist auch ziemlich
mutig...

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Anschluss ans Bordnetz seit dies empfohlen, sonst hast du evtl.
nicht lang Freude daran:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 47pF am Reset sind übrigens ein Fehler im Tutorial. Sollten 47nF
oder 100nF sein, 47pF ist da sinnlos.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll eigentlich der Reset-Taster gegen VCC? Der gehört gegen GND,
ein Mega8 ist doch kein 8051.

Zur Stromversorgung und Pufferung wurde schon genug gesagt. Ansonsten
würde ich noch empfehlen, unbenutzte Pins (zumindest) von Port C
irgendwie auf definierten Pegel zu bringen, damit die nicht floaten. Am
einfachsten und sichersten geht das mit dem internem Pullup.

Der Programmieradapter hängt hoffentlich an Reset und nicht an PD0.

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.