ホール効果センサを使用してオルガンのペダル位置を磁気的に検出

磁気は、世の中で最も魔法に近いものかもしれません(マイクロコントローラは僅差の2位です)。これらの両方を組み合わせた事例をご紹介します。また、バッハについてもお話しします。つまり、J.S.バッハのことです。オルガンのペダルは鍵盤と同じように動作し、オルガン奏者にとってもう1つの「入力デバイス」となります(図1)。

図1:オルガンのペダルは、鍵盤と同様に配列されています。このペダルでチョップスティックスを弾けると思いますか?(画像提供:マイケル・ダン)

それはさておき、この記事の内容はあらゆる種類のペダルに当てはまります。実際に、ほぼすべての種類のスイッチングまたは位置センシングアプリケーションに当てはまります。どうぞ読み進めてください。

私のオルガン経歴(読み飛ばしても結構です)

私は10代の頃から、パイプオルガンまたはその手頃な複製品を所有したいと思っていました。それは主に、J.S.バッハの壮大な音楽を演奏するためでした。パリにあるサンジェルマン・ロクセロワ教会の荘厳なパイプオルガン(図2)で演奏されるバッハの曲がどのように聴こえるか、想像できますか?費用とスペースの問題でパイプオルガンは撤去されたため、初期の全アナログの巨大設計から後のデジタル生成されたアディティブシンセシスのコンセプトに至るまで、何十年も電子オルガンの設計を夢見てきました。あえて言うなら、鍵盤とペダルボードを取得した以外、このような計画は進展しませんでした。もちろん、電子オルガンを購入することもできましたが、自分の好みに合うものがありませんでした。それに、購入しても何も面白くありません。

図2:これを設置するスペースはなく、販売されてもいません。(画像提供:パリのサンジェルマン・ロクセロワ教会、Wikipedia.orgより)

しかし近年、Hauptwerk(もちろんご存知かと思いますが、オルガンの第一鍵盤のドイツ語名です)などのプログラムが、サンプリング技術を使用して本物のオルガンの音を再現する優れたエンジンを開発しました。これで、楽器を一から設計するという夢を諦める時が来たと思います。

ペダル位置のセンシング

オルガンのシミュレーションに商用ソフトウェアを使用すると決断した後に、2~3台の鍵盤とペダルボードを含むコンソールを構築するという仕事が残りました。私が何年も前に取得したそれらの機構には、いかなる種類のスイッチング/センシングも含まれていませんでした。どうすればよいでしょうか?

昔ながらの解決策は、それぞれのキーとペダルに何らかのスイッチ(または裸の端子)を使用することでした。しかし、これはベロシティや位置センシングを妨げます。なぜオルガンのためにそんなことを気にするのかと思うかもしれませんが、クラシックの全機械式オルガンはタッチに反応すると分かったからです(もちろん、ピアノほどではありません)。

これにより、千鳥状のペア端子(ベロシティを取得するために開放端子と閉鎖端子の間の時間を測定)、光学、圧力、容量性、誘導性を含む複数のスイッチオプションが残りましたが、私は磁気センシングに魅力を感じました。リニアホール効果センサは、低コスト、低電力、実装オプション、および位置センシングを提供するため、優れた選択肢であると思いました。幅広い選択肢がありますが、私は小型ブレークアウトボードに実装された32個のHoneywell SS39ETホール効果センサを使用することにしました(図3)。この時点では、SparkFunPRT-08024絶縁ワイヤを使用して、電源のみが接続されています。私が1979年頃に、Honeywellで夏休みのアルバイトをしていたと信じられますか?それは、私がホール効果に初めて触れた瞬間でした。ホール効果は、キーボード(楽器用ではなくコンピュータ用のキーボード)のスイッチで使用されていました。

図3:小型ブレークアウトボードに実装された5個のHoneywell SS39ETホール効果センサの写真。この写真が示すように、この時点では電源のみが接続されています。(画像提供:マイケル・ダン)

私が持っていた懸念事項の1つは、ペダル間の磁気クロストークでした。簡単なテストでは、隣接する磁石の移動によって、テスト対象のセンサに約2%の出力変化しか起きませんでしたが、このアプリケーションでは許容範囲内です。必要な磁界を提供するために、Radial Magnets Inc.が提供する直径½インチの8184磁石をペダルに実装しました(図4)。より高感度なユースケースの場合、磁気シールドが必要になる可能性もあります。ワイヤの屈曲を許容できるなら、別のオプションとして、磁石を固定してセンサを動かすこともできます。

図4:ペダルに実装された磁石は、ホール効果センサを刺激するのに必要な磁界を提供しました。(画像提供:マイケル・ダン)

マイクロコントローラの魔法

次に、マイクロコントローラを選択する必要がありました(このケースでは、小型ボードに実装します)。1個だけを生産するために、ホイール(またはプリント基板)を再発明する必要はありません。私の選択で最も重要な要素は、「プロセッサをどのようにプログラムしたいか」でした。お決まりの答えとして、Arduino環境またはメーカーの開発サポートを使用した「C言語」が思い浮かびました。しかし、MicroPythonの良い評判を聞いていましたし、通常のPythonのファンでもあったため、それを試してみることにしました。結局、Adafruit3857 Feather M4 Expressボードを選択しました。これは、Microchip TechnologyATSAMD51J19A-AU-EFB 120MHz Arm Cortex-M4コア、および優れたペリフェラルセットを備えています。AdafruitにはCircuitPythonと呼ばれるMicroPythonの独自バージョンがあるため、私はそれを使用することにしました。

この言語選択では、速度が短所となります。Pythonはコンパイルではなく解釈されるため、C言語の速度の数パーセントでしか動作しません(結果は、ライブラリ使用などの要素によって異なります)。このプロジェクトのリアルタイムな特性を考えるとPythonを断念する必要があるかもしれませんが、それは今後のブログのトピックとします。いずれにせよ、これは素晴らしい学習経験になるでしょう。

私たちがマイクロコントローラに求めるものとは一体何でしょうか?何よりもまず、ホール効果センサのスキャン、その読み取り値を楽器デジタルインターフェース(MIDI)のノートベロシティに変換すること、そしてオルガンソフトウェアを実行するホストコンピュータにそのデータをUSB経由で送信することです。

次に、2~3台のキーボードからシリアルMIDIデータを受信することです。このデータも、USB接続を介して集められます。少なくとも今のところは、168個のキーセンサを配線する大規模プロジェクトに取り組むよりも、所有するいくつかの旧式シンセサイザを臨時で使用することに決定しました。さらに、ペダルと比べてキーの間隔が近いということは、クロストークが問題になる可能性があることを意味します。ここでは、おそらく反射型光センサを選択すべきでしょう。私がこの回路をブレッドボードより恒久的なものに移動させることは、おそらくないと思います。現在の形式では、Texas Instrumentsが提供する2個の74HC4067 16-to-1マルチプレクサが、32個のセンサ出力の1つをマイクロコントローラへルーティングします (図5)。MIDI入力には、ON Semiconductorが提供する3個のH11L1オプトカプラが必要です(図5)。

図5:左から右へ:Feather M4マイクロコントローラボード、2個の74HC4067 CMOSアナログマルチプレクサ、およびMIDI入力用の3個のH11L1ロジックレベルオプトカプラ。(画像提供:マイケル・ダン)

CUI Devicesが提供する3個のSD-50SN DINジャックは、オプトカプラ入力に配線され、標準MIDI入力として機能します(図6)。

図6:標準MIDI DINジャック。(画像提供:CUI Devices)

プロセッサが提供する優れたシステム機能の1つが、自動較正です。ホール効果センサ、磁石、位置決めのバリエーションにより、磁石が最も離れているときに、各センサはミッド電源から特定の出力電圧範囲を生成し、ペダルが押し下げられると約1ボルトを通過します。各ペダルが押し下げられる場合の較正手順を踏むことにより、マイクロコントローラはそれぞれの最低/最高値をフラッシュメモリに保存します。

結論

何十年もペダルボードの上でぐずぐずしてきましたが(文字通りではなく比喩的な意味です)、ついに実現できることを非常にうれしく思います。その過程で、磁気センサや最新のマイクロコントローラについてさらに学び、新しいMIDIペダルボード(一般的なアイテムではありません)の発見や購入を通じて多くを節約できました。出回っているほとんどのホール効果センサはおそらくシンプルなスイッチですが、リニアホール効果センサは汎用センシングソリューションとして役立ちます。

また、私たちは、多くの低コスト開発ボードや優れた開発環境を含むマイクロコントローラの黄金時代に生きています。もうすぐ、CircuitPythonがこのプロジェクトに最適かどうかが分かるでしょう。最適でなければ、実行速度ゆえに別のソリューションを選択する必要があります。

残っているのは、ハードウェアの配線を終わらせ、ソフトウェアに取り掛かることだけです。私はすでに、CircuitPythonのMIDIおよびUSBライブラリの実験に成功しました。いくつかの問題に直面したものの、Adafruitのサポートフォーラムからの支援で解決できました。ファームウェア側に集中し、完成したシステムでの詳細な報告を準備して、すぐに戻ってきたいと願っています。

関連記事:

MicroPythonによる、リアルタイムマイクロコントローラ使用アプリケーションの迅速な開発、ジェイコブ・ベニンゴ、2017年

エンジニアのためのバッハ、マイケル・ダン、EDN、2013年

著者について

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