Modern Chimes Entwicklung

Hier ist nun die kurze Geschichte der Entwicklungsschritte bis zur finalen Installation

Dies ist ein Foto des ersten funktionsfähigen Exemplars von Modern Chimes (Künstlerexemplar):

Modern Chimes besteht aus einigen wenigen Funktionseinheiten:

  • Ein frei aufhängbares elektronisches Windspiel aus Plexiglas, 8 Plexiglas-Röhrchen mit eingebetteten Kontakt-Sensoren ohne eigenen Klang.
  • Eine im Windspiel integrierte Funk-Sendeeinheit für die Kontaktsignale zur Empfangsstation.
  • Eine Funk-Empfangseinheit mit angeschlossenem Musiksampler.

Video

Hier ist ein Video von der ersten Vorführung des Künstlerexemplars als Hochzeitsgeschenk an meine lieben Freunde Claudius und Daniela, ohne die ich das Windspiel nie gebaut hätte. Ich wollte etwas Einzigartiges zu diesem sehr besonderen Anlass schaffen.

Im Hintergrund wechsle ich immer wieder einmal die CF Cards (weiter unten beschrieben) um andere Soundszenarios zu laden.

…und nun zur Beschreibung der einzelnen Komponenten

Der Musiksampler

Der Musiksampler vom Typ ROLAND SH-404 wird an der Stereoanlage angeschlossen. Er kann bis zu 12 Klänge gleichzeitig abspielen, das “Modern Chimes” Windspiel sendet bis zu 8 Klangereignisse gleichzeitig.

Die Klänge (Samples) werden über CompactFlash (CF) Karten in den Musiksampler eingelesen und können somit schnell gewechselt werden.

Eigene Samples können mit kostenfreier Software (z.B. Audacity auf PC) einfach erzeugt werden und mit einem Kartenadapter auf die CF Karte (in Root, also ganz oben über dem Roland Ordner) übertragen werden. Die Sounds können MONO oder Stereo sein, AIFF oder WAV, immer jedoch 44.1Khz und 16bit Auflösung. Stereo-Sounds verbrauchen mehr Speicher, ich bin jedoch nicht an Grenzen gestoßen (auch bei Sounds mit einer Minute Länge). Die CF-Karten müssen nach dem Kauf einmalig vom Gerät formattiert werden, siehe dazu das SH-404 Manual. Das geht so schnell, dass man denkt es hat nicht funktioniert. Sind die Sounds auf der Karte, so werden sie in alphabetischer Reihenfolge vom SH-404 in die angewählte Soundbank eingelesen. (Es geht auch Sample für Sample in spezifische Pads, siehe dazu das SH-404 Manual). Das kann etwas dauern, aber nur einmal, denn wenn man später diese Karte einlegt wird sie erkannt und die Sounds müssen nicht mehr eingelesen werden.

Der Musiksampler versorgt die externe Funk-Empfangseinheit mit Strom (9V DC) und wird sinnvollerweise mit einem Verstärker über Kabel angeschlossen. Bei schlechter Erdung könnte ein Brumm entstehen aber dazu gibt es einen Erdungsanschluss auf der Rückseite des SH-404.

Über die 9V DC Buchse wird Strom zugeführt, dabei ist zu beachten dass das Roland Netzgerät +9V aussen und GND innen führt, also umgekehrt als die meisten anderen Netzgeräte.

Die Daten kommen im MIDI Standard über ein MIDI 5pol DIN Kabel aus der Funkempfangseinheit und enthalten Notenwerte. (Note ON) Die Lautstärke ist immer gleich und entspricht der Lautstärke des aufgenommen Samples. (Velocity 127). Die Notenwerte sind konstant, d.h. jede Sensortube sendet bei Kontakt genau einen (und immer denselben) Notenwert.

Das Windspiel sendet also pro Röhrchen einen Notenwert der das Sample auslöst. Der Notenwert kann nicht geändert werden. Die insgesamt 8 Notenwerte sind so ausgelegt dass sie PAD 1-8 der User-Soundbank C ansteuern, nämlich Notenwerte 71 bis 78. Jedes Pad enthält einen anderen gesampleten Sound und kann gleichzeitig mit allen anderen erklingen.

Fortgeschrittene User können Sounds zwischen den Pads umkopieren, das ist im Manual beschrieben. Die gesendeten Notenwerte sind jedoch in der Firmware der Sendeeinheit (Basic Stamp2) festgelegt und immer 71 bis 78.

Die Funkempfangseinheit:

Sie ist ein reiner MIDI Datenempfänger und wird vom Sampler mit 9V gespeist. Dank eines internen Step Up/Step Down Spannungswandlers (Anyvolt Micro von Dimension Engineering) kann jede Spannung zwischen 2.6V und 14V angeschlossen werden. Die Funkeinheit zeigt eine konstant leuchtende rote LED sobald sie mit Strom versorgt wird. Die Funkeinheit enthält XBee Pro Funkmodul (aufgebracht auf einem Droids Simple Board) und reicht etwa 1km im offenen Gelände und durch einige Mauern in Gebäuden. Das XBee Funkmodul ist mit einem Kniff auf die krumme Baudrate von MIDI eingestellt worden, siehe dazu: http://www.ladyada.net/make/xbee/midibee.html .
Als Ausgang dient ein Standard 5pol DIN MIDI Kabel (über einen Dual Hex-Inverter) zum Anschluss an den MIDI IN Port des SH-404

Hier ist ein Foto des Samplers mit angeschlossener Funkeinheit beim Empfang von Daten der Sensortubes 3,4,5,6

Die Sensor-Tubes

(hier noch ohne GND Kabel am Silberbügel fotografiert)

Modern Chimes enthält 8 Sensor Tubes. Jede dieser Plexiglas-Röhren ist am unteren Ende mit einem Hallsensor ausgestattet und erzeugt ein Schaltsignal sobald sich ein Magnetfeld in ausreichender Stärke auf etwa 5mm nähert.

Jede Tube enthält einen Hallsensor (Unipolarer Hallschalter Conrad H501) und einen 1K Widerstand. Der Widerstand liegt zwischen +5V und Sensorausgang und erzeugt am Hallsensor einen “High” Pegel sodass das Signal im undefinierten Zustand nicht flattern kann. (Da ich diesen Widerstand später auch auf dem Microcontrollerboard eingesetzt habe könnte man ihn in der Tube auch weglassen, aber er schadet nicht und man kommt da nicht mehr ran.

Wenn der Hallsensor ein Magnetfeld erkennt schaltet er auf LOW. Der Microcontroller quittiert dies mit einem kurzen grünen LED Blitz.

Zum Schalten des Hallsensors geht nur der Südpol des Magneten, der Nordpol erzeugt keine Wirkung.

Der Hallsensor wird mit einem heiss deformiertem PVC Stab in der Tube auf Position gehalten

Am oberen Ende der Tube ist ein vierpoliger Pin Header eingeklebt, drei Pins sind belegt:

GND (Kabel nach oben zu den anderen GND Kontakten) (hier im Foto nicht gezeigt)

+5V Input (Ringkabel mit roten absteckbaren Jumpern)

Sensor OUT (Kabel zum Microcontroller)

Alle Tubes sind untereinander mit farblich willkürlichen Steckverbindungen ausgerüstet, irgeneine Tube hat immer GND Kontakt und somit alle anderen auch. Das funktionierte bei den Testläufen ausgezeichnet. Von einer Tube geht der schwarz codierte GND Draht zum Microcontroller.

Am Ausgang des Sensors ist ein ca 30cm langes Kabel angelötet welches in einen Pin Stecker endet der dann in den entsprechenden Eingang des Prozessors gesteckt werden kann. Alles ist farbig codiert (nicht schwarz und rot).

Auf den blanken freien PIN (+5V) wird ein rotes Jumperkabel gesteckt, welches die Tubes untereinander mit +5V versorgt. Das Jumperkabel hat wiederum ein 30cm Kabel zur Stromzuführung vom Prozessorboard.

Die Tubes werden an Klemmen über einen Silberdrahtbügel eingehängt. Dieser Silberdrahtbügel kann für Feinjustierungen gebogen werden.

Das Batteriegehäuse

Das Batteriegehäuse die unterste Einheit des Windspieles und damit die zugänglichste. Das Gehäuse kann durch eine Schraubbewegung gegen den Uhrzeigersinn geöffnet werden, dabei besser den oberen Deckel greifen und nicht auf die Neodym-Magneten.

Auf dem Deckel sind die Neodym-Quardermagneten (von Modulor) aufgeklebt, eigentlich braucht man nur 8, ich habe lieber doppelt soviele (also 16 Stück) aufgeklebt, was nicht einfach ist da erstens die richtige Seite zum Hallsensor zeigen muss und die Nachbarmagneten gerne den Magneten anziehen. Die Anbringung am Deckel sichert optimale Ausrichtung zum Hallsensor, da der Deckel immer die gleiche Lage zu den Sensor- Tubes hat (und wenn nicht kann er durch sanfte Drehung in diese gebracht werden)

Zum einfacheren Wechsel der Batterien/Akkus kann die untere Gehäusehälfte mit den Batterien durch eine Steckverbindung komplett vom Windspiel abgetrennt werden. Ein eingebauter Step UP DC-DC Wandler (LV Boost von Dimension Engineering) ist auf 5V eingestellt und wandelt jegliche Eingangsspannung von 0.5V bis 5V auf 5V konstant. Die Ausgangsleistung ist mit 1.5A weit über dem Bedarf und somit wird kein Bauteil warm.Es können also sowohl AA Akkus (3*1.2V = 3.6V) als auch AA Batterien (3*1.5V = 4.5V) verwendet werden.

Die Batterien selbst sind in einem modifizierten Batteriegehäuse (von 4*AA auf 3*AA reduziert und abgerundet) untergebracht. Die Verkleinerung und Abrundung ist notwendig damit die Stromversorgung in das Plastikgehäuse passt (leider nicht von Modulor, nur vom Grossisten als Muster zu bekommen) Auf die richtige Polung und festen Sitz ist zu achten. Die Batterien immer von der PLUS Seite auslösen, da sonst die Minus-Federn verbiegen können. Natürlich auf die richtige Polung axchten und lieber Zeit lassen und zweimal nachsehen. Drei geladene Akkus 2700mAh halten etwa einen halben Tag, Batterien vermutlich länger aber deren Verwendung macht ökologisch keinen Sinn.

Sobald der Power Stecker eingesteckt wird blinkt die rote LED des Wireless Moduls und die grüne LED blitzt bei Magnetfeldkontakt kurz auf.

Beim Wieder-Anschrauben des unteren Teiles des Batteriegehäuses bitte darauf achten dass das Gehäuse nicht verkantet (schräg) festgeschraubt wird.

Das Prozessorboard

Das Windspiel wird mit Batterien betrieben da eine externe Stromzufuhr die Flexibilität in der Ortsauswahl für die Anbringung im Wind einschränken würde.

Der Prozessor wurde auf einem Bread Board programmiert und die Schaltung getestet. Dann konnte das eigentliche Prozessorboard hergestellt werden und der Prozessor wurde dort aufgesteckt

Das Prozessorboard besteht aus einem Basic Stamp2 (ich habe auch den Basic Stamp2sx getestet aber der bringt keinerlei Vorteil) und einem XBee Pro Wireless Funkmodul (aufgebracht auf einem Droids Simple Board). Das Funkmodul hat eine Reichweite von einem Kilometer im offenen Gelände.

Das Prozessorboard ist eine rund geschliffene Lochrasterplatine in der Größe der Plastikschachtel (welche leider nicht bei Modulor sondern nur als Sample vom Grossisten zu bekommen war) in die sie eingepasst wird.

An den Eingängen PO bis P7 vom Basic Stamp2 sind Pinbuchsen für die Sensoren angelötet sowie je ein 10K Widerstand auf +5V um den Eingang auf HIGH zu legen. auf Pin 24 wird +5V zugeführt und für die Sensoren bereitgestellt, auf Pin 23 GND.

Pin 13 steuert eine LED an, die über 220 Ohm gegen +5V geschaltet ist, d.h. zum Leuchten schaltet der PIN auf LOW.

Der serielle Ausgang des Basic Stamp2 liegt auf PIN 20 und geht über einen 220 Ohm Widerstand in den RX Eingang des XBee Pro Moduls. Dieses Modul ist der Einfachheit halber auf einem Droids Simple Board aufgesteckt welches die 3.3V Stromversorgung regelt, LEDs hat und PINS im richtigen Lochrasterabstand. An dieses Simple Board wird GND und +5V zugeführt.

Das XBee Pro Modul wurde auf MIDI Baudrate eingestellt, eigentlich ist das nicht möglich aber dank dieses Hinweises doch: http://www.ladyada.net/make/xbee/midibee.html

Der BasicStamp2 fragt in einer Endlosschleife die Sensoreingänge ab. Stellt er ein LOW (Hallsensor hat geschaltet) an einem Eingang fest, dann blinkt kurz die grüne LED und eine für diesen Sensor spezifische Midi Note (Notenwert 71 bis 78 je nach Sensortube) wird auf den seriellen Ausgang geschickt welche das Funkmodul sofort sendet. Ein Entprellungs-Softwaremodul sorgt dafür dass eine einmal erklingende Note nicht zu schnell wieder angeschlagen werden kann.

Unten am Prozessor (wie gesagt PIN 24 und PIN 23) ist ein Steckerkabel angelötet welches durch das Plastikgehäuse in das Batteriegehäuse führt und somit den Strom zuführt.

Eine Anmerkung zum Transport und zur Aufhängung:

Die Neodym Magneten sind trotz ihrer kleinen Abmessungen enorm stark. Wenn man zu nach an einem Stahlregal oder Stahlstange vorbeigeht, reisste es alle Magneten trotz Superkleber von dem Gehäusedeckel ab, also immer sehr bedacht und weit weg von metallischen Gegenständen transportieren und aufhängen.

Für einen fast reibungslosen Rundlauf ist die obere Aufhängung eine Neodym Magnetkugel, deswegen am Besten einen Gegenmagneten oder eine Kette zur Aufhängung verwenden. Immer die Aufhängung mit der Nylon Sicherungsschnur absichern, da bei einem Absturz das filigrane Objekt sicher beschädigt wird, ist kein iPhone…

MODERN CHIMES V2

Modern Chimes V2 bedeutet nicht dass dies eine “verbesserte” Version ist, sie ist nur anders.

Version 1 hatte eine besondere Empfindlichkeit im Umgang, beim Transport und Handling. Dies war bedingt durch die Neodym Magneten und deren ausserordentlicher Kraft.

Ich wollte in der neuen Version dies umgehen und habe deswegen eine völlig andere Art der Sensorik benutzt. Der Aufbau wird dadurch wesentlich einfacher, Transporte sind auch nicht mehr kritisch.

Weiterhin hatte Version 1 den Nachteil dass für die Erzeugung eines Musikereignisses immer dieselbe Kraft durch den Wind benötigt wurde und deswegen das Chime nicht für verschiedenen Windstärken einstellbar war. Auch dies habe ich in Version 2 geändert, Version 2 hat nun einen Schalter für eine zweistufige Sensitivität.

Version 2 lässt sich zudem programmieren ohne dass der BasicStamp herausgenommen werden muss und hat einen on/off Schalter. Version 2 benutzt nicht mehr 4 sondern nur noch 2 Batterien und hat deswegen nur noch die Hälfte der Laufzeit.

Im Vergleich zu Version 1, der Ur-Version, verhält sich diese neue Ausführung anders, ich wollte auch keine Kopie erzeugen, sondern andere Erfahrungen und Wechselwirkungen provozieren.

Hier alle Änderungen tabellarisch:

  • Programmierstecker zur Programmierung ohne Demontage
  • Keine Hallsensoren und Neodym-Magneten, jetzt Biegesensoren in der Tube-Aufhängung
  • Programmierbare Sensitivität, schaltbar in zwei Stufen
  • Wartepausen pro Sensor zur weniger nervösen Musikerzeugung bei starkem Wind
  • zwei statt vier Batterien
  • Alles auf einer Platine auf oberer Plattform, Mittelstab komplett entfallen
  • Vierkant Acrylstäbe statt runden Acrylröhren
  • Neu wegen Biegesensoren: Autokalibrierung nach Einschalten

Nach wie vor verwende ich einen Basic Stamp SX, auch wenn ich es vielmals bereut habe da der geringe Variablenspeicherplatz und sehr beschränkter Sprachumfang die Programmierarbeit erheblich verkompliziert. Bei der nächsten Version würde ich gerne einen anderen Prozessor verwenden um wesentlich komplexere Sensorauswertungen vornehmen zu können.

Beim Sampler und dessen Midi Funkempfangseinheit gibt es keine Änderungen, nur beim Chime und dessen Prozessorplatine.

Midi Empfänger

MODERN CHIMES V3

Mein Lieblingsprojekt “Modern Chimes” lässt mich gedanklich nicht in Ruhe. Jetzt ist 2013 und ich bin soweit fertig mit der neuen Version.

Warum wieder eine neue Version? Ich habe bei Vorführungen der Version 2 bemerkt, dass das Ergebnis zwar beeindruckend war, aber nicht so wie ich ursprünglich wollte. Es war gut und ich hätte es so lassen sollen. Wäre da nicht ein Teil der Idee von John Cage in mir, die den Zufall will und braucht, aber innerhalb einer kontrollierten oder geplanten Umgebung.

Um mehr Kontrolle über die Funktion des Windspiels zu erhalten, musste ich auf jeden Fall den Prozessor wechseln. Deswegen bin ich erstmalig auf Arduino umgestiegen, in meinem Fall einem Arduino Micro. Das Programmieren des Arduinos ist für mich supereinfach, da ich mir bei der Entwicklung der Datenhandschuhe wirklich Hardcore Programmierung in C und C++ beigebracht habe und hier im Windspiel wesentlich weniger zeitkritische Prozesse ablaufen. Ich habe den Code dann auch noch energieeffizienter gestaltet und komme nun mit einem Satz (4 Stk. 2950mAh Mignon) geladener Akkus 12 Stunden weit, d.h. das Windspiel kann den ganzen Tag lang ohne weiteres Dazutun funktionieren.

Weiterhin habe ich nun einen UP!plus 3D-Drucker und wollte mir das Gehäuse des Windspiels selber designen und ausdrucken. Das war besonders schwierig, da ich trotz jahrelanger 3D-Modelliererfahrung aus den Zeiten meiner Firmen Vierte Art GmbH und noDNA AG keine Werkzeug mehr hatte, mit dem ich (legal) vernünftig konstruieren konnte. Ich habe es letztlich nach monatelangen Versuchen doch mit Google Sketch gemacht und bin durch viele Höllen gegangen.

Auch der drahtlose Midi Noten Empfänger, den ich als Zusatz zum Sampler gebaut hatte musste ein Gehäuse erhalten und dieses ist nun 3D gedruckt, das war recht einfach.

Aus der Erfahrung von V2 wollte ich nun in V3 die hängenden Sensortuben unter Vorspannung halten, d.h. die Biegesensoren hängen nicht gerade nach unten, sondern leicht schräg. So sind sie bereits gekrümmt bei Windstille und das sorgt für stabilere Werte.

Weiterhin gibt es nun einen Drehregler der die Sensitivität des Windspiels einstellen kann. Gegen den Uhrzeigersinn wird es sensibler, im Uhrzeigersinn wird es weniger empfindlich und daher weniger nervös bei stärkerem Wind. Deswegen entfällt der bisherige Schalter der zweistufigen Sensitivität. Diese ist nun intern in 11 Stufen unterteilt. Der Regler wird einmalig nach dem Einschalten eingelesen, d.h. beim Verändern muss aus/eingeschaltet werden.

Zudem war es bisher so, dass jeder angeschlagene Ton (bzw. jedes getriggerte Sample) gleichlaut war, nämlich genau in der aufgenommenen Lautstärke. Das ist nun nicht mehr so. Die Lautstärke wird nun durch einen Zufallsprozess aus vier Lautstärken ausgewählt. Das bringt mehr Dynamik und Variation.

Es wird für eine bestimmte Zeit pro Sensor die Wiederholung eines Ereignisses unterdrückt, bis zu etwa 70 Sekunden, d.h. die Samples sollen sich nicht dauernd wiederholen wenn der Wind gleichförmig ist und sich das Windspiel nicht im Wind dreht.