LED回路工作部屋 > プログラム リレー点滅回路の製作詳細 【最終更新日:2013/08/22】
プログラム リレー点滅回路の製作紹介
■■■■ 概 要 ■■■■■■■■
 この回路の主な特徴は以下の3点である。
 ・依頼人の希望により基板サイズを 30mm x 30mm 以下に抑えてた。もともとは 43mm x 40mm だった。 ※【図1】参照
 ・ON-OFF のコントロールをリレー接点にして、ある程度大きな電流を制御できるようにした。
 ・点滅タイミング設定はパソコンで行い、回路基板にはシリアル通信でデータを送るようにした。
【図1】

■■■■ 各部の説明 ■■■■■■■■
【図2】部品配置・配線図

 基板上の部品の配置、および配線は 【図2】 のとおりである。
【電源まわり】
 基板の電源は 電源用のターミナルブロック または 通信ケーブル から供給される。 ターミナルブロックからの電源供給は、DC4.5V〜DC24Vの電源を接続できる。5Vレギュレータ降圧し、基板内の電圧はDC5Vで供給される。 尚、DC4.5〜DC5.5Vの電源を接続すると、5VレギュレータによりDC3V程度まで降圧してしまうため、 電圧が低く回路が動作しない場合は、ジャンパーピンを短絡して、接続電圧をそのまま基板内に供給する。
 基板の設定時は通信ケーブルを接続するが、接続した際は通信ケーブルからDC5Vが基板内に直接供給される。
【リレー】
 リレーの動作は 2SCタイプのトランジスタで駆動する。 リレーとLEDが負荷となるが、2SCタイプは負荷の後にトランジスタがくるように配置する。 接続は 負荷→コレクタ→エミッタ の順、トランジスタの制御は ベース で PICのRC0と接続しており、"1"でリレーON "0"でリレーOFFとなる。
【通信】
 基板側の6ピンコネクタ上での通信規格は、TTLレベル シリアル通信 で ボーレートが1200bpsである。PIC内臓のUSARTモジュールで行う。

■■■■ 点滅タイミング設定に関する説明 ■■■■■■■■
 この回路の点滅タイミングはパソコン上のテキストファイルで、2種の専用コードを使い設定する。
 2種の専用コードは、@リレーのON-OFFを指定するコード と A待ち時間(Wait Time)を指定するコードである。
 記述は下記である。
 @ 1,0,0 ←B系統,A系統,@系統 の意味。出力が"1"でON、"0"でOFFになる。この回路ではB系統の部分のみ使用する。
 A Wait,50, ←Waitを宣言したあとに数値を入れる。実時間は数値 x 10msecになる。数値範囲は1〜100である。
 コード中の"カンマ"は各数値を分割して認識するための区切り記号である。
 プログラム【例1】として、ON と OFF を 500msec ごとに繰り返す場合の記述は下記になる。
 1,0,0
 Wait,50,
 0,0,0
 Wait,50,
 このように【例1】は4ワード(段)で完結する。
 この【例1】の記述を、PICが理解できるように、「1ワード = 8ビットで1バイトのデータ」に変換しなければならない。  この変換を別途作成した「設定ソフト」で行い、PICに送信する。変換の仕様は下記である。
 1,0,0 → 00000100
 Wait,50, → 10110010
 変換の際は2種のコードを区別しないといけないので、@とAのコードの区別は8ビットの内の bit7 で行っている。"0" なら 出力設定、"1" なら Wait になっている。 なので、Waitの数値変換に割り当てできるのは bit0〜bit6 の 7bitである。10進数だと 0〜127 まで設定可能となるが、0〜100までに抑えている。 ※Wait の設定値は 最大100のこと
 【例1】の記述をPICに送る場合、識別用の数値を含め計7バイトのデータになる。送るデータは下記である。
 250(STX) , 4(Data数) , Data1 , Data2 , Data3 , Data4 , 251(ETX)
 このデータをPICのRXで受信し、EEPROMのアドレス"0"に総データ数を、アドレス"1"以降にData1〜 を格納する。
 最終的にPIC側では、総データ数と、 実際に受信したデータ数が一致すれば "252"(OK) を 、一致しなければ" 253"(エラー) をパソコン側に送信する。 ソフトでは、受信した数値をもとに送信状態を示す "送信できました" などを表示して完了となる。