MonCon – Lautstärke-Controller für Studiomonitore

Aus der Not entstanden, da meine neuen Studiomonitors aktiv sind und damit der Verstärker als Lautstärkeregler entfällt, habe ich mich an die Entwicklung eines verlustfrei arbeitenden Lautstärkeregler begeben.

Kommerzielle Geräte bieten teilweise mickrige Funktion und Qualität oder sind -für einen Lautstärkeregler übertrieben teuer. Da ich gerne einige individuelle Zusatzfunktionen haben möchte, bleibt der Selbstbau.

Um den Qualitätsanspruch zu wahren, habe ich eine sechsstufige Kette aus Spannungsteilern mit Relais realisiert. Weitere Eckdaten siehe unten:

  • in 1 dB Schritten von 0 bis -63 dB Dämpfung
  • Bedienelemente: Zwei Taster, ein Drehencoder mit Pushbutton
  • Taster und Encoder sind frei belegbar durch µC (ATmega168)
  • Mute, evtl. eine Rampe nach dem Einschalten usw. können alle in SW realisiert werden
  • Zwei Quellen können umgeschaltet werden
  • Anzeige der Dämpfung über 7-Segment Anzeige
  • Speisung mit (nahezu) beliebigen DC oder AC Steckernetzteil

In der Galerie ist ein Bild mit der fertig aufgebauten Hardware. Natürlich fehlt noch das Gehäuse. Die Programmierung erfolgte in C und liegt aktuell in der ersten funktionierenden Version vor. Natürlich gibt es noch Bugs aber die werden nach und nach abgestellt. Im Übrigen ist damit der Beweis erbracht, dass Atmel Studio auf einer virtuellen Maschine auf dem Mac funktioniert!

 

Gedanklich bin ich bereits beim Hardware Redesign. Ich möchte gerne ein zweites Paar Ausgänge hinzu fügen um eine 2×2 Matrix aufzubauen. Zudem möchte ich den Dynamikbereich von 63 auf 127dB vergrößern. Eine dritte 7-Segment-Anzeige wird dann erforderlich sowie eine vierte, um die Darstellung mit negativem Vorzeichen zu komplettieren. Der Aufwand auf Grund der 7-Segment Anzeigen ist aber bereits jetzt schon recht hoch so dass ich überlege, auf eine andere Art der Darstellung zurückzugreifen.

Es gibt noch 3-4 Prototypen dieses Gerätes, die ich verkaufen würde. Bei Interesse bitte anschreiben.

 

Schalter-Board für Arduino Raspi & Co.

SkotLED Quad GPO LED Driver board

Manchmal sind es ja diese Musiker, die einen auf gute Ideen für Projekte bringen. Daher auch der Name SkotLED, das hat nichts mit ähnlich klingender Fleischspeise zu tun.

Es geht um die Möglichkeit, Ströme (Details möchte ich noch nicht preisgeben) über einen FET zu schalten. Für mehr Flexibilität habe ich (per Jumper aktivierbare) Relais hinzugefügt. Somit ist diese Platine extrem vielseitig.

Im Detail handelt es sich um eine zweilagige SMD bestückte Leiterplatte mit On-Board Spannungsreglern für 3,3V und 5V und einem dritten Regler (12V, optional) für die Relaisspulen. Die vier Schaltsignale (nicht-invertiert) werden galvanisch über Optokoppler getrennt und treiben einen 26A MOSFET. Hiermit können diverse Senken geschaltet oder sogar PWM-geschaltet werden. Sechs parallele Widerstände können als passende Vorwiderstände bestückt werden. In jedem Weg sitzt weiterhin ein optionales DPDT Relais (230V, 8A) mit dem weitere Peripherie geschaltet werden kann.

Features

  • alle 4 Kanäle sind galvanisch getrennt über Optokoppler
  • 4 zweipolige DPDT Umschalter (5A, 230V) über Relais
  • Relais können per Jumper deaktiviert werden
  • über MOSFET kann die Betriebsspannung geschaltet werden zB für LEDs
  • PWM Steuerung möglich
  • optische Anzeige der Schaltzustände (LED)
  • diverse Bestückungsoptionen denkbar, je nach Funktion nur wenige Komponenten nötig
  • Spannungsregler für 3,3V und 5V on-board für Steuerplatine

Am Arduino funktioniert es bereits hervorragend und ich möchte betonen, dass es bisher nur der Prototyp ist.

PS: Die nicht bestückten SMD Widerstände am Platinenrand sind je nach Verbraucher zu berechnen, das war bislang nicht nötig.

Mic Pre based on THAT 1512 and THAT 1646

Irgendwie haben mich diese THAT PreAmp ICs schon immer gereizt. Oftmals wird dieses Label ja genutzt, um einen besonders tollen PreAmp in Produkt xy anzupreisen.

Da ich ein Audio Interface mit 6 Line Eingängenhabe, kann ich sowieso mal weitere PreAmps gebrauchen und habe mich daher mal daran gemacht, um den 1512 eine Schaltung zu bauen mit den üblichen Features wir einstellbarem Gain, Pegelanzeige mit RMS Gleichrichtung, PAD, HPF, Phantomspeisung, Phase. Ausgangstreiber ist der THAT 1646. Nun ist der erste Prototyp fertig. Auf die Macken gehe ich mal nicht ein. Aber viel wichtiger (für mich) ist, dass direkt der erste Anlauf funktioniert. Ist doch immer wieder eine freudige Überraschung. Nun stehen noch Messungen an, denn hier entscheidet sich letztlich, ob ich einen Rauschgenerator mit Verzerrer oder einen feinen Vorverstärker gebaut habe.

Das Gerät ist bewusst klein geworden, damit vielleicht irgendwann mal vier Stück davon ein 1HE Gehäuse passen. Das hängt alles noch ein wenig davon ab, ob ich eine geeignete Spannungsversorgung bauen kann.

Am Dienstag hatte ich die Gelegenheit ein paar erste Messungen zu machen. Zunächst mal ein paar nackte Zahlen:

  • Verstärkung von +6 bis 58 dB
  • max. input level +21 dBu (THD<1%), mit Pad Schalter nochmal 10dB also +31dBu
  • max output level +25,5 dBu (THD<1%)
  • Rauschen (muss ich noch verifizieren, die Zahlen kommen mir spanisch vor) je nach Gain von -129 bis -104 dBu (von min nach max gain) Das Rauschen ist dominiert vom Netzbrummen, das mir meine billigen Labornetzteile in die Schaltung einstreuen
  • THD besser als -80 dBu oder 0,0001%, scheint auch nicht ganz plausibel zu sein
  • LPF -3dB Eckfrequenz bei 47 Hz
  • Phase, Phantom und -10dB Pad

Die Pegelanzeigen sind leider völlig daneben, einzig die Clip LED korreliert exakt mit dem Klirrfaktor schlechter 1%. Aber das Problem lässt sich durch Neuberechnung von 8 Widerständen lösen, daher erstmal kein Alarm.

Die Schaltung erfordert einige kleine Modifikationen, in diesem Zuge werde ich noch weitere Maßnahmen integrieren und überdenken. Dann gibts hier neues…

 

 

AES zu S/PDIF und zurück

Das Konvertieren von AES zu S/PDIF Signalen und umgekehrt klappt ja in der Praxis oftmals per einfachem XLR- auf Cinch Adapter. Ideal ist diese Lösung allerdings nicht. Es findet keine Pegel- und keine Impedanzanpassung statt, außerdem besteht keine galvanische Trennung. Also eher eine Bastellösung. Von einem bekannten Tonmann wurde ich auf die Idee gebracht, einen Konverter zu entwickeln.

Die erste Version ist fertig. Funktionstest soweit bestanden.

AES - S/PDIF level converter

Es kann umgeschaltet werden um die Signalrichtung vorzugeben; entweder von AES nach S/PDIF oder umgekehrt. Betrieben wird das Teil mit einer (fast) beliebigen Spannungsquelle mit mehr als 6V oder auch direkt (unter Umgehung des Spannungsreglers) mit 5V. Man könnte über eine USB Buchse für die Spannungsversorgung nachdenken. Die AES-Buchsen sind galvanisch vom Rest der Schaltung getrennt.

Was mich stört: Es muss manuell die Signalrichtung umgeschaltet werden. Schön wäre ja, wenn ich gleichzeitig beide Signalflussrichtungen nutzen kann. Dafür muss ich meinen Geiz, nur einen Bustreiber-IC zu verwenden, aufgeben und die Schaltung quasi verdoppeln. Dadurch entfällt dann aber die Möglichkeit, die Schaltung in eine Leitung „einzuschleifen“ und mitzuhören. Ich muss da nochmal die Anforderungen abklären, bin aber parallel an einer Version 2 dran, die eben bidirektional ist.

Solltest du, lieber Leser, an einer derartigen Schaltung interessiert sein, bitte ich um kurze Mitteilung.

Power Amp Pre Amp

Zur Ansteuerung von OEM Endstufenmodulen ist ja in der Regel noch weitere Elektronik nötig. Vorverstärker, Pegelanpassung, Levelmeter, Bridge-Schaltung usw. Eine Neuentwicklung meines Arbeitgebers habe ich zum Anlass genommen, meine erste SMD Platine zu routen. Es fehlen noch Bauteile (wer hat bloß diese unvollständige Stückliste verfasst) aber zumindest das Löten war weitaus weniger dramatisch als befürchtet…

 

Endstufen Eingangsplatine
Endstufen Eingangsplatine

 

 

Bemerkenswert

Guten…

freut mich, sie als Besucher auf meinem kleinen Blog begrüßen zu können. Diese Seite soll einen kleinen Einblick in meine Arbeit als Tontechniker und Ingenieur im Bereich Akustik und Elektrotechnik gibt. Eigentlich ist die Website eher als Visitenkarte gedacht, um Techniker-suchenden Verleihern oder Bands einen Ansprechpartner zu liefern. Ich möchte aber auch meine eigenen Projekte vorstellen und Sie möglicherweise zu einer Zusammenarbeit inspirieren. Eigentlich verrückt, dass ich trotz Fulltime Job noch Zeit finde für derartige Spielereien. Aber ich gebe halt ungern Geld aus für halb-gare Lösung und so entwickele ich lieber meine eigenen halb-garen Schaltungen ;)

DSP Programmierung: VST-Plug-In

Auch 2 Jahre nach meiner Master Thesis beschäftigt mich das Thema adaptive Filter. Doch bislang fehlte mir eine geeignete DSP Plattform, auf der ich einige Versuche in Realtime durchführen kann. Basierte meine Thesis komplett auf .wav Dateien und fand offline statt, soll es nun in Echtzeit sein und Mikrofon sowie Lautsprecher mit einbeziehen.

Die erste Idee war ein VST PlugIn. Gescheitert bin ich an der „Übersichtlichkeit“ von Xcode. Irgendwann habe ich Einstellungen gefunden, die mir tatsächlich das Kompilieren des Beispielprojektes erlaubt haben. Leider habe ich dann den Faden und schließlich das Projekt aus den Augen verloren.

Der nächste Versuch sollte in Matlab stattfinden. Hier hatte ich schließlich schon sämtliche Algorithmen und musste bloß „audioread(xy.wav)“ durch eine simple Abfrage des Mikrofons ersetzen (ein Bisschen Ironie…). Lange Zeit habe ich versucht, Playrec für Matlab zu kompilieren und auf meinem Mac ans Laufen zu bringen. Leider ohne Erfolg. Sämtliche Fehler, die man so im Internet zu dem Thema findet, konnte ich nachvollziehen. Der Entwickler hat seinen Support offenbar eingestellt. Schließlich gelang es mir, Playrec zu kompilieren, jedoch ohne die Core Audio Schnittstelle. Damit war jedoch die einzige Funktion von Playrec dessen Hilfe aufzurufen.

Heute dann bin ich über Stackoverflow auf JUCE aufmerksam geworden. Was soll ich sagen? 2 Std. Tutorial und das Kompilieren klappte auf Anhieb, und das mit Xcode! Ich bin noch immer völlig begeistert und freue mich auf die nächsten Sessions und vielleicht endlich mal auf DSP Programmierung anstatt auf Toolchain-Suche.