Dassmusik (3-zons audioförstärkare)

Berätta om dina pågående projekt.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

De där volymchipen var några luriga rackare, egentligen bara för att databladet är vagt på en avgörande punkt...

Man styr chipet med ett 11-bitars dataord som klockas in till ett internt skiftregister men sista biten skall klockas på särskilt sätt för att chipet skall latcha in hela ordet - data måste vara hög när man sänker klockan vid sista biten!

Jag använde mitt PeekyPokey-kort (USB) för att experimentera mig fram till en fungerande lösning. Mycket enklare med "trial and error"-programmering i C# på PC jämfört med en mikrokontroller.

Enkelt att snabbt koppla ihop testrigg med visuell feedback (LEDs på alla gpio ju) och matning.
image.jpeg
Nu när jag vet precis hur chipet skall styras är det en enkel sak att implementera i en mikrokontroller :-)

Såhär blev koden för volymjustering:

Kod: Markera allt

// mode = b0x = 0 = set both channels
// mode = b10 = 2 = set channel 1
// mode = b11 = 3 = set channel 2
private void SendData(byte mode, byte vol)
{
    // bits 0 and 1
    int data = mode & 3;

    // bits 7 and 8 (2 LSB of vol)
    data |= (vol & 3) << 7;

    // bits 2 - 6 (5 MSB of vol)
    data |= (vol & 0x7c);

    // set bits 9 and 10 (EOT marker)
    data |= 0x600;

    // clock out 11 bits
    for (int i = 0; i < 11; i++, data >>= 1)
    {
        _bus.Value = (byte)(data & 1);          // data only
        _bus.Value = (byte)((data & 1) | 2);    // data and clock
        _bus.Value = (byte)(i == 10 ? 1 : 0);   // latch on last bit
    }
}
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

Gjorde mig en liten testapp som gör det lite enklare att experimentera med chipet.
testapp.JPG
Har nu stoppat dit alla nödvändiga kondensatorer men utsignalen har en viss DC-offset som dessutom varierar när man ändrar volymen. Vet inte riktigt vad det beror på, skall klura lite mer på det...

EDIT: DC-offset på ca 1V introduceras vid volymjustering. Den klingar av mot noll under loppet av några sekunder. Om jag höjer volymen får jag en postiv DC-offset och negativ när jag sänker. Samma visa på respektive kanal men det spiller inte över från ena till andra.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

Bytte till mindre kondingar, hjälpte lite men långt ifrån helt.

Har ju ingen last men lade på 100k vilket väl (?) kan motsvara ingångsimpedans på en förstärkare men ser ingen större skillnad. Får testa vidare...
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

Äsch, tog fel på motstånd, he, he :-)

Nu har jag 120k last och då ser det bra ut!

Verkar dock tydligt att chipen saknar nollgenomgångsdetektor men det trodde jag inte heller.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

Nedan ser man ganska tydligt vad som händer vid en volymsänkning direkt från 0dB till -24dB.

Har inte lyssnat men gissar att dessa transienter (nästan 2V) gör att det knäpper till, frågan är hur mycket. Det återstår att se.... (höra alltså) :badgrin:

Man ser också att vänstra kanalen (gul) ändras lite drygt 50ms före den högra vilket kan vara hörbart men knappast störande.
image.jpeg
Skall bli intressant att provlyssna!

EDIT: Tidsskillnaden berodde på min styrning, chipet ändrar båda kanalerna samtidigt.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

Här syns förloppet vid mute från 0dB. Det tar uppåt 50ms för spiken att klinga av. Undrar hur fasen det låter :humm:
image.jpeg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

Kom på att det nog går att fixa zero cross detection utifrån genom att låta uC läsa insignalen med interrupt på komparator.

Beror på hold time vid latch samt ev. svarstid. Det fina är ju att man kan ladda hela ordet och sen latcha vid precis rätt tillfälle. En klockcykel tar 4us vilket bör vara kort nog.

Frågan om det är lönt eller ens hjälper men jag tänkte kanske ändå ta in signalen för att göra auto power off efter längre tystnad.

EDIT: Just detta går dock inte att testa fullt ut med PeekyPokey eftersom den har 500us latency pga USB.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

Japp, det fungerar (såklart) att först ladda dataordet och sedan latcha vid valfritt senare tillfälle. Man kan skicka vilka 11-bitars dataord man vill (godtyckliga gånger), det är det senast inlästa som effektueras vid latchning.

Detta fortfarande med PeekyPokey-testriggen så vid övergång till riktig uC måste jag komma ihåg att sätta en timeout på kanske 1ms efter vilken senaste volym effektueras ovillkorligen oavsett om nollnivå detekterats eller ej.

Om jag alltså läser in huvudinsignalen till uC sen så kan den användas för att synkronisera volymjustering för samtliga tre volymchip medelst nolldetektering.

Jag kommer ju som sagt troligen ändå att sampla insignalen för att kunna implementera "auto power off" efter viss tid av tystnad (låt säga 5 minuter).

EDIT: Chipet buffrar såklart inte olatchade dataord för respektive målkanal. Det dataord som råkar stå i skiftregistret vid latchning är det som effektueras. Ganska självklart men ändå.
Användarvisningsbild
MiaM
Inlägg: 12844
Blev medlem: 6 maj 2009, 22:19:19

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av MiaM »

Jag tänkte en "munk" där både plus och matningsjord går genom samma munk, och en sån uppsättning per förstärkarkort.

Det är alltså antagligen inte störningar från nätagget som är problemet i sig, utan jordslinga mellan korten.

Men du kan testa om det blir mindre störningar ifall du lyssnar på ett förstärkarkort som får insignalen separat utan någon koppling till resten av kretsen eller omvärlden (d.v.s. telepluggen kopplad till en batteridriven musikspelare). Om det blir bra så är tumregeln att sätta en munk per förstärkarkort och på både plus och minus.
Nav
Inlägg: 94
Blev medlem: 15 januari 2016, 18:11:35

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av Nav »

Det vore väl underbart att sitta på toa och lyssna på "Under dubbelörnens vingar"! Samt Till havs då man spolar. Är man hård i magen så är Leadbelly gällande. Var tid har sina fröjder!

Man skulle också kunna tänka sig Bolero för den som inte gilla fåglar.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

Unter den Doppeladler gör sig bra i dessa ädla syften :-)

@MiaM: Jag kallade ferritkärnan för "munk" efter ferritens form på engelska (du skrev ju "flygplatsexpress" tidigare).

Dels drog jag bara igenom positiva tråden, dels gjorde jag det endast för inkommande matning och inte på respektive kort. Den ensamma ferritkärnan fick ändock pipljudet att försvinna helt även innan jag introducerade AE-kortet så nytta gjorde det och sannolikt blir det ännu bättre om jag gör så som du föreslår, d.v.s. drar igenom båda poler samt på en munk per kort. Återstår att göra de tester du föreslår med ett kort i taget innan jag förbättrar avstörningen.

När det gäller volymkontrollen så visade det sig att jag lyckats sätta kondensatorerna fel - det var det som orsakade transienterna som sågs i skopbilderna. Dessa är nu helt borta och extern nolldetektering är alltså överflödig.

Den stora nyheten är annars att jag nu provlyssnat, det knäpper inte alls vid volymjustering och låter fint utan hörbar distorsion :bravo:

Jag är nöjd bortsett från den lilla digitala överhörningen från AE-kortet som förvisso är mycket svag men nog så irriterande sedan min fru gjort mig uppmärksam på det.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

Har experimenterat med olika kondensatorer (både värden och typ) och kommit fram till att 2,2uF elektrolyt blir bäst på både ingång och utgång på volymchipet.
image.jpeg
Man ser ofta kondensatorer från WIMA i audiosammanhang men de jag testade med (hade bara 68nF, 470nF och 1uF) gav inget vidare resultat här.

Vad är egentligen brukligt för DC-blockering på linjenivå?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 34920
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av HUGGBÄVERN »

Ska det vara lite seriöst, tror jag man ofta kör i häradet 1-2uF. I billigare kretsar ofta en tiopotens mindre.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av hanzibal »

Ok, då ligger jag ganska rätt då alltså?

När det gäller polariteten så har jag positivt mot chipet för både in- och utgång. Är det rätt?
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 34920
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: Dassmusik (3-zons audioförstärkare)

Inlägg av HUGGBÄVERN »

Jag skulle nog lägga minus mot ingången men tanken att en opamp, t ex, alltid liksom har minusreferens på ingången ... typ.
Skriv svar