受信高周波部にはワンチップAMラジオ用
ICを使用またロジック部分はワンチップ
マイコンPIC16C84で実現。
1.概要
汎用のラジコン受信機にワンチップマイコンを利用して試ました。
本ラジコン受信機は、受信部と制御部から構成されており、制御部
にワンチップマイコンPIC18F87を使用しています。
この制御部を直接モーターやスイッチに接続し、モーターの制御や、
ランプのON/OFFなどが可能となります。
2.機能
本ラジコン受信機は下図のようなブロックから構成されています。
まず受信部はAMスーパーラジオ用のLSIであるLA1600を利用し、
27MHz帯なので感度不足になるのでトランジスタによる高周波増幅
を追加したのと、局部発振が水晶発振になるのでこれもトランジスタ
による外付け回路として追加しています。
制御部は受信部の信号を直接PICで受け、ソフトウェアでパルス幅
を計測してパルス幅に比例した制御信号をポートから出力します。
この出力で、モータ制御用のICや出力トランジスタを制御しモータや
ランプを駆動しています。
この制御はすべてソフトウェアによる制御なので自由に変えることが
可能です。 送信機はとりあえず市販のものでも可能ですし、別項目
の自作ラジコン送信機でも可能です。 ただし、チャンネル周波数は
合わせることが必要です。
(今回の製作では茶色チャンネル(26.995MHz)を使っています。)
3.仕様
今回製作したラジコン受信機の仕様は下記のようになっています。
電 源 受信部用:NiCdバッテリ4個以上 5.2V以上
レギュレータに低ドロップタイプを使用したのでぎりぎりまで
使えますがNiCd4本は一寸電圧不足気味でアルカリの方が良い。
モータ用:最大6V程度まで自由(受信部用と一緒でも可能)
(モーター用ICの中で1Vほど低下するので加算のこと)
受信部
方式 AMスーパーヘテロダイン
周波数 27MHz帯ラジコン用(今回は26.995MHz)
構 成 LA1600(SONY製ワンチップAM受信用)に高周波増幅部と
局発部を追加(周波数が高いためICの感度不足を補充)
制御部 使用IC PIC16F84(制御ロジック用)
TA7291(モーター制御用ブリッジIC)
チャネル 最大4チャンネル(1〜4チャンネル可)
モータ 最大負荷 6V 1A程度
制御方法 CH1:ランプなどのON/OFF制御
CH2: 〃
CH3:モータ制御(モータのON/OFF、正転/逆転制御)
CH4: 〃
チャネル分解能 32ステップ程度(最大は約110ステップ)
つまり、今回の制御で想定したのは、3輪車用で、2台のモーターを
制御することで運転停止、方向転換、バック走行も可能になるように
しています。 この制御方法はすべてソフトウェアで実現しています。
パルス幅計測のソフト走行時間周期が分解能を決定します。
今回の試作では、約1周期9msec程度でしたので最大分解能としては
110ステップぐらいまで取れますが、別途試作予定の可変速制御を
32ステップぐらいとしたいので、1周期が約30msecになるようにダミー
のループを挿入しています。
(一般市販のもので128から512ステップぐらいの分解能があります。)
4.回路図/パターン図
(1)受信高周波部回路
今回は再現性を良くするのと安定性を求めて、中波AM受信機用のワンチップ
ICを使いました。しかし、扱う周波数が通常の中波よりはるかに高い短波帯
のため感度不足となることから、高周波増幅を1段トランジスタで追加したの
と、局部発信器も周波数が高いのと、水晶発振子を使う為これも外付けのトラ
ンジスタ回路で追加しました。
しかし、安定度は良く、調整もコイルの周波数を合わせるだけなので簡単に
できます。一寸まだ感度不足を感じないでもないですが、屋外で飛行機でも
飛ばすのでなければ十分大丈夫です。コイルの周波数調整はシビアですので
ゆっくりとコアを回して下さい。
下図は拡大表示出来ます。
(2)ロジック部
今回はディジタル部はすべてワンチップマイコンで済ませています。
PIC16F84にモータ制御用のICを直接接続しドライブしています。このモータ
制御用ICはHブリッジになっていて、正回転も逆回転も1種類の電源で可能
です。
PICのポートが余るので、ポートAには設定用のスイッチを追加し、ポートB
にはテスト用の出力を出しています。このテスト用の出力は、プログラムの
デバッグの際にはかなり強力な道具になります。つまり、プログラムの通過点
でこのポートをON/OFFすれば、プログラムの走行状態をモニタすることが
できます。
下図は拡大表示出来ます。
新版ラジコン受信機回路図(HiWIREUでご覧下さい)
新版ラジコン受信機パターン図(HiWIREUでご覧下さい)
★「HiWIRE U」はフリーソフトで入手出来ます。
5.プログラム
プログラムの流れとしては1本の流れだけで出来ています。この流れの
実行速度が、即分解能となりますので、出来る限り高速で実行することが
要求されます。
今回の実行速度は概ね 30uSECが1周期となっています。
ラジコン受信機プログラムリスト
(1)まず全体の流れの概略は下記のようになっています。
START
↓
PORTAの入力ありか?
入力を30uSEC周期で刻みながらカウントをして行く。
無い時は全モータOFF
↓
パルス幅をカウント
↓
1チャンネル分カウント終了したら
今回の幅としてメモリに格納
↓
各チャンネルの幅に合わせて モータの正転/逆転も制御する
モータ出力をON/OFFする
↓
次のチャネルにセット
↓
STARTへ戻る
(2) 次にタイムチャートは下図のようになっています。
ラジコンで標準として使われているタイミングは下図となります。
今回の製作もこれに準じています。
上図で、約30usecがサンプリングの1周期なので 0.5msec〜1.5msec
のチャンネル毎の制御信号のパルス幅を刻むと約16〜50カウントとなり、
これが分解能となります。
今回市販のラジコン送信機を使ってみましたが、これのパルス幅が
かなりラフでしたが調整で使用可能となりました。
(3)モータの制御方法(方向転換と正転/逆転の制御)
今回は三輪車を想定した制御となっています。
そこで、チャンネル3とチャンネル4をこの制御に使って下記のようにして
います。
CH3:モータ1制御
CH4:モータ2制御
と設定して2個のモータの速度を制御して方向を変えることにしています。
モータの制御方法は下図の様になっています。
1.5msec --------
↑ この間は正転
↓
--------
1.0msec -------- モータOFF
--------
↑
↓ この間は逆転
0.5msec --------
(4)ランプ制御方法
チャンネル1と2はON/OFF制御に使っています。このときの注意は制御
信号がセンターにある時、ONとOFFがバタつかないようにギャップを持た
せていることです
1.5msec --------
↑ この間はON
↓
--------
1.0msec -------- この間は何もしない
--------
↑
↓この間はOFF
0.5msec --------
6.実装方法
今回は基板のままです。これから何か動かすものを考える所です。
受信部と制御部を別基板で製作しました。最初モータのノイズに悩
まされましたので下記対策を忘れないこと。
【注意】モータのノイズ対策
モータは単純なマブチの模型用ですから当然ブラシモータです。
従ってモータのブラシの接触部から火花が出るため高周波ノイズを
発生します。
これを出さないようにする対策は、モータの配線接続端子部分に
コンデンサ(0.01uF程度)をコンデンサの足を短くして片方は端子
もう一方は直接モータのケースに半田付けします。つまり2個の
コンデンサを半田付けします。
これで大抵の場合はOKのはずです。だめな時はコンデンサを0.1uF
ぐらいの大きい方にして下さい。
受信部を上から 受信部 制御部(PIC)