ポイント用アクセサリデコーダ(FPM Decoder)
部品代1000円で作る、「ポイント用アクセサリデコーダ(FPM Decoder)」をご紹介します。
車載用ワンコインデコーダ2はこちら、車載用FLデコーダはこちらです。
ユニバーサル基板に作成した事例です。部品数が多いのと、電解コンデンサが大きいので、詰め込むのに苦労しました。動作確認は、TOMIX製電動ポイント(PL/R541-15)、KATO製4番Nポイント、4番HOポイント、6番HOポイントで実施しました。トピックス
2009.10.17 ソフト更新(Ver0.91)、回路図変更(Ver1.2) DCC読み取り精度向上対策(ソフト:タイミング調整、ハード:フォトカプラ応答性改善)
2009.08.20 部品配置図修正
2009.07.19 部品の詳細紹介ページ、および、製作方法の詳細についてページを追加しました。(4ページ構成に変更)
2009.07.16 部品の一部追加(C4 0.1uF)および、一部変更(78L05)を実施。回路図、部品表を変更しました。
2009.05.29 部品名など誤記修正。一部追記。部品表から部品の入手先のリンクを張りました(参考)。
2009.05.24 「ワンコインデコーダ」の技術を応用したポイント用アクセサリデコーダを作成しました。機能はDS52相当です。是非作ってみてください。
はじめに...
このデコーダは、ほとんどの直流2線式コイル式、3線コイル式のポイントマシンを制御することができます。
このデコーダ1個で2回路(回路A、回路B)までのポイントマシンを個別に操作できます。
ねじ止め端子を使用していますので、電線の接続が容易です。(各社のポイント用コネクタは途中で切断して接続します。)
DCCパケットの解析等、「ワンコインデコーダ2」の技術を応用することで作成しています。
車載デコーダのように小型に作成しなくても実用になりますので、DCC自作入門用にお勧めです。
概要
NMRA規格のコマンドを受信し動作するDCCのデコーダです。ただしNMRAが規定するすべての内容を盛り込んではいませんので、準拠とは申しません。ご注意をお願いします。
マイクロコントローラーには電子工作で人気のあるマイクロチップテクノロジー社のPICマイコンを用います。ワンコインデコーダではPIC12F683やPIC16F684を使用していましたが、部品価格の低減のため、PIC12F629を使用することにしました。このためDCC信号を正しく読み込ませるためにフォトカプラを使用しています。プログラムは、アセンブラソースとHEXファイルを公開いたします。
電源には車載デコーダと同じくDCC信号電流を整流しDC12Vを生成しています。また、マイコン回路自体は5Vで稼動させるので、78L05を搭載し、5Vを生成しています。PICマイコンでポイント転換を制御できる信号を生成します。トランジスタとFETによるハーフブリッジ回路を使用し、コンデンサの充電放電方式とすることで、誤作動時のポイントマシンの焼損を防止しています。(FETブリッジ回路はしみずさんのページを参考にしています。)
フォトカプラの逆耐圧制限用のLEDは線路電源表示灯としてDCC信号入力時点灯するようになっています。回路A、回路Bの「t」「c」の制御状態を各LEDで表示します。
特徴
- このデコーダ1つで2台のポイントを個別に制御できます。
- アドレスの設定はDS52と同じく、プログラムジャンパによりプログラムモードに切り替え実施します。
- 回路の「t」「c」の制御状態をLEDで表示します。
- 線路電源の状態をLED表示します。)
- 一般的に入手できる部品のみで作成でき、再現性が高いです。
回路図
回路図(pdf)はこちら (2009.10.17更新)回路図です。BSch3Vで作成しました。
回路の説明
回路を簡単に説明しておきます。レールからの電力をブリッジダイオードを介して整流します。電流容量は大きいほうがよいのですが、ここでは1.5Aのダイオードブリッジを使用しています。整流した電源がポイント転換用の充電放電回路の電源になります。
ダイオードを介して47μFの電界コンデンサで平滑し3端子レギュレータIC(7805)を用いてPICマイコンの電源となる5Vを得ます。
レールからのDCC信号は680Ωの抵抗を介してフォトカプラに入力します。フォトカプラの逆耐圧制限用にLEDで線路電源の表示を行っています。
フォトカプラの出力はPICマイコン(PIC12F629)のGP3端子に入力します。マイコンでソフト処理されたポイント転換信号はGP1,2,4,5に出力されます。
トランジスタとFETによるハーフブリッジ回路を使用し、コンデンサの充電放電方式とすることで、誤作動時のポイントマシンの焼損を防止しています。
一方、GP0端子はプログラミングジャンパーの設定状況用で、プルアップで通常時、GND入力でプログラムモードとなります。
PICマイコンの各端子の使用方法は次のとおりです。(入れ替える場合はASMソースを直してください。GP3が入力専用なことに注意)
- GP0 ; プログラムジャンパー入力
- GP1 ; 回路A出力(FET用)
- GP2 ; 回路B出力(FET用)
- GP3 ; DCC信号入力(推奨)
- GP4 ; 回路B出力(LED用)
- GP5 ; 回路A出力(LED用)
部品リスト
パーツ集めで秋葉原等の電気街に足を運ぶのも電子工作の楽しみのひとつですが、最近はネット通販を上手に利用し部品あつめをすることも便利かと思います。特に通販で特定のお店を利用しなければ入手できないパーツはありません。パーツ点数は若干多いですが、種類は少ないと思いますので頑張って集めて下さい。
表中の金額は当方で利用したお店を参考に見積しています。部品の纏め売りで単価が安くなっている部品を私が良く利用するので少量の部品を調達すると割高になる場合があります。まとめ買い欄に「@」印があるものはまとめ買いした際の単価を示しています。
市販品と比較し安価(1000円以内!)にすることができました。
また、リスト以外に「ハンダとこて等の工具」、「電線」等の用意が必要です。
アクセサリデコーダ部品表 (2009.10.17更新時の金額です。)
種類 | 品名、規格 | 数量 | 単価 | 小計 | 備考 | 主な入手先 | まとめ買い |
IC | PIC12F629-I/P | 1 | 80 | 80 | DIP8 | 秋月 | |
78L05 | 1 | 20 | 20 | 相当品可 7805可(ピン配列異) |
秋月 | @ | |
トランジスタ | 2SC1815 | 4 | 5 | 20 | 相当品可 | 秋月 | @ |
FET | 2SJ380 | 2 | 100 | 200 | 相当品可 | 秋月 | |
2SK2382 | 2 | 100 | 200 | 相当品可 | 秋月 | ||
ブリッジダイオード 700V 1.5A | DI1510 | 1 | 19 | 19 | AM1510他相当品可 | 秋月 | @ |
ダイオード | 1N4007 | 1 | 5 | 5 | 相当品可 | 秋月 | @ |
LED (φ3mm) | 赤 | 1 | 3.5 | 3.5 | 相当品可 | 秋月 | @ |
緑 | 2 | 4.5 | 9 | 相当品可 | 秋月 | @ | |
黄 | 2 | 5.5 | 11 | 相当品可 | 秋月 | @ | |
フォトカプラ | TLP621-1 | 1 | 20 | 20 | 相当品可 TLP521-1,PC817C等 |
秋月 | @ |
抵抗器 1/6W | 680Ω | 2 | 1 | 2 | 秋月 | @ | |
1KΩ | 4 | 1 | 4 | 秋月 | @ | ||
4.7KΩ | 9 | 1 | 9 | 秋月 | @ | ||
10KΩ | 4 | 1 | 4 | 秋月 | @ | ||
電解コンデンサ | 47μF 35V | 1 | 10 | 10 | 千石 | ||
2200μF 35V | 2 | 100 | 200 | 千石 | |||
積層セラミックコンデンサ | 0.1μF/50V | 1 | 10 | 10 | 秋月 | @ | |
ターミナルブロック | 2ピン(青)小 | 3 | 20 | 60 | 秋月 | ||
ICソケット | 8ピン | 1 | 10 | 10 | 秋月 | ||
ユニバーサル基板 | 片面ガラスCタイプ | 1 | 60 | 60 | 相当品可 | 秋月 | @ |
ピンヘッダ | 2ピン | 1 | 40 | 40 | 秋月 | @ | |
合計 | 996.5 |
入手先のお店の情報はリンクのページからたどって見てください。
部品の概要
アクセサリデコーダで使用する部品を紹介します。PICマイコン:PIC12F629-I/P
PICとはマイクロチップテクノロジー社のワンチップマイコンのことで、電子工作ではよく利用されているマイコンです。
プログラムの書き込みには、Pickit2等のマイクロチップテクノロジー社純正プログラマを使用します。
1番ピン側に凹みがあります。注意しましょう。 部品の向きがあります。注意しましょう。
PICなどマイクロコントローラーは目的の動作をするようにプログラムを書き込んで使う部品です。 プログラムを書き込まないで製作した場合は動作しません。 |
3端子レギュレータ:78L05
3端子レギュレータとは電源ICの仲間です。
変動する電源から、安定した決まった電圧の電源を生成する目的に用いられます。 部品の向きがあります。注意しましょう。
(組み立て時の小型化から100mAタイプの78L05を指定していますが、1Aタイプの7805も使用可能です。ただし、ピン配列が異なるので注意が必要です。)
トランジスタ: 2SC1815
FETドライブ用のトランジスタです。電子工作では安価に入手できることで有名な2SC1815を使用しています。秋月でまとめ買いしました。
外観とリード線の名称はデータシートを参照してください。 部品の向きがあります。注意しましょう。
Power MOS-FET: 2SJ380 2SK2382
(2SJ380)
(2SK2382)
ポイントマシンへの充電放電電流を制御するためのハーフブリッジ回路に使用しているFETです。秋月で1つ100円で買えるものから選びました。
MOS-FETは静電気に対して弱い部品ですから注意しましょう。外観とリード線の名称はデータシートを参照してください。 部品の向きがあります。注意しましょう。
ブリッジダイオード:DI1510
DCC信号を整流し、直流電力を得るためにブリッジダイオードを用います。DI1510は秋月電子で入手できるブリッジダイオードから700V 1.5Aのものを選びました。交流の入力側と直流の出力側が隣同士にならんでいるため実装に便利です。 部品の向きがあります。注意しましょう。
ダイオード: 1N4007
整流回路用のダイオードです。外観と回路図記号の対象は写真のとおりです。 部品の向きがあります。注意しましょう。
本機では、実装するときにリード線を曲げていますが、本体にストレスがかからないように注意して曲げましょう。
LED(直径3mm)
直径3mmのLEDです。 部品の向きがあります。注意しましょう。
自分の好きなLEDを使って貰ってOKなのですが、実装スペースの関係で直径5mmは厳しいと思います。
(青色LEDは順方向電圧の関係で光らないかもしれません。)
フォトカプラ TLP621-1
1回路のフォトカプラです。 部品の向きがあります。注意しましょう。1番ピン側にマークがあります。
TLP521-1、PC817C等の汎用の1回路フォトカプラが使用できます。
炭素皮膜抵抗器 1/6W 各種
誤差5%の炭素皮膜抵抗器の1/6Wタイプです。1/4Wの小型品でも構いません。
1本5~10円程度なのですが、100本で100~200円で入手できるので、袋でまとめ買いしています。
抵抗値は部品に書いてあるカラーコードで判別できますが、小型品はカラーコードが細かいためにテスターでの確認をお勧めします。
使うまで袋から出さないのが賢明です。部品の向きはありません。
電解コンデンサ
ポイントマシンを動作させる充電放電電流を貯めるために電解コンデンサを用います。2200μF/35V品を使用しました。
マイコン制御用電源の3端子レギュレータの入力には47μF/35Vを用いています。どちらも+-極性があります注意しましょう
積層セラミックコンデンサ
3端子レギュレータの出力側には発信止めの意味で0.1μF/50Vを用いています。極性はありません。
0.1μFは部品に「104」と表記されています。リード線の加工形状が2.5mmのものが小型製作に向いています。
5mmのタイプでも、2.5mmでも、リード線をラジオペンチ等で整形すれば、どちらも相互に利用可能です。
ターミナルブロック 2ピン(青)小
DCC線路電源の入力、ポイントマシンへの出力用の端子です。電線の差し込み口を基板の外側に向けて取り付けます。
リード線が太いので、基板の穴に入りにくいかもしれません。その時は基板穴をドリルで広げてから挿入します。
ICソケット:DIP8ピン(丸ピンタイプ)
PIC12F629のプログラムを更新する際に基板から取り外せるように使います。1番ピン側に凹みがあります注意しましょう。
安価な平ピンタイプでも構いません。
ユニバーサル基板 Cタイプ ガラスエポキシ 片面
本機で使用するのは、Cタイプ ガラスエポキシ 片面 です。
類似品で両面があるので注意してください。両面タイプだと表面のジャンパがショートして正常に動作しません。
秋月で扱っているユニバーサル基板のうち安価なものを選びました。
紙フェノールタイプ製 より ガラスエポキシタイプ製 のほうが、穴数が多いので、ガラスエポキシを選びます。
紙フェノールタイプ製では穴数が足りず、部品がすべて実装できません。
専用の基板を自作する方法もあります。データ、製作方法のお勧めページは別にご紹介します。
ピンヘッダ(オス) 40P(1×40)
アドレスプログラム時に必要になるジャンパーピンを受けるために使用します。ニッパで必要数を切断します。
ピンヘッダにさすジャンパーピンは、パソコンのパーツ売り場などでも売っていますし、
HDD等のパソコンパーツから取り外したものを流用してもいいと思います。
製作方法
「アクセサリデコーダ」の製作方法を紹介します。部品配置図
表面から見た、部品配置図です。部品番号は回路図の番号と一致しています。
D7の切り欠けはK側が正しいです。「K」「A」表示は正しいです。実装に注意ください。
各段階でこの図を確認しながら作業をします。
配線図(表側)
表側からみた配線イメージです。青線は実際は裏面に配線されます。
赤線は表側でジャンパーする線です。すずメッキ線やリード線の余り等で配線します。
(後で指定する段階で必ず取り付けします。)
各段階でこの図を確認しながら作業をします。
配線図(裏側)
裏側からみた配線図です。青線は裏面ですずメッキ線やリード線の余り等で配線します。(表側の図と左右が反転しています。注意願います。)
各段階でこの図を確認しながら作業をします。
専用の基板を自作する方法もあります。データ、製作方法のお勧めページは別にご紹介します。
(1)ICソケット(IC2用)、ブリッジダイオード(D1)、フォトカプラ(PC1)の実装
部品配置図を良く見て、指定の穴位置にICソケット、ブリッジダイオード、フォトカプラを取り付けます。ここで穴位置を間違えると、以後の部品の取り付けに支障しますので、注意します。
各部品ともに向きがありますので、よく見て、注意して取り付けます。
半田づけする際、基板を裏返しますが、抜け落ちてしまう部品はあらかじめ、マスキングテープ等で仮押さえして半田づけすると良いです。
(2)R1~R5の実装、LEDの準備
R1~R5を実装します。LEDは足の向きが各々異なりますので、下記写真を参考に準備します。
2008.8.25修正
(3)LEDの半田づけが終わりました。
(4)JP1~JP6を配線します。
この段階でJP1~JP6を配線します。この段階で配線しておかないと、部品の間や、部品の下などになり、きわめて作業が困難になります。
(5)D2のリード線を曲げます。
ダイオードのリード線をあらかじめ曲げます。モールド本体に力がかからないようにピンセット等で持ちながらリード線を曲げます。
(6)D2、C1、C4、IC1、R6、R7、PH1を取り付けます。
PH1はマスキングテープで固定して半田づけするとやりやすいです。D2は向きがありますので、注意してください。(5)の写真のとおり曲げると、(6)の写真の方向で取り付けるのが正しいです。
C4についてはリード線間隔が5mmの場合で図面は説明していますが、2.5mmの場合は以下の写真のようにします。
(7)Q1、Q2、R9、R10、R11、R16、R17を取り付けます。
Q1、Q2は向きがありますので、注意してください。(8)Q3、Q4、R13、R14、R15、R18、R19を取り付けます。
Q3、Q4は向きがありますので、注意してください。(9)Q5、Q6、Q7、Q8を取り付けます。
各部品には向きがありますので、注意してください。Q5、Q6は以下のような向きになります。
Q7、Q8は(10)の写真の向きになります。
(10)R8、R12を取り付けます。
FETとコンデンサの間になり今後は作業しにくいので、必ずこの段階で取り付けします。(11)C2を取り付けます。
向きがあるので注意して取り付けします。JPや抵抗を先に取り付けておくべき理由がわかると思います。
(12)C3を取り付けます。
同様に部品の向きに注意します。(13)TB1~TB3を取り付け、完成です。
端子のケーブル口は基板の外側に向けます。次に、マイコンへのソフトの書込みを行い、ソケットにさせば完成です。
サンプルソフト
「ポイント用アクセサリデコーダ(FPM Decoder)」のサンプルソフトです。通常はHEXファイルをPickit2等でPICマイコンに書き込んでください。書込み方法はこのページを参考にしてください。
参考までに、ソースファイルも置いておきます。動作方式の解析、改良等に活用ください。MPLABでアセンブルしてください。
動作しない場合の調整方法はソースファイル内に記述いたしますが、自己責任でのご利用をお願いします。当方でのサポートも致しかねます。
すべてのDCC環境で、動作保証するものではありません。
なお、著作権は主張します。改良版を作成される方は出典を表示のうえ、公開してください。その際、ご連絡をいたければ、リンクを張らせていただきます。
(無断転載は禁止します。また、商業目的の利用も禁止とします。)
尚、ファイルは右クリックし対象を保存を選択して下さい。そのままクリックして保存すると拡張子がtxtになる場合があります。
(最新版Ver0.91) HEXファイルはこちら 2009.10.17更新
(最新版Ver0.91) ASMソースファイルはこちら 2009.10.17更新
(DCC信号の0/1判定部はしみずさんのページのDCCデコーダを参考にしています。)
調整手順
ポイントマシン、PICマイコンを外した状態で、DCC信号を入力し、各部の電圧が正しいか確認します。マイコンの電源ピンに5Vが出ているかを確認します。一度DCC信号を切り、プログラムを書き込んだPICマイコンを準備しソケットに挿入してから動作確認をします。
動作確認の手順としてはDCC信号を正常に読み込めているかの検証を行います。初期状態ではアドレス001(回路A),アドレス002(回路B)が登録されているので、コマンドステーションからアドレス1や2で「t」「c」と制御してみます。LEDおよびポイントが切り替われば成功です。
トラブル解決(調整方法ほか)
どうしても、DCC信号の読み込みがうまくいかないようなら、プログラムのソースファイルにある、読み込みタイミングの調整値を変更し、HEXファイルを作成しPICに書き込んでみてください。初期値は16進数で07です。ソースでは0x07と表記しています。これを0x06とか0x08等にしてみて試してください。大抵は初期値のままでOKのはずです。
トラブル解決の進め方、掲示板に寄せられるFAQ等をPdfにまとめています。参考にしてください。
WebNucky部品頒布(トラブル解決編)(pdf)はこちら
アドレス設定方法
このデコーダのアドレスは初期設定値として「回路Aは001」、「回路Bは002」に設定されています。アドレスを変更する場合は、下記の手順で行ってください。
正しく設定されなかった場合は、もう一度最初から行ってください。
- 線路電源をOFFにします。
※PICマイコンは電源投入時にモードの判別をしますので、必ずOFFにしてからはじめてください。 - プログラミングジャンパーをはめて、GP0端子をGNDに接続します。
- 線路電源をONします。
- 設定したいアドレスを、スロットルで回路A・Bの順番に選択して切り換え(操作し)ます。
切り換え操作は、回路ごとに数回繰り返してください。
回路Aのアドレスを選択し t ・ c キーを交互に数回押します。このとき回路AのLEDの点灯が変化したら回路Aの登録は終了です。
続いて、回路Bのアドレスを選択し t ・ c キーを交互に数回押します。このとき回路BのLEDの点灯が変化したら回路Bも登録は終了です。
(回路Aと回路Bは同じアドレスは設定できません。) - 線路電源をOFFにします。
- プログラミングジャンパーをはずします。アドレス設定完了です。
- ポイントを接続し、線路電源をONし動作確認すれば、使用可能です。
基板の自作について
当サイトでは誰でも簡単に自作できるようにユニバーサル基板での製作方法をご紹介いたしておりますが、大量に製作したい場合や、配線間違いによる動作不能を避けたい場合など、基板を自作するためのデータを公開いたします。PCBEという基板データ製作用のソフトウェアのデータを公開いたします。
PCBEはVector等で入手してください。 PCBEで印刷したPDFファイルも置いておきます。
PCBEデータは堀田さんのご厚意で公開させていただいております。この場をお借りして御礼申し上げます。
PCBEデータファイルはこちら 2009.12.11更新
PDFファイルはこちら 2009.12.13更新 (原寸で印刷するようにしてください)
(「趣味の電子回路工作」というサイトの解説が親切だと思います。)
最後に...
意外に簡単にポイント用デコーダが自作できると思いませんか?配線ミスさえしなければ短時間で仕上がってしまいますから、時間をかけて丁寧に作りましょう。
自分で作ったDCCデコーダで運転を思い存分に楽しみましょう!
ポイント用デコーダがうまくできたら、車載用「ワンコインデコーダ2」にもチャレンジしてみてください。