11.  信号機の駆動


11.1.  赤灯/緑灯LED点灯回路

LEDへの配線はテスト回路ではPICマイコンのRA0を赤色LED、RA1を緑色LEDに接続していました。信号機上の赤/緑LEDは基板から離れた高い位置にあるので、LEDへは3本の配線が必要になります。しかし、この配線の本数はなるべく少なくしたいので、下図のように2本の配線に変更します。


LED

電流制限用の抵抗1kΩは基板側に取り付けます。プログラム側でRA0、RA1の”0”、”1”を交互に切り替える仕様ですが、プログラム上は同一のもので動きます。


11.2. 停止/ブレーキ用回路

前章でブレーキモジュール回路について触れましたが、ここでは停止/ブレーキ用回路に用いるスイッチについて検討します。スイッチとしては機械式リレーに対して、半導体リレーを用いた方が耐久性の面で優れているように思えます。一方、機械式リレーは秋月電子通商で入手可能なNECのラッチリレー:EA2-5TNGDが、1個70円という低価格で入手可能であり、回路構成もシンプルなものになることが魅力です。EA2-5TNGDは、カスタム仕様品ということなので、数には限りがあるところがネックです。オムロンの同等品は販売店にもよるでしょうが、10倍ぐらいの価格がついているようです。

 まず、必要とされるスイッチの定格ですが、脱線によりショートした場合は、最大5Aという大電流が流れ得る、という条件を考えると、結構、大きなものが必要になりそうです。ただし、ショート対策はリセッタブルヒューズを使うことでクリアできます。最大電流が2Aのラッチリレー:EA2-5TNGDを使う場合を念頭に置くと、2Aでトリップするリセッタブルヒューズを入れておけば、機関車(編成)一台分の電流は十分に賄えつつ、ショート時には接点を保護できます。

 トライアックを使った半導体リレー回路も検討したのですが、2Aまでの回路でも素子のサイズが大きいことに加え、全回路での部品点数も多くなりコンパクトに納めることが難しそうな上、コストも高くなるので断念しました。

 リレーEA2-5TNGDのコイル抵抗は約130Ωなので、5Vでは38mA必要になります。PIC12F1822の出力は25mAなので足りません。そこで手持ちのトランジスタ(2SC1855-GR)を介してドライブすることにしました。
 以下に停止/ブレーキモジュール関連の回路を示します。


ブレーキモジュール2



11.3. プログラミング

以上のハードウエアを想定した信号機の駆動ルーチンを以下に示します。



void Activate_Signal(void){

  unsigned char Flag_A, Flag_B;
  Flag_A = DataD & 0b00000011; //Red or Green?
  if(Flag_A == 0){ //If Red
    Flag_B=DataD & 0b11000000; //Extract Solenoid On/Off info
    if(Flag_B == 0b11000000){ //If Solenoid on
      BRK_On = 1; //Current on for Set coil
      LED_G = 0; //Green LED off
      LED_R = 1; //Red LED on
      _delay(100000); //wait for latching relay(50ms))
      BRK_On = 0; //Current off for Set coil
    }
  }
  else{ //Else Green
    Flag_B=DataD & 0b11000000; //Extract Solenoid On/Off info
    if(Flag_B == 0b11000000){ //If Solenoid on
      BRK_Off = 1; //Current on for Reset coil
      LED_R = 0; //Red LED off
      LED_G = 1; //Green LED on
      _delay(100000); //wait for latching relay(50ms))
      BRK_Off = 0; //Current off for Reset coil
    }
  }
}

10. ブレーキモジュール回路 TOP pageへ 12. MM型デジタル信号機の回路とプログラム
inserted by FC2 system