車載用デコーダ(One Coin Decoder 3)
サイズワンコイン!部品代ワンコインを目指した、DCCデコーダをご紹介します。
サイズは約29X10mm(スマイルコネクタ切断時:約22x10mm)です。
ファンクション専用のFLデコーダのページはこちらです。
ワンコインデコーダの旧バーションは別ページを参照ください。
トピックス
2016.01.11 コンデンサC1,C2容量変更1uF(回路図の容量を適宜読み替えてください。)
2016.01.04 サンプルソフトVer3.2beta公開しました。
(DIRECTモードにおけるCV読み込みをバイト単位に加えビット単位での読み込みサポート。DSmainR5確認済み。)
2016.01.01 サンプルソフトVer3.1beta公開しました。
(技術協力体制を構築させていてだいている、Desktop Station DSmain シリーズでの動作を考慮し、
DIRECTモードでのCV書込みのサポート。方向切替時にF0ファンクション出力を即時に反映するように改良)
2015.11.23 スマイルコネクタを導入し、作りやすさ、導入しやすさに配慮したワンコインデコーダ3の公開開始
はじめに...
鉄道模型をDCCシステムで楽しんでいる方が増えてまいりました。私も導入してからというもの高価なデコーダを買っては所有車両に搭載工事を行ってきました。ある日ふと、購入したデコーダを眺めているとPICマイコンが搭載されていました。電子工作でよく使われているPICマイコンなら、デコーダを自作できるかもと思い、研究をはじめました。
どうせ作るなら多くの人がDCCを導入しやすくするために、サイズも費用もワンコイン(500円程度)で製作できることを目指し開発を進め、完成したのが「ワンコインデコーダ・シリーズ」です。
改良版第三弾の「ワンコインデコーダ3」はやあさん、スマイラ―さんのアイデアである、スマイルコネクタと同じを6ピンのカードエッジコネクタ搭載し、表面実装パッケージのPICマイコンへのソフト書込みの敷居を低くするように専用プリント基板を作成致しました。(もちろん頒布も行っています)
※ただし、スマイルコネクタPIC版(Type-P)はワンコインデコーダシリーズ専用になります。
また、PICマイコンの書込み器を所有していない方のために、簡易版のSimplePICKit2の頒布も開始しました。
動力車用のデコーダですが、オプション回路としてF0の出力機能を装備。また外部コンデンサ用端子も装備し、終電が不安定な車両への配慮を行いました。CV設定で両極性FX専用デコーダモードになる機能も備えています。
「ワンコインデコーダ3」では部品の入手製を考え、秋月電子で入手可能な部品を中心に選定し、回路、ソフトの変更を行いました。
Zゲージでも搭載できるように回路の簡素化による部品点数の削減による小型化と、半田付けしやすい比較的大きいサイズの表面実装部品にこだわり、製作しやすく、組み込みしやすいデコーダとなるように工夫を行っています。
ご注意: ・本サイトの情報を元にした製作等に関わる破損、傷害等につきましてはご自身の責任のもとでお願いします。 ・ご紹介している方法は一例です。一部部品を規格外で使用している部分があり、最善の方法とは限りません。 ご自身でもご検討いただければ幸いです。 ・使用する部品の規格を確認のうえ必要であれば定数、回路の変更等をお願いいたします。 |
概要
NMRA規格のコマンドを受信し動作するDCCのデコーダです。ただしNMRAが規定するすべての内容を盛り込んではいませんので、準拠とは申しません。ご注意をお願いします。
マイクロコントローラーには電子工作で人気のあるマイクロチップテクノロジー社のPICマイコンを用います。ECCPを搭載した14ピンのPIC16F684を使用しています。国内での入手製に若干難がありますが、当サイトでも頒布していますので、ご利用ください。
プログラムは、アセンブラソースとHEXファイルを公開いたします。
電源にはDCC信号電流を整流しDC12Vを生成しています。また、マイコン回路自体は5Vで稼動させるので、78L05を搭載し、5Vを生成しています。PICマイコンで直接Hブリッジ回路を制御できる信号を生成します。Hブリッジには秋月でも入手可能なBD6231F-E2に変更を致しました。。
ヘッドライト等の制御に使用するFL専用デコーダはこちらのページを参照してください。
特徴














回路図

回路図です。EAGLEで作成しました。
2016.01.11 コンデンサC1,C2容量変更1uF(回路図の容量を適宜読み替えてください。)
回路の説明
回路を簡単に説明しておきます。レールからの電力をショットキーバリアダイオードを介して整流します。電流容量は1A以上、2Aあれば十分でしょう。 10μFのチップ積層コンデンサで平滑し直流12Vを得ます。12VはHブリッジを介してモータに電流を供給する電源になります。3端子レギュレータIC(78L05)を用いてPICマイコンの電源となる5Vを得ます。
レールからのDCC信号は33kΩの抵抗を介してPICマイコン(PIC16F684)のRA2端子に入力します。マイコンでソフト処理された速度信号は方向信号、PWM信号としてRC2~RC5端子に出力されます。
モータ制御を行うためのHブリッジ回路はBD6231F-E2を使います。
各端子の使用方法は次のとおりです。(もしも、入れ替える場合はASMソースを直してください。RA3は入力専用です。)
RA2 ; DCC信号入力(推奨)
RA4 ; F0出力(逆方向)
RA5 ; F0出力(正方向)
RC2 ; 正方向PWM出力(変更不可)
RC3 ; 逆方向制御出力(変更不可) 未接続
RC4 ; 逆方向PWM出力(変更不可)
RC5 ; 正方向制御出力(変更不可) 未接続
RA0 ; ソフト書込み用ICSP端子(PGD)(変更不可)
RA1 ; ソフト書込み用ICSP端子(PGC)(変更不可)
RA3 ; ソフト書込み用ICSP端子(MCLR)(変更不可)
ファンクション出力は、輝度の高いLEDで電流を抑えればPICで直接ドライブすることも可能です。電球を使用する場合はトランジスタによるドライブ回路を外付けしてください。ここら辺りは皆さん工夫してみてください。
集電が安定しない車両に搭載すると電源電圧が不安定になりPICマイコンがリセット繰り返し、走行がギクシャクする場合があります。この場合、外付けコンデンサ回路を設けると改善できる場合があります。(詳細は後述します。)
部品リスト
パーツ集めで秋葉原等の電気街に足を運ぶのも電子工作の楽しみのひとつですが、最近はネット通販を上手に利用し部品あつめをすることも便利かと思います。特に通販で特定のお店を利用しなければ入手できないパーツは「PIC16F684」だと思います。マイクロチップダイレクトやDigikey等でインターネットで簡単に入手できますが、送料等もかかるので、当サイトの頒布を活用頂ければと思います。
表中の金額は秋月電子したお店を参考に見積しています。部品の纏め売りで単価が安くなっている部品を私が良く利用するので少量の部品を調達すると割高になる場合があります。まとめ買い欄に「@」印があるものはまとめ買いした際の単価を示しています。
ワンコインデコーダと比較し安価にすることができました。部品点数の削減効果が大きいと思います。
また、リスト以外に「ハンダとこて等の工具」、「電線」、「ユニバーサル基板(場合によっては専用プリント基板)」「(必要に応じて)ICソケット」等の用意が必要です。
ワンコインデコーダ3部品表
部品 | 部品番号 | 仕様 | 個数 | 入手先 | 参考単価 | 備考 |
チップ抵抗 | R1 | 33kΩ | 1 | 頒布 | 基板に同封 | 3216サイズ |
チップコンデンサ | C1,C2 | 1uF/25V | 2 | 秋月 | @5 | |
PICマイコン | IC1 | PIC16F684-I/SL | 1 | 頒布 | 基板に同封 | |
三端子レギュレーター | IC2 | TA78L05F | 1 | 秋月 | @25 | |
フルブリッジドライバ | IC3 | BD6231F-E2 | 1 | 秋月 | @180 | |
ショットキーバリア ダイオード |
D1,D2,D3,D4 | RB160M-30TR | 4 | 秋月 | @15 | いづれか |
SS2040FL | 秋月 | |||||
専用プリント基板 | PCB | スマイルコネクタPIC版(Type-P) | 1 | 頒布 | @350~500 | |
熱収縮チューブ | Φ10×0.25×1m | 少量 | 秋月 | - |
2016.01.11 コンデンサC1,C2容量変更
参考単価はまとめ売りの金額を数量で割った参考の単価です。
秋月電子の情報はリンクのページからたどって見てください。
とくに通信販売で入手される場合は、単価、員数、送料で条件が変わってきますので、よく勘案してから注文しましょう。
部品の概要
ワンコインデコーダ3で使用する部品を紹介します。
チップ抵抗 33kΩ (3216サイズ)
(写真は「303」表示の30kΩです。33kオームは「333」表示です。)
3216サイズと呼ばれる、3.2x1.6mmのサイズも抵抗です。秋月で扱っていないので、頒布しているプリント基板にセットしています。
部品の向き(極性)はありません。
チップコンデンサ (3216サイズ)
チップ抵抗と同じ3216サイズを選定しています。
電圧は12Vと5Vなので耐圧25V品と6.3V品を使用しました。極性はありません。
袋から開封すると選別できなくなるので、半田付けする際に注意しましょう。
PICマイコン:PIC16F684-I/SL
PICとはマイクロチップテクノロジー社のワンチップマイコンのことで、電子工作ではよく利用されているマイコンです。
14ピンでECCP搭載のPIC16F684は国内で扱っている店が少ないので、当サイトの頒布を利用ください。
PIC16F684はECCPと呼ばれるモジュールを内蔵しており、直接Hブリッジを制御できます。
プログラムの書き込みには、Pickit2等の書込み器(プログラマー)を使用します。
面実装(SOP版)の書き込みには従来、秋月のアダプタを利用していましたが、スマイルコネクターPIC版(Type-P)の導入でデコーダ基板で直接書込みができるようになりました。
部品の向き(極性)があります。
※PICなどマイクロコントローラーは目的の動作をするようにプログラムを書き込んで使う部品です。
プログラムを書き込まないで製作した場合は動作しません。
3端子レギュレータ:TA78L05F
3端子レギュレータとは電源ICの仲間です。
変動する電源から、安定した決まった電圧の電源を生成する目的に用いられます。
SOT-89パッケージです。部品の向き(極性)があります。
フルブリッジドライバ:BD6231F-E2
モータ電流を制御するためのHブリッジ回路がワンチップに入っています。秋月で扱っているドライバから選定しました。
外観とリード線の名称はデータシートを参照してください。
ショットキーバリアダイオード:RB160M-30TR、SS2040FL
(写真はRB160M-30TR)
DCC信号を整流し、直流電力を得るためにブリッジダイオードを用います。秋月電子で入手できるショットキーバリアダイオードから2種を選定しています。
お好きなほうを選んでください。部品の向き(極性)があります。
専用プリント基板
当サイトで頒布している専用のプリント基板です。スマイルコネクターPIC版(Type-P)を装備し、面実装のPICマイコンへの書込みを容易にしています。
※重要 スマイルコネクタPIC版(Type-P)はワンコインデコーダシリーズ専用になります。
DesktopStationのデコーダ(Type-A)を挿入すると破損します。注意ください。
※重要 基板は何枚か繋がって製造されるため折って切断します。このためバリが残りますので、ニッパーで荒修正し、ヤスリで仕上げます。
きれいに仕上げずに、無理やりコネクタに挿入すると、最悪、コネクタが壊れます。
熱収縮チューブ:Φ10×0.25×1m
プリント基板への半田付け後にショートによる故障を防ぐための絶縁チューブです。
ドライヤーで熱を与えて、収縮させます。
製作方法
「ワンコインデコーダ3」の製作方法を紹介します。表面の番号順、裏面の番号順に半田付けを行います。
部品と部品の間が狭いので、順番を考えて半田付けを行わないと、作業がとても難しくなります。番号は推奨する順番です。
また、①のPICマイコンを半田付けした後、いったん、マイコンを書込みして正常に半田付けできているか確認をすると、失敗が少ないです。
(すべて半田付けした後でも書込み可能(書き換え可能)ですが、半田付け不良の際、探求が難しくなります。)

表面から見た、部品配置図です。部品番号は回路図の番号と一致しています。
部品実装例(表側)
部品実装例(裏側)
成功への手引き
まずはPICマイコンのみを半田付けして、正常に書込みできるか確認します。この時点で正常に書込み出来ないようであれば、半田付けをやり直します。
あせらず半田付けをすることが大事です。部品が小さいので、私はマスキングテープで基板と部品を固定したうえで半田付けを行っています。
書込み方法はこのページを参照してください。

サンプルソフト
「ワンコインデコーダ3」のサンプルソフトです。
通常はHEXファイルをPickit2等のライターでマイコンに書き込んでください。書込み方法はこちらのページを参考にしてください。
参考までに、ソースファイルも置いておきます。動作方式の解析、改良等に活用ください。MPLABでアセンブルしてください。
動作しない場合の調整方法は下述いたしますが、自己責任でのご利用をお願いします。当方でのサポートも致しかねます。
すべてのDCC環境で、動作保証するものではありません。
なお、著作権は主張します。改良版を作成される方は出典を表示のうえ、公開してください。その際、ご連絡をいたければ、リンクを張らせていただきます。
(無断転載は禁止します。また、商業目的の利用も禁止とします。)
尚、ファイルは右クリックし対象を保存を選択して下さい。保存すると拡張子がtxtになる場合がありますので適宜hexに修正してください。
(最新版Ver3.2beta) 書込み用 HEXファイルはこちら 2016.01.04
(最新版Ver3.2beta) プログラム改良用 ASMソースファイルはこちら 2016.01.04
(旧版Ver3.1beta) 書込み用 HEXファイルはこちら 2016.01.01
(旧版Ver3.1beta) プログラム改良用 ASMソースファイルはこちら 2016.01.01
(旧版Ver3.0) 書込み用 HEXファイルはこちら 2015.11.11
(旧版Ver3.0) プログラム改良用 ASMソースファイルはこちら 2015.11.11
(DCC信号の0/1判定部はしみずさんのページのDCCデコーダを参考にしています。)
注意:アナログ対応について
アナログ対応はレールの電圧極性を読み取り、モータドライバの方向制御をおこなっているだけで速度制御は供給電圧がそのままモータに加わるようになっています。PICマイコンが正常に動作するのには約8V程度(3端子レギュレータのドロップ含む)の電圧が必要であり、特にNゲージ等のモータ容量の小さい模型は低速運転が効きない場合があります。DCC運転がメイン機能で、アナログ対応は、あくまで簡易機能とお考え下さい。
(CV初期設定でもOFFにしてあります。)
注意:CVの読み込みについて
CVの読み込みにはコマンドステーションから読み込みするときの応答として、消費電流の増加で応答しています。
モータおよびライトを短い時間だけONの制御をおこない、消費電流を増やしています。
モータ接続せずにデコーダを使用している場合や、ライトがLED等で消費電流が低い場合、応答が正常に認識されず、コマンドステーション側でCVの読み込み処理に失敗する場合があります。(電流値の目安はDCCの規格上60mA以上となっています。)
車両への搭載
動作確認が終了したら、車両に搭載します。モータドライバに出力保護回路が搭載されていますが、過信はできませんので、各部の絶縁には十分に注意しましょう。(最悪、部品が焼損します。)
Keep aliveコンデンサコンデンサ回路はオプションです。集電性能が悪くギクシャクする場合にお試しください。
(ただし、線路電源ON時にコマンドステーションの負担になりますからほどほどにしましょう。)
F0ファンクション回路もオプションで接続可能です。マイコンからの直接出力なので、電圧は5V程度(実測4.2V程度)です。
電流値的には電球は接続不可でLED専用です。
CV30を2に設定すれば、モータ端子をFL両極性Fxデコーダとして接続可能なモードになります。(詳細はCV設定を参照してください。)
調整
どうしても、DCC信号の読み込みがうまくいかないようなら、プログラムのソースファイルにある、読み込みタイミングの調整値を変更し、HEXファイルを作成しPICに書き込んでみてください。初期値は16進数で10です。ソースでは0x10と表記しています。これを0x0fとか0x11等にしてみて試してください。大抵は初期値のままでOKのはずです。
CV設定
CV設定については、こちらのページを参照してください。DCS50Kで「AD4」と表示され4桁アドレスを設定するモードでは、本来Pagedモードのところ、一部DirectモードによるCV設定が行われる場合があります。このため、CV29が正常に書込みされない場合があります。この場合、CV29を新たに設定(CV設定値38)することで、使用可能になります。
本デコーダでの4桁アドレス設定は、CV17,CV18,CV29を個別に設定することをお勧めします。詳細はCV設定ページを参照してください。
ユーザーサイト






最後に...
電子工作の経験があれば、自作DCCデコーダが作れると思います。半田付けミスさえしなければ短時間で仕上がってしまいますから、時間をかけて丁寧に作りましょう。
自分で作ったDCCデコーダで運転を思い存分に楽しみましょう!