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

製作編27

製作したシールド基板経由でモーターボリュームAssyを接続して、動作の確認を行います。

モーターボリュームAssy接続

久しくしまっておいたモーターボリュームAssyとドライバー基板を取り出してシールド基板上の端子台に接続しました。接続済みの赤外線受信モジュールと表示パネルはそのままにしています。

接続してキーがない事に気づきました。在庫にモーメンタリープッシュスイッチが3個あることを思いだし、急遽スイッチ基板を製作する事にしました。スイッチ3個のみの実装なので、在庫から手頃なサイズの基板をえらび、取り付け用の穴をあけてスイッチを取り付けました。

配線用に手頃な電線がなかったのでアマゾンへAWG22の被覆電線を注文していました。

仕事柄、規格関連の表示が気になります。ULのシールはおそらくワイヤーハーネスプログラム対応を示すもので、UL認証取得製品への使用ができるようになっています。組み立てたスイッチ基板の配線を行います。3つのSWの片側はGNDで共通となり、反対側をマイコンの各ポートに接続します。

GND電線は3本をまとめて1本につなぎ変えています。製作完了したスイッチ基板をマイコンに接続しました。

動作確認

電源は表示パネル用に3.3Vが供給されていますが、それはそのままにしてモータードライブ基板に6Vを供給します。念のため過電流保護を200mAに設定しました。確認用ソフトは、ボリュームモーターAssy単体確認に使ったdemo20をベースに変更をします。demo20は3つのモーターを同時制御する仕様で、キーの入力ポートをこのシールド基板用に変更しdemo21を作成しました。準備が整ったの電源オンし、ソフトをスタートさせました。いきなり過電流保護が働き動作しません。一旦電源をオフして確認をします。すぐに原因がわかりました。マイコン基板のGNDとモータードライブ基板のGNDが接続されていませんでした。これではモータードライブ基板が正しく動作しません。過電流保護を入れてなければ、モータードライブ基板のトランジスタを破壊してしまうところでした。GND接続をして改めて電源オンしてプログラムをスタートさせました。動作はするものの、何か変です。動作終了後ユニバーサル電源の電流計がアイドル状態の戻らず、一定の電流を流し続けています。もう1度電源をオフして改めて確認です。この原因もすぐにわかりました。L-chとH-chのセンサーとモーター系回路が入れ子状態で接続されていました。これでは正しい制御ができません。接続をやり直して、改めてプログラムをスタートさせました。ようやく動作しましたが、整定に少し時間がかかっています。

検討が進まないので、ok_zoneを10から15に変更したところ動作が安定しました。

ok_zoneとは、モーターフル回転300°を0-5Vレンジで位置検出をしていて、目標の電圧に対して+/-ok_zone mVの範囲に入ったら制御終了と判断しています。

こまかなソフト仕様変更

一気にプログラムを変更するとデバッグが大変なので、細かな修正ごとに動作確認を行います。以下のとおりソフト仕様を変更しました。

demo22

void setup()内にモーターイニシャライズ(-34dB)を移動

demo23

キーアサイン方法変更(const keyasy[3]={8,7,4})

これであらたな環境でモーターボリュームAssyの動作確認は完了です。次回はミュートと表示処理を追加します。

 

つづく(製作編28)