信号機デコーダ(Signal Decoder:FSG1)

日本型信号機のDCCアクセサリデコーダです。
信号機基板を交換することで、2現示、3現示、4現示警戒/減速、5現示をサポートしています。
京急の抑速信号(YG点滅)もサポートしており、アドレス、LED輝度、点滅周期のCV設定による変更が可能です。

信号機の制御は列車の在線検知を行い、点灯条件の設定は外部ソフトで設定します。
推奨はDesktopStationによる制御です。製作者の方のブログで詳細設定方法が記載されています。
当方でも信号機の設定方法ページを作成しています。コチラのページを参照してください。



デコーダ本体サイズは約50X18mmです。
信号機基板サイズは約8×50mmです。

 トピックス

2020.01.19 マイコンソフトVerUP(信号てこ条件電源投入時Reset対策)公開開始。
2017.01.01 マイコンソフトVerUP(信号てこ条件サポート)公開開始。CV説明追記。
2016.09.17 マイコンソフトVerUP(2現示サポート)公開開始。CV説明追記。
2016.04.24 信号機説明図の訂正(4現示の灯火位置の誤り修正)、使用方法ページ公開。
2016.04.17 信号機制御方法変更(t,c入替)、停止リレー制御用出力機能の追加。
2016.04.10 信号機デコーダの公開開始。

 はじめに...

 鉄道模型をDCCシステムで楽しんでいる方が増えてまいりました。日本型鉄道模型の信号機はタイマー式の製品が多く、実際の列車の動きに応じた現示(点灯)が変化するものは少ないです。
 海外ではDCC制御により信号機制御を行っている事例も多く、日本型信号機においても、DCCアクセサリデコーダとして動作する信号機デコーダを製作しましたので、ご紹介いたします。
 製作の難易度を下げるためあえて表面実装部品は使用せず、リード部品を使用し専用プリント基板で容易に自作するこが可能です。(みなさんのい自作をサポートするため基板の頒布も行っています)
 部品の入手製を考え、秋月電子で入手可能な部品を中心に選定し、回路、ソフトの製作しています。

ご注意:
・本サイトの情報を元にした製作等に関わる破損、傷害等につきましてはご自身の責任のもとでお願いします。
・ご紹介している方法は一例です。一部部品を規格外で使用している部分があり、最善の方法とは限りません。
 ご自身でもご検討いただければ幸いです。
・使用する部品の規格を確認のうえ必要であれば定数、回路の変更等をお願いいたします。

 概要

  NMRA規格のコマンドを受信し動作するDCCのアクセサリデコーダです。ただしNMRAが規定するすべての内容を盛り込んではいませんので、準拠とは申しません。ご注意をお願いします。
 マイクロコントローラーには電子工作で人気のあるマイクロチップテクノロジー社のPICマイコンを用います。18ピンのPIC16F1827を使用しています。
 プログラムは、アセンブラソースとHEXファイルを公開いたします。
 電源にはDCC信号電流を整流しDC12Vを生成しています。また、マイコン回路自体は5Vで稼動させるので、78L05を搭載し、5Vを生成しています。PICマイコンで直接信号機のLEDを点灯させています。信号機デコーダと信号機基板の接続は、回路を工夫し5現示においても6本から4本の電線に減少させ接続を行っても個別に輝度を調節できるようにして、配線の本数の削減を行っています。



特徴

  日本型信号機デコーダです。
  信号機は、3現示、4現示(警戒)、4現示(減速)、4現示(抑速)、5現示、5現示(抑速)の6種サポート。
  CV設定により各現示を制御するアクセサリアドレスを設定します。
  単線の制御(逆方向時停止現示)は方向制御用に1つのアクセサリアドレスを設定します。
  LEDの輝度をCV設定で変更できます。YGの際、Y球とG球を個別に輝度調整できるためLEDの選定に自由度が広がります。
  初期現示をCV設定できます。
  CV設定は、Pageモード、DIRECTモードをサポートしました。 
  停止信号の際、リレーを動作させるための出力があります。

  回路図


 デコーダ本体回路図(pdf)はこちら

 信号機基板回路図(pdf)はこちら

 回路図です。EAGLEで作成しました。

 回路の説明

 回路を簡単に説明しておきます。
 レールからの電力をブリッジダイオードを介して整流します。電流容量は1A程度あれば十分でしょう。 コンデンサで平滑し直流12Vを得ます。12Vを3端子レギュレータIC(78L05)を用いてPICマイコンの電源、LED点灯の電源となる5Vを得ます。
 レールからのDCC信号は33kΩの抵抗を介してPICマイコン(PIC12F1827)に入力します。マイコンでソフト処理された点灯信号はPWM信号として5端子に出力されます。

 部品リスト

 パーツ集めで秋葉原等の電気街に足を運ぶのも電子工作の楽しみのひとつですが、最近はネット通販を上手に利用し部品あつめをすることも便利かと思います。
 基板については自作やユニバーサル基板でも製作できますが、簡単に小型に製作できる専用基板を、当サイトで頒布しています。活用頂ければと思います。
 表中の金額は秋月電子で購入した際の金額を参考に見積しています。部品の纏め売りで単価が安くなっている部品を私が良く利用するので少量の部品を調達すると割高になる場合があります。まとめ買い欄に「@」印があるものはまとめ買いした際の単価を示しています。
 また、リスト以外に「ハンダとこて等の工具」、「電線」、「ユニバーサル基板(場合によっては専用プリント基板)」「(必要に応じて)ICソケット」等の用意が必要です。

信号機デコーダ(本体)部品表

部品 No. 規格 仕様 個数 主な入手先 備考
抵抗 R1 炭素皮膜抵抗(1/6W) 33kΩ 1 秋月  
R2,3,4 炭素皮膜抵抗(1/6W) 330Ω 3 秋月
コンデンサ C1 積層セラミックコンデンサー 0.1uF/50V 2 秋月 リード線間隔2.54mm
C2 電解コンデンサ 10uF/50V 2 秋月
IC IC1 3端子レギュレータ 78L05 1 秋月 相当品可
IC2 PICマイコン PIC16F1827-I/P 1 秋月 ソフト書込み必要
ダイオード D1 ブリッジダイオード SDI260 1 秋月 DI1510など相当品可
ピンヘッダ JP1,2 ピンヘッダ(オスL型)1x40  1x4に切断 1 秋月 
ICSP 1x6に切断 1 PICKitを直接接続する場合のみ実装
JP3 ピンヘッダ(オスL型)2x40  2x2に切断 1 秋月 ※信号機基板側に取付る方法有(HO向)
ICソケット DIP 18P 平バネタイプ 1 秋月 丸ピンタイプでも可
基板 専用プリント基板 50x50mm 1 頒布

信号機基板部品表

部品 No. 規格 仕様 個数 主な入手先 備考
LED LED 赤色LED 3mm 1 マルツ 数量は3現示の場合
(指定以外のLEDを自由に選定ください。)
2現示は黄色LED1個減
4現示警戒/減速/抑速は黄色LED1個追加
5現示(抑速含む)は黄色LED2個追加
LED 青緑色LED 3mm 1 マルツ
LED 黄色LED 3mm 1 マルツ
ピンソケット 分割ロングピンソケット2x42 2x2に切断 1 秋月 ※デコーダ基板側に取付る方法有(HO向)
基板 専用プリント基板 50x50mm 1 頒布  

参考単価はまとめ売りの金額を数量で割った参考の単価です。
秋月電子の情報はリンクのページからたどって見てください。
とくに通信販売で入手される場合は、単価、員数、送料で条件が変わってきますので、よく勘案してから注文しましょう。

 部品の概要

 信号機デコーダで使用する部品を紹介します。

 炭素皮膜抵抗器 1/6W (330Ω、33kΩ)



 誤差5%の炭素皮膜抵抗器の1/6Wタイプです。1/4Wの小型品(S2サイズ)でも構いません。
 1本5~10円程度なのですが、100本で100~200円で入手できるので、袋でまとめ買いしています。
 抵抗値は部品に書いてあるカラーコードで判別できますが、小型品はカラーコードが細かいためにテスターでの確認をお勧めします。
 使うまで袋から出さないのが賢明です。部品の向きはありません。 


 積層セラミックコンデンサ、電解コンデンサ



 積層セラミックコンデンサ0.1μFは部品に「104」と表記されています。リード線の加工形状が2.5mmのものが小型製作に向いています。
 電解コンデンサを用います。10μF/50V品を使用しました。電解コンデンサは+-極性があります注意しましょう。
 足が長いほうが+(プラス)、短いほうが-(マイナス)です。


 PICマイコン:PIC16F1827-I/P



 PICとはマイクロチップテクノロジー社のワンチップマイコンのことで、電子工作ではよく利用されているマイコンです。
 18ピンのPIC16F1827は国内で扱っている店も比較的多いと思います。PWMの出力ピンを複数設定できるので、直接LEDを制御できます。
 プログラムの書き込みには、Pickit2等の書込み器(プログラマー)を使用します。
 部品の向き(極性)があります。

 ※PICなどマイクロコントローラーは目的の動作をするようにプログラムを書き込んで使う部品です。
   プログラムを書き込まないで製作した場合は動作しません。


 3端子レギュレータ:TA78L05



 3端子レギュレータとは電源ICの仲間です。
 変動する電源から、安定した決まった電圧の電源を生成する目的に用いられます。
 TO-92パッケージです。部品の向き(極性)があります。


 ブリッジダイオード:SDI260



  DCC信号を整流し、直流電力を得るためにブリッジダイオードを用います。SDI260は秋月電子で入手できるブリッジダイオードから安価なものを選びました。交流の入力側と直流の出力側が隣同士にならんでいるため実装に便利です。 部品の向きがあります。注意しましょう。DI1510等の相当品も使用可能です。


 LED(直径3mm)



 直径3mmのLEDです。 部品の向きがあります。注意しましょう。
自分の好きなLEDを使って貰ってOKなのですが、実装スペースの関係で直径5mmは厳しいと思います。
(青色LEDは信号機のG球としては青すぎて不向きです。入手しにくいのですが、500nm前後の青緑色LEDが実物と同じ色合いでBestです!!)


 ピンヘッダ、ピンソケット



 部品表にあるピンヘッダとピンソケットを写真のように切断して使用します。


 専用プリント基板

(デコーダ本体基板)


(信号機基板(各現示別))

左から2現示、3現示、4現示警戒、4現示減速、5現示用基板。
※2現示用の頒布を開始しました。

 当サイトで頒布している専用のプリント基板です。直接PICKitを接続できる端子を設け、PICマイコンへの書込みを容易にしています。

 
※重要 基板は何枚か繋がって製造されるため折って切断します。このためバリが残りますので、ニッパーで荒修正し、ヤスリで仕上げます。

 製作方法

 「信号機デコーダ」の製作方法を紹介します。信号機基板のLEDの向きに特に注意して組み立てます。

 基本的に背の低い部品かはんだ付けします。 部品には向きのあるものがありますので、注意してはんだ付けします。
 プリント基板の部品番号は回路図の番号と一致しています。

 部品実装例(デコーダ本体基板)


部品実装例(信号機基板基板)
LEDの向きに特に注意して組み立てます。


LEDのA(足長)、K(足短)に注意して組み立てます。色によって向きが異なったり、同じ色でも反対向きに取り付けるものがあります。
間違えると点灯しないので、注意が必要です。
※2現示用の頒布を開始しました。
 

 サンプルソフト


 「信号機デコーダ」のサンプルソフトです。
 通常はHEXファイルをPickit2等のライターでマイコンに書き込んでください。書込み方法はこちらのページを参考にしてください。
 参考までに、ソースファイルも置いておきます。動作方式の解析、改良等に活用ください。MPLABでアセンブルしてください。
 動作しない場合の調整方法は下述いたしますが、自己責任でのご利用をお願いします。当方でのサポートも致しかねます。
 すべてのDCC環境で、動作保証するものではありません。
 なお、著作権は主張します。改良版を作成される方は出典を表示のうえ、公開してください。その際、ご連絡をいたければ、リンクを張らせていただきます。
 (無断転載は禁止します。また、商業目的の利用も禁止とします。)
 尚、ファイルは右クリックし対象を保存を選択して下さい。保存すると拡張子がtxtになる場合がありますので適宜hexに修正してください。

ソフトウェア

 PIC種類  ファイル種類  Ver 日付 
 PIC12F1827用   書込み用 HEXァイル   Ver0.94 beta  2020.01.19
 プログラム改良用 ASMソースファイル  Ver0.94 beta  2020.01.19
 PIC種類  ファイル種類  Ver 日付 
 PIC12F1827用   書込み用 HEXファイル   Ver0.93 beta  2017.01.01
 プログラム改良用 ASMソースファイル  Ver0.93 beta  2017.01.01

 PIC種類  ファイル種類  Ver 日付 
 PIC12F1827用   書込み用 HEXファイル   Ver0.92 beta  2016.09.17
 プログラム改良用 ASMソースファイル  Ver0.92 beta  2016.09.17

 PIC12F1827用   書込み用 HEXファイル   Ver0.91 beta  2016.04.17
 プログラム改良用 ASMソースファイル  Ver0.91 beta  2016.04.17


(DCC信号の0/1判定部はしみずさんのページのDCCデコーダを参考にしています。)

 注意:CVの読み込みについて  CVの読み込みにはコマンドステーションから読み込みするときの応答として、消費電流の増加で応答しています。
 信号機デコーダの場合はLEDのON制御をおこない、消費電流を増やしています。
 しかしながらLEDは消費電流が低いため、応答が正常に認識されず、コマンドステーション側でCVの読み込み処理に失敗する場合がほとんどです。(検出電流値の目安はDCCの規格上60mA以上となっており、仕組み上仕方ないと判断しています。)

 設置方法

 動作確認が終了したら、線路電源に接続し、動作確認をします。各部のハンダブジッジ等がないかよく確かめ、絶縁には十分に注意しましょう。(最悪、部品が焼損します。)
 接続方法
 信号機デコーダの接続方法は以下の図を参照してください。
 RAIL接続端子はデイジーチェーンできるようになっています。
 停止リレー制御出力はPICKit接続端子と共用になっています。(JP4の4番:ICSPDAT端子)
 この基板で直接PICマイコンにソフト書き込みをする際はPICKit接続用端子に接続します。
 信号機基板端子は各現示共通の端子です。信号機種類の切り替えはCV設定で行います。


 調整  

 どうしても、DCC信号の読み込みがうまくいかないようなら、プログラムのソースファイルにある、読み込みタイミングの調整値を変更し、HEXファイルを作成しPICに書き込んでみてください。初期値は16進数で20です。ソースでは0x20と表記しています。これを0x1fとか0x21等にしてみて試してください。大抵は初期値のままでOKのはずです。

 トラブル解決(調整方法ほか)  

 トラブル解決の進め方、掲示板に寄せられるFAQ等をPdfにまとめています。参考にしてください。
  WebNucky部品頒布(トラブル解決編)(pdf)はこちら

 CV設定  

 信号機デコーダのCV設定は以下となります。
 アクセサリのアドレスや動作モードの設定、輝度や点滅周期の設定はCV書込みで変更します。
 CVの書込みはPagedモード、Directモードに対応しています。

 各アクセサリアドレスは2つのCVで設定します。
 設定したいアドレスと2つのCVの関係はコチラのファイル(pdf)を参照してください。以下のフォームに入力しても計算できます。

信号機アドレス計算フォーム(やあさん作成):


 CV説明 (Ver0.92beta)

CV番号 説明 初期値 詳細
10進数 16進数 2進数
CV1 信号機種別設定コード 31 1F 00011111 信号機の種類を設定します。(初期値31)
 21:2現示
 31:3現示
 41:4現示(警戒)
 42:4現示(減速)
 43:4現示(抑速)
 51:5現示
 52:5現示(抑速)
CV2 輝度調整G球 255 FF 11111111 緑LED輝度調整 0~255(初期値255)
CV3 輝度調整Y球 255 FF 11111111 黄LED輝度調整 0~255(初期値255)
CV4 輝度調整R球 255 FF 11111111 赤LED輝度調整 0~255(初期値255)
CV5 未使用 0 00 00000000 未使用
CV6 未使用 0 00 00000000 未使用
CV7 デコーダVer 92 5C 01011100 デコーダのソフトVerです。
 例) 92 -> Ver0.92
CV8 製造ID(リセット用) 156 9C 10011100 製造会社IDは156。(Manufacturer IDを取得しました。)
CV8に8を書き込むとCVをRESETします
CV9 初期現示指定設定 0 00 00000000 電源投入時の現示点灯条件の設定(初期値:0(停止))
 2現示 (0:停止、1:進行)
 3現示 (0:停止、1:注意、3:進行)
 4現示警戒 (0:停止、1:警戒、3:注意、7:進行)
 4現示減速 (0:停止、1:注意、3:減速、7:進行)
 4現示抑速 (0:停止、1:注意、3:減速、7:抑速、15:進行)
 5現示 (0:停止、1:警戒、3注意、7:減速、15:進行)
 5現示抑速 (0:停止、1:警戒、3注意、7:減速、15:抑速、31:進行)
CV10 抑速信号点滅周期設定 56 38 00111000 抑速信号の点滅周期設定です。
16~96(初期値56)
設定値56で、80回点滅/分を標準としています。
CV11 信号てこ条件 アドレス上位 129 81 10000001 信号機てこ条件 アドレス設定 ※Ver0.93から使用可
初期値 設定アクセサリアドレス 1
CV12 信号てこ条件 アドレス下位 248 F8 11111000
CV13 信号現示条件1 アドレス上位 129 81 10000001 信号機点灯条件1 アドレス設定
初期値 設定アクセサリアドレス 2
CV14 信号現示条件1 アドレス下位 250 FA 11111010
CV15 信号現示条件2 アドレス上位 129 81 10000001 信号機点灯条件2 アドレス設定
初期値 設定アクセサリアドレス 3
CV16 信号現示条件2 アドレス下位 252 FC 11111100
CV17 信号現示条件3 アドレス上位 129 81 10000001 信号機点灯条件3 アドレス設定
初期値 設定アクセサリアドレス 4
CV18 信号現示条件3 アドレス下位 254 FE 11111110
CV19 信号現示条件4 アドレス上位 130 82 10000010 信号機点灯条件4 アドレス設定
初期値 設定アクセサリアドレス 5
CV20 信号現示条件4 アドレス下位 248 F8 11111000
CV21 信号現示条件5 アドレス上位 130 82 10000010 信号機点灯条件5 アドレス設定
初期値 設定アクセサリアドレス 6
CV22 信号現示条件5 アドレス下位 250 FA 11111010

 使い方説明(暫定)

 信号機デコーダは、信号現示条件を外部ソフトで作成し、アクセサリアドレスへの命令で点灯を変化させます。

 点灯条件の設定は大きく2段階に分かれます。

 (1)信号機てこ条件 (Ver0.93以上で追加した機能です。)
 信号機に強制的に停止現示を表示させるか否かの条件です。
 1つのアクセサリアドレスを使用しており、初期値はtです。信号機は(2)の信号現示条件に従い現示します。
 アクセサリアドレスを指定し値をcに設定すると、強制的に停止現示になります。
 この機能を使用して、「単線区間の逆方向時に強制的に停止する機能」「進路は開通していても出発時間でないため、出発信号機を停止にする機能」を実現できます。

 (2)信号現示条件
 信号機の防護区間の在線状況や、前方の信号機の現示条件に連動させるための機能です。
 3現示の場合、停止(R)->注意(Y)は、アクセサリアドレス2をc->tに変化させると、点灯も変化します。
 注意(Y)->進行(G)はアクセサリアドレス2がtの状態で、アクセサリアドレス3をc->tにすると、点灯が変化します。
 通常は、条件1のみ自信号機の条件として制御し、条件2以上は前方の信号機の条件1と同じアドレスにします。
 すると、前方の信号機の現示に合わせて、後方の信号機の現示も制御されることになります。

  もう少し細かい説明は、DesktopStationの製作者の方のブログで詳細設定方法が記載されています。
 当方作成の信号機設定方法はコチラのページを参照してください。


 ユーザーサイト

  フジガヤ2 「信号機デコーダの組み立て」

 最後に...

 電子工作の経験があれば、簡単に日本型信号機のDCCアクセサリデコーダが作れると思います。
 半田付けミスさえしなければ短時間で仕上がってしまいますから、時間をかけて丁寧に作りましょう。
 自分で作ったDCCアクセサリデコーダで模型運転を思い存分に楽しみましょう!
inserted by FC2 system