315MHzの市販の無線送受信モジュールを使って
PICで送受信装置を作ってラジコン車を作って
みました。
315MHzという無許可の微弱電波を使った無線送受信モジュールが入手できた
ので、使ってみました。
無線モジュールは小型にできていて、完全に無調整で使用でき、315MHzという
どちらかというと、自作するには、やや取り組みにくい高周波をいとも簡単に
使うことが出来るため、色々応用が出来そうです。
今回はとりあえずラジコン自動車に利用してみたもので、ラフなアンテナでも
10m程度は届きそうなので室内用に使う分には文句無しです。
また、周波数が高いので送受信も安定で、モータのノイズにも全く影響されず
安定に送受信できます。
今回の製作例の全体構成は受信ユニットを搭載した自動車と、操縦用の送信機
から成っています。
受信ユニット
送信機
【送受信モジュールの仕様】
今回入手した無線の送受信モジュールの仕様は下記のようになっています。
使い方としては、単純にTTLレベルのディジタル信号を送信モジュールに
入力すれば、無線信号として出力され、受信モジュールから同じデータが
TTLレベルで出力されるという単純動作です。
単純に使えるのですが、使い方で、ちょっと注意が必要なことは、Highの信号
を連続して送信モジュールに入力しても、数10msec後には、無線電波が途絶
えて、受信モジュール側の出力がLowレベルとなってしまうことです。
従って、調歩同期方式で通信をするためには、この数10msec以内に、次の
データを出力して通信を常時連続して行っていることが必要なことです。
製造メーカ : 英国 RF Solution社
販売元 : アイ・ピー・アイ社
電波仕様 : 315MHz帯 微弱電波
《受信モジュール》
電源電圧 : 5V±0.5V
消費電流 : 最大3mA
受信周波数 : 200〜450MHz
受信感度 : −105dBm
通信速度 : 最大3kHz
出力信号 : TTLレベル(High 3.7Vtyp)
外形寸法 : 約38×13×3mm
AM-HRR3-315
受信モジュールの外観
完全無調整で触るところは
何も無い。
《送信モジュール》
電源電圧 : 2〜14V(通常5V)
消費電流 : 通常4mA
送信周波数 : 303.8〜433.92MHz
送信出力 : 0dBm (AM変調方式)
スプリアス : −30dBc
送信速度 : 最大4kHz
入力信号 : TTLレベル(High>2V)
外形寸法 : 約18×12×3mm
AM-RT5-315
送信モジュールの外観
非常に小型に出来ている。
こちらも完全無調整
【受信ユニットの構成】
車側に搭載する受信ユニットは、PIC16F873で構成し、無線受信モジュールで
受けたデータを内蔵のUSARTで受信します。
そして出力には、データ受信確認とエラー表示用に発光ダイオードを、
モータ制御用には、内蔵CCPモジュールを使って速度制御が出来るように
PWMモードとしました。
また、2個のモータをそれぞれ独立に、可変速、正転/逆転の制御ができる
ようにしています。
この受信ユニットの回路図は下図のようになっています。Hブリッジは
MOSトランジスタを使い、正転/逆転の切替のため、NANDのICを1個
使用しています。これで両方のモータを同時に正転と逆転を切り替える
ことが出来ます。
またモータ用の電源は独立にして、外部から供給することとしています。
NANDでP型MOSトラジスタの制御をしていますので、モータ用の電源
としては、5V以上には出来ません。
スイッチが2個接続されていますが、今回は使っていません。
この受信ユニットは全て1枚の片面プリント基板で作っています。
部品点数はHブリッジ関連がやや多いですが、その他は少ないので
実装はさほど難しくはありません。
出来上がった受信ユニットはカラーで少し浮かせて車体のプレートに
取り付けます。
モータとの接続は左写真のように
コネクタ接続としました。
アンテナは太さ1mmのエナメル線を
15cm程度の長さにしています。
HブリッジはMOSトランジスタで構成して
います。
下記は受信ユニットの回路図とパターン図のデータです。
IVEX社のCADであるWinDraftかWinBoardで見ることが出来ます。
★ 受信ユニットの回路図データ
★ 受信ユニット基板パターン図
★ 受信ユニット基板パターン図(BMPファイル)
【受信ユニットのプログラム】
送信機、受信ユニットともいずれも今回のプログラムは、C言語で作って
います。
そのため、USARTやCCPの制御などが実に簡単に出来てしまっています。
受信動作としては、常時USARTからのデータ受信待ちとなっていて、受信
データを受ける都度、キーのコードに従って下表のような制御を実行します。
モータの速度制御は、CCPモジュールをPWMモードで使い、2個のCCP
モジュールを、それぞれ2個のモータに対応させて、独立に速度制御が
できるようにしています。
No
コード
機 能
機 能 内 容
SW1
S11
前進
両モータを正転としPWMを現在デューティにセット
SW2
S22
左回転
モータ2のPWMデューティを減らし速度ダウン
SW3
S33
後進
両モータを逆転とし、PWMを現在デューティにセット
SW4
S44
速度アップ
両PWMのデューティをアップ
SW5
S55
直進
デューティの大きい方に合わせてPWMをセット
SW6
S66
速度ダウン
両PWMのデューティをダウン
SW7
S77
なし
何もしない
SW8
S88
右回転
モータ1のPWMデューティを減らし速度ダウン
SW9
S99
停止
両PWMのデューティを0にして、ブレーキモード
キーコードはASCII文字で3文字で、最初は英文字の「S」で次の2文字は
押しボタンスイッチの番号を2回連続する。
このキーコードを2回受信して、一致を確認することで、データ転送エラー
のチェックをしています。(簡単な2連送照合です。)
SW5の直進機能は、SW2かSW8で曲がったあと、すぐ直進動作に戻すため
の機能で、曲がったら直ぐSW5を押せば、その向きで直進に戻ります。
制御方法としては、曲がるために減速したモータを、元の速度に戻すため、
反対側のモータと同じ速度に設定し直します。
これらモータの減速、加速をする時に、デューティ値をどれほどの刻みで
加減算するかは、操縦性能にかかわりますので、幾つか試してみて決める
のが良いと思います。(本例では、10づつ加減算している)
正転、逆転の切替の制御の時には注意が必要で、一旦両方のモータの
正転、逆転の制御信号を両方ともOFFにしてから、改めて、どちらかを
ONとします。そうしないと、モータ用バッテリ電源をMOSトランジスタで
瞬間ですが、ショートすることになってしまい、大電流が流れますので
最悪、MOSトランジスタが壊れてしまいます。
★ 受信ユニットプログラム(C言語で書かれています)
★ 受信ユニットプログラム(HEXファイル)
【送信機の構成】
送信機は、PIC16F84で構成し、押しボタンスイッチの入力を常時チェックして
入力があればそれに対応したコードを無線送信モジュールから送信するという
動作になっています。
電源には006Pの乾電池を使用し、9Vから5Vを作る3端子レギュレータには
低電圧ドロップタイプを使って電池をぎりぎりまで使えるようにしました。
データ送信にはUSARTを使用しますが、PIC16F84は内蔵していないので、
プログラムでシリアル通信を実行しています。
送信機の全体回路図は下図となっています。PIC16F84を中心に、スイッチ
と送信モジュール、電源回路と簡単な構成です。
【送信機のプログラム】
送信機のプログラムもC言語で作っています。このためシリアル通信を
簡単に実現できています。
CCS社のC言語でRS232Cを指定すると、本来USARTモジュールを内蔵
しているPICの場合には、そのUSARTを使ったプログラムを生成し、
PIC16F84のようにUSARTモジュールを内蔵していないPICの場合には、
プログラムでRS232Cを実現するプログラムを自動生成してくれます。
従って、PICの種類を気にせずにRS232Cのシリアル通信を使った
プログラムを作ることができ、非常に便利に使えます。
送信機のプログラムは、常時スイッチが押されたかどうかを調べており、
もしどれか一つでも押されていれば、そのスイッチに従ったキーコード
を無線電波として出力します。
このとき出力されるキーコードは上記表にある3文字のコードです。
一度スイッチが押されているのを検知したら、次のスイッチが押されて
いるかはチェックせず、初めに戻って再度同じ処理を繰り返します。
従って、複数個のスイッチが押されても、最初に検出したスイッチのみの
処理が実行され、後の方は何も検出されません。
この処理は10msec毎に繰り返すようになっており、スイッチが押された
ままだと、同じキーコードを出しつづけることになります。
★ 送信機のプログラム(C言語で書かれています)
★ 送信機のプログラム(HEXファイル)
【送信機の製作】
この送信機の内部は下記写真のようになっており、部品数が少ないので、
じつに簡単な構成となります。これがPICの最も典型的な構成です。
アンテナは1mmの太さのエナメル線を直接基板の端子にはんだ付けし、
ケースにあけた穴から外に出しています。約15cm程度の長さです。
この長さは適当です。(本来は315MHz用の最適値がありますが)
部品数が少ないので内部は
簡単な構成となっています。
下記は送信機の回路図とパターン図のデータです。IVEX社のCADである
WinDraftかWinBoardで見ることが出来ます。
★送信機の回路図データ
★送信機のパターン図データ
★送信機のパターン図(BMPファイル)
【車体の製作】
車体は例によってタミヤの工作シリーズを使っています。
ユニバーサルプレートをシャーシにして、モータはツインギヤモータを
そのまま使っています。
タイヤも同じシリーズから丈夫そうなものを選びました。
前輪にはキャスタの一番小型のものを選びました。
電池は、モータ電源用はアルカリ単3電池2個で3V、受信ユニット用は
006Pの9Vを使いました。
タミヤの工作シリーズで車体を
構成した。
受信ユニットはむき出しのままです。
モータは低速型ツインギヤモータを
そのまま使い、モータの端子には
ノイズ防止用のセラミックコンデンサ
(0.001μF)を付けました。
前輪はキャスタ