2025年2月12日水曜日

出入り検知器をPCB化する(その22) インテグレーション1

 インテグレーションの最初のステップとして、新しいサーボ・コントローラ基板を発注した。これはトルクの大きいサーボに電流を流せるよう部品を見直したのと、基板ごとに違っていた電源電圧を1つの電源から供給できるように統一する為である。おまけで、前に作った2チャンネルのコントローラを3チャネルに増やし、操作方法を少し変更している。

3チャネル化に当たってPIC内のペリフェラルの使い方を少し変更した。

これまでの2チャンネルでは周期20msのパルスを10msずらして発生させていたが、これを5msずらし3チャネル目を挟み込みたい。そのためには100Hzの方形波が必要だがTMR0が方形波を出力できないため、最終段で2分周して方形波を出力出来るNCO1に変更した。但しNCO1からCLCへは直接のルートが無く信号を渡せないため、間にDSMを挟んで渡してる。この方式では4チャネルまで対応できるが残念な事にPIC内には4チャネル迄拡張するためのTMR1&CCPリソースが無い。

基板を発注した時期がたまたま春節の休暇に被ったため予想以上に時間がかかって、通常だと1週間程度で届くはずが2週間ほどかかった。基板が届いて早速組み立てた。

基板上にはACアダプタ用電源コネクタ、分岐用2P電源コネクタ、サーボモータ用コネクタ×3、ホスト接続用コネクタ、電源SW、ロータリーSW、プッシュSW、レバーSW、赤色LED、緑色LED×3等を搭載している。3つの緑色LEDはそのチャネルのサーボが動作中に点灯する。

幾つかのバグ取りを経て5msずれたパルスを出力することが出来た。なおこのパルスを与えるとサーボの消費電流が増えるので、サーボが目標点に到達した約1秒後にパルスを止めるようにしている。

このコントローラはリモート制御で使う事が前提であるが、ローカルテストのため基板上のスイッチでも操作できる。基板上のChSelスイッチを押す毎にCh1、Ch2、Ch3、ChAll、ChOffと移行する。このとき選択されたチャネルのLEDが点灯しロータリースイッチで回転速度を、レバースイッチで動きを制御できる。サーボが動作中にはLEDは点滅する。ChOff、或いは無操作で数秒経過するとリモート状態に戻る。ローカルテストで設定した回転速度はリモート制御には反映されない。別の言い方をすれば、リモート制御の回転速度はローカルテスト後も維持される。

(続く)


 

 

 

 

0 件のコメント:

コメントを投稿