ワンコインデコーダ4(One Coin Decoder 4)ver 4.2 (スリム版共通)
注意:このページは旧版です。最新版のワンコインデコーダ6のページはコチラです。
サイズワンコイン!部品代ワンコイン(500円)を目指した、激安自作DCCデコーダの第四弾をご紹介します。
スリム版は基板の板厚が0.6mmであるだけで、組立などは通常版と同じです。書込みのスマイルコネクタアダプタはスリム版専用をお使いください。
最新版はVer4.2です。これはコンデンサC1を表側に配置変更し、基板上のインピーダンス低減を行ったものです。
部品やソフトは従来のVer4.0、4.1と共通となっています。
なお、Ver4.1は4.0のスマイルコネクタ部分を短縮し基板サイズを小型化したものです。
モータ用デコーダ/FL両極性デコーダ/ポイント用デコーダ として利用できます。
これは共通ハードウェアで、ソフトウェアやCV設定の変更をすることで実現します。
このページは、モータ用/FL両極性用デコーダとして使用する方法の説明ページです。ポイント用として使用する際の説明ページはコチラです。
写真はVer4.2 プリント基板板厚0.6mmのスリム版(約23x10x4mm)
(スリム版はプリント基板も黒色にして目立たないようにしています。)
写真はVer4.2 プリント基板板厚1.6mmの通常版(約23x10x5mm)
Ver4.0基板(Ver4.0は約27x10x5mmです。)
ファンクション専用のFLデコーダのページはこちらです。
ワンコインデコーダの旧バーションは別ページを参照ください。
トピックス
2018.11.10 ファンクション機能改善および強化 サンプルソフト更新(ver0.93beta) また、ファンクション機能配線例の追記(上級者向け)
2018.11.04 開発中のforKATOLoco用にファンクションを拡張しました。(forKATOLoco以外の通常版も使用できますがファンクション用端子の利用には工夫が必要です。)
2018.06.09 Youtubeに組みたて方法の動画をUPしました(成功への手引き参照)
2018.06.05 スリム版の写真を掲載。
2017.08.20 部品実装図、接続図をVer4.2用に修正。
2017.06.07 VER4.2に関する事項を追記。
2017.04.28 VER4.1に関する事項を追記。
2017.04.01 C2の容量を1uFから10uFに変更しました。(1uFで問題なければ改装する必要はありません。)
2016.03.27 ワンコインデコーダ4の公開開始。マイコンの入手性を考慮し、PIC12F1822に変更しました。
はじめに...
鉄道模型をDCCシステムで楽しんでいる方が増えてまいりました。私も導入してからというもの高価なデコーダを買っては所有車両に搭載工事を行ってきました。ある日ふと、購入したデコーダを眺めているとPICマイコンが搭載されていました。電子工作でよく使われているPICマイコンなら、デコーダを自作できるかもと思い、研究をはじめました。
どうせ作るなら多くの人がDCCを導入しやすくするために、サイズも費用もワンコイン(500円程度)で製作できることを目指し開発を進め、完成したのが「ワンコインデコーダ・シリーズ」です。
改良版第4弾の「ワンコインデコーダ4」は、やあさん、スマイラ―さんのアイデアである、スマイルコネクタと同じを6ピンのカードエッジコネクタ搭載したワンコインデコーダ3の利便性はそのままに、マイコンの入手性に難のあったPIC16F684から、秋月電子での入手可能なPIC12F1822に変更をし、製作のしやすさに配慮しました。
表面実装パッケージのPICマイコンへのソフト書込みの敷居を低くするように専用プリント基板を用いる点は変わらずです。(みなさんのい自作をサポートするため基板の頒布も行っています)
※ただし、スマイルコネクタPIC版(Type-P)はワンコインデコーダシリーズ専用になります。
また、PICマイコンの書込み器を所有していない方のために、中国製のpickit2互換機や、簡易版のSimplePICKit2の頒布もしています。
外部コンデンサ用端子も装備し、終電が不安定な車両への配慮を行っています。モータ用とFL両極性用の変更はCV設定で可能です。ポイント用は専用のソフトウェアをマイコンに書き込むことで使用可能になります。
「ワンコインデコーダ4」では部品の入手製を考え、秋月電子で入手可能な部品を中心に選定し、回路、ソフトの製作しています。
Zゲージでも搭載できるように回路の簡素化による部品点数の削減による小型化と、半田付けしやすい比較的大きいサイズの表面実装部品にこだわり、製作しやすく、組み込みしやすいデコーダとなるように工夫を行っています。
ご注意: ・本サイトの情報を元にした製作等に関わる破損、傷害等につきましてはご自身の責任のもとでお願いします。 ・ご紹介している方法は一例です。一部部品を規格外で使用している部分があり、最善の方法とは限りません。 ご自身でもご検討いただければ幸いです。 ・使用する部品の規格を確認のうえ必要であれば定数、回路の変更等をお願いいたします。 |
概要
NMRA規格のコマンドを受信し動作するDCCのデコーダです。ただしNMRAが規定するすべての内容を盛り込んではいませんので、準拠とは申しません。ご注意をお願いします。
マイクロコントローラーには電子工作で人気のあるマイクロチップテクノロジー社のPICマイコンを用います。8ピンのPIC12F1822を使用しています。
プログラムは、アセンブラソースとHEXファイルを公開いたします。
電源にはDCC信号電流を整流しDC12Vを生成しています。また、マイコン回路自体は5Vで稼動させるので、78L05を搭載し、5Vを生成しています。PICマイコンで直接Hブリッジ回路を制御できる信号を生成します。Hブリッジには秋月でも入手可能なBD6231F-E2を使用しています。ピンが互換の廉価版ZXBM5210の使用は基板のインピーダンス低減を行ったVer4.2においても故障するケースがあります。ZXBM5210を利用する場合はC1の容量、キープアライブコンデンサ接続に注意して使用してください。基本的にはBD6231F-E2を推奨します。詳細はコチラも参照。
ヘッドライト等の制御に使用するFL専用デコーダ(ワンコインFLデコーダ)はこちらのページを参照してください。
特徴













回路図

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

旧Ver(Ver4.0、Ver4.1はこちら)


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

PICマイコンへソフトを書込みする方法はこのページを参照してください。

サンプルソフト
「ワンコインデコーダ4」のサンプルソフトです。
通常はHEXファイルをPickit2等のライターでマイコンに書き込んでください。書込み方法はこちらのページを参考にしてください。
参考までに、ソースファイルも置いておきます。動作方式の解析、改良等に活用ください。MPLABでアセンブルしてください。
動作しない場合の調整方法は下述いたしますが、自己責任でのご利用をお願いします。当方でのサポートも致しかねます。
すべてのDCC環境で、動作保証するものではありません。
なお、著作権は主張します。改良版を作成される方は出典を表示のうえ、公開してください。その際、ご連絡をいたければ、リンクを張らせていただきます。
(無断転載は禁止します。また、商業目的の利用も禁止とします。)
尚、ファイルは右クリックし対象を保存を選択して下さい。保存すると拡張子がtxtになる場合がありますので適宜hexに修正してください。
(Ver0.94beta) 書込み用 HEXファイルはこちら 2019.03.17 ※ConfigBIT変更(LVP_ON)PICKit3による書き込みエラー回避
(Ver0.92beta) 書込み用 HEXファイルはこちら 2018.11.04
(Ver0.91beta) 書込み用 HEXファイルはこちら 2016.05.30
(Ver0.9beta) 書込み用 HEXファイルはこちら 2016.03.27
(Ver0.94beta) プログラム改良用 ASMソースファイルはこちら 2019.03.17 ※ConfigBIT変更(LVP_ON)PICKit3による書き込みエラー回避
(Ver0.92beta) プログラム改良用 ASMソースファイルはこちら 2018.11.04
(Ver0.91beta) プログラム改良用 ASMソースファイルはこちら 2016.05.30
(Ver0.9beta) プログラム改良用 ASMソースファイルはこちら 2016.03.27
(DCC信号の0/1判定部はしみずさんのページのDCCデコーダを参考にしています。)
注意:アナログ対応について
アナログ対応はレールの電圧極性を読み取り、モータドライバの方向制御をおこなっているだけで速度制御は供給電圧がそのままモータに加わるようになっています。PICマイコンが正常に動作するのには約8V程度(3端子レギュレータのドロップ含む)の電圧が必要であり、特にNゲージ等のモータ容量の小さい模型は低速運転が効きない場合があります。DCC運転がメイン機能で、アナログ対応は、あくまで簡易機能とお考え下さい。
(CV初期設定でもOFFにしてあります。)
注意:CVの読み込みについて
CVの読み込みにはコマンドステーションから読み込みするときの応答として、消費電流の増加で応答しています。
モータおよびライトを短い時間だけONの制御をおこない、消費電流を増やしています。
モータ接続せずにデコーダを使用している場合や、ライトがLED等で消費電流が低い場合、応答が正常に認識されず、コマンドステーション側でCVの読み込み処理に失敗する場合があります。(電流値の目安はDCCの規格上60mA以上となっています。)
車両への搭載
動作確認が終了したら、車両に搭載します。モータドライバに出力保護回路が搭載されていますが、過信はできませんので、各部の絶縁には十分に注意しましょう。(最悪、部品が焼損します。)モーター用の接続方法
Ver4.2の場合

Keep aliveコンデンサコンデンサ回路はオプションです。集電性能が悪くギクシャクする場合にお試しください。
(ただし、線路電源ON時にコマンドステーションの負担になりますからほどほどにしましょう。)
Ver4.1以前の場合

FL両極性用の接続方法
Ver4.2の場合
CV30を2に設定すれば、モータ端子をFL両極性Fxデコーダとして接続可能なモードになります。(詳細はCV設定を参照してください。)
Keep aliveコンデンサコンデンサ回路はオプションです。集電性能が悪くライトがチラつく場合にお試しください。
(ただし、線路電源ON時にコマンドステーションの負担になりますからほどほどにしましょう。)
Ver4.1以前の場合

ファンクション機能活用方法(上級者向け)
サンプルソフト0.91beta以降のファンクション機能はfor KATO Loco基板での利用が前提ですが、通常のワンコインデコーダ基板でもファンクション機能を利用することができます。ただし、細かい部分への電線のはんだ付けを伴うので、上級者向けです。
ファンクション機能はPICマイコンの6,7ピンを使用しています。
PICの最大定格は25mA/ピンですので、LEDは10mA以下の電流で点灯するよう抵抗を選定してください。
また、マイコンへソフトを書き込む際にも使用する端子ですので、ソフト書き込み時にLEDの接続が悪影響を及ぼすことがあります。
マイコンへソフトを書き込む際は、LED回路を取り外してください。
細かい部分へのはんだ付けを避ける意味で、スマイルコネクタの表と裏の中央の端子を利用する方法もありますが、
こちらも端部へ少量のハンダで接続するようにしてください。
スマイルコネクタアダプタも用いたソフト更新時に接触不良の原因とならないように配慮が必要です。
ファンクション機能利用例 その1
BD6231の出力はモーターに、ファンクション回路出力にF0~F12用のLEDを接続した例です。F0~F12のどのファンクションを出力するかの設定は、CV設定で行います。
黄色線をF0で、白色線をF1といった使い方はできません。F0利用時は黄色線と白色線がセットになります。
(例 F0:CV33=16,CV34,35,36=0
F1:CV33=1,CV34=0
F2:CV35=2,CV36=0 など)

ファンクション機能利用例 その2
BD6231の出力はモーターに、ファンクション回路出力にF0両極性のLEDを接続した例です。この場合、ファンクションはF0以外の設定はできません。
(F0以外を出力するCV設定を行うと、意図した点灯になりません。)

ファンクション機能利用例 その3
CV30=2に設定しBD6231の出力は両極性F0に、ファンクション回路出力にF0~F12用のLEDを接続した例です。F0~F12のどのファンクションを出力するかの設定は、CV設定で行います。
(なお、両極性F0と、ファンクション回路をF0の同時設定は可能になっています。)
設定例 両極性F0:CV30=2,CV33=16,CV34,35,36=0
F1:CV33=1,CV34=0
F2:CV35=2,CV36=0 など)

その他のファンクション応用例
テープLEDを用いた室内灯等の用途で、大きい電流を流したい場合は、トランジスタを用います。抵抗内蔵のトランジスタ等もありますので、ご自身で研究のうえ、応用なさってください。

トラブル解決(調整方法ほか)
どうしても、DCC信号の読み込みがうまくいかないようなら、プログラムのソースファイルにある、読み込みタイミングの調整値を変更し、HEXファイルを作成しPICに書き込んでみてください。初期値は16進数で20です。ソースでは0x20と表記しています。これを0x1fとか0x21等にしてみて試してください。大抵は初期値のままでOKのはずです。
トラブル解決の進め方、掲示板に寄せられるFAQ等をPdfにまとめています。参考にしてください。
WebNucky部品頒布(トラブル解決編)(pdf)はこちら
CV設定
CV設定については、こちらのページを参照してください。DCS50Kで「AD4」と表示され4桁アドレスを設定するモードでは、本来Pagedモードのところ、一部DirectモードによるCV設定が行われる場合があります。このため、CV29が正常に書込みされない場合があります。この場合、CV29を新たに設定(CV設定値38)することで、使用可能になります。
本デコーダでの4桁アドレス設定は、CV17,CV18,CV29を個別に設定することをお勧めします。詳細はCV設定ページを参照してください。
ユーザーサイト
















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