Verwendung von Hall-Effekt-Sensoren zur magnetischen Erfassung der Orgelpedalposition

Magnetismus ist vielleicht das, was der Magie am nächsten kommt (Mikrocontroller kommen dem ebenfalls sehr nahe). Hier ist eine Geschichte, die beides vereint. Und außerdem: Bach. Damit meine ich J.S. Bach. Die Pedale einer Orgel verhalten sich wie eine Tastatur und geben dem Organisten ein weiteres „Eingabegerät“ (Abbildung 1).

Abbildung 1: Orgelpedale sind wie eine musikalische Tastatur aufgebaut. (Bildquelle: Michael Dunn)

Die hier geführte Diskussion gilt jedoch für alle Arten von Pedalen. In der Tat gilt dies für fast jede Art von Schalt- oder Positionserkennungsanwendung, die Sie sich vorstellen können. Lesen Sie weiter.

Mein Hintergrund zum Thema Orgel (kann übersprungen werden)

Seit meiner Teenagerzeit wollte ich eine Orgel oder ein vernünftiges Replikat davon besitzen - vor allem, um die großartige Musik von J.S. Bach zu spielen. Können Sie sich vorstellen, wie Bach auf der prächtigen „Orgue de l'église Saint Germain l'Auxerrois“ in Paris (Abbildung 2) klingen würde? Da Kosten und Platz die ersteren ausschließen, beschäftige ich mich seit Jahrzehnten mit elektronischen Orgeln, von meinen frühen, rein analogen Monsterentwürfen bis hin zu späteren digital generierten additiven Synthesekonzepten. Es genügt zu sagen, dass diese Pläne, abgesehen von der Anschaffung von Keyboards und einem Pedalboard, ins Leere liefen. Sicher, man könnte auch eine elektronische Orgel kaufen, aber keine war nach meinem Geschmack, und wo bleibt da der Spaß?

Abbildung 2: Dafür ist kein Platz, und außerdem ist sie nicht zu haben. (Bild und Quelle: Orgue de l'église Saint Germain l'Auxerrois, Paris, via Wikipedia.org)

Aber in den letzten Jahren haben sich Programme wie Hauptwerk (der deutsche Name für eine der Klaviaturen einer Orgel, aber das wussten Sie natürlich) zu bemerkenswerten Maschinen entwickelt, um die Klänge echter Orgeln mittels Sampling-Technologie nachzubilden. Ich gestehe, dass es für mich an der Zeit ist, meine Träume, ein Instrument von Grund auf zu entwerfen, aufzugeben.

Erkennung der Pedalstellung

Nachdem ich mich entschieden hatte, kommerzielle Software für die Orgelsimulation zu verwenden, blieb mir nur noch der Bau des Musikpults - einschließlich zwei oder drei Tastaturen und einem Pedalboard. Ich habe diese Mechanismen vor vielen Jahren erworben, und sie enthalten keinerlei Schaltung/Sensorik. Was ist zu tun?

Die primitive Lösung wäre, für jede Taste und jedes Pedal eine Art Schalter (oder blanke Kontakte) zu verwenden. Dies schließt jedoch eine Geschwindigkeits- und Positionserfassung aus. Sie werden sich vielleicht fragen, warum mich das bei einer Orgel interessieren sollte, aber es stellt sich heraus, dass klassische, vollmechanische Orgeln auf Berührung reagieren (natürlich nicht in dem Maße wie z.B. ein Klavier).

Damit blieben immer noch mehrere Schalteroptionen übrig, darunter gestaffelte Kontaktpaare (Messung der Zeit zwischen dem Öffnen des einen und dem Schließen des anderen, um die Geschwindigkeit zu ermitteln), optische, Druck-, kapazitive und induktive Schalter, aber ich fühlte mich zur magnetischen Abtastung hingezogen. Ein linearer Hall-Effekt-Sensor schien der richtige Weg zu sein, da er kostengünstig ist, wenig Strom verbraucht, Montageoptionen bietet und die Position erfasst. Es gibt eine große Auswahl, aber ich habe mich für 32 Hall-Effekt-Sensoren der Serie SS39ET von Honeywell entschieden, die auf kleinen Break-out-Boards montiert sind (Abbildung 3). An dieser Stelle ist nur die Stromversorgung über die isolierten Kabel PRT-08024 von SparkFun angeschlossen. Können Sie sich vorstellen, dass ich im Sommer 1979 einen Ferienjob bei Honeywell hatte? Es war meine erste Begegnung mit dem Hall-Effekt. Er wurde in Tastaturschaltern (Computertastaturen, nicht in Musikinstrumenten) verwendet.

Abbildung 3: Ansicht von fünf SS39ET-Halleffektsensoren von Honeywell, die auf kleinen Break-out-Boards montiert sind. Wie Sie sehen, ist an dieser Stelle nur die Stromversorgung angeschlossen. (Bildquelle: Michael Dunn)

Eine Sorge, die ich hatte, war das magnetische Übersprechen zwischen den Pedalen. Ein Schnelltest zeigte, dass das Verschieben eines benachbarten Magneten nur eine Ausgangsänderung von etwa 2 % im getesteten Sensor verursacht, was für diese Anwendung akzeptabel ist. Um die erforderlichen Magnetfelder zu erzeugen, habe ich 8184-Magnete mit ½ Zoll Durchmesser von Radial Magnets Inc. verwendet, die in die Pedale eingebaut wurden (Abbildung 4). Für empfindlichere Anwendungsfälle kann eine magnetische Abschirmung erforderlich sein. Eine andere Möglichkeit wäre, die Magnete zu befestigen und die Sensoren zu verschieben, wenn Sie mit der Biegung des Kabels leben können.

Abbildung 4: In den Pedalen montierte Magnete sorgten für das notwendige Magnetfeld zur Anregung der Hall-Effekt-Sensoren. (Bildquelle: Michael Dunn)

Mikrocontroller-Magie

Als nächstes musste ich einen Mikrocontroller auswählen - in diesem Fall auf einer kleinen Platine. Warum das Rad (bzw. die Platine) bei einer Auflage von einem Stück neu erfinden? Der wichtigste Aspekt bei meiner Wahl war: „Wie wollte ich den Prozessor programmieren?“ Die Standardantwort, „in C“, kam mir in den Sinn, entweder in der Arduino-Umgebung oder mit der Entwicklungsunterstützung des Herstellers. Aber ich hatte schon viel Gutes über MicroPython gehört, und als Fan von normalem Python beschloss ich, es auszuprobieren. Ich habe mich für das 3857 Feather M4 Express-Board von Adafruit entschieden, das mit einem 120-MHz-Arm-Cortex-M4-Kern von Microchip Technology ATSAMD51J19A-AU-EFB und einem guten Satz Peripheriegeräte ausgestattet ist. Adafruit nutzt eine eigene Version von MicroPython, CircuitPython genannt, die ich verwenden werde.

Der Nachteil dieser Sprachwahl ist die Geschwindigkeit. Da Python interpretiert und nicht kompiliert wird, läuft es nur mit ein paar Prozent der Geschwindigkeit von C (Ihre Ergebnisse hängen von Faktoren wie der Bibliotheksnutzung ab). In Anbetracht der Echtzeit-Natur dieses Projekts muss ich möglicherweise auf Python verzichten, aber das ist ein Thema für einen zukünftigen Blog. Es wird so oder so eine großartige Lernerfahrung sein.

Was genau soll der Mikrocontroller tun? In erster Linie wird er die Hall-Effekt-Sensoren abtasten, ihre Messwerte in die Notenanschlagstärke der digitalen Musikinstrumenten-Schnittstelle (MIDI) übersetzen und diese Daten über USB an den Host-Computer senden, auf dem die Orgelsoftware läuft.

Zweitens empfängt es serielle MIDI-Daten von den zwei oder drei Keyboards, die ebenfalls über den USB-Anschluss geleitet werden. Ich habe beschlossen, zumindest für den Moment, einige alte Synthesizer, die ich noch herumliegen habe, in Betrieb zu nehmen, anstatt das viel größere Projekt der Verkabelung von 168 Tastensensoren in Angriff zu nehmen. Außerdem bedeutet der engere Abstand der Tasten im Vergleich zu den Pedalen, dass Übersprechen zu einem Problem werden könnte. Vielleicht wären optische Reflexionssensoren hier der richtige Weg. Ich werde diese Schaltung wahrscheinlich nie auf etwas Dauerhafteres als eine Steckplatine verlegen. In seiner aktuellen Form leiten zwei 16-zu-1-Multiplexer 74HC4067 von Texas Instruments einen der 32 Sensorausgänge an den Mikrocontroller weiter (Abbildung 5). Die drei Optokoppler H11L1 von ON Semiconductor werden für die MIDI-Eingänge benötigt (Abbildung 5).

Abbildung 5: Von links nach rechts: Die Feather-M4-Mikrocontrollerplatine, die beiden CMOS-Analogmultiplexer 74HC4067 und die drei Logikpegel-Optokoppler H11L1 für den MIDI-Eingang. (Bildquelle: Michael Dunn)

Drei DIN-Buchsen SD-50SN von CUI Devices werden mit den Optokopplereingängen verdrahtet und dienen als Standard-MIDI-Eingänge (Abbildung 6).

Abbildung 6: Die Standard-MIDI-DIN-Buchse seit, nun ja, ewig. (Bildquelle: CUI Devices)

Eine großartige Systemfunktion, die der Prozessor bietet, ist die automatische Kalibrierung. Aufgrund von Variationen bei den Hall-Effekt-Sensoren, den Magneten und der Positionierung erzeugt jeder Sensor einen bestimmten Ausgangsspannungsbereich, der ungefähr von der Mitte der Versorgungsspannung, wenn der Magnet am weitesten entfernt ist, bis zu fast einem Volt reicht, wenn das Pedal betätigt wird. Durch das Durchlaufen einer Kalibrierungsprozedur, bei der jedes Pedal betätigt wird, speichert der Mikrocontroller Min-/Max-Werte für jedes im Flash-Speicher.

Fazit

Nachdem ich jahrzehntelang auf meinem Pedalboard saß (im übertragenen Sinne, nicht wörtlich), freue ich mich sehr, es endlich zum Leben zu erwecken. Dabei lerne ich mehr über magnetische Sensoren und die neuesten Mikrocontroller und spare eine Menge Geld gegenüber der Suche und dem Kauf eines neuen MIDI-Pedalboards (glauben Sie mir, kein alltäglicher Gegenstand). Die meisten Hall-Effekt-Sensoren in der freien Wildbahn sind wahrscheinlich einfache Schalter, aber lineare Sensoren eignen sich für vielseitige Messlösungen.

Wir leben zudem in einem goldenen Zeitalter der Mikrocontroller, einschließlich vieler preiswerter Entwicklungsboards und großartiger Entwicklungsumgebungen. Ich werde bald sehen, ob CircuitPython für dieses Projekt geeignet ist, oder ob ich wegen der Ausführungsgeschwindigkeit eine andere Lösung wählen muss.

Jetzt muss nur noch die Hardware fertig verdrahtet werden, dann geht es an die Software. Ich habe bereits erfolgreich mit den MIDI- und USB-Bibliotheken von CircuitPython experimentiert, obwohl ich auf ein paar Probleme gestoßen bin, die mit Hilfe der Support-Foren von Adafruit gelöst wurden. Ich hoffe, bald mit einem vollständigen Bericht über das fertige System zurückzukehren, wobei ich mich auf die Firmware-Seite der Dinge konzentrieren werde.

Verwandte Artikel:

Schnelle Entwicklung von Echtzeitanwendungen auf Mikrocontroller-Basis mithilfe von MicroPython, Jacob Beningo, 2017

Bach für Ingenieure, Michael Dunn, EDN, 2013

Über den Autor

Image of Michael Dunn

Michael Dunn has several decades of electrical engineering experience under his belt and was more recently Editor-in-Chief of Scope Junction and EDN.

More posts by Michael Dunn
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum