Forum: Mikrocontroller und Digitale Elektronik Audio-Signale erkenen mit AVR-ADC


von Julian (Gast)


Lesenswert?

Hallo zusammen,

ich möchte eine kleine Schaltung bauen, die mittels AVR erkennt ob an 
einem Line-Out (Max. Pegel +/- 1.5V, bei reduzierter Lautstärke aber 
auch sehr viel kleinere Amplitude) ein Audio-Signal anliegt, oder nicht.
Um die Wechselspannung überhaupt mit dem eingebauten ADC der AVRs 
erkennen zu können, habe ich mir überlegt ein Offset von 2V auf das 
Signal zu geben. Dazu dachte ich wäre es am einfachsten einen OpAmp mit 
-2 Volt auf - und dem Signal auf + vor den ADC zu schalten. Oder gibt es 
da andere/bessere Lösungen?
Meine zweite Befürchtung ist, dass ein sehr leises Signal evtl. im 
Rauschen des ADC untergeht? - Hat da jemand Erfahrungen, wie groß die 
Amplitude mindestens sein muss um zuverlässige Werte zu bekommen?
Und meine dritte Befürchtung wäre, dass ich evtl. durch die Schaltung 
negativen Einfluss auf das abgegriffene Signal haben könnte, so dass es 
nachher schlechter klingt, wenn es am Verstärker ankommt. Muss ich mir 
da Gedanken machen?

Grüße,
Julian

von Fuzz (Gast)


Lesenswert?

eventuell mit nem OPV nen Gleichrichter bauen, danach nen Komparator und 
dann  brauchste auch den ADC vom AVR nicht mehr.

von Jack B. (jackbraun)


Lesenswert?

Ach Du liebe Zeit, dafür brauchts ja nun wirklich keinen µ.
Ein OPV mit nachfolgendem Schmitt-Trigger tuts ja auch.

Nach dem OPV noch ein Integrationsglied.

von Julian (Gast)


Lesenswert?

Den Mikrocontroller wollte ich auch dafür verwenden, dass bei 
Signal-Erkennung ein Relais geschaltet wird, eine LED eingeschaltet wird 
und das ganze mit einem 15 Min-Timeout versehen wird, so dass alles bei 
kurzzeitiger nicht-Nutzung eigneschaltet bleibt.
Bei dem 15 Minuten-Timeout wüsste ich nicht so wirklich wie man das 
einfach ohne Mikrocontroller lösen sollte.
Außerdem hatte ich daran gedacht das einschalten erst nach etwa 1 
Sekunde andauerndem Signal zu machen, um Fehlerkennungen auszuschließen.
Aber die Idee mit Gleichrichtung+Schmitt-Trigger ist natürlich evtl 
nicht schlecht um die Auswertung im AVR zu vereinfachen.

von Michael W. (wiebel42)


Lesenswert?

Wenn du das Signal sauber erstmal in eine OpAmp einschleusst hast du 
sicher keine negativen Einflüsse auf das Signal selbst. (Stichwort 
Hochohmig, Impedanzwandler)
Dahinter nochmaleinen OpAmp als Addierer schalten um den Offset zu 
realisieren.
Du könntest das Signal aber auch Gleichrichten, oder einfach direkt nur 
die obere Halbwellen messen, sollte bei einer reinen Detektion egal 
sein. Hmm.. ist Detetktion jetzt überhaupt ein Wort, naja egal ihr wisst 
was ich meine.

von Michael U. (Gast)


Lesenswert?

Hallo,

ich gönne Dir ja den AVR, aber: Verstärker mit 1 Transistor vorn, 
Gleichrichter als Spannungsverdoppler, 4093 als Trigger dahinter, 2 
Gatter als retiggerbarer Monoflop, macht in CMOS durchaus 15min 
Haltezeit, die Genauigkeit ist ja hier zweitrangig, 1 Transistor als 
Relaistreiber dahinter, fertig...

Zumindest hätte ich es in der Vor-µC-Zeit so gelöst.

PS: ja, Varianten mit OPV, 555 usw. usw. gingen auch. ;)

Gruß aus Berlin
Michael

von Matt (Gast)


Angehängte Dateien:

Lesenswert?

http://sound.westhost.com/project38.htm

Falls es doch ein uC werden soll:
Ein Opamp nur für den Offset ist unnötig, ein Spannungsteiler auf 2V an 
den ADC-Eingang und das Signal mit Kondensator (und Vorwiderstand gegen 
zu hohe Eingangsspannungen) dort eingekoppelt ist vollkommen 
ausreichend.
Wenn die Auflösung des ADC nicht reicht, evtl. so wie im Anhang? Oder 
mit  OP in single supply-Schaltung (siehe Wiki)?

Grüße

von Julian (Gast)


Lesenswert?

Ok, ich sehe ein, dass es auch ohne Mikrocontroller ginge, aber ein 
bisschen Spaß muss ja auch dabei sein (c;
Das aufmodulieren auf 2V klingt sehr sinnvoll, danke Matt.
Den OpAmp zur Impedanzwandlung brauche ich ja aber in jedem Fall, wenn 
ich das richtig sehe? - Ich denke ich habe jetzt so in etwa einen Plan 
wie das ganze so aussehen sollte und werde gleich mal einen Schaltplan 
zeichnen.

Danke für die zahlreichen Tipps!

Grüße,
Julian

von Michael U. (Gast)


Lesenswert?

Hallo,

nimm die Transistorschaltung aus dem obigen Posting. Kollektorwiderstand 
4,7...22k, Emitter direkt an GND. Den  Basis/Kollektorwiderstand so, daß 
am ADC-Eingang ca. UREF/2 anliegen (vermutlich 500k...2,2M).

Koppel-C an der Basis 0,1µ...1µ, Widerstände zu Audio-R und Audio-L 
22k...

UREF des ADC auf die internen 2,56V, dann ist die Empfindlichkeit etwas 
höher.
Dann eben mal die ADC-Werte ausgeben lassen und schauen, ob es 
brauchbare Änderungen ergibt.

Du müßtest dann halben ADC-Wert +- Rauschen ohne Signal haben, mit 
kleinstem Signal eben schauen, ob die Änderung der ADC-Werte eindeutig 
ist.

Bei hohen Werten ist es uninteressant, dakommt entweder 0 ode max raus.

Ich würde es wohl so angehen: + Rauschgrenze festlegen.
Alle ??ms messen, ist der Wert unter der Grenze - ignorieren, ist er 
darüber - merken. Ist er bei z.B. 64 Messungen bei 20 darüber -> Signal, 
ist er bei allen darunter -> kein Signal.

Gruß aus Berlin
Michael

von Ephi (Gast)


Lesenswert?

Ich sehe du willst ne stereo anlage für leute sicher machen, die oftmals 
den verstärker vergessen auszuschalten;)
irgendwoher kenne ich das...

aber es gibt auch mittlerweile hifi geräte die sowas von haus aus 
können!

von Julian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe jetzt endlich etwas Zeit gefunden mich diesem Projekt nochmal 
zu widmen.
Ich habe jetzt die angehängte Schaltung gelötet. Dabei habe ich 
allerdings ein paar Probleme:
R39/R40 sind wohl falsch Dimensioniert - das Signal soll ja auf 1.3V 
aufmoduliert werden, so wie es im Schaltplan gezeichnet ist sind es etwa 
4V. Kann ich R39/R40 einfach als Spannungsteiler betrachten? - Und über 
welchen Widerstand müsste ich dann meine Zielspannung berechnen?
Die zweite Sache die mich etwas wundert ist, das die Amplitude des 
Audiosignals hinter R38 sehr viel kleiner wird - sollte das so sein?

Gruß,
Julian

von holger (Gast)


Lesenswert?

R40 ist viel zu klein. Da solltest du mindestens 220k nehmen.
Die Verstärkung beträgt ungefähr R37 / R39. Mit deinen Werten
ist es keine Verstärkung mehr ! Mach R37 kleiner, z.B. 470 Ohm.
Dann hast du eine Verstärkung von 10.

von holger (Gast)


Lesenswert?

>Die Verstärkung beträgt ungefähr R37 / R39. Mit deinen Werten

Quatsch ! Natürlich R39 / R37 ;)

von Julian (Gast)


Lesenswert?

@holger:
Danke für die Info. Wie reguliere ich denn die Basisspannung auf die das 
Signal aufmoduliert wird?

Gruß,
Julian

von Peterle A. (Firma: keine) (wanderameise)


Lesenswert?

Michael U. wrote:
> Hallo,
>
> ich gönne Dir ja den AVR, aber: Verstärker mit 1 Transistor vorn,
> Gleichrichter als Spannungsverdoppler, 4093 als Trigger dahinter, 2
> Gatter als retiggerbarer Monoflop, macht in CMOS durchaus 15min
> Haltezeit, die Genauigkeit ist ja hier zweitrangig, 1 Transistor als
> Relaistreiber dahinter, fertig...

dann doch lieber AVR...

von Julian (Gast)


Lesenswert?

So, ich bin jetzt mal dazu gekommen das ganze zu löten und zu testen. 
Grundsätzlich funktioniert das ganze recht gut, aber an sehr geringen 
Lautstärken scheitert die Schaltung kläglich weil das Grundrauschen 
schon ähnlich groß ist wie die Amplitude der tatsächlichen 
Musik-Informationen.
Hat da vielleicht noch jemand eine Idee, wie man das verbessern könnte?

Gruß,
Julian

von Julian (Gast)


Lesenswert?

Ich habe gerade diese Webseite gefunden:
http://garydion.com/projects/whereavr/
Dort wird unter Audio Demodulator ein recht interessanter Ansatz mittels 
Analog-Comparator beschrieben.
Kann dazu vielleicht jemand was sagen, könnte das zuverlässig 
funktionieren?

Gruß,
Julian

von Michael (Gast)


Lesenswert?

Hallo Julian,

ich bin auch auf der Suche nach einer Schaltung um die 
Computerlautsprecher nur einzuschalten wenn sie tatsächlich benötigt 
werden. Was mit dauernd eingeschalteten Boxen unnütz an Strom verbraucht 
wird, ist nicht zu unterschätzen.
Auf meiner Suche habe ich diese Seiten gefunden
link 1: 
http://www.dieelektronikerseite.de/Circuits/Audio%20Signal-Detektor.htm
link 2: http://members.chello.at/manfred.mayer2/elektronik.htm#Zwo30
(230V mit beliebiger Signalquelle schalten)

Die zweite Schaltung wird aber direkt an die Lautsprecher angeschlossen 
und ist für mich nicht geeignet. Ich habe bis jetzt die Schaltung von 
link 1 nachgebaut und die Triac Schaltung von link 2 nachgeschaltet. Es 
funktioniert bei mir jedoch manchmal nicht richtig. Manchmal bleibt der 
Lautsprecher an, wenn kein Ton kommt, ein andermal muss ich lauter 
stellen damit sie angehen.
Es wäre gut, wenn man eine einfache Schaltung finden würde, ob mit oder 
ohne µC ist egal. Sie  sollte über USB mit Strom versorgt werden, damit 
sie für alle Rechner (Desktop oder Laptop) zu benutzen ist ohne eine 
extra Stromversorgung.

Grüße
Michael

von Jens 3. (jens343)


Lesenswert?

Das meiste wird an dem dummen steckernetzteil verbraucht -> stecker 
abgeschnitten und an 12V vom PC gelegt

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.