DIY Sonos speaker met Raspberry Pi

DIY Sonos speaker met Raspberry Pi

Gepubliceerd op: 02-10-2016 14:00

Hé, jij houdt niet van advertenties maar wél van kwaliteitscontent? Dat mag, maar misschien wil je dan een donatie doen via PayPal of creditcard?

Of doe je aankopen via één van onze winkelpartner-links in de zijbalk.

Sonos-achtige streamingspeakers en internetradio's zijn mateloos populair, maar wist je dat je met een Raspberry Pi en een paar goede speakers exact hetzelfde kunt bouwen voor minder dan 60 euro? In dit eerste artikel lees je alles over de hardware en bouw van mijn Raspberry Pi streaming speaker. In deel 2 meer over de software.

Raspberry Pi als streaming client

Zoals ik eerder al schreef in het artikel 'Arduino vs PCDuino vs Raspberry Pi' is de Raspberry Pi uitermate geschikt voor multimedia en streaming toepassingen door de volwaardige Linux-distributie en het lage energieverbruik. Veel mensen gebruiken een Raspberry Pi als Google Chromecast of Kodi mediaspeler. Zelf ben ik niet zo'n televisiekijker maar meer een muziekliefhebber. Daarom besloot ik om een streaming speaker van mijn Raspberry Pi 2B te bouwen.

Een speakerbehuizing ontwerpen

Bij het ontwerpen van een speakerbehuizing komt wel even wat meer kijken dan gewoon een houten kastje in elkaar timmeren. We willen immers wel dat het fatsoenlijk klinkt! Kleine goedkope speakertjes hebben vaak moeite met het weergeven van een vol en rijk geluid, over het algemeen klinken ze ook goedkoop en blikkerig. Voor een vol geluid met relatief diepe bas heb je veel volume nodig (inhoud dus) maar soms heb je die ruimte gewoon niet: zie hier het eeuwige dilemma van de speakerbouwer.

In de zestiger jaren van de 20e eeuw vond er echter een innovatie plaats in de luidsprekerwereld: de bass reflex poort. Een aantal onderzoekers ontdekte dat je het rendement van een speaker in de lage volumes flink kon verbeteren door een opening aan de speakerbehuizing toe te voegen, in tegenstelling tot de tot dan toe altijd gesloten speakerkasten. De parameters van dit 'vented' of 'ported enclosure design' zijn gevangen in een serie formules die met behulp van software eenvoudig zijn te simuleren.

Speakerontwerp doorrekenen met WinISD

Het doorrekenen van een gesloten en bas-reflex speakerbehuizing met WinISD

Met behulp van het programma WinISD (freeware/beta) heb ik mijn speakerontwerp doorgerekend en gefine-tuned. Op basis van diverse reviews en mijn budget heb ik gekozen voor de uitstekende Visaton FRS-8 breedbandspeakers. Met behulp van de informatie uit de datasheet van deze speakers en de door mij gewenste buitenmaten van mijn streaming speaker kon ik een simulatie maken in WinISD. In bovenstaande afbeelding zie je het effect op de frequentierespons wanneer je kiest voor een gesloten of vented design van de speaker.

Door het toepassen van een bass-reflex pijp met een diameter van 5cm en een lengte van 10 centimeter verkrijg je een enorme boost rond de 70Hz waar de gesloten speaker het rond 120 Hertz al af laat weten. Ook de buitenmaten van de speakerbox worden door WinISD geoptimaliseerd voor een zo zuiver mogelijk geluid.

De Raspberry Pi speakerbehuizing uit stevig 15mm MDF

Naast de geometrische optimalisatie van het ontwerp is ook de kwaliteit van de gebruikte materialen belangrijk. Aangezien geluidsgolven luchtdruktrillingen zijn kunnen zij een dun plastic kastje makkelijk laten vervormen of via kieren weglekken. Daarom heb ik gekozen voor een solide 15mm dikke MDF behuizing die ik volledig heb verlijmd (op de achterwand na) om alle kieren af te dichten. Dit is natuurlijk wel wat zwaarder dan een kunststof bluetooth-speakertje maar aangezien ik niet van plan was om hier mee over straat te lopen (zoals men tegenwoordig vaak normaal schijnt te vinden) is dit voor mij geen bezwaar. De speaker zal een vaste plek krijgen in de slaapkamer, woonkamer of hobby-kamer.

Frontplaat ontwerpen

De gaten in de frontplaat worden geboord met behulp van een boormal

Het ontwerp van de frontplaat van de Raspberry internetradio heb ik eerst in Adobe Illustrator gemaakt. Hiermee kan je nauwkeurig tot op de millimeter werken en vervolgens printen. Door het printje op de frontplaat te plakken kon ik met de kolomboor en gatenzaag zeer nauwkeurig de juiste gaten boren. Het rechthoekige gat voor het display heb ik met de decoupeerzaag uitgezaagd van gat naar gat. Dit vraagt nog wel wat nabewerking want zo precies gaat dat met een decoupeerzaag niet.

Uitlijnen van het speakerfront in de behuizing

Geluid uit de Raspberry Pi

Je kunt op meerdere manieren geluid uit je Raspberry Pi krijgen. De eenvoudigste manier is door gebruik te maken van de onboard geluidskaart met een 3,5mm jackplug/koptelefoonstekker. Helaas is de geluidskwaliteit niet om over naar huis te schrijven.

Andere manieren zijn om het geluid af te tappen van de HDMI-poort en hier een digital-to-analog converter achter te zetten of gebruik te maken van een Raspberry DAC-kaart (HifiBerry) die op de GPIO poort aangesloten kan worden als een soort shield. Ik maak gebruik van de simpele én goedkope oplossing van de externe USB-geluidskaart die je voor een paar dollar van AliExpress of Dealextreme haalt. De geluidskwaliteit is stukken beter dan die van de interne geluidskaart (maar geen top-Hifi!) en werkt plug-and-play.

Raspberry Pi 2B, TDA7279 versterker en Visatron FRS-8 speakers

Audio versterken met een 2 x 15W TDA7297

De output van de geluidskaart is genoeg om je koptelefoon in te pluggen maar om de zware 8 Ohm Visatron speakers te voeden heb je wel wat meer power nodig. Als versterker gebruik ik een kant-en-klare amplifiermodule op basis van de TDA7297 chip van STMicroelectronics. Deze module heeft een ruim voedingsbereik, is voorzien van allerlei beveiligingsmaatregelen en kan 2x 15 Watt aan uitgangsvermogen leveren. Ruim voldoende voor mijn toepassing.

Passen van de elektronica onderdelen in de speakerbehuizing

De versterker wordt aangesloten op een 12 Volt stekkernetvoeding van 1A. De versterker kan maximaal 2A vragen dus als je van plan bent om op hogere volumes af te spelen neem dan een wat zwaardere voeding. Met behulp van een jack-jack kabel van 3.5mm worden de USB geluidskaart en versterker met elkaar verbonden en de speakerkabels worden aangesloten op de schroefterminals. De Raspberry Pi wordt via Micro-USB gevoed met zijn eigen voeding. Het samenvoegen van de voedingen staat nog op het programma, want één stekker per apparaat is toch wel wat handiger dan twee.

DIY Raspberry Pi streaming speaker

In het volgende artikel lees je meer over de software van mijn streaming internet radio speaker op basis van PiMusicBox. Stay tuned!

Meer van dit soort artikelen lezen?

Reageren