Home
IC−PW1の遠隔操作
サーボM用ソースプログラムを公開 Ver.1.1 '15/06/13
Ver.1.0 '15/06/11
ICOM IC−PW1の POWER SW や AMP/REMOTE SW の遠隔操作の紹介です。 (当局の無線
局遠隔操作の全体像については ここ を見てくだい)
All rights reserved JA3OOK 中村 利和
1.PW1を遠隔運用する上で必要となるスイッチと課題
PW1の遠隔運用で操作が必要となるスイッチは次の三つ。(初期設定と運転準備は既に済
ませているとする)
・POWER SW
・AMP/PROTECT SW
・BAND SW
このうち BAND SW は TS−590 のバンド切り替えに連動した自動切換えが実現でき
ていて こちら に記載済み。
POWER SW と AMP/PROTECT SW を操作する方法はいくつか考えられ、
JA5NSN(JO3KRP)やJA4BUAの諸先輩が発表されていて、いずれもICOM機器の基盤に半田付けで手
を加える方法である。(2015/06/10現在 参考資料2、3)
PW1の回路図を読むと、確かに外部のリレーなどでON/OFFすれば本来のスイッチ同様の動作を
させることは可能であると推測でき、リード線さえ引き出せれば遠隔操作できそうである。
しかし、機器を開け内部を調べると分かるとおり、基盤上のパターンが極めて細かくリード
線の半田付けは困難な作業になりそうである。
仮にうまく半田付けできたとしても、別の箇所などに不具合が出てICOMへ修理を依頼する場合
はリード線を何事もなかったように外すことが必要になるが、それはさらに大変でいちいち面
倒なこと。
そこで採った方法は、機器には全く手を加えずにスイッチを物理的に押すこと。それは
てこの原理を使い、力の伝達には板バネを利用し衝撃を和らげる方法である。
PW1の二つのスイッチの動作に必要な力を調べるとPOWER SWの方がほんの少し重く、
約150gf(約1.5N)であり、動作距離は約2mmであった。
2.実現した方法 その1 ソレノイド方式
構造は次の写真をみていただければすぐに理解していただけると思う。
・板バネは薄い金属の板を切って製作
・支点のバネで板バネを内側(スイッチ側)へ寄せている
・押しバネで吸着時の衝撃を緩和している
・板バネと可動鉄心(プランジャー)とはステンレスの針金で連結し「Rピン」で留めている
Rピンで留めているので左右の位置を自由に調整できる
・ソレノイドの選択
第3種てこの原理で動作させるので、必要な力を計算し、
3.6N以上、距離1.2mm以上とした。
数あるソレノイドの中から吸引力特性図を比較検討してタカハ機工のCA05310180に着目し、
適切な力と移動距離、吸引特性の傾斜がゆるやかなこと、価格が手ごろなことが決めてとな
り購入した。
上の写真は製作途中。完成状態ではAMP/PROTECT SW用にもう一つ取り付け
ている。
このソレノイド方式の欠点は次の二つ。
使用しているうちに
・板バネとステンレスの針金を留めているRピンの位置がだんだんとが変わること。
・プランジャーが動作する衝撃が大きくプランジャーを後ろの木板に止めている長ボルトが
緩むこと。
これらの問題で3カ月ごとくらいに調整が必要になり、耐久性が悪くメンテナンスフリーとは
言えない。
3.実現した方法 その2 サーボモーター方式
次の写真が構造。
サーボモーターは0度から約180度まで任意の角度を指示できるので、今回の使い方では90度を
中立位置とし、およそ0度または180度への回転指示でそれぞれに対応するスイッチを押させて
いる。
・板バネやその周りの作りはソレノイド方式と同じ
・サーボモーターとは玉チェーンで連結しRピンで留めている
・サーボモーターの選択
使用したサーボモーターはラジコン用サーボ EMAX社のES08MA2。ギアがメタルであること
と価格が手ごろなことが決め手。
トルクは 2.0 kg-cm(6V) 1.8 kg-cm (4.8V) あり十分すぎるくらい。チェーンが巻きつく半
径が数ミリの使い方なのでますます力持ち。
PW1のコントローラー部を取り付けた状態。
前項のソレノイド方式も正面からの外観は同じ。
参考
次の写真の構造を試したがは負荷が大きく特定の角度でギアを酷使し、本当に苦しそうな
音を出す。
スイッチを押すことはできるがギアの寿命がすぐに来てしまいそうなので採用を止めた。
4.PICでソレノイドやサーボモータを制御
ソレノイドやサーボモータを動かすためにはそれぞれに合った使い方がある。PICでそれ
ぞれ用のHW基盤とプログラムを作った。
4.1 ソレノイド用
HW
東芝製モータードライバー用IC(TA7291P)を利用し、ソレノイドへの給電のON/OFFは
もちろん、ボリュームでの電圧調整もシンプルな回路でできた。
PIC18F25K22を採用した理由はABSで使用しているMCUと一致させることによる保守性向
上やプログラマーの生産性向上を考えてのこと。(プログラマーって私のこと!)
PICを基盤に直接半田付けし、インサーキットプログラミングを行った。これは私に
とって初めてのこと。
プログラム
要点は
・遠隔操作で指示されるON/OFFの時間間隔に関係なく、ソレノイドに通電する時間
つまりスイッチを押す時間を一定にする。
・オペレータが同時に二つのスイッチ操作の指示をしても、一つしか有効にしない。
4.2 サーボモーター用
HW
特徴は前記ソレノイド用HWと全く同じ。
モーターが1個なのでドライバー用ICは1個で済んでいる。
高周波の回り込み対策を追加(2015/06/28)。
28や18メガでのフルパワーで POWER SW が押される誤動作があることが判明し、
PICのポートRB2とRB3に100μHと0.1μFを追加し解決した。
上記回路図と写真は回り込み対策追加済みのもの。
プログラム
要点は
・遠隔操作で指示されるON/OFFの時間間隔に関係なく、サーボモータを動作させる
時間つまりスイッチを押す時間を一定にする。
・オペレータが同時に二つのスイッチ操作の指示をしても、一つしか有効にしない。
・一般的にそうであるように、このモーターも回転角度の指示はPWM(パルス幅変調)
で行われる。今回使用しているPIC18F25K22でのPWM信号の発生はタイマー1割込み
にCCP1コンペアマッチ割込みを組み合わせて実現した。
コンペアマッチ割込みによるPWM信号の発生方法は参考資料5の斉藤力弥さんの
記事で勉強した。感謝します。
このPICはPWM機能も持っているが使っていない。
理由:一般的にラジコン用サーボのPWM値はパルス間隔約20ms、パルス幅約1ms
〜2ms。しかしこのPICが持つPWM機能でこの仕様を実現させるには制約が
ありすぎる。CCPコンペアマッチ割込みを利用すると制約が少ない。
・各停止角度でのPWMでのパルス幅は、細かくは各サーボモーターによって異なる
ので、実機で実験を繰り返して決定した。
・パルス幅がモーターが動こうとする目標角度を一意に決定している。
サーボモーターが目標角度へ向かって動こうとする力は強大である。
このサーボモーター特有の動作かもしれないが、パルス幅が規定値より外れてい
るとモーターが回転し続け、えらい力で玉チェーンを巻き込む。
もし間違ったパルス幅が出ると板バネなどのメカやスイッチ本体を壊す恐れがあ
るので、パルス幅の決定はボリュームで行わずプログラムで行っている。
(ボリュームは年数が経過すると抵抗値が変化する)
・誤動作を少しでも減らす目的でスイッチの指示があるときだけモーターへ(つま
りモーターの赤色のリード線へ)電力を供給し、指示がないときは供給しないよ
うにしている。これにより、指示がないときに間違ったパルス幅が出ても誤動作
しない。
・ワッチドッグタイマーも活用し、PICの誤動作をPIC自身で検出できる場合は自ら
再起動する。
・今回のようなおもちゃのようなものでも誤配線やプログラムミスやその他の不注
意で事故になるのでテストは慎重に行った。
5.調整箇所
スイッチを押す力に関して(これは定期的に調整する必要がありそう)
・ソレノイドや滑車から板バネまでの距離
・板バネを引っ張るRピンの左右の位置
・ソレノイドやサーボモータに加える電圧(基板上のボリューム)
スイッチを押す時間(数100m秒前後)に関して(これはめったに変更する必要なし)
・プログラム内変数値
サーボモーター特有のプログラム内変数値(これはめったに変更する必要なし)
・回転位置:中立位置、POWER SW用位置、AMP/PROTECT SW用位置
・通電時間(1〜数秒)
6.遠隔操作の方法
ソレノイドやサーボモータ(のPIC基盤)は送信所のIPリモコンのフォトカプラーに接続
し、操作所からはIPリモコンを遠隔操作してON/OFFする。
7.ソレノイド方式とサーボモーター方式の比較(今回の経験の範囲内で)
|
ソレノイド方式 |
サーボモーター方式 |
構造(部品点数) |
簡単(少ない) |
複雑(多い) |
動作音 |
衝撃的(ガツン 注1) |
ロボット的(シャジッ) |
部品入手 |
入手しよい |
特に滑車部分が入手しにくい 注2 |
製作の容易さ |
手間すくない |
特に滑車部分の製作に手間かかる 注2 |
プログラム |
割と容易 |
PWM部分が複雑で手間かかる |
調整の容易さ |
手間少しかかる |
手間少ない |
材料代 |
少し高い |
少し安い |
注1 押しバネがなかったり調整が未熟だと可動鉄心(プランジャー)が磁石に密着し「ガチャン」。
注2 ボルトの取り付けができる小さな滑車が入手できれば容易。
今回はホームセンターで売っていた小さな滑車から滑車本体を取り外し、枠はL型アルミ材で製作した。
ソレノイドやサーボモーター、PICやIC、基盤材料はインターネットで入手可能。
アルミ材、スプリング、各種ボルト/ナット、玉チェーン、木板などは大きいホームセンターで入手可能。
購入した時の滑車や押しバネ、Rピンの写真。
8.両方式の稼動実績
ソレノイド方式は JJ3YBB で2年半ほど使用したが、2項の最後に記したように数カ月ごとに調整作業が
必要で、サーボモーター方式に変更した。(2018/02) JJ3YBBでの写真。
サーボモーター方式は当局で動作している。当局での写真。
PW1コントローラー部と木台の間のLEDは接続中のアンテナなどを表示している。これらのLE
D、PW1のランプやメーター、ローテーター指針をSkypeの動画カメラで撮影し、操作所で監視
している。
9.参考
構造やメカの設計図に興味がある方はここ。
裏側の写真はここ。
10.ソースプログラムを公開
サーボモーター用ソースプログラムを公開します。
・PW1遠隔操作サーボモーター用ソースプログラム
・もしプログラム変更などで必要なら LCD_driverソースプログラム
・もしプログラム変更などで必要なら LCD_headerソースプログラム
ソースプログラムのインデンテーション(段落付け)について。
上記のソースはMPLAB X IDE 対応で、4カラム毎のtabで書かれている。
メモ帳などは8カラム毎なので段落付けは変。(プログラムの動作には支障ない)
TeraPadだと4カラム毎のtab設定が簡単にできる。
開発環境は
・MPLAB X IDE v2.10 (Microchip)
・XC8 C Compiler Free mode v1.31 (Microchip)
・PICkit3 (Microchip)
MPLAB X IDE にProjectを作るとき文字(Encoding)の種類はShift_JISを指定。
プログラムができあがったと思っても、すぐにサーボモーターを接続せず、サーボの信号線
に接続する予定のポート(前記HWでのRC6)にオシロスコープをつなぎ波形を確認すること。
次のような波形が出ていればOK。(Y軸は2V/div)
パルス間隔(X軸2ms/div) 中立位置パルス幅(X軸0.5ms/div) 左位置パルス幅(X軸0.5ms/div) 右位置パルス幅(X軸0.5ms/div)
ただし、正確には使用するサーボモーターのメーカーからの仕様に合わせ、現物のサーボモー
ターおよびメカ構造(取り付け位置、チェーンの長さなどの)に合わせてプログラムを微調整
すること。
LCD(液晶ディスプレイ)は本番にもデバッグにも使っていない。前記回路図でのLCD用ポー
トは将来の予約。
謝辞
コンペアマッチ割込みによるPWM信号の発生方法は特に斉藤力弥さんの記事を勉強しました。
回路図は水魚堂提供の「回路図エディタ」で作図しました。
感謝します。
参考資料
1 ICOM IC-PW1 取扱説明書
2 JA5NSN(JO3KRP) JA5NSNのむせんサロン の 無線局の遠隔制御システムについて
3 JA4BUA 情報通信技術コンサルタント くわ の IC-PW1の電源ボタンを無効にする
4 タカハ機工
5 斉藤力弥 TekuRobo工作室 の PICでサーボを動かす
直前の画面へは ブラウザの戻る をクリックしてください。Topに戻るにはHome