12chアッテネータ2検討(製作編15)

製作編15

Low-chボリュームの動作確認が終わったので同様にMid-chとHigh-chボリュームの動作確認を行います。

Mid-ch動作確認準備

モーターとドライバー基板およびドライバー基板とArduino UNO間の配線を行います。モーターとドライバー基板間の配線は平行ケーブルを使い、モーター側は端子にハンダ付けし、ドライバー基板側は2極の端子台へ接続します。続いてドライバー基板とArduino UNO間の配線を行います。Mid-ch用のPWM出力ポートはポート9と6を使用します。ドライバー基板側は2極の端子台へ接続し、Arduino UNO側はピンプラグに電線をハンダ付けし、それをArduinoのピンソケットに挿しました。

写真はHigh-ch用の配線が終わった時のものです。ドライバ基板側の配線は以下のとおりです。

demo18

今までのソフトは、全てLow-ch決め打ちで作成していました。これを今度はMid-ch決め打ちに変更します。具体的には各ボリューム用に設定しているパラメータの配列の引数をLow_chからMid_chに書き換えました。以下が実行画面です。

配列の引数をch_sel等にしておき、これをLow_chからMid_chに設定すれば瞬時に変更ができたのにと記事を書きながら思いました。配線およびソフト変更に問題はなく一発で動作しました。気持ちいい~。それではこのソフトを使ってMid-ch用ボリュームのアッテネーション動作確認を行います。使用ボリュームはLow-chに合わせて4連ボリューム中のMid-1としました。結果は以下のとおりです。

結果はボリュームが絞られたエリアで全般的に絞りが強く、逆にボリュームを上げたエリアでは、絞りが緩くなっています。但し実用エリアでは偏差0となっています。単純にポジション値にバイアスを加える事で特性の改善はできない状況です。それでもまずまずの結果だとおもいます。

demo19

次はこのソフトでHigh-ch用ボリュームの動作確認を行います。Mid-ch確認時と同様に、まずは配線を行います。ボリューム用モーターとドライバー基板、ドライバー基板とArduino UNOの配線を行います。Mid-chとの違いは、Arduino UNOのPWM出力ポートです。ポート5と3を使用します。このポートのみ、PWM信号の周波数が他のポートの2倍の980Hzとなり、さらに実デューティーが設定値よりも高めになるとの事です。理由はこのタイマーをmillis()やdelay()関数のタイマ割り込みが共有している為です。今回の用途では、デューティーの精度は要求しないので無視する事にします。ドライバー基板配線は以下のとおりです。

ソフトの変更は、demo18で変更した配列変数の引数をMid_chからHig_chに変更するのみです。変更は以下のとおりです。

スタート一発目は、ボリュームがmaxに張り付きそれでもモーターの駆動がとまらない状態となりました。原因は、モーター配線がドライバー基板端子台接続で反対となっていました。(上記写真参照)入れ替えたら正常に動作しました。Mid-chと同様にHigh-chもアッテネーション動作を確認しました。結果は以下のとおりです。

High-chの偏差はMid-chとほぼ同じとなっていました。あまり良い結果ではありませんが、このまま検討を進めたいとおもいます。次回は3つのボリュームを同時に制御します。

 

つづく(製作編16)