sKu
Helpful & Friendly User
- Zuletzt hier
- 23.12.24
- Registriert
- 27.06.05
- Beiträge
- 3.260
- Kekse
- 19.420
Projekt Rack-Looper - Dokumentation eines Selbstbau-Projekts.
Dieser Beitrag ist nicht als Workshop gedacht sondern ist als Anregung an Bastler und die, die es einmal werden sollen. Er verbindet Mikrokontrollerprogrammierung mit dem analogen Effektbau und ist für mich Neuland. Für viele andere vermutlich auch, daher habe ich mich bemüht, meine gemachten Erfahrungen hier zu veröffentlichen.
Das ganze ist nicht als Papiertiger konzipiert sondern ist zu weiten Teilen schon umgesetzt...die Entwicklung läuft dieser Doku ein wenig vorraus, damit ich einen gewissen Vorsprung habe und auch unerwartete Probleme und deren Lösungen beschreiben kann.
Und nun mal schauen, ob ichs so verständlich hinbekommen, das dies auch für Leute verständlich ist, die noch nie einen Mikrokontroller "von innen" gesehen haben. Solls ja geben
1. Einleitung
2. Planung & Entwurf
---------------------------------------------------------------------------------
Soweit zum ersten Teil. Im nächsten Teil gehts dann an die Umsetzung, konkret erstmal um die Schaltpläne und um die Platinenlayouts. Bei Fragen und Anregungen: bitte melden!
Zum aktuellen Stand: Platinen sind gefertigt und getestet, die Mikrokontroller sind programmiert. Die Rack-Komponenten sind noch auf einem Testaufbau befestigt, da ich das Rackgehäuse noch nicht habe. Der Test im Proberaum steht noch aus...
Das Floorboard ist inzwischen fertig:
Ja, die große Alufläche schreit nach gravieren
Ich suche momentan noch eine Möglichkeit, dort möglichst genau Beschriftungen eingravieren zu können... mal schaun.
Feedback erbeten!
Dieser Beitrag ist nicht als Workshop gedacht sondern ist als Anregung an Bastler und die, die es einmal werden sollen. Er verbindet Mikrokontrollerprogrammierung mit dem analogen Effektbau und ist für mich Neuland. Für viele andere vermutlich auch, daher habe ich mich bemüht, meine gemachten Erfahrungen hier zu veröffentlichen.
Das ganze ist nicht als Papiertiger konzipiert sondern ist zu weiten Teilen schon umgesetzt...die Entwicklung läuft dieser Doku ein wenig vorraus, damit ich einen gewissen Vorsprung habe und auch unerwartete Probleme und deren Lösungen beschreiben kann.
Und nun mal schauen, ob ichs so verständlich hinbekommen, das dies auch für Leute verständlich ist, die noch nie einen Mikrokontroller "von innen" gesehen haben. Solls ja geben
1. Einleitung
Als glücklicher Rack- und Funkstrecken-Benutzer komme ich immer ins Schwitzen sobald es um Effekte geht. Es ist mir ein Dorn im Auge, erst das Basssignal via Funke ins Rack zu schicken um es dann von dort aus mittels Kabel zum Floorboard und wieder zurück zu leiten. Irgendwie unschön.
Aber was hat man schon als Ausweg? Teure, kaum erhältliche Rackeffekte kaufen? Käuflichen Midi-Switcher-Lösungen sind sehr teuer und bieten viel mehr als ich eigentlich brauche. Daher will ich etwas basteln das es mir ermöglicht, "normale" Bodentretereffekte ins Rack zu bauen und diese dennoch wie gewohnt per Fusstaster schalten zu können.
Da ich zudem Spaß am Löten habe und Technische Informatik mein zuhause ist... ran an den Speck.
Zielsetzung
Das Ziel ist es, serielle Effektwege aufzubauen, wie man sie vielleicht vom Verstärker her kennt. Die Effektwege sollen allerdings schaltbar sein, sprich überbrückbar. Will man den Effektweg nicht benutzen, wird er einfach überbrückt beziehungsweise das Signal mittels "True-Bypass" daran vorbei geleitet. So ein Konstrukt bezeichnet man als "Looper".
Es sollen mindestens vier Looper verbaut werden, die seriell verschaltet sind. Zusätzlich soll noch mindestens ein Schaltkontakt integriert werden, mit dem Fusschalter-Eingänge von Geräten (Amps, Effekte) betrieben werden können. So will ich beispielsweise den Mute-Eingang meines Racktuners betreiben.
Die folgende Grafik zeigt, wie der Aufbau ungefähr gedacht ist:
Randbedingung für den ganzen Spass ist natürlich, das es absolut zuverlässig und robust läuft. Nichts ist überflüssiger als unzuverlässiges Equipment auf der Bühne
und da soll die Kiste ja nun mal hin.
Struktur
Um dieses Vorhaben umzusetzen braucht es zwei Mikrokontroller. Einen im Rack und einen im Floorboard.
Mikrokontroller kann man sich in etwa als absolut minimalistischen Computer vorstellen. Sie können programmiert werden und führen quasi Software aus. Anders als ein PC, der flexibel so ziemlich jede Aufgabe übernehmen kann, sind Mikrokontroller eher dafür gedacht, eine ganz konkrete Aufgabe zu erfüllen. Dies ergibt sich meist auch schon durch den Umstand, das die einzelnen Kontakte des Kontrollers fest auf der Platine verbunden sind...
Die grobe Struktur ist in der folgenden Grafik dargestellt:
Das Floorboard besitzt Taster, mit denen die Presents abgerufen werden. Wird ein Taster gedrückt, so wird das entsprechende Kommando an das Rack geschickt und der dortige Mikrokontroller schaltet die gewünschten Looper.
Aber was hat man schon als Ausweg? Teure, kaum erhältliche Rackeffekte kaufen? Käuflichen Midi-Switcher-Lösungen sind sehr teuer und bieten viel mehr als ich eigentlich brauche. Daher will ich etwas basteln das es mir ermöglicht, "normale" Bodentretereffekte ins Rack zu bauen und diese dennoch wie gewohnt per Fusstaster schalten zu können.
Da ich zudem Spaß am Löten habe und Technische Informatik mein zuhause ist... ran an den Speck.
Zielsetzung
Das Ziel ist es, serielle Effektwege aufzubauen, wie man sie vielleicht vom Verstärker her kennt. Die Effektwege sollen allerdings schaltbar sein, sprich überbrückbar. Will man den Effektweg nicht benutzen, wird er einfach überbrückt beziehungsweise das Signal mittels "True-Bypass" daran vorbei geleitet. So ein Konstrukt bezeichnet man als "Looper".
Es sollen mindestens vier Looper verbaut werden, die seriell verschaltet sind. Zusätzlich soll noch mindestens ein Schaltkontakt integriert werden, mit dem Fusschalter-Eingänge von Geräten (Amps, Effekte) betrieben werden können. So will ich beispielsweise den Mute-Eingang meines Racktuners betreiben.
Die folgende Grafik zeigt, wie der Aufbau ungefähr gedacht ist:
Struktur
Um dieses Vorhaben umzusetzen braucht es zwei Mikrokontroller. Einen im Rack und einen im Floorboard.
Mikrokontroller kann man sich in etwa als absolut minimalistischen Computer vorstellen. Sie können programmiert werden und führen quasi Software aus. Anders als ein PC, der flexibel so ziemlich jede Aufgabe übernehmen kann, sind Mikrokontroller eher dafür gedacht, eine ganz konkrete Aufgabe zu erfüllen. Dies ergibt sich meist auch schon durch den Umstand, das die einzelnen Kontakte des Kontrollers fest auf der Platine verbunden sind...
Die grobe Struktur ist in der folgenden Grafik dargestellt:
2. Planung & Entwurf
Aufbau eines Loopers
Ein Looper ist relativ einfach zu bauen. Man benötigt dafür zwei Umschalter. Diese leiten in Ruhestellung den Signalweg direkt vom Eingang zum Ausgang oder aber in betätigtem Zustand vom Eingang des Loopers (Input) zum Eingang des Effektgeräts (Send) und vom Ausgang des Effektgeräts (Return) zum Ausgang des Loopers (Output).
Diese Funktion kann auch mit einem 2*UM-Relais realisiert werden. Eine Relais ist ein Schalter, der mittels Anlegen einer Spannung geschaltet werden kann. Für diesen Zweck also gradezu ideal. Hier bietet sich zum Beispiel das Finder 30.22 Relais an.
Wahl der Mikrokontroller
Als Mikrokontroller werden AVR ATtiny2313 von Atmel verwendet. Diese Kontroller-Familie ist sehr verbreitet und somit gibt es hier viel Unterstützung und Hilfsmittel, die einem den Umgang mit ihnen sehr erleichtern.
Der 2313 ist von der Bauform her relativ klein (20Pins), bietet aber dennoch bis zu 18 I/O-Pins und haben mit 2K Flash genug Programmspeicher. Durch die Anzahl der Pins ist somit auch die maximale Anzahl von Loopern festgelegt. Es können hier mit vertretbarem Aufwand bis zu 8 Ausgänge angesteuert werden.
Der AVR lässt bis zu 20MHz zu. Das mag in Zeiten, in denen selbst Handys schon mehrere hundert MHz haben sehr wenig erscheinen, doch wenn man diese Leistung nicht mit allen unnötigen Gimmicks und Klingeltönen verbrät, ist damit so einiges möglich. Ich wähle hier relativ konservativ 8MHz als Takt. Dies ist für die hier gestellten Aufgaben immer noch viel zu schnell, aber niedrigere Taktraten würden kaum nutzen bringen. Also lieber ein bisschen zuviel Leistung
Kommunikation
Kernbestandteil des Projekts ist es, Daten zwischen dem Floorboard um dem Racklooper auszutauschen. Solche Aufgaben werden im Bühnenalltag typischerweise über das MIDI-Protokoll gelöst. Dies ist mir für dieses Projekt allerdings zu aufwändig und zu umfangreich. Hier genügt ein ganz einfaches Protokoll. Es sollen ja nur zustände gewechselt werden und keine konkreten Werte übertragen werden. Wichtig ist lediglich, das die physikalische Basis, der Bus, so robust ist, dass er im Bühnenalltag auch funktioniert. Deshalb habe ich mich für den RS485-Bus entschieden, auf dem zum Beispiel sowohl MIDI als auch DMX basieren. Die beide scheinbar gut damit zurechtzukommen. Hierfür werden 2 Leitungen benötigt, die ein differenzielles Signal übertragen. Somit ist das System gegenüber Einstreuungen quasi immun.
Die eigentliche Kommunikation, also die Sprache die auf diesem Bus gesprochen wird, wird mittels Programmierung der Mikrokontroller Software realisiert. Der AVR bieten von Haus aus eine serielle Schnittstelle (UART). Diese kann mittels eines externen Transceiver-Bausteins für die RS485 Kommunikation genutzt werden.
Das Kommunikations-Protokoll kann denkbar einfach ausfallen:
Es können bis zu 8 Ausgänge angesteuert werden. Diese steuern Relais an, die genau 2 Zustände haben können: Geschaltet und nicht geschaltet. Dementsprechend passt sämtliche Information, die wir übertragen müssen in ein einziges Byte. Jedes Bit steht hier für den gewünschten Zustand eines Relais.
Im folgenden Beispiel wären also Switch 1 und Looper 3 aktiviert.
Dieses Byte wird kontinuierlich vom Floorboard gesendet, auch wenn kein Taster gedrückt wurde. Somit kann der Empfänger erkennen, dass die Verbindung zum Sender unterbrochen ist. Sollte auf der Bühne irgendwie die Verbindung unterbrochen werden, so soll der Empfänger dies merken und entsprechend handeln können. Er soll also immer einen bekannten Zustand haben.
Für die Geschwindigkeit nehme ich relativ geringe 4800baud (Bits/Sekunde). Dazu ein Stopp-Bit und ein Paritybit, um die Übertragungssicherheit zusätzlich zu erhöhen. Somit erkennt der Empfänger, ob ein Bit fehlerhaft übertragen wurde. Ist dies der Fall, verwirft er die Daten.
Somit haben wir ungefähr alle 3ms ein Byte empfangen. Hier tritt also keine nennenswerte Verzögerung auf. Die Verarbeitungszeit der Mikrokontroller ist hier zu vernachlässigen. Sie liegt deutlich unterhalb einer Millisekunde...
Mechanisches
Die Rackkomponenten sollen in ein 1HE-Rackgehäuse verbaut werden. Hier bietet sich beispielsweise das Adam Hall 87407 an. Dieses gibt es diversen Musikhändlern für ca 50. zum Beispiel hier (bei MS nicht im Angebot).
Da der Looper Gehäuse nicht annähernd füllen wird liegt die Idee nahe, den Platz im Gehäuse für weitere Geräte zu nutzen. Hey, wir haben doch die komplette Gehäusefront quasi frei! Also warum nicht 1-2 Effekte dort direkt ins Gehäuse verbauen? Schöne Idee! Hier soll ein Chaos-Fuzz Platz finden, allerdings leicht modifiziert mit je einer zusätzlichen Höhenblende pro Kanal.
Später soll ein EHX Big Muff Bass PI gekauft, ausgeschlachtet und eingebaut werden. Allerdings erst, wenn der Rest stabil und zuverläßig seinen Dienst tut.
Das Floorboard ist Gehäusetechnisch schon schwieriger. Da hier mindestens vier Fußtaster Platz finden sollen und im hektischen Bühnenalltag auch bequem zu bedienen sein sollen, muss es relativ breit und dabei flach sein. Natürlich auch robust, schließlich wirds mit Füßen getreten...
Eines der wenigen Gehäuse, die hier in Frage kommen ist das Hit Pult 3003. Dieses ist zwar recht hoch, bietet aber genug Platz und eine solide Front zu einem bezahlbaren Preis. Durch die Gesamtbreite von über 30cm lassen sich hier bequem die Taster platzieren. Ob das Kunststoffgehäuse zusätzlich versteift werden sollte, wird die Praxis zeigen...
Als Steckerformat für die Datenleitung entscheide ich mich für XLR entschieden. Vorteil ist hier, das man hier jedes Standardkabel verwenden kann. Es ist also Live immer Ersatz beschaffbar, man ist nicht von irgendeinem Spezial-Kabel abhängig. Klinke ist hier keine Alternative, da es nur zwei Leitungen hat und drei (2*Daten und Masse) benötigt werden.
Elektrisches
Beginnen wir mit der Stromversorgung:
Ich habe keinen passenden Trafo auftreiben können, der in 1HE Bauhöhe passen würde, daher wirds ein externes Netzteil werden. Es werden bis zu 9V Spannung benötigt, wenn man Effekte wie das Chaos Fuzz mit integrieren möchte. Um diese Spannung stabil zu gewährleisten sollte man sie durch Spannungsregler stabilisieren. Typischen Spannungsregler vom Typ 78xx mindestens 2V höhere Eingangsspannung brauchen, ist ein externes 12V DC Netzteil nötig.
Das Floorboard benötigt nur 5V für den Mikrokontroller. Somit kann man ein handelsübliches, externes 9V Netzteil DC Netzteil verwenden. Besser noch ein regelbares, das auch Zwischenstufen wie zB 7,5V anbietet, um die Verlustleistung am Spannungsregler zu minimieren.
Ein Looper ist relativ einfach zu bauen. Man benötigt dafür zwei Umschalter. Diese leiten in Ruhestellung den Signalweg direkt vom Eingang zum Ausgang oder aber in betätigtem Zustand vom Eingang des Loopers (Input) zum Eingang des Effektgeräts (Send) und vom Ausgang des Effektgeräts (Return) zum Ausgang des Loopers (Output).
Wahl der Mikrokontroller
Als Mikrokontroller werden AVR ATtiny2313 von Atmel verwendet. Diese Kontroller-Familie ist sehr verbreitet und somit gibt es hier viel Unterstützung und Hilfsmittel, die einem den Umgang mit ihnen sehr erleichtern.
Der 2313 ist von der Bauform her relativ klein (20Pins), bietet aber dennoch bis zu 18 I/O-Pins und haben mit 2K Flash genug Programmspeicher. Durch die Anzahl der Pins ist somit auch die maximale Anzahl von Loopern festgelegt. Es können hier mit vertretbarem Aufwand bis zu 8 Ausgänge angesteuert werden.
Der AVR lässt bis zu 20MHz zu. Das mag in Zeiten, in denen selbst Handys schon mehrere hundert MHz haben sehr wenig erscheinen, doch wenn man diese Leistung nicht mit allen unnötigen Gimmicks und Klingeltönen verbrät, ist damit so einiges möglich. Ich wähle hier relativ konservativ 8MHz als Takt. Dies ist für die hier gestellten Aufgaben immer noch viel zu schnell, aber niedrigere Taktraten würden kaum nutzen bringen. Also lieber ein bisschen zuviel Leistung
Kommunikation
Kernbestandteil des Projekts ist es, Daten zwischen dem Floorboard um dem Racklooper auszutauschen. Solche Aufgaben werden im Bühnenalltag typischerweise über das MIDI-Protokoll gelöst. Dies ist mir für dieses Projekt allerdings zu aufwändig und zu umfangreich. Hier genügt ein ganz einfaches Protokoll. Es sollen ja nur zustände gewechselt werden und keine konkreten Werte übertragen werden. Wichtig ist lediglich, das die physikalische Basis, der Bus, so robust ist, dass er im Bühnenalltag auch funktioniert. Deshalb habe ich mich für den RS485-Bus entschieden, auf dem zum Beispiel sowohl MIDI als auch DMX basieren. Die beide scheinbar gut damit zurechtzukommen. Hierfür werden 2 Leitungen benötigt, die ein differenzielles Signal übertragen. Somit ist das System gegenüber Einstreuungen quasi immun.
Die eigentliche Kommunikation, also die Sprache die auf diesem Bus gesprochen wird, wird mittels Programmierung der Mikrokontroller Software realisiert. Der AVR bieten von Haus aus eine serielle Schnittstelle (UART). Diese kann mittels eines externen Transceiver-Bausteins für die RS485 Kommunikation genutzt werden.
Das Kommunikations-Protokoll kann denkbar einfach ausfallen:
Es können bis zu 8 Ausgänge angesteuert werden. Diese steuern Relais an, die genau 2 Zustände haben können: Geschaltet und nicht geschaltet. Dementsprechend passt sämtliche Information, die wir übertragen müssen in ein einziges Byte. Jedes Bit steht hier für den gewünschten Zustand eines Relais.
Im folgenden Beispiel wären also Switch 1 und Looper 3 aktiviert.
Dieses Byte wird kontinuierlich vom Floorboard gesendet, auch wenn kein Taster gedrückt wurde. Somit kann der Empfänger erkennen, dass die Verbindung zum Sender unterbrochen ist. Sollte auf der Bühne irgendwie die Verbindung unterbrochen werden, so soll der Empfänger dies merken und entsprechend handeln können. Er soll also immer einen bekannten Zustand haben.
Für die Geschwindigkeit nehme ich relativ geringe 4800baud (Bits/Sekunde). Dazu ein Stopp-Bit und ein Paritybit, um die Übertragungssicherheit zusätzlich zu erhöhen. Somit erkennt der Empfänger, ob ein Bit fehlerhaft übertragen wurde. Ist dies der Fall, verwirft er die Daten.
Somit haben wir ungefähr alle 3ms ein Byte empfangen. Hier tritt also keine nennenswerte Verzögerung auf. Die Verarbeitungszeit der Mikrokontroller ist hier zu vernachlässigen. Sie liegt deutlich unterhalb einer Millisekunde...
Mechanisches
Die Rackkomponenten sollen in ein 1HE-Rackgehäuse verbaut werden. Hier bietet sich beispielsweise das Adam Hall 87407 an. Dieses gibt es diversen Musikhändlern für ca 50. zum Beispiel hier (bei MS nicht im Angebot).
Da der Looper Gehäuse nicht annähernd füllen wird liegt die Idee nahe, den Platz im Gehäuse für weitere Geräte zu nutzen. Hey, wir haben doch die komplette Gehäusefront quasi frei! Also warum nicht 1-2 Effekte dort direkt ins Gehäuse verbauen? Schöne Idee! Hier soll ein Chaos-Fuzz Platz finden, allerdings leicht modifiziert mit je einer zusätzlichen Höhenblende pro Kanal.
Später soll ein EHX Big Muff Bass PI gekauft, ausgeschlachtet und eingebaut werden. Allerdings erst, wenn der Rest stabil und zuverläßig seinen Dienst tut.
Das Floorboard ist Gehäusetechnisch schon schwieriger. Da hier mindestens vier Fußtaster Platz finden sollen und im hektischen Bühnenalltag auch bequem zu bedienen sein sollen, muss es relativ breit und dabei flach sein. Natürlich auch robust, schließlich wirds mit Füßen getreten...
Eines der wenigen Gehäuse, die hier in Frage kommen ist das Hit Pult 3003. Dieses ist zwar recht hoch, bietet aber genug Platz und eine solide Front zu einem bezahlbaren Preis. Durch die Gesamtbreite von über 30cm lassen sich hier bequem die Taster platzieren. Ob das Kunststoffgehäuse zusätzlich versteift werden sollte, wird die Praxis zeigen...
Als Steckerformat für die Datenleitung entscheide ich mich für XLR entschieden. Vorteil ist hier, das man hier jedes Standardkabel verwenden kann. Es ist also Live immer Ersatz beschaffbar, man ist nicht von irgendeinem Spezial-Kabel abhängig. Klinke ist hier keine Alternative, da es nur zwei Leitungen hat und drei (2*Daten und Masse) benötigt werden.
Elektrisches
Beginnen wir mit der Stromversorgung:
Ich habe keinen passenden Trafo auftreiben können, der in 1HE Bauhöhe passen würde, daher wirds ein externes Netzteil werden. Es werden bis zu 9V Spannung benötigt, wenn man Effekte wie das Chaos Fuzz mit integrieren möchte. Um diese Spannung stabil zu gewährleisten sollte man sie durch Spannungsregler stabilisieren. Typischen Spannungsregler vom Typ 78xx mindestens 2V höhere Eingangsspannung brauchen, ist ein externes 12V DC Netzteil nötig.
Das Floorboard benötigt nur 5V für den Mikrokontroller. Somit kann man ein handelsübliches, externes 9V Netzteil DC Netzteil verwenden. Besser noch ein regelbares, das auch Zwischenstufen wie zB 7,5V anbietet, um die Verlustleistung am Spannungsregler zu minimieren.
---------------------------------------------------------------------------------
Soweit zum ersten Teil. Im nächsten Teil gehts dann an die Umsetzung, konkret erstmal um die Schaltpläne und um die Platinenlayouts. Bei Fragen und Anregungen: bitte melden!
Zum aktuellen Stand: Platinen sind gefertigt und getestet, die Mikrokontroller sind programmiert. Die Rack-Komponenten sind noch auf einem Testaufbau befestigt, da ich das Rackgehäuse noch nicht habe. Der Test im Proberaum steht noch aus...
Das Floorboard ist inzwischen fertig:
Ich suche momentan noch eine Möglichkeit, dort möglichst genau Beschriftungen eingravieren zu können... mal schaun.
Feedback erbeten!
- Eigenschaft