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"(エラー) をパソコン側に送信する。 ソフトでは、受信した数値をもとに送信状態を示す "送信できました" などを表示して完了となる。 |
||