Forum: Mikrocontroller und Digitale Elektronik Hifi-Anlage bei Audiosignal mit µC einschalten - so umsetzbar?


von Chris meier (Gast)


Lesenswert?

Hallo zusammen.

An meiner Hifi-Anlage hängen am analogen Audioeingang verschiedene 
QUellen (TV, Raspi, ...). Ich möchte dass die Anlage automatisch 
eingeschaltet wird, wenn an einer der QUellen ein Audiosignal für länger 
als 1 s anliegt und nach 5 min ohne Signal soll der Verstärker wieder 
ausgeschaltet werden.

Realisieren möchte ich das Ganze mit einem Arduino. Geplant ist für jede 
Quelle einen eigenen ADC-Eingang zu verwenden. Vorgeschaltet mit Buffer 
und OPV dahinter. Mit einem digitalen Ausgang soll über ein Relais der 
Verstärker geschaltet werden.

Allerdings wird die Erstellung der Wartezeiten von 5 min glaube ich ein 
Problem. Kann man mit einem Arduino UNO solche langen delay-Zeiten 
realisieren?

Über weitere Verbesserungsvorschläge bin ich offen. Danke im Vorraus

von Joe F. (easylife)


Lesenswert?

Chris meier schrieb:
> Realisieren möchte ich das Ganze mit einem Arduino. Geplant ist für jede
> Quelle einen eigenen ADC-Eingang zu verwenden. Vorgeschaltet mit Buffer
> und OPV dahinter. Mit einem digitalen Ausgang soll über ein Relais der
> Verstärker geschaltet werden.

So kompliziert würde ich das gar nicht machen.
Es reicht ja mit (hochohmigen) Komparatoren an allen Audioquellen zu 
detektieren, ob hier ein Signal eine Schwellen-Lautstärke überschreitet.

Am Arduino ist dann für jede Quelle nur noch ein normaler Digitalinput 
nötig.
Prinzipiell könnte mann auch noch alle Detektoren per Hardware (z.B. 
Dioden) ver-odern, und kommt mit einem einzigen Input aus.

> Allerdings wird die Erstellung der Wartezeiten von 5 min glaube ich ein
> Problem. Kann man mit einem Arduino UNO solche langen delay-Zeiten
> realisieren?

Ja. Es muss ja nicht auf die Sekunde genau werden.
Du kannst z.B. einen Timer-Interrupt alle 1s aufrufen, und dort einen 
Zähler runterzählen, sobald auf keinem der Eingänge ein Signal anliegt.
Wenn der Zähler von 300 auf 0 runtergezählt hat, schaltest du ab.

Man könnte das ganze auch komplett diskret aufbauen, dazu benötigt man 
ein re-triggerbares Monoflop, das bis 5 Minuten "kann".
Klassischerweise hat man hierfür z.B. ein 74HC5555 verwendet.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Der Arduino ist völlig überflüssig und ersetzt gerade mal ein 
retriggerbares Monoflop, da der Rest der Schaltung sowieso in Hardware 
gebaut werden muss.
Dafür muss er dauernd gespeist werden und ich verwette meinen Hameg 
gegen 100 Spammails für Nagelpilz, das der mehr Strom verbraucht als ein 
4538.

Joe F. schrieb:
> ein 74HC5555

Nachfolger des 555 in TTL kompatibel?

: Bearbeitet durch User
von Joe F. (easylife)


Lesenswert?

Matthias S. schrieb:
> Joe F. schrieb:
>> ein 74HC5555
>
> Nachfolger des 555 in TTL kompatibel?

Ne. Mit Oszillator und 24-bit Counter. Feines Teil.

von MaWin (Gast)


Lesenswert?

Chris meier schrieb:
> Kann man mit einem Arduino UNO solche langen delay-Zeiten realisieren?

Sicher, aber man macht das nicht mit einem delay, sondern millis zählen.

Bloss: Was nützt das Einschalten, er muss auch auf den richtigen Eingang 
umschalten. Dazu muss er wohl so etwas wie den Fernbedienungseingang des 
Verstärkers nutzen, und dessen Eigenschaften musst du erst mal 
rausfinden.

Umschalten wenn 2 Quellen gleichzeitig aktiv sind aber abwechselnd leise 
werden kann dann lustig sein.

von Guest (Gast)


Lesenswert?

Joe F. schrieb:
> So kompliziert würde ich das gar nicht machen.
> Es reicht ja mit (hochohmigen) Komparatoren an allen Audioquellen zu
> detektieren, ob hier ein Signal eine Schwellen-Lautstärke überschreitet.

Ja, dann braucht er ja auch nur die dreifache Menge Bauelemente. Sehr 
elegant!

Matthias S. schrieb:
> Dafür muss er dauernd gespeist werden und ich verwette meinen Hameg
> gegen 100 Spammails für Nagelpilz, das der mehr Strom verbraucht als ein
> 4538.

Ist doch absolut irrelevant. So ein AVR kann ja einfach nur einmal pro 
Sekunde aufwachen, kurz ein paar wenige ADC Samples holen und sich dann 
wieder schlafen legen. Im power-down braucht so ein AVR bei 3V Speisung 
ganze 5uA, also 15uW. Ich denke damit kann man leben, auch wenn ein 4538 
vielleicht noch weniger braucht.

von Chris meier (Gast)


Lesenswert?

Joe F. schrieb:
> Ja. Es muss ja nicht auf die Sekunde genau werden.
> Du kannst z.B. einen Timer-Interrupt alle 1s aufrufen, und dort einen
> Zähler runterzählen, sobald auf keinem der Eingänge ein Signal anliegt.
> Wenn der Zähler von 300 auf 0 runtergezählt hat, schaltest du ab.

Ja klar, da hätte ich selber auch draufkommen können :) Guter Hinweis

Matthias S. schrieb:
> Der Arduino ist völlig überflüssig und ersetzt gerade mal ein
> retriggerbares Monoflop, da der Rest der Schaltung sowieso in Hardware
> gebaut werden muss.
> Dafür muss er dauernd gespeist werden und ich verwette meinen Hameg
> gegen 100 Spammails für Nagelpilz, das der mehr Strom verbraucht als ein
> 4538.

Stromverbrauch ist irrelevant :)

MaWin schrieb:
> Bloss: Was nützt das Einschalten, er muss auch auf den richtigen Eingang
> umschalten. Dazu muss er wohl so etwas wie den Fernbedienungseingang des
> Verstärkers nutzen, und dessen Eigenschaften musst du erst mal
> rausfinden.

zu 80% ist der Eingang des TV aktiv, wenn nötig schalte ich per Hand zw 
den Quellen um. Das klappt schon.

von Joe F. (easylife)


Lesenswert?

Guest schrieb:
> Ja, dann braucht er ja auch nur die dreifache Menge Bauelemente. Sehr
> elegant!

Ob Buffer-OPV oder Komparator, diese Entscheidung erhöht die Anzahl der 
externen Bauteile nicht.

von Peter D. (peda)


Lesenswert?

Chris meier schrieb:
> Allerdings wird die Erstellung der Wartezeiten von 5 min glaube ich ein
> Problem.

Nicht glauben, sondern im Manual nachlesen.
Der Systemtimer der Arduino-Lib kann von 1ms bis zu 49,7 Tage.

Ist aber auch kein Hexenwerk auf einem bare metal AVR einen 1ms 
Timerinterrupt aufzusetzen und darin eine uint32_t Variable zählen zu 
lassen.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Matthias S. schrieb:
> Dafür muss er dauernd gespeist werden und ich verwette meinen Hameg
> gegen 100 Spammails für Nagelpilz, das der mehr Strom verbraucht als ein
> 4538.

Nun, dem Printtrafo wird das völlig schnuppe sein. Sein Eigenverbrauch 
wird deutlich höher sein, als ein AVR im Idle zieht.

von Manfred (Gast)


Lesenswert?

Chris meier schrieb:
> Allerdings wird die Erstellung der Wartezeiten von 5 min glaube ich ein
> Problem.

In einer meiner Anwendungen bearbeitet der Arduino sogar mehrere 
Stunden. Befasse Dich mit den Grundlagen des Arduino:
MaWin schrieb:
> Sicher, aber man macht das nicht mit einem delay, sondern millis zählen.

Peter D. schrieb:
> Nicht glauben, sondern im Manual nachlesen.
> Der Systemtimer der Arduino-Lib kann von 1ms bis zu 49,7 Tage.

Da macht (ms) einen Überlauf. Das ist egal, hier hat es auch nach über 
einem Jahr Betrieb keinen Absturz gegeben.

Guest schrieb:
> Im power-down braucht so ein AVR bei 3V Speisung ganze 5uA,

Ja, aber dann sitzt er nicht auf einem Arduino-Board mit USB-Interface, 
Spannungsregler und LED. Ich habe eine Stromsparanwendung, da kam ein 
A*-ProMini zum Einsatz, dem ich Regler und LED abgelötet habe.

von Peter D. (peda)


Lesenswert?

Joe F. schrieb:
> Ob Buffer-OPV oder Komparator, diese Entscheidung erhöht die Anzahl der
> externen Bauteile nicht.

Man kann sich die Buffer-OPVs sparen, indem man einen AVR mit ADC mit 
Verstärkung *20 benutzt. Z.B. mit dem ATtiny24 kann man so 7 Quellen 
überwachen.

von Audiomann (Gast)


Lesenswert?

Irgendwie erschließt sich mir der Sinn nicht. Wenn jemand in der Lage 
ist, einen Zuspieler in Gang zu setzen, kann er auch den Knopf an der 
Fernbedienung für die Anlage betätigen. Die muss unter Strom stehen, 
damit sie angeht. Oder sie muss von einer Schaltung ans Netzt, die unter 
Spannung steht.

Irgendwas muss permanent in Bereitschaft sein. Die Anlage kann das aber 
besser.

Das Allerbeste wäre nach wie vor: Alles an einer Steckdosenleiste.

von neuer PIC Freund (Gast)


Lesenswert?

Es wäre unschön, wenn man erst "Krach" braucht, damit die Anlage an 
geht. Insofern ist es angenehmer, wenn der Triggerpegel bei -70 .. -60 
dbFS liegt. Bei einem gewöhnlichen Audiosignal von -1V ... +1V bedeutet 
dies, der ADC muss ein Signal außerhalb des Bandes von -1mV ... +1mV 
detektieren. Eine Verstärkung ist hier sehr angebracht. Für billig und 
funktionsschwach mit einem Elko beigebogen. Wer was auf sich hält, baut 
symmetrisch. Z.B. AVR-ADC*20, wobei der Tiny als Vorstufe seine 
Versorgung von -0.7 ... 4.3V hat.

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.