Japanese signaling system for modelrailroad

このページでは日本型信号制御回路の基本動作とPIC16F648A用ダウンロードHEXコードを示します。 HEXコードの書き込み作業ならびに、 回路図の詳細や基板の接続方法などについては他のページを参照してください。

Fig.1-1:5灯式の場合の信号現示の変化の様子。

Fig.1-2: 列車長さが信号機間隔より長い場合はRが連続してよい。

Fig.1-3: 場内、出発、閉塞信号機の配置例

駅進入を担当する場内信号機は各分岐経路ごとに横に並べて置くのが基本。 そのとき、主本線の場内信号機をやや高い位置に置く。 駅出発を担当する出発信号機も同様に各分岐経路ごとに配置する。 これらは絶対信号機と呼ばれ、通常はR(赤)を示す。

駅間の(中間)閉塞信号機は逆方向に走行するときはRにする。それ以外の場合は 分岐経路に対応した場内信号機に対して連動(次表のとおり)する。上図では、 左上の場内信号機はYYの方が側線用であり、ここがYYになるのは次の出発信号機(図の右上) がRだからです。そして場内信号機のRの方が主本線用。ここは次の出発信号機がGなので YYになりそうですが、分岐経路が開通していないのでRとする。

この図では5灯式または6灯式を適当に配置しているが、 一般論としては、出発信号機や閉塞信号機としてはYGの出せる信号機、 場内信号機としてははYYの出せる信号機を置く傾向がある。ただし、 実際には多種多様です。ローカル線では3灯式がよく見られます。


Table.2-1: Japanese signaling system

日本国内で使用されている色灯式信号機は特殊自動閉塞方式の(R/G)2灯式を別にすると、 3灯式、YYの出せる4灯式、YGの出せる4灯式、YY,YGの出せる5灯式が基本であり、 さらに鉄道会社によってはYG,GGの出せる6灯式、YG点滅の出せる4灯式、YG点滅の出せる5灯式、 YG点滅、GGの出せる6灯式がある。これら8種類の信号機の現示連動パターンを整理すると上表のようになる。表中のNext signalは進路前方の信号機の現示であり、それに対する各信号機の現示連動をその右側に列挙している。なお、この表に示した連動パターンはあくまでも基本形であり、実際にはこのとおりにならない場合もあるので注意してください。

省略記号について、R:赤、YY:黄黄、Y黄、YG黄緑、G緑、GG緑緑。FYGはYG点滅とする。

YYとGGについては路線状況や列車種別に応じて、それぞれYとGに変化することがある。 これをY-up, GG-upと呼ぶことにする。

表中の上2段(PIC16F648A(type-A)のRA4、RA5端子)は、DCCコマンドステーションからの遠隔制御により 個々の信号機の現示を強制的に操作することを意味していて、強制Rと Y-upまたはGG-upがある。強制Rは逆走するときやポイントが未開通の場合に使用し、 信号機をR赤にすることにより、現示連動を断ち切ることができる。

表中の黄の領域はPICプログラムのグループ分けを示す(後述)。


--- 日本型信号機の回路

Fig.2-2: 左から、3灯式、5灯式、6灯式、中継信号機の回路図

4灯式の回路は5灯式を参考にしてください。私の場合、Gは緑LEDを使います。ちなみに、 鉄道信号のG灯はアクアブルーに近いのですが、青LEDよりは緑LEDに近いと思います。 中継信号機は白LEDですが、安価な黄LEDでもOKでしょう。

Fig.2-3(a):5灯式、and (b):6灯式の回路図

上の2つの図は3mm砲弾型LEDの極性を内部端子の形状の違いにより示しています。

上写真:3mm砲弾LEDを横から見た様子。すべて左が正極。

上写真:4灯式信号機。チップLEDの極性を上から見た様子。 左の三つは上が正極、それらを支柱にコモン結線している。


---- ダウンロード用PICプログラム(hex形式)

Fig.1-1:

公開しているtype-A用PICプログラムは二種類あり、それぞれがTable 2-1に示した 8種類の信号機のうち4種類ずつを含んでいます。それら4種類のうちひとつを選択するのは 上図の赤い領域にあるSW1-1,SW1-2のスイッチの切り替えでおこないます(次2表のとおり)。 なお、この選択はPIC回路の電源投入時に行われることに注意。つまり、 SW1-1,SW1-2を切り替えたら電源を再度off/onしてください。

これら信号機のタイプは混在して設定できます。つまり、Fig.1-1には二つのPIC16F648A(type-A)が 搭載されていますが、それらは個別に信号機のタイプを選べます。

jpn-signal-a43.HEX hex code for PIC16F648A(type-A) group-1 ---- マイナー更新しました。 29th/Aug/2014

type-A group-1 (Table 2-1, yellow zones)

SW1-1,SW1-2
on,    on    ==>> 6 colored signal for R=>Y=>YG=>G=>GG
off,   on    ==>> 5 colored signal for R=>YY=>Y=>YG=>G 
on,    off   ==>> 4 colored signal for R=>Y=>YG=>FYG=>G
off,   off   ==>> 3 colored signal for R=>Y=>G
(2014Aug29th, this SW status was modified. )
jpn-signal-a44.HEX hex code for PIC16F648A(type-A) group-2

type-A group-2 (Table 2-1, white zones)

SW1-1,SW1-2
on,    on    ==>> 5 colored signal for R=>YY=>Y=>YG=>FYG=>G 
on,    off   ==>> 4 colored signal for R=>YY=>Y=>G
off,   on    ==>> 6 colored signal for R=>Y=>YG=>FYG=>G=>GG
off,   off   ==>> 4 colored signal for R=>Y=>YG=>G

----- 2012/8 ここから追加

以下は、上述のHEXコードとほとんど同じですが、閉塞区間が編成長より短い場合に使えます。 動作パターンは次図のとおり。

jpn-signal-a43s.HEX hex code for PIC16F648A(type-A) group-1 for short block length ---- 2012/8 New !!!

jpn-signal-a43.HEX hex code for PIC16F648A(type-A) group-2 for short block length ---- 2012/8 New !!!

この信号制御回路をリアルに動作させるには、原則として「すべての閉塞区間長さ、つまり、信号機間隔は、 列車の編成長よりも長くする」必要があります。さらに、「編成の先頭車と最後尾車は在線検知できる(たとえば、 M車または室内灯または前照灯、尾灯装備車であること)」 必要があります。これは列車の自動制御になじみのない方には、わかりにくいでしょうが、 パソコン自動運転の制約条件と同じです。これらHEXコードはこの制約を緩和するために使います。

上図で、先頭車(Top)と最後尾車(Rear)は在線検知できるとします。そのような 列車が右へ進行するとき、信号機Sg1、Sg2が順次切り替わっていきます。 問題はStage-3で起きます。Sg1とSg2の間が列車の編成長より短いため、Stage-3では Sg1,Sg2間の閉塞区間において先頭車(Top)と最後尾車(Rear)のいずれも検知されません。 このため、通常はSg1はYとなるところですが、これらHEXコードを用いると、 この図のとおり、Stage-3でRを維持します。Sg1がRから解放されるのはStage-5のときです。

図中のStage-5におけるSg1=FYは北米型の場合です。日本型ではSg1=G,YG,YYのいずれかになる。 これ以外の動作は基本的にjpn-signal-a43.HEX, jpn-signal-a44.HEX と同じ。

----- 2012/8 ここまで追加


これはtype-B用のPICプログラムです。ただし、分岐経路の自動選択機能付き。 これは分岐経路に応じた現示連動制御のために使います。 type-B基板の回路図や使い方についてはほかのページを参照してください。

jpn-signal-b32-auto.HEX hex code for PIC16F648A(type-B)

Type-B基板上のDCCデコーダ出力によりRA6=RA7=1とすると、 分岐経路の自動選択機能が働く。これにより、非Rとなっている分岐経路を自動検出し、 その現示を出す。RA6=RA7=1以外のとき、3つの分岐経路の一つが手動選択される。

次は古いバージョン、自動選択機能無し。

jpn-signal-b32.HEX hex code for PIC16F648A(type-B)


Fig.3-1: type-C board for Japanese repaeter signal

中継信号機と限界表示灯用の回路図です。これらは同時に動作可能。 type-A, -B基板間を結ぶリボンケーブルの途中に10芯コネクタを追加し、この回路を接続します。 Clearance-Limit-Indicatorというのは限界表示灯です。 ここは白または黄の単灯のLED表示灯です。

実物の中継信号機の動作は説明するまでもないでしょう。 限界表示灯は列車が待避線に入るとき、最後尾が待避線に入りきったか、まだ本線に残っているかを 判定するための表示灯です。つまり、連続する二つの閉塞区間に列車が(またがって)同時に在線するときに点滅し、片方だけ在線するとき点灯または消灯します。

SW1-1は走行方向を選択します。つまり、信号機の設置方向に応じて、動作させたい 左右のどちらか片方を指定。SW1-2は限界表示灯の動作を停止するための機能であり、 逆走時などは機能停止させます。そのためSW1-2はDCCデコーダで遠隔制御したいのですが、 この基板にはDCCデコーダを装備していません。

jpn-repeater-signal-c31.HEX hex code for PIC16F648A(type-C)


Fig.3-2: Speed mesaurement unit

Photo.3-2: Speed mesaurement unit. The most-right LED indicator lits for overspeed warning.

このデジタル速度計はレール間に置いた二つの光センサーTPS603を通過する時間を計測し スケール速度として表示するものです。レールに埋め込む 二つの光センサーの間隔は各自で調整してください。以下は目安です。

上写真の右端見えるのが速度証査による過速度警告灯です。 2SC1815による付加回路により赤LED点灯させていますが、 そこは上の回路図には示されていない。

N-scale 1/150 at km/h is 17cm
N-scale 1/160 at mph is 10cm
HO-scale 1/80 at km/h is 22cm
HO-scale 1/87 at mph is 18cm
列車先頭部がセンサーエリアにさしかかると測定開始し、測定終了と同時に表示します。 列車の最後尾が通過後のさらに数秒後に再測定可能になります。 なお、電源投入時にセンサーを遮光しておくと 速度表示後数10秒に週回数表示モードに切り替わるようになります。

この測定装置では光センサーで車両の遮光を検知しているので、 空荷のコンテナ車などは誤作動します。光源と車両の位置関係や レールと床下の隙間の大きい車両の場合も誤作動の可能性がありますので、 センサーの遮光状態は各自で工夫してください。

この速度計を単体で使用するときは5pin端子の1,2,3番端子をGNDに接続しておき、 4,5番端子にDC+5V電源を接続します。

なお、この5pin端子をtype-C基板に接続すると、速度表示と同時に信号現示に応じた速度照査をおこない、速度超過時は(小数点の位置に,つまりRB0端子に)数秒間だけ警告表示を出せるようになります。 このときはDC+5V電源は不要です。

PIC16F648A(Speed)用のPICプログラムとしては 以下の二種類を用意しました。これらはほとんど同じであり、 速度照査のための制限速度が違うだけです。日本型はkm/h、北米型はmphとしていますが、 光センサーの間隔を変更すれば互換して使えます。

speedv71a-jpn.HEX hex code for PIC16F648A(Speed)-1

Jpn version : four step speed limits of 40km/h for R and YY, 80km/h for Y and YG, 130km/h for FYG and G, 160km/h for GG.

speedv71a-usa.HEX hex code for PIC16F648A(Speed)-2

US version : four step speed limits of 20mph for R and Slow, 40mph for Medium, 70mph for Limited, 100mph for no limit.


以下はDCCデコーダのPICプログラムです。 アドレス252まで設定可能な基本バージョンと2048までの拡張バージョンを用意しています。 Digitrax DS44(4アドレス個別制御、ただしポイント駆動回路無し)と同等の機能です。 基本バージョンはDIP-SWにより二進数としてアドレスを設定します。 拡張バージョンはDCCコマンドステーションからのコマンド操作によりアドレス設定します。

Download hex code for PIC16F648A(DCC) addr=001-252基本バージョン

Download hex code for PIC16F648A(DCC) addr=001-2048 アドレス拡張バージョン

これらDCCデコーダ用のPICプログラムについては各回路図のページを参照してください。 なお、いずれも基本バージョン用の回路(type-A基板に含まれるDCCデコーダ回路)で動作します。

How to assemble DCC decoder for PIC16F648A(DCC) addr=001-2048 アドレス拡張バージョンDCCデコーダの回路図と作り方


analogue-polarity-logic.HEX hex code for PIC16F629(polarity check unit) アナログ(非DCC)用の走行方向検知回路のプログラム。 回路図はいずれ紹介します。DCC方式では使えない。