Mjukvarudefinierad klass D audioförstärkare?

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Mjukvarudefinierad klass D audioförstärkare?

Inlägg av arvidb »

Jag har länge haft en idé om att bygga egna högtalare och "bi-ampa" dem (d.v.s. köra aktivt delningsfilter på lågnivåsidan och sedan två förstärkarkanaler per högtalare). Så länge att detta med klass D har hunnit utvecklas rejält under tiden. :)

Efter att ha läst på lite så tycker jag att klass D-förstärkare borde vara en utmärkt sak att ta fram som ett open source-projekt, för det är ju till stor del mjukvara/algoritmer! Ta till exempel en STM32H743ZI, finns som utvecklingskort för typ €20 vilket lillahuset tipsade om här. Den har som sagt FPU med dubbel precision, DSP, 2M FLASH, 1M RAM, och även 17 st 16-bitars timers, 3 st I2S-kompatibla SPIs, 4 st "serial audio interface", 1x SPDIF-RX, ...

Alltså: gott om interface för att ta emot digitala audiosignaler, all processorkraft som krävs för att köra biquad-filter för t.ex. digitala delningsfilter, mixning, RAM så det räcker för någon sekund totalt delay (för synkning av olika kanaler), och även (troligtvis, med tanke på alla timers) gott om PWM-utgångar för att driva 8 st bryggkopplade klass D-slutsteg. (Nu vill man nog iofs köra pulse density modulation eller liknande snarare än PWM, men 8 kanaler 200 kHz PDM borde väl gå att få till i mjukvara på en cpu som kör i 400 MHz? Hmm, kanske på gränsen iofs om det ska hinnas med ett antal biquads också...)

För €6.41 på Mouser så får man sedan en STA516BE som är just ett klass D-slutsteg med två kompletta H-bryggor (MOSFET-drivare och MOSFETs) - d.v.s. två bryggkopplade ljudkanaler på ca 70 W styck (med rimlig THD; databladet påstår 2x200 W men det är med 10 % THD. :roll: )

Man skulle kunna göra moduler med STA516BE och hänga på så många kanaler som man behöver. (Vill man sedan använda feedback så blir det ju lite mer komplicerat iofs...)

I alla fall: någon borde ta tag i detta med en mjukvarudefinierad klass D-förstärkare. ;)
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: Mjukvarudefinierad klass D audioförstärkare?

Inlägg av arvidb »

Lite inspiration/"prior art": Microcontroller Class D Amplifier som visar vad man kan göra med en ATtiny45 och ett par diskreta MOSFETs.
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: Mjukvarudefinierad klass D audioförstärkare?

Inlägg av arvidb »

Detta är typisk filtrering på utgången enligt databladet för STA516B (detta filter ska väl ta bort så mycket som möjligt av switchfrekvenserna, typiskt över 200-300 kHz nånting):
STA516B-output-filtering.png
Är det någon som kan tyda vad följande olika delar är till för mer specifikt?

1) C52, R63
2) L18, C20, R98, C99
3) C23

Framförallt, vad kan det tänkas krävas för effekttålighet på R63 och R98/R100?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Gizmo
Inlägg: 1613
Blev medlem: 8 september 2009, 00:37:45
Ort: Göteborg
Kontakt:

Re: Mjukvarudefinierad klass D audioförstärkare?

Inlägg av Gizmo »

1) Gissar jag är nått filter.
Funderar mer på ditt projekt. Det som vore extra spännande vore ju om man kunde använda processorn för att göra både delningsfilter (till ett två, eller trevägs högtalarsystem), men framför allt om man kunde köra EQ i processorn också för att kunna dämpa vissa frekvenser. Lokaler, respektive rum har vissa resonansfrekvenser som man gärna vill få bort och det kan vara trevligt att kunna göra digitalt.

Den enkla varianten vore ju att köra bara lågpassfilter, och så använda konstruktionen enbart för att driva basen, då det är där 90% av all energi går åt, dvs det är där man kan göra mest energivinst på att köra klass D.
Användarvisningsbild
ahlsten
Inlägg: 659
Blev medlem: 12 november 2005, 00:24:14
Ort: Uppsala

Re: Mjukvarudefinierad klass D audioförstärkare?

Inlägg av ahlsten »

Och lägga in ingång för en kondensatormikrofon att placera i rummet för automagihjälp med EQ i alla olika biampade högtalarelement? :>
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: Mjukvarudefinierad klass D audioförstärkare?

Inlägg av arvidb »

Ja precis, man kunde skapa "filterblock" i mjukvara och slänga på lite vad som helst. Och med tiden göra det bättre och bättre, om det var ett open source-projekt. Ta emot PDM från en mikrofon = ett block. Klass D-modulering = ett block (eller flera olika att välja mellan beroende på vilket slags modulering man vill ha?). EQ = ett block. O.s.v.

Edit: kul att märka lite samma entusiasm över möjligheterna som jag kände. :)
Användarvisningsbild
maDa
Inlägg: 4073
Blev medlem: 11 november 2005, 22:13:16
Ort: Malmö
Kontakt:

Re: Mjukvarudefinierad klass D audioförstärkare?

Inlägg av maDa »

STA339BW som används i diverse Sonos-prylar har inbyggd DSP och tar emot PCM direkt via I2S.
superx
Inlägg: 1127
Blev medlem: 19 juni 2012, 23:28:16
Ort: Linköping

Re: Mjukvarudefinierad klass D audioförstärkare?

Inlägg av superx »

Kul idé! Jag har också funderat lite i liknande banor. Ingen direkt ambition om att göra något konkret dock.

Som jag förstått det är det ganska knepigt att bygga en diskret lösning själv som är helt mjukvarubaserad (och saknar analog återkoppling). Algoritmdelen är inte så knepig, men för att få bra prestanda för höga frekvenser så blir timing otroligt kritisk för switchningen. Det ställer stora krav på layout, strökapacitanser och transistorers parametrar etc. Av den anledningen är många lyckade lösningar analoga med återkoppling.

Det finns även heldigitala lösningar men jag har fått för mig att de ofta är helt integrerade och/eller låg effekt.

Jag kan mycket väl ha fel men detta är min minnesbild av läget från när jag funderade på problemet för något år sedan.
Skriv svar