[HTLAB.NET] Arduino DRSSTC インタラプタ
半導体で駆動するDRSSTCと呼ばれるタイプのテスラコイルはインタラプタと言われるパルス発生装置で制御を行います。
DRSSTCはパルスのON時間の間だけ動作するようになっています。
今回はArduinoを使用してMIDIにも対応する高機能なインタラプタを製作してみます。
MIDIで操作することによって、音程を表現することが可能になり、コンピュータから音楽を演奏することが出来ます。
参考ページ
インタラプタ基板の製作
今回は、Arduino Microをベースとしてインタラプタの製作をします。
ATmega32U4を搭載しているArduinoはUSBを内蔵しているため、USB-MIDIも可能で都合が良いです。
出力波形を生成する際に、16bitタイマーを使用しようと思います。
しかし、Arduino Unoに搭載されているATmega328では16bitタイマーが1つです。
Arduino Micro / Leonardoでは、16bitタイマは2つあるため出力も2つとなります。
その点からも、Arduino Unoではなく、Arduino Microをベースにしようと思います。
Arduino Micro / Leonardo を使ってインタラプタを製作する方法はページ下部に記述します。
このような専用の基板を設計してみました。
裏面には表面実装部品でArduino Micro互換の回路を実装しています。
回路図等の設計データは公開しています。
ページ下部のダウンロードセクションを参考にしてください。
DIP部品を取り付けた様子です。
ケースに実装する際に操作部分の高さが揃うように部品選定に気を使いました。
専用ケースの製作
タカチ電機工業のTD型アルミダイキャストボックスに合うように基板を設計してあります。
具体的には、「TD10-15-4N」と「TD10-15-4B」に適合します。
こちらも設計データは公開しています。
ページ下部のダウンロードセクションを参考にしてください。
こちらは加工が完了した「TD10-15-4N」です。
基板をはめ込みできるように側面の穴も開けてあります。
USB、MIDIコネクタ、出力のBNCコネクタ部分です。
専用ケースへのインタラプタ基板の組み込み
電池ボックスは単3*6のものを使用します。
3M VHBアクリルフォーム構造用接合テープで固定してあります。
ケース内で電池が抜けることを防止するために、最終的に8mm厚のスポンジを基板の上に貼り付けています。
完成したインタラプタ本体を上から見た図です。
「TD10-15-4N」と「TD10-15-4B」それぞれの製作例です。
専用ケース加工の方法
私はデジタルリードアウト付きの汎用フライス盤で手作業で加工しました。
側面の加工も、マシンバイスにうまく固定して加工していきます。
インタラプタの使用方法
PDFドキュメントが存在していますので、ダウンロードセクションも参考にしてください。
モード切替の方法
MIDI スイッチ(SW1)・MODE スイッチ(SW2)を操作することによって動作モードを変更します。
設定によってはインタラプタモード時にVR4を操作することにより拡張モードを使用可能です。
MIDI スイッチ(SW1) | MODE スイッチ(SW2) | 操作モード |
---|---|---|
OFF | OFF | インタラプタモード |
OFF | ON | バーストモード |
ON | OFF | MIDI モード |
ON | ON | MIDI FIXED モード |
後述する設定を利用することにより、インタラプタモード時に拡張モードを使用することが出来ます。
VR4 回転位置 | 4-MODE 設定時 | 2-MODE 設定時 | 1-MODE 設定時 |
---|---|---|---|
0-25% | インタラプタモード | インタラプタモード | インタラプタモード |
25-50% | ワンショットモード | インタラプタモード | インタラプタモード |
50-75% | ハイパワーモード | ワンショットモード | インタラプタモード |
75-100% | ハイパワーワンショットモード | ワンショットモード | インタラプタモード |
注意事項(テスラコイル焼損の恐れあり)
「4-MODE」設定時:バーストモードからインタラプタモードにモード切替を行う際に、VR4の位置が50-75%の位置にある場合ハイパワーモードに切り替わります。
テスラコイルの焼損を防ぐために、バーストモード使用後は必ずVR4の回転位置を0%に戻してから、インタラプタモードに切り替えてください。
ハイパワーモードを使用しない場合は、「2-MODE」または「1-MODE」設定を使用することを推奨します。
インタラプタモード
設定した周波数・ ON時間の信号を出力する標準的なモードです。
画面2行目に出力周波数とON時間が表示されます。OUT1 / 2同時に同じ信号が出力されます。
基本的にVR1とVR2を操作することにより周波数とON時間を設定します。
VR1 | 周波数変更(5Hz - 1018Hz @ 1Hz Step) |
VR2 | ON時間変更(1us - 254us @ 1us Step) |
VR3 | 割当無し |
VR4 | モード切替(4-MODE / 2-MODE時) |
PUSH1 | 割当無し |
PUSH2 | 割当無し |
ワンショットモード
プッシュボタンの操作で任意タイミングの信号を出力するモードです。
画面2行目にOUT1 / 2それぞれのON時間が表示されます。
基本的にVR1とVR2を操作することによりON時間を設定します。
PUSH1 / 2を押すことによって信号を出力します。
VR1 | OUT1 - ON時間変更(1us - 507us @ 1us Step) |
VR2 | OUT2 - ON時間変更(1us - 507us @ 1us Step) |
VR3 | 割当無し |
VR4 | モード切替(4-MODE / 2-MODE時) |
PUSH1 | OUT1信号出力 |
PUSH2 | OUT2信号出力 |
ハイパワーインタラプタモード
ON時間が長いインタラプタモードです。
画面2行目に出力周波数とON時間が表示されます。OUT1 / 2同時に同じ信号が出力されます。
通常より長い時間の信号を出力可能です。
基本的にVR1 とVR2 を操作することにより周波数とON 時間を設定します。
VR1 | 周波数変更(5Hz - 36Hz @ 1Hz Step) |
VR2 | ON時間変更(0us - 12600us @ 100us Step) |
VR3 | 割当無し |
VR4 | モード切替(4-MODE時) |
PUSH1 | 割当無し |
PUSH2 | 割当無し |
ハイパワーワンショットモード
ON 時間が長いワンショットモードです。
画面2行目にOUT1 / 2それぞれのON時間が表示されます。通常より長い時間の信号を出力可能です。
基本的にVR1とVR2を操作することによりON時間を設定します。PUSH1 / 2を押すことによって信号を出力します。
VR1 | OUT1 - ON時間変更(100us - 12700us @ 100us Step) |
VR2 | OUT2 - ON時間変更(100us - 12700us @ 100us Step) |
VR3 | 割当無し |
VR4 | モード切替(4-MODE時) |
PUSH1 | OUT1信号出力 |
PUSH2 | OUT2信号出力 |
バーストモード
通常のインタラプタモードの出力を断続的に出力させるモードです。
画面1行目にバーストモードのOFF時間とON時間が表示されます。
画面2行目には出力周波数とON時間が表示されます。OUT1 / 2同時に同じ信号が出力されます。
基本的にVR1・VR2・VR3・VR4を操作することにより周波数とON時間、バーストモードのOFF時間とON時間を設定します。
VR1 | 周波数変更(5Hz - 1018Hz @ 1Hz Step) |
VR2 | ON時間変更(1us - 254us @ 1us Step) |
VR3 | バーストOFF時間(516ms - 10ms @ 1ms Step) |
VR4 | バーストON時間(10ms - 516ms @ 1ms Step) |
PUSH1 | 割当無し |
PUSH2 | 割当無し |
MIDIモード
MIDIコネクタまたはUSB-MIDI経由で受信したMIDIの音程を出力するモードです。
画面1行目にOUT1とOUT2が受信するMIDIチャンネルが表示されます。
画面2行目にはOUT1 / 2それぞれの受信したノートナンバーと設定されたON時間が表示されます。
MIDIチャンネルの設定方法については後述します。
基本的にVR1とVR2を操作することによりON時間を設定します。
VR1 | OUT1 - ON時間変更(1us - 254us @ 1us Step) |
VR2 | OUT2 - ON時間変更(1us - 254us @ 1us Step) |
VR3 | 割当無し |
VR4 | 割当無し |
PUSH1 | 割当無し |
PUSH2 | 割当無し |
MIDI FIXEDモード
MIDI使用時にON時間が固定の場合、音程によって音圧が異なって聞こえるため、ON時間に補正をかけるモードです。
画面1行目にOUT1とOUT2が受信するMIDIチャンネルと実際に出力されたON時間が表示されます。
画面2行目にはOUT1 / 2それぞれの受信したノートナンバーと設定されたON時間が表示されます。
MIDIチャンネルの設定方法については後述します。
基本的にVR1とVR2を操作することにより最大ON時間を設定します。
VR1 | OUT1 - 最大ON時間変更(1us - 254us Max @ 1us Step) |
VR2 | OUT2 - 最大ON時間変更(1us - 254us Max @ 1us Step) |
VR3 | 割当無し |
VR4 | 割当無し |
PUSH1 | 割当無し |
PUSH2 | 割当無し |
設定モード1
PUSH1を押したままインタラプタ本体の電源をONにすることで設定モード1に入ります。
拡張モードの使用(4-MODE / 2-MODE / 1-MODE)と出力確認用ビープスピーカーの使用が設定可能です。
VR1を操作することにより拡張モードの使用(4-MODE / 2-MODE / 1-MODE)を切り替えます。
VR2を操作することにより出力確認用ビープスピーカーの使用を切り替えます。
PUSH2を押すことで設定が保存されます。
PUSH2を押さずに電源をOFFにすることで設定を破棄できます。
設定モード2
PUSH2を押したままインタラプタ本体の電源をONにすることで設定モード2に入ります。
MIDIモード使用時の受信チャンネルについて設定可能です。
VR1を操作することによりOUT1の受信チャンネルを設定します。
VR2を操作することによりOUT2の受信チャンネルを設定します。
PUSH1を押すことで設定が保存されます。
PUSH1を押さずに電源をOFFにすることで設定を破棄できます。
生成可能な波形
出力信号は5Vの矩形波となります。
操作モード | 出力周波数 | 出力ON時間 | 備考 |
---|---|---|---|
インタラプタモード | 5Hz - 1018Hz @ 1Hz Step | 1us - 254us @ 1us Step | 常時出力 |
ワンショットモード | 任意タイミング | 1us - 507us @ 1us Step | スイッチトリガー |
ハイパワーモード | 5Hz - 36Hz @ 1Hz Step | 0us - 12600us @ 100us Step | 常時出力 |
ハイパワーワンショットモード | 任意タイミング | 100us - 12700us @ 100us Step | スイッチトリガー |
バーストモード* | 5Hz - 1018Hz @ 1Hz Step | 1us - 254us @ 1us Step | 常時出力 |
MIDIモード | ノートナンバー | 1us - 254us @ 1us Step | ノートONトリガー |
MIDI FIXEDモード | ノートナンバー | 1us - 254us Max @ 1us Step | ノートONトリガー |
*バーストモードの場合、OFF時間516ms - 10ms @ 1ms Step / ON時間10ms - 516ms @ 1ms Stepで変調できます。
Arduino Micro / Leonardo を使った製作方法
このインタラプタはArduino Micro(Leonardoも可)をベースにしているため、ユニバーサル基板でも製作可能です。
以下の通り、周辺回路を接続して、Arduinoにファームウェアを書き込みます。
Arduinoのデジタルピン10が出力1、ピン11が出力2となります。
LCDは無くても動作しますが、VR1~4, SW1~2は接続しておいたほうが使いやすいと思います。
(ファームウェアの設定で初期値なども設定可能なので、必ずしも接続の必要はありません)
ピン番号 | 接続先 | 概要 |
---|---|---|
D0(RX) | MIDI IN | フォトカプラでMIDI信号を受信してください(PC900V/6N138/TLP2361 等) |
D1(TX) | (MIDI OUT) | 現段階では未使用です |
D2 | PUSH1 | プッシュスイッチに接続し、その先をGNDに落としてください(内部Pull-Up済) |
D3 | PUSH2 | プッシュスイッチに接続し、その先をGNDに落としてください(内部Pull-Up済) |
D4 | LCD (RS) | 16文字2行キャラクターLCD「Register Select」ピンに接続してください |
D5 | LCD (ENA) | 16文字2行キャラクターLCD「Enable Signal」ピンに接続してください |
D6 | LCD (DB4) | 16文字2行キャラクターLCD「Data Bit 4」ピンに接続してください |
D7 | LCD (DB5) | 16文字2行キャラクターLCD「Data Bit 5」ピンに接続してください |
D8 | LCD (DB6) | 16文字2行キャラクターLCD「Data Bit 6」ピンに接続してください |
D9 | LCD (DB7) | 16文字2行キャラクターLCD「Data Bit 7」ピンに接続してください |
D10 | OUT1 | 信号の出力です。フォトカプラ等で必ず絶縁して使用してください |
D11 | OUT2 | 信号の出力です。フォトカプラ等で必ず絶縁して使用してください |
D12 | LCD BL | LCDバックライト制御信号線。常時点灯や常時不点灯の場合は未使用 |
D13 | PIEZO | 圧電スピーカーに接続し、その先をGNDに落としてください |
A0 | VR1 | 5V - GND間に接続したボリュームの中点を接続してください。0V - 5Vの入力です |
A1 | VR2 | 5V - GND間に接続したボリュームの中点を接続してください。0V - 5Vの入力です |
A2 | VR3 | 5V - GND間に接続したボリュームの中点を接続してください。0V - 5Vの入力です |
A3 | VR4 | 5V - GND間に接続したボリュームの中点を接続してください。0V - 5Vの入力です |
A4 | SW1 (MIDI) | トグルスイッチに接続し、その先をGNDに落としてください(内部Pull-Up済) |
A5 | SW2 (MODE) | トグルスイッチに接続し、その先をGNDに落としてください(内部Pull-Up済) |
ボリュームの中点とGND間に0.1uFのパスコンを挟んでおくと値が安定して良いです。
出力は必ずフォトカプラ等で絶縁の上、BNC出力としてください。
キャラクターLCDにはコントラスト調整用の半固定抵抗を忘れずに取り付けます。
調整しないとLCDが見えませんので注意してください。
回路図も公開しています。
Document フォルダ内の「Arduino_DRSSTC_Interrupter_Ver1.0_Schematic.pdf」を確認してみてください。
下記の通り、Arduino IDEに必要なライブラリをインストールの上、ファームウェアを書き込んで使用します。
設計データ・ファームウェアのダウンロード
現状のファームウェア等は以下で公開しています。
GitHub - htlabnet/Arduino_DRSSTC_Interrupter_For_v1
(商用利用の場合は、弊社までご連絡ください)
GitHub上に公開しているため、ダウンロードの際は以下の画像の通りにクリックします。
ZIPアーカイブ形式にてダウンロード出来ます。
ZIPファイルを解凍すると以下のフォルダが存在します。
- Design(ケース設計データ等)
- Document(説明書・回路図等の資料)
- Firmware(ファームウェア・メインプログラム)
- Gerber(基板のガーバーデータ)
Firmware フォルダ内にある、「HTLAB.NET_Arduino_DRSSTC_Interrupter.ino」というファイルがメインプログラムです。
専用基板の製作
Gerber フォルダ内にある「Arduino_DRSSTC_Interrupter_Ver1.0_Gerber.zip」ファイル内に、基板製造に必要なガーバーデータが入っています。
プリント基板製造サービスにこのデータを送ることで、同じ基板を製作することが出来ます。
(商用利用の場合は、弊社までご連絡ください)
なお、gerbvを利用することでガーバーデータの確認が出来ます。
ZIPファイルを解凍後、中のファイルをすべて選択し、Layerとして読み込ませてください。
ガーバーデータで専用基板を発注
有名所の中国の格安プリント基板製造業者です。
基板を発注する際には、以下の情報の通りにしてください。
材質(Material) | FR-4(ガラスエポキシ基板) |
層数(Layer) | 2層(両面基板) |
寸法(Dimensions) | 90mm x 140mm |
個数(Quantity) | 欲しい枚数 |
異種面付け(Different Design) | 1(1種類、面付け無し) |
板厚(Thickness) | 1.60mm |
レジスト色(Color) | Blue(青色:当サイトのイメージカラー厳守) |
表面処理(Surface Finish) | お好きな方法(安く済ませるならHASL) |
銅箔厚(Copper Weight) | 1oz |
端面スルーホール(Castellated Hole) | No(無し) |
メタルマスク(Stencil) | これがあるとクリームはんだでリフローが出来ます |
Fusion PCB と ELECROW に発注する際の例です。
ガーバーファイルが入ったZIPファイルをそのままアップロードし、発注を進めてください。
1週間程度で製造が行われ、その後、手元に専用基板が届きます。
実装する部品のリストは、Document フォルダにある「Arduino_DRSSTC_Interrupter_Ver1.0_BOM.csv」に書いてあります。
専用基板へのブートローダーの書き込み
専用基板にて製作した場合、AVRマイコンにArduinoブートローダーが書き込まれていません。
そのため、ファームウェアをArduino IDEより書き込むことは出来ない状態です。
最初にブートローダーを書き込みし、Arduino Microとして認識されるようにしましょう。
USBasp
オープンソースのAVRプログラマー。Amazon等で安価な完成品が購入できます。オススメの方法です。
USBaspをコンピュータと接続し、Zadigを使用してドライバをインストールします。
ZadigにUSBaspが表示されない場合は、「Options」「List All Devices」の順にクリックし表示させます。
当方ではWinUSBとlibusbKで動作しました。libusb-win32ではうまく書き込めませんでした。
細かい差はありますが、上記3種類のドライバはほぼ同じものなので、動作するものを使えばOKです。
プログラマーの準備が完了していれば、Arduinoのツールメニューより、書き込み装置を「USBasp」にすれば使用可能です。
ボードはArduino Microを選んでおきます。
ツールメニューより「ブートローダーを書き込む」をクリックすれば書き込みされます。
「avrdude: warning: cannot set sck period. please check for usbasp firmware update.」との警告が出る場合があります。
こちらを参考にファームウェアアップデートをしておいたほうがいいかもしれません。
情報
購入先
USBtinyISP
こちらも同様のオープンソースのAVRプログラマー。Amazon等で安価な完成品が購入できます。オススメの方法です。
USBaspをコンピュータと接続し、Zadigを使用してドライバをインストールします。
ZadigにUSBaspが表示されない場合は、「Options」「List All Devices」の順にクリックし表示させます。
当方ではlibusb-win32とlibusbKで動作しました。WinUSBではうまく書き込めませんでした。
細かい差はありますが、上記3種類のドライバはほぼ同じものなので、動作するものを使えばOKです。
プログラマーの準備が完了していれば、Arduinoのツールメニューより、書き込み装置を「USBtinyISP」にすれば使用可能です。
ボードはArduino Microを選んでおきます。
ツールメニューより「ブートローダーを書き込む」をクリックすれば書き込みされます。
情報
- USBtinyISP - Inexpensive USB AVR Programmer
- Overview | USBtinyISP | Adafruit Learning System
- Tiny AVR Programmer - PGM-11801 - SparkFun Electronics
- sparkfun/Tiny-AVR-Programmer: Hardware files for the Tiny AVR Programmer
購入先
AVRISP mkII
Atmel-ICEが登場する前にメインで使われていた公式のAVRプログラマーです。
現在は互換品しか手に入らないようです。
MPLAB X等をインストールしてあれば、Microchipの公式ドライバが当たっている状態になっていると思います。
Arduinoより使用する場合は、Zadigを使用して公式ドライバから汎用ドライバに入れ替える必要があります。
当方ではlibusb-win32とlibusbKで動作しました。WinUSBではうまく書き込めませんでした。
フィルタードライバを使用すれば公式ドライバと同居できるのですが、Windows10(20H2)にてうまく動作しませんでした。
libusb-win32-devel-filter-1.2.7.1.exeと、libusbK-3.0.7.0-setup.exeにて試した結果です。
プログラマーの準備が完了していれば、Arduinoのツールメニューより、書き込み装置を「AVRISP mkII」にすれば使用可能です。
ボードはArduino Microを選んでおきます。
なお、電源供給機能はありませんので、ボード外部より電源を供給する必要があります。
ツールメニューより「ブートローダーを書き込む」をクリックすれば書き込みされます。
情報
購入先(製造終了のため互換品のみ)
Atmel-ICE
現在の公式プログラマーです。
MPLAB X等をインストールしてあれば、Microchipの公式ドライバが当たっている状態になっていると思います。
現状Arduino IDEよりうまく扱えません。
情報
購入先
BusPirate as ISP
I2CやSPIを扱うためのデバッグツールです。
情報
購入先
Arduino as ISP
任意のArduinoにプログラマーとなるスケッチを書き込み、Arduinoをプログラマーとする方法です。
情報
Arduino IDEに必要なライブラリを追加
Arduino IDEはすでにインストール済みとします。
現状のファームウェアでは、以下のライブラリが必要です。
- MIDI Library 4.3
- MIDIUSB Library 1.0.3 (USB-MIDI機能を使用する場合)
Arduino IDEにはライブラリの管理機能があります。
上部メニューより「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理」という順でクリックすることにより、ライブラリマネージャが表示されます。
検索欄に「MIDI」などと入力して、必要なライブラリを探してインストールします。
これで、ファームウェアがビルド出来るようになります。
Arduinoへの書き込み方など基本的なことは、様々なサイトで解説されているので省略します。
ファームウェアの設定を行う
現状のファームウェアでは、設定を「settings.h」というファイルにまとめています。
このファイルの内容を書き換えることによって、設定を変更することが可能です。
MIDIUSBライブラリを使用
Arduino Leonardo / MicroにてUSB-MIDI機能を使用する場合にtrueに変更します。
MIDIインターフェースを必要とせずに、MIDIインタラプタを実現できます。
#define USE_MIDIUSB true
有効にしている場合、コンピュータからはUSB-Serialと、USB-MIDIが同時に見えます。
USB-MIDIが有効の場合は、Arduinoの名称でMIDIデバイスとして認識されます。
USBのDescriptor書き換えについては複雑なため割愛させていただきます。
USB-MIDI機能を使用しない場合は以下のようにfalseに変更します。
#define USE_MIDIUSB false
音圧レベルの測定
MIDI経由で演奏を行う場合、音程によって音圧が異なるという問題があります。
ON時間を固定したまま周波数を可変させる場合は、周波数が上がるごとに1秒間あたりの合計のON時間も伸びてしまいます。
よって周波数が上がるにつれて音圧も上がってしまうということになります。
今回はこれを補正するために、補正関数について考えてみます。
小型テスラコイルでの音圧測定
小型テスラコイルから一定の距離を開けて騒音計を設置しました。
周波数を可変させながら、80dBAとなるようにON時間の測定を行いました。
80dBAの値に意味はなく、適当な一定の値としているだけです。
MATLABで測定データを近似してみました。
h=[32 49 65 73 82 98 103 110 116 123 130 138 146 155 164 174 185 196 207 220 233 246 261 277 293 311 329 349 370 392 415 440 466 493 523 554 587 622 659 698 740 784 830 880 932 987 1046];
t=[92 89 85 83 82 81 80 80 80 79 79 79 77 77 77 77 75 75 74 75 75 73 73 71 71 71 71 70 70 69 68 67 67 66 66 65 64 63 62 62 60 61 61 61 60 59 57];
p = polyfit(h,t,2);
h2 = 1:1:1200;
t2 = polyval(p,h2);
plot(h,t,'o',h2,t2);
出力されたグラフです。
等ラウドネス曲線に似た感じになりました。
実際の音圧補正実装
// Hz to ON-Time Percent
uint16_t ontime_fix_per(uint16_t hz) {
return (10000 / (160 + hz)) + 40;
}
最終的には実際に放電を聞いた上での調整を繰り返し、上記のようなコードになりました。
現段階では小型テスラコイルでの実験のみで行っているため、今後さらなる研究が必要になると思われます。
他者のインタラプタ製作例
私以外の製作例の記録です。
掲載希望の場合はお気軽にご連絡ください。
きょうすけ(@tkk_0709)さんの製作例
きょうすけ(@tkk_0709)さんの製作例です。
Arduino Microを使用したものです。
左右に取り付けられたハンドルがカッコ良いですね。
こちらは専用基板を使用したものです。
ケースはタカチ電機工業のYM-150を使用したとのこと。
Chris さんの製作例
オーストラリア住在の Chris さんの製作例です。
ケースはCNCで削り出したパイン材とアクリル板にて製作されています。
スイッチ等の表示も彫刻されていて非常に綺麗です。
DRSSTC本体への接続は光ファイバーを使用したとのこと。
MIDIコネクタは設けず、ArduinoでのUSB-MIDIにて動作しているようです。
ご連絡ありがとうございました!
dominoTECH(@dominodaosi106)さんの製作例
dominoTECH(@dominodaosi106)さんの製作例です。
専用基板を使用していただきました。
液晶画面は秋月電子で購入できるOLED(AL1602AWWB-UA-HB-U)に変更したとのこと。
タカチ電機工業のTD型アルミダイキャストボックス「TD10-15-4N」に自分で塗装しているようです。
塗装が凝っていてカッコいいです!
電池ボックスは埋め込み型にしたようです。
簡単に電池交換できて素晴らしいですね。