赤外線リモコン 汎用送信機

ワンチップマイコン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に接続してしまいました。
また電源スイッチも省略し、ストラップしてしまいました。
クリスタル発振子は立てると高さが邪魔になりますので、寝かせて取り付け
ます。

ケースに入れた赤外線リモコン送信機全体です。
赤外線発光ダイオードだけケースに窓を明けて
十分な赤外線が放射されるようにしています。

ケースに実装した内部です。基板と電池だけです。
発光ダイオードだけケースから頭を出しています。
基板はスペーサで浮かしてスイッチが丁度良い高さ
とします。

基板の外観です。小型基板に電池以外すべての部品が
載っています。パスコンの電解コンデンサは背の低い
タイプを使って下さい。また左端の透明なものが
赤外発光ダイオードです。クリスタル発振子は寝かせて
取り付けています


目次ページへ戻る