ADC an Atxmega128A1

michaelkorb

Neues Mitglied
19. Jan. 2011
98
0
0
berlin
Sprachen
Bevor ich was zerschieße, wende ich mich sicherheitshalber mal an die Forumgemeinde.
Bei meinem aktuellen Projekt (bzw. einem davon) möchte ich ein Audiosignal von einem Spezialempfänger digitalisieren, um es danach per FFT zu analysieren. Der Ausgang des Empfängers wird normalerweise an den Line-IN einer Soundkarte angeschlossen. Die Lautstärke kann am Empfänger geregelt werden. Ich hab zunächst mal mit nem Oszi am Ausgang des Empfängers geschaut und da kann ich ein Signal von ca. -4,5 bis +4,5V messen (bei voll aufgedrehter Lautstärke). Bei einem früheren Versuch habe ich das Signal per Wiederstände in den positiven Bereich geschafft, da die ADC-Eingänge nur positive Spannungen vertragen.
Wenn ich das datenblatt des 128A1 richtig verstehe, hat der ja Differental-Eingänge. Dabei kann man an ADC0-3 für negative Eingangsspannungen benutzen. Der Messbereich ergibt sich dann zwischen -Vref und +Vref. Wenn ich also die Referenz auf intern 1V lege, könnte ich Spannungen zwischen -1V und +1V messen. Ich müßte also nur dafür sorgen, dass dieser Spannungsbereich nicht überschritten wird.

Liege ich mit meinen Überlegungen richtig oder gibt es da einen Denkfehler?

Zweite Frage, was passiert, wenn die Spannungen größer sind? Haben Atmegas die Schutzdioden onBoard (irgendwo hatte ich das zumindest mal gelesen)?

Vielen Dank für Euere Hilfe.
Michael
 
Hi Michael,

Ich müßte also nur dafür sorgen, dass dieser Spannungsbereich nicht überschritten wird.

Liege ich mit meinen Überlegungen richtig oder gibt es da einen Denkfehler?

Zweite Frage, was passiert, wenn die Spannungen größer sind? Haben Atmegas die Schutzdioden onBoard (irgendwo hatte ich das zumindest mal gelesen)?
also ich hab keinen Xmega und hab auch noch nichts damit zu tun gehabt.
Aber mal zu einem möglichen Schutz ...

Wenn du auf Nummer Sicher gehen willst dann solltest du an den Pins noch
zusätzlich zu den internen Schutzdioden externe Dioden anschalten. Dann
kannst du mehr Strom abführen. Dann würde ich noch Operationsverstärker
als Puffer davorschalten die man zusätzlich noch für die Anpassung der
Eingangspegel benutzen kann (Pegel, Nullpunkt, ...) Damit hast du dann auch
das Problem mit den negativen Signalen weg und du kannst das Eingangssignal
optimal an den ADC-Bereich anpassen.

Gruß
Dino
 
Hallo Michael!

Soweit habe ich mich mit dem ADC oder AIN-Pins auch noch nicht befasst.

Was mir aber beim Lesen spontan dazu eingefallen ist......
Für den I2C-BUS gibt es einen PCF 8591P bzw. als SMD-Version den PCF 8591T.
Das ist ein 8bit AD (& DA) Wandler, den du aber auch im Differentialmodus beteiben kannst.
Sieh dir mal das Datenblatt dazu an..... zum Beispiel Seite 11 und Seite 21.

Vielleicht wäre diese Hardwarelösung ja auch eine Möglichkeit für dich.
Ach so.... ob es den AD-Wandler für I2C auch mit 10bit oder gar 16bit Auflösung gibt, weiß ich leider nicht. :eek:


Grüße,
Cassio
 
Hallo Dino,

das mit dem OP hab ich mir auch gerade überlegt und mal nach Schaltungen gekramt. Ich würde den OP mit nur einer positiven Spannung betreiben (3,3V) und eine Art Wechselspannungsverstärker bauen. Durch die niedrige Spannung kann auch nicht mehr am Ausgang rauskommen als 3,3V und vor allem nur positives Zeug. Wenn ich dann den ADC im single ended mit 3,3V als externe Referenz betreibe, kann ich den Bereich voll ausnutzen. Im Grunde kommt es auf die exakte Amplitude eh nicht an, mich interessieren eh nur die Frequenzen.
Ich hab noch einen OP27 rumliegen, da werd ich mal probieren.
Hab hier mal eine Schaltung gefunden http://www.mikrocontroller.net/articles/Operationsverst%C3%A4rker-Grundschaltungen#Betrieb_mit_einfacher_Versorgungsspannung, die sollte eigentlich dafür gut sein, nur eben mit 3,3V betrieben.
Vielleicht hast Du ja noch Schaltungen auf Lager, ich bin da nicht mehr so auf dem Laufenden.

@Cassio: Die Idee mit dem externen ADC ist nicht schlecht, nur hab ich mich extra wegen dem sau schnellen ADC (12 Bit) für den ATxmega128A1 entschieden. Trotzdem danke.

Michael
 
Hi Michael,

Ich würde den OP mit nur einer positiven Spannung betreiben (3,3V) und eine Art Wechselspannungsverstärker bauen.
...
Ich hab noch einen OP27 rumliegen, da werd ich mal probieren.
also mit 3,3V ist das schon ein wenig kritisch, welchen OPAmp du benutzt.
Ich würde da auf Rail-to-Rail Typen gehen die bis zur Betriebsspannung
arbeiten können. Ich hab hier welche weiß aber grad den Typ nicht. Müßte
ich erstmal suchen. Waren aber glaube ich von LinearTechnology.

Arbeite doch beim OPAmp mit 5V und pack an den Ausgang nen
Spannungsteiler. Dann hast du mehr Arbeitsbereich beim OPAmp und ihm
geht bei der Betriebsspannung nicht so schnell die Luft aus. Mit einfacher
Betriebsspannung kannst du ja trotzdem arbeiten.

Gruß
Dino
 
Hallo Dino,

ein erster Versuch mit dem OP27 klappte natürlich nicht so recht, der ist dafür einfach nicht ausgelegt. Hab eben bei R.. den OPA347 bestellt, der sollte
dafür genau richtig sein (rail-to-rail, einfache VC).

Durch R's am EIngang und C-Auskopplung ziehe ich das Signal zunächst in die Mitte zwischen VC und 0. Dann kann ich den ADC auch im signed Modus betreiben und gewinne auch die negativen Werte beim sampeln.

Michael
 
Hi Michael,

ein erster Versuch mit dem OP27 klappte natürlich nicht so recht, der ist dafür einfach nicht ausgelegt. Hab eben bei R.. den OPA347 bestellt, der sollte
dafür genau richtig sein (rail-to-rail, einfache VC).
meine waren ...
MCP 6542, MCP 6544, MCP 6547, MCP 6549
aber mir ist eingefallen das es Komparatoren und doch keine OPAmps sind.
Ich hab die Dinger mal für LED-Spannungswandler besorgt. Es sind 2fach- und
4fach-Komparatoren und einmal mit OpenCollector und einmal Gegentakt-
Ausgänge. Und von LinearTechnology sind sie auch nicht ;) Da war wohl was
falsch abgespeichert ...

Gruß
Dino
 
Die Pegelanpassung steht. Der OPA347 ist genau richtig dafür. Damit kann ich das lautstärkeabhängige Ausgangssignal des Empfängers in einen Bereich zwischen 0 und 3,3V quetschen. Sollte das Signal größer sein, wird es abgeschnitten und man muss eben die Lautstärke des Empfängers verringern, bis nicht mehr abgeschnitten wird. Der OP läuft mit Verstärkung 1.
Die Schaltung hab ich angehangen.

Nun muss ich mich mit dem ADC des Atxmegas auseinandersetzen. Ich werde als Referenz Vcc/1.6 nehmen und im signed Modus betreiben. Dann müßte mein aufbereitetes Signal genau reinpassen (hoffe ich) und auch die negativen Werte müßten erfaßt werden.

Michael
 

Anhänge

  • audio_adc.JPG
    audio_adc.JPG
    29,5 KB · Aufrufe: 13

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)