audio gestuurd in- en uitschakelen

De rest......
(streaming-/computeraudio graag in de daarvoor aangewezen forumgroep)

Moderators: Barry2001, Beheerdersteam

Plaats reactie
jawi
Berichten: 75
Lid geworden op: do 21 aug 2008, 14:35
Locatie: Bruchem

audio gestuurd in- en uitschakelen

Bericht door jawi »

IN- en UITschakelsysteem voor aktieve boxen
Luidsprekerboxen zijn er in alle soorten en maten. De ' betere' boxen zijn veelal uitgevoerd met meerdere luidsprekers die elk dan via een filter een deel van het geluidsspectrum toegevoerd krijgen.
Meestal bestaan die filters uit condensatoren en spoelen waarmee de frekwenties worden gescheiden en zo nodig weerstandsnetwerken om nivo's aan te passen. Dergelijke systemen zijn lastig te ontwerpen en alleen maar geschikt voor de kombinatie waarvoor het werd ontworpen.
Het is ook mogelijk om een aktief wisselsfilter te gebruiken en elke luidspreker een eigen versterker te geven.
Een dergelijk systeem is gemakkelijk in een luidsprekerbox in te bouwen, de aktieve box.

Momenteel zijn er legio versterkerblokken te koop.
In het hier gepresenteerde ontwerp wordt gebruik gemaakt van klasse-D versterkers die volop worden aangeboden. Zij zijn gebaseerd op ontwerpen van TexasInstruments en van goede kwaliteit. Deze versterkers kunnen gevoed worden met een enkele DC spanning die kan varieren van ca 12 tot 30Volt. Omdat er tegenwoordig veel laptopvoedingen beschikbaar zijn van afgedankte laptops is het aantrekkelijk om hiervan gebruik te maken. Veel ervan kunnen circa 19V bij 3 A leveren, genoeg voor een aardige versterker.

Een lastig punt bij aktieve boxen is het in- en uitschakelen ervan. Het is vervelend als je eerst langs de boxen moet lopen om ze in te schakelen voordat je van de muziek kan gaan genieten. Dat moet anders is dan het idee.
In de volgende schakeling wordt de box ingeschakeld zodra er audiosignaal is. Daartoe wordt het audiosignaal versterkt en zodra er een beetje nivo is schakelt een comperator om. Daarmee wordt een timer gestuurd die direkt de voeding inschakelt en met een korte tijdvertraging het audiosignaal doorschakelt. Bij het uitschakelen gebeurt dat in omgekeerde volgorde: eerst wordt de audio geblokkeerd en daarna schakelt de voeding uit. Op deze manier wordt voorkomen dat vervelende geluiden tijdens in- en uitschakelen hoorbaar zijn.
Het uitschakelen gebeurt echter pas nadat het audiosignaal langere tijd afwezig is zodat pauzes tussen nummers op een cd/LP niet tot uitschakelen leiden.

De schakeling bestaat uit 2 delen, te weten: 1- audio-detectiesysteem en 2- tijdvertraging.
Voor alle zekerheid is eerst een simulatiecircuit gemaakt waarmee de audiodetectie is gecheckt.
afbeelding 1
afbeelding 1
Het audio-detectiesysteem:
Hiermee wordt een audiosignaal van enkele millivolts versterkt, gelijkgericht en via een comperator als schakelsignaal gebruikt. De versterking wordt begrensd met behulp van zenerdioden. In de simulatie zijn hiervoor de 1N5225B gebruikt waarbij de omschakeling gebeurde tussen 2 en 3 mV ingangssignaal. Gebruikt men andere diodes, bijvoorbeeld de BZX84A3V6 dan kan dat makkelijk 30-31mV zijn. De keuze van de zener is hier dus een bepalende factor voor de gevoeligheid. De comperator is voorzien van een meekoppeling zodat er enige hysterese ontstaat. Daardoor is het omschakelen stabieler. In de simulatie wordt de comperator direkt gevolgd door mosfet schakelaars zodat we het principe kunnen testen. In de realisatie wordt de comperator gevolgd door de tijdvertraging die op zijn beurt de de mosfetschakelaars aanstuurt.


De tijdvertraging:
Hiervoor is een uController gekozen omdat daarmee met weinig extra komponenten het vereiste gedrag kan worden verkregen. De AtTiny85 is hiervoor uitermate geschikt. De uController wordt aangestuurd door de comperator en stuurt op zijn beurt de fet-schakelaars aan.
Nadat het audiosignaal is gedetecteerd wordt direkt de voeding ingeschakeld en kort daarna wordt het audiosignaal vrijgegeven. Bij het uitschakelen gebeurt dat in omgekeerde volgorde. Het uitschakelen gebeurt pas nadat er gedurende circa 3 minuten geen audiosignaal gedetecteerd werd.
Het schema:
afbeelding 2
afbeelding 2
Het complete schema is in afbeelding 2 te zien.
Led D1 geeft aan dat de voedingsspanning aanwezig is.
Met Led D6 wordt aangegeven dat de voeding is doorgeschakeld.
T3 is de fetschakelaar die de audio vrij geeft, dat betekent dat de fet in geleiding is als er geen ingangssignaal is, PB0 van de AtTiny is dan hoog, led D5 is uit.

Voor deze schakeling is een enkelzijdige print ontworpen met bescheiden afmetingen: 35x77mm.. Deze is wel voorzien van de nodige ontkoppelcondensatoren en afvlakelco's.
De powerfet waarmee de voeding wordt doorgeschakeld kan eventueel door een gewoon relais worden vervangen. Voor de powerfet kunnen zowel TO220 als TO3P uitvoeringen worden gebruikt.
afbeelding 3
afbeelding 3

De AtTiny is met de Arduino-IDE geprogrammeerd.
De listing:
in-uit-AT85
/*
De listing is aangepast op de ATTiny85.
Ingangssignaal op PB2
uitgang voor power op PB1
uitgang voor audio op PB0
De in-uit-schakelaar is bedoeld om een versterker in en uit te schakelen met het toegevoerde audiosignaal.
Dit signaal wortd eerst versterkt waarna het in een analoog topwaardegeheugen komt en wordt vergeleken met een drempelwaarde.
Bij voldoende signaal schakelt de uitgang om, in dit geval bij ca 5mV ingangssignaal.
Bij het inschakelen wordt het audiosignaal iets vertraagd ingeschakeld t.o.v. de voeding om vervelende inschakelgeluiden te voorkomen.
Bij het uitschakelen gebeurt dat in omgekeerde volgorde. Het inschakelen gebeurt direkt nadat circa 5mV is gedetekteerd.
Omdat er in een muzieksignaal pauzes zitten waarin geen geluid aanwezig is dient het uitschakelen pas te gebeuren nadat langere tijd geen audiosignaal aanwezig is.
Er zijn dus drie tijdkonstanten, de in/uit-schakelevertraging en de pauzetijd.
De uitschakelvertraging is feitelijk een verlenging van de pauzetijd omdat de teller hierbij dezelfde begintijd gebruikt.
======================================================================
*/
const int pinButton = PB2; //nano: 3
const int power = PB1; //nano: 13
const int audio = PB0; //nano: D2
unsigned long previousMillis;
const unsigned long interval1= 500UL; // 0,5 second
const unsigned long interval2= 30000UL; // 30 seconds
const unsigned long interval3= (2*interval1 + interval2); // 1 second
int lastInputState = LOW; // LOW is default, button not pressed
bool delayActive = false; // this is true when delay is busy
void setup()
{
pinMode( power, OUTPUT);
pinMode( audio, OUTPUT);
digitalWrite( audio, HIGH);
pinMode( pinButton, INPUT);
}


void loop()
{
unsigned long currentMillis = millis();
int inputState = digitalRead( pinButton);
if( inputState != lastInputState)
{
previousMillis = currentMillis; // update every time the button is pressed or released
delayActive = true;
lastInputState = inputState;
}
if( delayActive&&digitalRead (pinButton)==HIGH)
{
digitalWrite( power, HIGH);
if( currentMillis - previousMillis >= interval1)
{ // The input was steady during the delay, accept it for the output.
digitalWrite( audio, LOW);
delayActive = false; // don't need the delay anymore
}
}
else if( delayActive&&digitalRead (pinButton)==LOW)
{
if( currentMillis - previousMillis >= interval2)
{ // The input was steady during the delay, accept it for the output.
digitalWrite( audio, HIGH);
if( currentMillis - previousMillis >= interval3)
{
digitalWrite( power, LOW);
delayActive = false; // don't need the delay anymore
}
}
}
}
in-uit-met-timers-AT85.ino.txt
(2.8 KiB) 22 keer gedownload
inschakelen voeding-audio.LAY.txt
(93.25 KiB) 36 keer gedownload
Bij bovenstaande files de .txt verwijderen en ze zijn gewoon bruikbaar, de .ino in de Arduino-IDE en de LAY is een sprint5 bestand.
MarcelvdG
Berichten: 1273
Lid geworden op: do 31 jan 2013, 21:47
Locatie: Haarlem

Re: audio gestuurd in- en uitschakelen

Bericht door MarcelvdG »

Mooie schakeling, maar heb je niet het probleem dat C2 opgeladen raakt tot de piekspanning van de hardste passage en dat er daarna niets meer gedetecteerd wordt tot C2 leeggelekt is?
Gebruikersavatar
Barry2001
Algemene moderator
Berichten: 15170
Lid geworden op: zo 22 mar 2009, 16:57
Locatie: Hengelo
Contacteer:

Re: audio gestuurd in- en uitschakelen

Bericht door Barry2001 »

Mooi compleet stuk met een zinvol stukje elektronica, heb ‘m gemist in eerste instantie denk ik. Fraai!
jawi
Berichten: 75
Lid geworden op: do 21 aug 2008, 14:35
Locatie: Bruchem

Re: audio gestuurd in- en uitschakelen

Bericht door jawi »

Bij heel lage ingangsspanningen, op het punt dat de comperator net heeft geschakeld is er wel iets merkwaardigs.
De wisselspanning op de anode van de 4148 wordt dan langzaam aan minder waardoor de comperator weer terug schakelt (bij wat meer signaal gebeurt dat niet).
Dat kan mogelijk wel iets te maken hebben met een zich opbouwende lading van C2.
Ik heb het ondervangen door op dat punt een weerstand van 1K naar massa te leggen, de capaciteit van C2 is verhoogd tot 100uF.
Het schema en de print is op dat punt aangepast.
jawi
Berichten: 75
Lid geworden op: do 21 aug 2008, 14:35
Locatie: Bruchem

Re: audio gestuurd in- en uitschakelen

Bericht door jawi »

hier de bestanden:
inschakelcircuit-r1 sch.jpg
inschakelcircuit-r1 pcb.jpg
inschakelen voeding-audio-r1.LAY.txt
(94.94 KiB) 34 keer gedownload
Plaats reactie

Terug naar “Overige Audio-elektronica”