12chアッテネータ2検討(まとめ2)

まとめ2

モーターボリューム駆動回路とその制御についてまとめます。

モーター駆動回路

採用したモーターボリュームの仕様は以下のとおりです。

モーターは正転と逆転が必要なので2端子へ双方向に電流を流す必要があります。駆動回路のドライバにはバイポーラトランジスタを使用しました。回路図は以下のとおりです。

オペアンプは、単電源で出力電圧範囲の広いNJM13404を使用しました。電源電圧を6Vとし、正逆転時ともに、モーターの標準駆動電圧4.5Vをキープできるように設計しました。入力は0/5Vで、Cont1とCont2の一方のみ5Vを入力するとモーターが回転します。両方5Vを入力すると貫通電流によりドライバ用トランジスタが破壊するので制御に注意が必要です。モーターボリュームは3個なので、上記回路を1枚の基板に3系統実装しました。

マイコン制御

arduino UNOを使ってモーターボリュームAssyの制御確認を行いました。写真は実験用システムです。

最初にキーを押すごとに微少ボリュームをアップ/ダウンするソフトを作成して、0~-35dBまでのポジション電圧を決めました。ポジション電圧はarduino UNOのA/D入力ポートを使って10bit精度で読みとった電圧値(mV)です。その各電圧値となるようにキー操作でモーターボリュームを動作させて、制御時の誤差の確認を行いました。

結果はVolミニマムから2回アップダウンを繰り返して、各減衰量の最大偏差の確認を行っています。精度は高いとは言えませんが、使えるレベルと判断しました。参考に4連ボリューム自体の偏差も確認しました。

精度を上げる為に、モーターをPWM波形で駆動しています。Dutyは67%としました。但し、長距離移動時は精度よりも速度が必要な為、移動距離によって切り替えます。下記はフル移動時の制御波形とポジション電圧波形です。

上がモーター駆動波形で、下がポジション電圧波形です。目標位置に近づいたタイミングで駆動波形をPWMに切り替えています。

表示

今回初めて有機EL方式のOLEDパネルを使用しました。採用したパネルは以下のものです。

秋月電子から1,580円で購入しました。通信はI2Cの3.3V仕様です。arduino UNOと接続の際は双方向のレベル変換回路が必要です。レベル変換回路も秋月電子で購入しました。

まずは参考ソースをコンパイルして表示の動作確認をして、必要な表示機能を理解していきました。下記が機能確認用のシステムです。

マイコンの回路図は以下のとおりです。

OLEDパネルとマイコン基板配線は以下のとおりです。

OLEDパネルの機能理解に手こずりましたが、本製作に必要な表示機能の確認ができました。

シールド基板実装

arduinoから沢山の制御信号を出力するために、今回初めて電線を斜めに挿すタイプの端子台を採用しました。シールド基板には端子台以外に表示パネル制御用にレベル変換回路も実装しました。

arduino UNOに実装するとこんな感じになります。

端子台を隣接して配置しても電線を差し込む事ができます。arduino UNOとのクリアランスも確保できています。

次回はarduino UNOのソフトについてまとめます。

 

つづく(まとめ3)