赤外線リモコン 汎用送信機
ワンチップマイコン1個だけで構成した汎用赤外線送信機です。
誤り制御も入って高信頼送信ができます。超簡単製作例です。
- 1.概要
- ワンチップマイコンPIC16C84を1個だけで構成した赤外線送信機
です。キーは最大24個まで入力することができ、通信には誤り制御も
しているので、高い信頼性のある制御が可能です。
またデバイスコードも指定でき最大7個のデバイスを区別することも
できます。数メートルの距離の通信が可能です。
- 2.送信機仕様
- 送信機としての仕様は下記の様になっています。
・電源 : 単4電池2個 消費電流 待機時 約500μA 送信時約2mA
・キー : 最大24個まで認識可能 プログラムスキャン方式
・デバイス区別 : 最大7個まで、あらかじめプログラム組み込み指定
・クロック: 4MHzクリスタル発振子
(消費電流を小さくするため低めの周波数となっています)
・到達距離:次項の受信機との組み合わせでは4m〜5m程度は届きます。
部屋の中で使うには十分な距離だと思います。
- 3.通信仕様
- 通信をするための方式とデータフォーマットは下記としています。
・通信速度 : 600μsec/1bit
・変調周波数: 37.9kHz(プログラム制御)
・通信時間 : 24msec(40bit/フレーム)
・フレームフォーマット
フレームリーダ部 : 8bit
データ : 16bit
データ(2連送) : 16bit(誤りチェックのための再送)
・詳細フォーマット
下図が送信データの詳細なフォーマットです。左側から先に送信
されます。送信するデータの「1」は発光ダイオード点灯期間ですが、
中身は37.9kHzで変調して出力しています。
「0」の期間は信号は出ていません。
上記のようにキーコードとしては5ビット用意されているので、物理的には
32個のキーまで識別させることが可能です。
同様にデバイスコードは3ビットですので8種ですが「0」を除外していま
すので7種までとしています。。
-
- 4.回路構成
- 回路そのものは非常に簡単です。 キー入力はプログラムでスキャンし
送信の変調もプログラムで実現しているので、外部回路には赤外線の
発光ダイオードと、クリスタル発振子、キーだけの回路となっています。
発光ダイオードのドライブには40mA程度の電流を流したいので、PIC
のポートを2個並列で使って50Ωの抵抗を通してドライブしています。
その外パスコンなどでそれ以上は何もありません。
電源スイッチも最初は付けるつもりで回路図にもありますが、実際には
常時は500μA程度しか流れていませんので省略してしまいました。
キースイッチも、製作例では8個しか使っていないので、ダイナミック
スキャンも必要は無かったのですが、応用を考えてスキャンをしています。
下図は全体の回路図です。
赤外発光ダイオードは受光素子と組になっているものを使って下さい。
その方が波長が合って都合が良いようです。
CADの回路図データとプリント板のパターン図は下記です。
ダウンロードしてHiWIREでご覧下さい。
★赤外線リモコン送信機回路図
★赤外線リモコン送信機パターン図
- 5.プログラム
- プログラムの流れは非常に単純で下記の流れとなっています。
+−→キースキャン
| ↓
| データ送信
| ↓
| 300msec待ち
|____↓
キースキャンでは、最初に見つかったキー入力をデータとみなしますので
キーを押しっぱなしの時には、繰り返し同じデータが0.3秒おきに送信
されることになります。
データ送信では、デバイスコードをあらかじめプログラム組み込みで設定
しております。これを変更することで、受信機側とコードがあった時だけ
制御が有効となるのようになっていますので、7種類までのデバイスを区別
して制御をすることができます。(デバイスコード0は使わない)
このデバイスコードを外部スイッチで切り替えできるようにすれば、もっと
色々な使い方が出来ます。チャレンジして見て下さい。
キーコードも5ビット分が用意されていますので、本来でしたら32個まで
のキーを区別することが出来ます。
PICの別のシリーズを使ってポートを増やせば、キーを32個まで増やす
ことも可能です。
変調は、データが「1」の時だけ必要になります。変調と言っても「0」と
「1」を37.9kHz相当で繰り返すだけなので簡単です。
37.9kHzというと繰り返し期間は、1000/37.9=約26μsecですので
「1」を13μsec出力し「0」をやはり13μsec出力するという
ことを600/26=約23ですので、23回繰り返すと1ビット分の「1」を出力
したことになります。
まずフレームリーダ部相当で「0」を8ビット分出力し、スタートビット
を出力後、デバイスコード3ビットを出力します。その後セパレータビット
出力後、キーコード5ビットを出力します。
ストップシーケンスを出力して1個のフレームが終了するので、続いて全く
同じデータフレームをもう一回出力します。
受信側では、この同じデータを受信し比較して同一であることを確認して
初めて正常データとして認識することになります。(2連送照合という)
プログラムリストは下記です。ダウンロードしてMPLABでお使い下さい。
赤外線リモコン送信機プログラムソース
- 6.外観構成
- 送信機は手のひらに入るように小型にしたい所です。回路は非常に簡単です
ので、小型化は十分可能です、電池も単4を2個で済ませますので、これを
ケースに入れれば十分手のひらの中に入る大きさに出来ます。
今回の製作では、スイッチを8個までとしましたので、スイッチの片側は
PORTAの端子では無く、直接GNDに接続してしまいました。
また電源スイッチも省略し、ストラップしてしまいました。
クリスタル発振子は立てると高さが邪魔になりますので、寝かせて取り付け
ます。
ケースに入れた赤外線リモコン送信機全体です。
赤外線発光ダイオードだけケースに窓を明けて
十分な赤外線が放射されるようにしています。
ケースに実装した内部です。基板と電池だけです。
発光ダイオードだけケースから頭を出しています。
基板はスペーサで浮かしてスイッチが丁度良い高さ
とします。
基板の外観です。小型基板に電池以外すべての部品が
載っています。パスコンの電解コンデンサは背の低い
タイプを使って下さい。また左端の透明なものが
赤外発光ダイオードです。クリスタル発振子は寝かせて
取り付けています
目次ページへ戻る