Forum: Mikrocontroller und Digitale Elektronik Audiosignal (von RCA) im ATmega16 verarbeiten


von Michael W. (michael_w71)


Angehängte Dateien:

Lesenswert?

Servus,

möchte mal wieder etwas bauen. Dies mal soll es ein VU-Meter werden. Nun 
möchte ich das mit einem meiner (hier rumliegenden) Atmels machen und 
ohne LM391x. Hab mich vor 'ner ganzen Weile mich schon anfangen damit zu 
beschäftigen und recherchiert. Hab mir gechacht, das man theoretisch 
einfach mit dem ADC an eine "Soundleitung" misst. Dann ist mir 
aufgefallen, dass da grundsätzlich Wechselspannung herrscht, muss also 
ein Gleichrichter rein. Soweit in Ordnung, würde mein Gleichrichter 
nicht aus 1N4004's bestehen, die erst ab etwa 0,7-0,8V durchlassen. Ich 
habe leider kein Oszilloskop, mit dem ich meinen PC- oder 
Anlagen-Ausgang vermessen kann, jedoch habe ich irgendwo gelesen, dass 
sich die Spannungen etwa im Bereich 0,1-3V bewegen.

Ich vermute, dass ich eine Art Verstärker vor dem Gleichrichter 
benötige, aber welchen?

Ist mein Ansatz für ein VU-Meter in soweit richtig, dass ich z.B. alle 1 
ms messe, um den Pegel für 500 Hz heraus zu finden?

Grüße
Michael

von Karl H. (kbuchegg)


Lesenswert?

du brauchst einen Koppelkondensator und danach einen "Addierer", der dir 
das Signal soweit anhebt, dass die Schwingung komplett im positiven 
Bereich ist. Im einfachsten Fall einfach ein Spannungsteiler, der dir 
den 0-Punkt für die Spannung definiert.

Beitrag "[Attiny45] Audio über ADC und PWM laufen lassen"

von c-hater (Gast)


Lesenswert?

Michael W. schrieb:

> Dann ist mir
> aufgefallen, dass da grundsätzlich Wechselspannung herrscht, muss also
> ein Gleichrichter rein.

Nein, das ist eindeutig ein Trugschluß. Die ADCs können auch 
Wechselspannung messen, du mußt nur dafür sorgen, daß sie nirgends den 
Betriebsspanungsbereich des AVR verläßt.

Das erledigt man z.B. einfach dadurch, daß man den Mittelwert der 
Wechselspannung per Spannungsteiler auf die Mitte der Betriebsspannung 
zieht und die Wechselspannung per Kondensator ankoppelt.

Der Rest ist dann ein bissel Rechnerei, also genau der Zweck eines µC.

von holger (Gast)


Lesenswert?

>Das erledigt man z.B. einfach dadurch, daß man den Mittelwert der
>Wechselspannung per Spannungsteiler auf die Mitte der Betriebsspannung
>zieht

Ich würde ihn auf die Mitte der verwendeten Referenzspannung
für den ADC ziehen. Wenn das die Betriebsspannung ist dann
hast du recht. Wenn nicht passt es nicht mehr.

von Michael W. (michael_w71)


Lesenswert?

Okay. Dann also wie in dem ATtiny45-Thread von oben.
Der ADC im ATMega16 kann als Referenz und Betriebsspannung schönerweise 
5V verwenden, somit muss ich da nichts verändern. Passt das von den 
Dimensionen her (6,1kOhm für die Widerstände und 470nF Kondensator)?

Sehe ich das Richtig, dass im Prinzip die Nulllinie der Wechselspannung 
einfach auf 2,5V angehoben wird (inkl der Spannung selbst)?

Und wie sieht's mit meinem Ansatz aus, regelmäßig eine Messung vor zu 
nehmen um den Pegel einer bestimmten Frequenz zu bestimmen?

Grüße
Michael

von Karl H. (kbuchegg)


Lesenswert?

Michael W. schrieb:

> Sehe ich das Richtig, dass im Prinzip die Nulllinie der Wechselspannung
> einfach auf 2,5V angehoben wird (inkl der Spannung selbst)?

Du siehst das richtig.

> Und wie sieht's mit meinem Ansatz aus, regelmäßig eine Messung vor zu
> nehmen um den Pegel einer bestimmten Frequenz zu bestimmen?

Daraus wird leider nicht viel.

Deine Stichworte sind:
mit dem ADC Abtasten so schnell wie geht und was der Speicher hergibt.
danach eine Fast-Fourier-Trasformation machen um die Daten aus dem 
Zeitbereich in den Frequenzbereich zu überführen.
Danach kannst du mit den Ergebnissen machen, was du willst.

Oder aber du kannst natürlich auch dein Audiosignal auf 3 oder 4 oder 5 
Pfade aufsplitten, jeweils mit einem Hochpass- Bandpass- Tiefpass 
filtern und das Ergebnis zb mit einem kleinen Kondensator integrieren. 
Dann kannst du mit dem ADC jeweils direkt die Amplitude im jeweiligen 
Frequenzbereich feststellen.
Allerdings braucht man dann auch keinen µC mehr, denn dafür gibt es 
Standard-IC um damit VU Meter mit einer LED-zeile zu bauen.

von Karl H. (kbuchegg)


Lesenswert?

Karl Heinz Buchegger schrieb:


> Deine Stichworte sind:
> mit dem ADC Abtasten so schnell wie geht und was der Speicher hergibt.
> danach eine Fast-Fourier-Trasformation machen um die Daten aus dem
> Zeitbereich in den Frequenzbereich zu überführen.
> Danach kannst du mit den Ergebnissen machen, was du willst.

Ach richtig.
Dazu wollte ich noch einen Link geben

http://elm-chan.org/works/akilcd/report_e.html

von holger (Gast)


Lesenswert?

>Passt das von den
>Dimensionen her (6,1kOhm für die Widerstände und 470nF Kondensator)?

Ja.

>Sehe ich das Richtig, dass im Prinzip die Nulllinie der Wechselspannung
>einfach auf 2,5V angehoben wird (inkl der Spannung selbst)?

Ja.

>Und wie sieht's mit meinem Ansatz aus, regelmäßig eine Messung vor zu
>nehmen um den Pegel einer bestimmten Frequenz zu bestimmen?

Dann brauchst den Goertzel für nur eine Frequenz oder evtl.
FFT wenn da noch ein paar mehr Frequenzen dazukommen.
Das wird dann aber Hardcore;)

von holger (Gast)


Lesenswert?


von Michael W. (michael_w71)


Lesenswert?

Danke erst einmal. Jetzt habe ich ein paar Stichworte, nach denen ich 
suchen kann. Da muss ich mich jetzt aber erst einmal reinlesen.

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
Noch kein Account? Hier anmelden.