[Doku] Bau eines DIY Rack-Loopers

sKu
sKu
Helpful & Friendly User
HFU
Zuletzt hier
12.01.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
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:
RL_grafik.jpg
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:
RL_struktur.gif
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.​


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).
RL_looper.gif
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.
RL_protokoll.gif

Im folgenden Beispiel wären also Switch 1 und Looper 3 aktiviert.
RL_protokoll_bsp.gif

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).
adamhall_87407.jpg

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...
hitpult3003.jpg

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:
RL_preview1.jpg
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!
 
Eigenschaft
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Sehr sehr cool! Bin gespannt auf weitere Ergebnisse!

Kekse gibtÄs wenn ich wieder darf! ;)
 
Das klingt sehr interessant! Ich glaub wenn das klappt werd ich das nachbauen müssen, wollte sowas immer mal machen :D und Info hatte ich ja auch, sollte also gehen. Könnten man den Mikrocontroller mit C++ programmieren? Ist vll. nicht so die schlaue Frage, aber ich hab da nicht wirklich Ahnung von :redface:
 
Die Kontroller kann man mit C und Assembler programmieren. Für C++ ist mir kein Compiler bekannt... allerdings ist Objektorientierung schon ein bisschen heftig für den kleinen :)
 
KLeiner Tip:
Für die AMtels gibt's sogar einen recht komfortablen Pascal Compiler.
Da sind viele Dinge schon realisiert.
AVRco
Es gibt da 2 UmSonst Versionen, eine mit 4K beschränkung und eine mit MEga8/88 Beschränkung...
Beide sind wirklich super. Hab damit schon viel gemacht...
 
Wenn du etwas mehr auf die Programmierung (Compiler, Schnitstelle, Übertrag auf Controller) eingehen könntest wäre das super! Bin selbst ProgrammIrrer, leider nur Applikationen. Der Bereich wäre sehr interessant!

Klingt alles vielversprechend, freu mich auf mehr!
 
KLeiner Tip: Für die AMtels gibt's sogar einen recht komfortablen Pascal Compiler..
Wenn man Pascal mag.. *gg* Ich bin mit C zufrieden und findst nicht unbedingt complexer oder ähnlicher. Mikrokontroller.net bezieht sich leider nur auf ASM und C. Man kanns sich natürlich auch selbst beibringen.

map schrieb:
Wenn du etwas mehr auf die Programmierung (Compiler, Schnitstelle, Übertrag auf Controller) eingehen könntest wäre das super! Bin selbst ProgrammIrrer, leider nur Applikationen. Der Bereich wäre sehr interessant!
Kein Problem, mach ich!
 
Ein tolles und interessantes Projekt!

Irgendwie muss ich mich mal dazu bringen, dass ich mich mehr mit der Informationstechnik beschäftige, die bietet schon sehr viele nette Möglichkeiten. Bisher hab ichs mehr mit der analogen Welt, da ist mehr zu "Anfassen" da.

Ganz konsequent wäre es doch nun, die Übertragung vom Floorboard zum Rack auch per Funk zu machen, oder? Ist natürlich vom Aufwand/Nutzen-Verhältnis eher sinnlos, wäre aber schon stylisch.
 
@sKu. War auch icht gegen Dich gemeint, sondern nur als Information für andere, die vielleicht sich mal damit beschäftigen wollen.

Ich selber komm aus der Delphi/Pascal ecke. Bin ja im Hauptberuf Entwickler, allerdings da Java.
Wenn du schon C beherschst, ok. Der Vorteil von dem Pascal Zeugs ist, das da schon alles wichtige fertig. z.B. Entprellen von Tastern/Schaltern, Ansteuerung von Ports/Beepern, Übertragung mittels RS232 oder auch per Funk :D...
Das sind fertig Bibliotheken, warum soll man da das Rad neu erfinden.

Allerdings gibt's das ganze natürlich auch in C zum Einbinden.

Ich bin sehr gespannt auf das Projekt. Sowas ähnliches schlummert bei mir auch schon seit ein paar Jahren, hab nur einfach zu wenig Zeit für sowas.
Wie machst du den Ploppschutz beim Umschalten?
 
Ganz konsequent wäre es doch nun, die Übertragung vom Floorboard zum Rack auch per Funk zu machen, oder? Ist natürlich vom Aufwand/Nutzen-Verhältnis eher sinnlos, wäre aber schon stylisch.
Theoretisch gehts auch per Funk, klar. Da würden solche Geschichten wie ZigBee in Frage kommen. Allerdings bin ich erstmal aus gründen der Zuverläßigkeit aufs Kabel ausgewichen. Bei Funk weiss man nie, was grade sonst noch alles rumfunkt und gegebenenfalls Ärger verursacht. Funk finde ich persönlich erst dann sinnvoll, wenn sich einer der Knoten mobil ist. Das Floorboard und das Rack sollen möglichst bleiben wo sie sind... ;) Und nen 10m XLR Kabel sollte man live immer auftreiben können.

Willie1968 schrieb:
Wie machst du den Ploppschutz beim Umschalten?
Ich habe 2 Pull-Down Widerstände mit je 220k vorgesehen, die vor und hinter den Loopern sind. Der erste komplette Test damit lief ganz erfolgreich. Allerdings wars zuhause und da könnten die mechanischen Schaltgeräusche der Taster ein mögliches Knacken im Signalweg schon überdeckt haben.

Zu Pascal: Jeder wie ers mag ^^ Es war mir nicht bekannt, das es für AVRs auch Pascal-Compiler gibt. Ich hab mit Pascal angefangen und bin dann durchs Studium in die C, ASM und Java Ecke gekommen. Durch den Studienschwerpunkt dann aber dann doch viel bei C hängengeblieben. Bit-Schuppser halt ;)
 
Hallo,

Coole Sache, endlich wer der den µC in kleinen Geschichten verwendet.
Ich habe eine Anregung: Du könntest dir das Netzteil am Fußschalter sparen wenn du einen 4 Poligen XLR Stecker verbaust.
Die Störsicherheit hast du mit den Symmetrischen Leitungen zur Genüge.

So brauchst du kein Externes Netzgerät am Fuß-Bedienteil.

Link:
NEUTRIK NC4FDL1

Weiters gibt es recht gute und relativ günstige Schaltnetzteile!
Ich hab solche für meine Diplomarbeit benutzt.
Link:
12V 15W Traco Power bei Rs Components
oder wenn du mehr Leistung bräuchtest:
12v 30W Version

Datasheet:
Traco Power
Die haben ziemlich kompakte Abmessungen und sind deren Geld wert!
Könntest den Looper dann sogar überall auf der Welt einsetzen und die gehen sich in die 1HE locker aus!

Ich würd nur vorher Varistor und Sicherung reinhängen.

Lg Norbert
 
Zuletzt bearbeitet:
Danke für die Tipps! Aber 40€ für nen Netzteil find ich schon etwas kräftig. Da würd ich eher ein kleines selbst basteln. Vorerst wirds aber ein externes Schaltnetzteil sein für ca 16€.

Zur mitgeführten Stromversorgung: Hatte ich auch überlegt, nur wäre ich dann wieder von einem sehr speziellen Kabel abhängig. Und da Murphy meistens dafür sorgt, das ein Kabel 3min vor dem Gig bricht... wollte ich eins verwenden, das ich jederzeit ersetzen kann.

Heute abend sollten die nächsten Kapitel online gehen. Wenn nichts dazwischen kommt ;)
 
Hi,

auch was ich jetzt schreibe, ist keineswegs gegen sKus Projekt gerichtet.

Wer allerdings so einen Rack-Looper mit Fußleiste selbst zu bauen plant, sollte auch über alternative Projekte Bescheid wissen.

Deshalb hier ein Link zu einem Racklooper auf Midi-Basis:
http://www.jimkim.de/html/guitar02_01.htm
Der funktioniert also im Primzip mit jeder Midileiste.

Gruß
Ulrich
 
Das Jim Kim Projekt war mir vorher nicht bekannt. Allerdings war mir persönlich der Aspekt des "selber machens" sehr wichtig. Ich wollte nicht einfach nur einen Plan nachbauen, sondern selbst entwickeln.
Das komplette MIDI-Protokoll wollte ich erstmal nicht implementieren. Das man damit eine Schnittstelle zu allen MIDI-fähigen Geräten hätte, ist wohl auch klar ;)

Die von mir hier gebaute Lösung ist keineswegs Konkurrenzfähig und auch nicht vergleichbar mit dem JimKim-Gerät. So fehlen beispielsweise fast sämtliche Arten der Umkonfiguration. Hierfür bedarf es momentan noch einer Umprogrammierung des Kontrollers. Zudem ist es nicht konform zu irgendeinem Standard und kann nur in genau dieser Kombination von Floorboard und Rack eingesetzt werden. Alles Punkte die unschön sind, ebenso wie einige Design-Flaws die sich so langsam rauskristallisieren.
Aber wie schon ganz zu Anfang geschrieben: Ich wollte hauptsächlich Anregungen liefern und keine ultimative Lösung.
 
3. Schaltungen
Die Schaltpläne und Platinen wurden mit Eagle entwickelt. Das Programm ist frei erhältlich und läßt die Entwicklung von zweilagigen Platinen mit Maßen bis zu 8*10cm zu. Das reicht für das hier vorgestellte Projekt aus, sofern man mehrere Platinen fertigt und die Aufgaben verteilt.
Es werden vier Platinen entwickelt: Im Rack stecken ein "Netzteil" mit den Spannungsreglern, die zentrale Komponente mit Mikrokontroller und Loopern sowie das ChaosFuzz. Im Floorboard steckt eine einzelne Platine.
Hier gibt es alle Eagle-Files zum Download.

Fangen wir an mit dem Looper:
Hier befindet sich eine Standard-Beschaltung für den AVR-Mikrokontroller mit externem Quarz und fest verdrahtetem ISP-Programmierstecker. Zusätzlich sind zwei onBoard-Status-LEDs angeschlossen, um Debug-Informationen zu erhalten. Der RS485-Transceiver ist als „Read-Only“ beschaltet. Er kann so nur empfangen, nicht senden. Es ist keine Rückmeldung an das Floorboard eingeplant. Der Mikrokontroller benötigt 5V Versorgungsspannung,
Die Relais brauchen 6V und können nicht direkt betreiben kann werden da diese über 20mA ziehen würden. Also werden diese über NPN-Transistoren geschaltet. Parallel dazu werden eine Status-LED auf der Platine sowie eine extern anschließbare LED (für die Gehäusefront) geschaltet. Vier der Relais dienen als Looper, 2 dienen als einfache Schalter. Hier hätten es auch einfache Relais getan, doch ich hatte noch diese übrig, also war es für mich so günstiger. Alle Relais sind mit Freilaufdioden beschaltet. Induktion hat ihre Tücken ;)
Zum Schaltknacks-Vermeiden sind die Widerstände R21 und R22 als Pull-Down vorgesehen.
Die Schnittstelle zwischen den Looper-Relais und den Effekten bietet ein 4poliger Stecker, der sowohl die beiden Signalleitungen sowie Masse und eine 9V Spannungsversorgung mitführt. Somit spart man sich Verkabelungsaufwand.

Anhang anzeigen 124214

Die Platine ist hier relativ strukturiert aufgebaut. Die roten Leitungen werden als Drahtbrücken ausgeführt. Das lohnt nicht wirklich für eine zweilagige Platine. Die Bohrlöcher passten nicht mehr ordentlich auf die Fläche, daher sollte das verwendete Platinenmaterial größer sein, damit die Bohrungen noch gut sitzen.

Anhang anzeigen 124215

Besonderheit ist hier der Jumper SV1. Dieser trennt das angeschlossene Relais und stellt die Verbindung zum Programmier-Stecker her. Um den Mikrokontroller zu programmieren muss das Relais entsprechend abgetrennt werden.
Die Schnittstelle zwischen den Looper-Relais und den Effekten bietet ein 4poliger Stecker, der sowohl die beiden Signalleitungen sowie Masse und eine 9V Spannungsversorgung mitführt. Somit spart man sich Verkabelungsaufwand.

"Netzteil":
Für den Looper werden 3 Spannungen benötigt: 5V, 6V und 9V. Auf dem Netzteil werden die 12V Eingangsspannung mittels Spannungsregler auf diese Spannungen gebracht.
Jeder Spannungsregler ist bei zu 1A belastbar. Allerdings produziert er dabei eine ganze Menge Wärme, da er die überschüßige Spannung quasi direkt verheizt. Also vorher kurz abschätzen, wie die zu erwartenden Verlustleistungen aussehen:
  • 5V: 7V Spannungsabfall, ca. 50mA (AVR, Transceiver, 2*LC-LED). 0,35W Verlustleistung. Ist im Rahmen und voll OK.
  • 6V: 6V Spannungsabfall , ca. 320mA (6*Relais und Front-LEDs). Das sind satte 1,92W! Hier braucht man schon einen ernstzuehmenden Kühlkörper, ein simpler Aufsteckkühlkörper dürfte hier am Rande seiner Möglichkeiten sein.
  • 9V: 3V Spannungsabfall. Belastung hängt von den verwendeten Effekten ab. Bei 330mA wäre es 1W Verlustleistung, also auch hier wäre ein kleiner Kühlkörper sinnvoll. Just in Case.
Es gilt also fast 3,5W Verlustleistung zu kühlen. Deshalb ist auf der Platine Platz für einen Kühlkörper eingeplant.
Die restliche Beschaltung dient hauptsächlich zur Glättung der Spannungen (die Kondensatoren) sowie zum Verpolungsschutz (die Dioden):

Anhang anzeigen 124217

Die Belegung des Steckers "LED" ist wie folgt konzipiert:

Anhang anzeigen 124213

Dies ist der Einschalter auf der Gehäusefront. Er schaltet die Versorgungsspannung und eine Duo-LED. Diese ist rot, wenn Spannung am Gerät anliegt, dieses jedoch ausgeschaltet ist. Ist das Gerät eingeschaltet, leuchtet sie grün. Kleines Gimmick ;)

Auf der Platine gestaltet sich das als schön kompakt und übersichtlich:

Anhang anzeigen 124216

ChaosFuzz (modifiziert)
Das ChaosFuzz hat AK schon wunderbar in seinem Workshop beschrieben, besser gehts nicht.
Ich habe die Schaltung für mich ein wenig angepasst:
Die Potis sind nicht mehr onBoard, damit es bequemer im Rack verbauen werden kann.
Zudem sind alle relevanten Widerstände durch ein Trimpoti erweitert worden um hier im noch ein wenig flexibler Verzerrungsgrad und Lautstärken einstellen zu können. Zum Schluss ist hier in jeden Verzerrer-Weg eine Höhenblende eingebaut.


Das Floorboard
Der Bodentreter ist quasi die kompakte Variante des Loopers. Hier findet sich die identische Mikrokontroller Konfiguration wieder. Als I/Os sind hier vier Eingänge für die Taster sowie vier Ausgänge für die Status-LEDs belegt.

Anhang anzeigen 124212

Die Herausforderung in diesem Board steckt mehr in der Software als in der Hardware. Die Schalter zu entprellen dürfte hier die Hürde sein. Bei den Taster an Port B sind keine externen Pull-Ups vorgesehen. Hier müssen die Internen des Kontrollers verwendet werden, wenn man lustige Effekte vermeiden will. Schaltet man diese nicht ein, so hat der Eingang des Kontrollers bei nicht gedrücktem Schalter einen undefinierten Zustand und kann im Worst Case fälschlich einen gedrückten Taster erkennen wo keiner ist. Also dran denken.

Anhang anzeigen 124211


Der aufmerksame Leser wird feststellen: Wo ist denn hier die Möglichkeit, die Kiste zu konfigurieren? Diese Möglichkeit ist in Hardware hier hier eingeplant. Die Konfiguration erfolgt nur über die Programmierung des Mikrokontrollers. Somit kann man nichts auf die schnelle ändern, es sei denn, man hat Laptop samt Programmierumgebung dabei. Für mich ist dies ausreichend.
Man kann theoretisch eine Programmierung über lange Tastendrücke einfügen, doch dies wäre mir zu fehlerträchtig. Ich will eine simple Lösung und keine mit Step-Tanz-Konfiguration.

4. Bauteilbeschaffung & Kosten
Die Bauteile habe ich beim „großen R“ sowie bei www.musikding.de bestellt. Letzterer ein echter Tipp ist für alle, die sich mit dem Thema Effekt- oder Verstärkerbau befassen wollen. Alles was man dazu braucht findet man dort zu echt fairen Preisen.
In der Summe sind es in etwa 90,00€ für Bauteile. Die teuren Teile hier die Potis, Taster, LED-Fassungen, Poti-Knöpfe und das 12V-Netzteil…
Man könnte bei dem Molex-Steckverbindern einiges an Geld sparen, doch ich persönlich steh auf die Teile ;) Man könnte stattdessen normale Pin-Header nehmen und damit dann
so um die 7€ sparen. Allerdings muss man dann viel Lötarbeit für die Kabellage leisten.

Die in 2.Mechanisches genannten Gehäuse für Rack und Floorboard schlagen zusammen mit nochmal mit ca 65€ zu Buche. Also summa summarum 155€ Kosten ohne Montagematerial wie Schrauben, Kabelbinder, Schrumpfschlauch...

Falls ihr die konkreten Bestelllisten haben wollt, einfach melden!


5. Aufbau der Hardware
Für die Herstellung sollte man möglichst schonmal Platinen hergestellt haben. Ansonsten wirds hier noch teurer, da hier doch ein wenig Lehrgeld gezahlt wird was Belichtungszeiten und Konzentration der Lösungen zum Ätzen angeht.
Die komplette Herstellung der Platinen, also belichten, ätzen, verzinnen und bohren dauerte einen guten Tag. Das Bestücken mit den Bauteilen ebenfalls nochmal ein Tag. Dazu kommt noch die Kabelage. Also viel Beschäftigung für kalte Wintertage.
Die Schaltungen sind nicht sonderlich komplex oder umfangreich und lassen sich theoretisch auch auf Lochrasterplatinen aufbauen. Da ich aber die Möglichkeit hatte, Platinen zu basteln, habe ich diese auch wahrgenommen.​


6. Programmierung der Mikrokontroller
Vorweg ein paar kurze Grundlagen zum Thema: Wie programmiere ich einen Mikrokontroller. Dabei gehe ich konkret auf die Atmel AVRs ein, da diese im Hobbybereich aktuell wohl der verbreitetsten Typen sind.

Zuerst brauchen wir den Kontroller ansich. Logisch. Dieser benötigt ein paar externe Beschaltungselemente wie Stromversorgung, Programmierschnittstelle und so weiter.
Es gibt fertige "Evaluation-Boards" die quasi alles fertig verdrahtet mitbringen und zusätzlich Standard-Beschaltungen wie Taster, LEDs, serielle Schnittstelle und so weiter gleich integriert haben. Diese dienen dazu, Software zu testen bevor man mit der Entwicklung der eigentlichen Hardware beginnt. Wenn man plant, öfter solche Basteleien zu betreiben, ist so ein Board eine lohnende Investition.
Zur Not tuts hier auch ein einfaches Steckbrett, auf dem man die Schaltung testweise zusammensteckt.

Ein AVR Mikrokontroller bietet üblicherweise mehrere Schnittstellen, über die er programmiert werden kann. Am gängigsten sind dabei der In-System-Programmer (ISP) und das JTAG-Interface. Letzteres ist aufwändiger und bietet die Möglichkeit des "Debuggens". Hier kann zur Laufzeit des Kontrollers das Programm angehalten, überwacht und beeinflusst werden. Eine große Hilfe bei der Entwicklung.

ISP_struktur.gif

Wir brauchen also nun eine Möglichkeit, den Kontroller über eine dieser Schnittstellen mit dem PC zu verbinden. Hierfür gibt es sogenannte "Programmer". Für den Anfang tut es ein einfacher ISP-Adapter. Diese gibt es inzwischen mit USB und für relativ kleines Geld.
Ich verwende zum Beispiel diesen simplen USB-ISP den es unter anderem in der Bucht günstig zu erwerben gibt. Kostenpunkt: ca 15-20€. Es gibt auch diverse DIY-Projekte für solche Programmer, wer sichs zutraut kann da also auch seine Lötfähigkeiten vorher trainieren ;)

Um den Quelltext zu schreiben hilft eine Entwicklungsumgebung ungemein. Diese sollte den Editor bereitstellen und direkt den Programmer ansprechen können. Hier bietet sich für den Anfang das AVR Studio von Atmel an. Dies ist frei erhältlich. Und bietet auch einen Simulator, sodass man seine Software auch ohne Hardware erstmal testen kann. AVR Studio unterstützt die Programmiersprachen Assembler und C . Für letztere bringt es einen integrierten AVR-GCC Compiler mit.

Schreibt man nun ein Programm, muss dieses mittels des Compilers "übersetzt" werden in die Sprache, die der Mikrokontroller versteht. Die dabei entstandene Datei muss danach auf den Mikrokontroller übertragen werden. Danach erfolgt der Start des Programms durch Einschalten des Kontrollers.

Compiler_struktur.gif

Gut, soviel zur Theorie. Doch wie programmier ich den nun diese Kiste? Gute Frage, und die Antwort würde dieses Thread sprengen. Daher verweise ich hier auf das AVR Tutorial auf Mikrocontroller.net. Das ist zwar etwas länger, aber die Sache ist auch etwas komplexer. Das Tutorial ist für jeden, der schonmal nen Widerstand gesehen und ne Zeile Code geschrieben hat sehr verständlich aufgebaut. Lohnt sich wirklich!
Bei der Programmierung solcher Kontroller ist die Denkweise etwas anders verglichen mit normaler "Anwendungsentwicklung" am PC. Im Kontroller sind viele Peripherie-"Geräte" integriert. Hierzu zählen: Timer, ADCs, PWM, UART... Diese Funktionen ersparen sehr viel Rechenzeit, da sie parallel zum eigentlich Programm ablaufen können. Und damit meine ich wirklich parallel. Der Vorteil von Hardwarelösung quasi. Sie müssen nur über das Setzen von bestimmten Optionen aktiviert und konfiguriert werden. Hat man diese Struktur begriffen, ists ziemlich einfach.
Letzendlich haben Mikrokontroller-Programme eine typische Struktur: üblicherweise eine Endlosschleife in der Main-Funktion. Das mag erst mal böse klingen, ist hier aber durchaus gewollt. Das Programm wird mit Einschalten des Kontrollers gestartet und durch kappen der Stromversorgung beendet. In der Zwischenzeit läuft es endlos. Entweder ist alle Funktion direkt in dieser Schleife integriert, oder sie werden in "Interrupt-Service-Routinen " (ISR) ausgelagert. Diese werden durch bestimmte, definierte Ereignisse ausgelöst. So läßt sich besser auf Ereignisse warten. Man muss nicht laufend fragen, ob ein Ereignis eingetreten ist, sondern man wird informiert, das es eingetreten ist. Sehr bequem und vor allem schnell. Schließtlich kann die Wartezeit dann für andere Aufgaben verwendet werden.
Wer weiter in die Materie einsteigen will, findet hier im Beitrag diverse Links, wo es haufenweise Informationen zu diesem Thema gibt.

Die grobe Funktionsweise beziehungsweise den Aufbau der Programme für die beiden Mikrokontroller beschreibe ich hier kurz. Diese sind in C geschrieben und mit AVR Studio entwickelt worden:
Floorboard:
Hier läuft ein „HeartBeat-Timer“. Dieser schaltet jede Sekunde eine der Status-LEDs ein und aus. Der Zweck ist relativ simpel: Blinkt die LED, läuft der Mikrokontroller. Klingt erstmal sehr überflüssig, erspart aber gegebenenfalls ne Menge Fragen. Als kleines Gimmick fadet sie über eine Software-PWM-Ansteuerung ein und aus.
In der Hauptschleife werden die Taster abgefragt. Zum Entprellen verwende ich eine Methode, die ich auf mikrocontroller.net gefunden habe. Diese funktioniert schnell und zuverlässig. Dann brauch ich das Rad auch nicht neu erfinden…
Die dazugehörige ISR wird über Timer0 alle 6ms aufgerufen. Senkt man diese Zeit noch weiter ab, so gab es bei mir Probleme mit den Tastern. Die Problematik des "Entprellens" von Tastern ist hier ganz gut beschrieben.
Insgesamt ergibt sich so eine Latenz von ungefähr 25ms vom Tasterdruck bis zum Empfang der Daten im Rack. Dabei entfallen ungefähr 20ms auf das Entprellen der Taster. Viel schneller gehts also kaum, sofern man nicht mechanisch entprellte Taster verwendet.

Die Konfiguration für die einzelnen Taster ist im Array „PRESETS“ abgelegt. Hier können die Presets für die einzelnen Taster manipuliert werden. Es gibt zwei Betriebsmodi. Den ersten habe ich „Combine“ getauft. Hier verhalten sich die Taster wie vier separate Effekte. Die Presets können unabhängig voneinander ein und ausgeschaltet und somit frei kombiniert werden. Ist dieser Modus nicht aktiv, so ist immer nur maximal ein Preset aktiviert zur Zeit aktiviert.​

Racklooper:
Auch hier läuft der HeartBeat-Timer (T1). Zusätzlich läuft ein Timeout-Timer (T0). Dieser überprüft alle 30ms ob eine Nachricht korrekt empfangen wurde. Ist dies nicht der Fall, so werden die Ausgangspins überschrieben. Sobald wieder eine korrekte Nachricht empfangen wird, geht’s aber weiter. Somit wird gewährleistet, das alle Looper überbrückt werden, falls die Verbindung zum Floorboard abbricht. Stellt man die Verbindung wieder her, wird sie automatisch wieder hergestellt.
Um die Sicherheit der Verbindung zu erhöhen werden sämtliche möglichen Fehler der Übertragung abgefragt. Nur eine fehlerfrei empfangene Nachricht wird akzeptiert.

Das wars auch schon. In der Summe sind es nicht ganz 400 Zeilen Code. Also sehr überschaubar und auch für Programmieranfänger nicht unmöglich. Hier spielt es einem in die Karten, dass man die Mikrokontroller vom Programmspeicher her grade mal zu 25 bzw zu 33% auslastet. Hier ist also viel Platz und von Ressourcenknappheit keine Spur.

Den Quellcode findet ihr hier direkt als AVR-Studio Projekt. Die Source-Dateien könnt ihr natürlich trotzdem auch in jeder anderen IDE verwenden…
Floorboard Quellcode
Racklooper Quellcode

-------------------------------------------
Im nächsten und vermutlich vorerst letzten Teil gehts dann um die Fertigstellung sowie Tests der Bühnentauglichkeit.
 
  • Gefällt mir
Reaktionen: 1 Benutzer
"Du musst erst einige Beträge...." ....verdammt.

Verständliche Beschreiben, echt klasse!
 
Zuletzt bearbeitet:
Erstmal danke für die Klasse Beschreibung. Sieht schon richtig gut aus.
Hat das einen Grund warum du keine 12V Relais verwendest? Die 12V Relais gehen bis 8,4V runter. Du könntest dir damit eine Spannungsversorgung sparen. Oder auch 6V Relais. Die können auch mit 5V betrieben werden...
Noch eine kleine Anregung: Für die Effekte würde ich eine galvanisch getrennte Spannungsversorgung benutzen, damit die Masse vom Controller und von den Effekten nicht zusammen hängen. Ich hab da immer Einstreuungen mit ekeligen Interferenzen drin gehabt.
Und ich würde zumindest bei dem Signalteil der Relais eine Massefläche vorsehen. Die natürlich auf die Signalmasse geht. Das schirmt zusätzlich.
Für den Rest wäre auch eine Massefläche nicht schlecht. Die dann natürlich auf die Masse vom MC.
 
Hi,
cooles Projekt, finde ich super.
Ich würde, wenn ich das gute Stück bauen würde, noch vorne einen Klinke Eingang reinsetzten, falls ich mal ohne Sender spielen will/muss.
 
Erstmal danke für die Klasse Beschreibung. Sieht schon richtig gut aus.
Hat das einen Grund warum du keine 12V Relais verwendest? Die 12V Relais gehen bis 8,4V runter. Du könntest dir damit eine Spannungsversorgung sparen.
Ich hatte die Relais für 6V noch rumfliegen... daher hab ich die verbaut. Letzendlich ist die Idee, dort einfach die kompletten 12V zu nutzen wirklich naheliegend. Mal wieder nicht bis ans Ende gedacht ;) In Version 2.0.... :p
Oder auch 6V Relais. Die können auch mit 5V betrieben werden...
Die Relais haben den höchsten Stromverbrauch. Wenn ich die jetzt auch noch mit über die 5V Schiene laufen lassen würde, würde der Spannungsregler ziemlich kochen...
Ok, beim nächsten mal werdens eh Schaltregler werden.

Noch eine kleine Anregung: Für die Effekte würde ich eine galvanisch getrennte Spannungsversorgung benutzen, damit die Masse vom Controller und von den Effekten nicht zusammen hängen.
Stimmt. Allerdings habe ich bisher keine Probleme damit. Ok, ich teste aktuell auch nur mit dem ChaosFuzz und da ists ziemlich ruhig was Störgeräusche angeht.

Und ich würde zumindest bei dem Signalteil der Relais eine Massefläche vorsehen. Die natürlich auf die Signalmasse geht. Das schirmt zusätzlich.
Für den Rest wäre auch eine Massefläche nicht schlecht. Die dann natürlich auf die Masse vom MC.
Die Masseflächen sind auf den Bildern nicht dargestellt, ums übersichtlich zu halten. Der gestrichelte Rahmen ist ein Masse-Polygon, das quasi alle freie und verbundene Fläche nutzt. Sonst wärs wohl echt mies abgeschirmt ;)

Duff987 schrieb:
Ich würde, wenn ich das gute Stück bauen würde, noch vorne einen Klinke Eingang reinsetzten, falls ich mal ohne Sender spielen will/muss.
Gute Idee! Die Frontbuchse dann mit Schaltkontakt, der die Verbindung zur hinteren Eingangsbuchse trennt, sobald vorne ein Stecker steckt. Feine Idee!

Vielen Dank für die Anregungen!
 
Ich bin gespannt über deine Tests in Proberaum- und Liveumgebung. Ich hab durch Relais im Signalweg von einem Bass bissher immer extrem nerfiges Klacken gehabt =/
 

Ähnliche Themen


Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben