DesktopStation社製の鉄道模型用 DCCポケットモニタ「DSwatch」の製造・販売が終了になると、Twitterや「電機屋の毎日」のブログ「DSwatchの製造・販売終了予定通知」でアナウンスがありました。
そのため、M5StickCで代替品を製作しました。
部品点数を極力少なくするため、整流にはブリッジダイオードを使い、降圧にはコンデンサ内蔵 DC-DCコンバータモジュールを使い、DCC信号の入力には抵抗内蔵デジタルトランジスタを使いました。部品は全て秋月電子で集めました。
■ 実体配線図
■ 部品表
記号 | 品名 | 品番 | コード |
---|---|---|---|
PCB | 両面スルーホールガラスコンポジット ユニバーサル基板 Fタイプ |
AE-F-TH | P-12731 |
D1 | ショットキーバリアダイオードブリッジ(100V 2A) ※ 実際には 60V 2A品を使用 |
SDI2100 SDI260 |
I-06320 I-06667 |
U1 | スーパー三端子レギュレーター 5V 500mA | R-78E5.0-0.5 | M-06353 |
Q1 | 抵抗入トランジスタ | DTC143EL-T92-K | I-12469 |
R1 | 小型 金属皮膜抵抗 1/4W 10kΩ (100本入) | MFS25F10KB | R-08550 |
R2 | 小型 金属皮膜抵抗 1/4W 1kΩ (100本入) | MFS25F1KB | R-08535 |
CN1 | ピンヘッダ (L型) 1×8 (8P) | PH-1X8RG(2) | C-12985 |
CN2 | ターミナルブロック 2.54mm 2P 緑 縦 | WJEK254-2.54-02P-140-00A | P-14217 |
■ 製作した基板の写真
■ 動作写真
以前のブログ 「XIAO RP2040で DCCブースターの製作」で製作しました DCCブースターをデスクトップステーションソフトウェアで制御して動作確認しました。
M5ボタンを押すたびに、車両情報の表示 → DCCパケット表示 → ポイント状態の表示 → 線路電圧表示 → パルス幅の表示 → (再び車両情報の表示から繰り返し)、と画面が遷移します。
パソコン用オシロスコープ(OWON VDS1022I)で波形を測定しました。
CH1(赤色)は DCCブースターのロジック出力(TB6643KQの IN1)で、CH2(黄色)は M5StickCの DCC信号ポート入力(G26)です。
デジタルトランジスタを使っているためか、若干遅延がありますね。これだとパルス幅を正確に測定できないため、素直に抵抗分圧にした方がよかったです。
■ M5StickC ファームウェア
DesktopStationのページ「DSwatch」で公開されているオリジナルのファームウェアR5をベースにして、ハードウェア依存処理を M5StickCに合うように修正しました。
オリジナルファイル R5 (2020/8/7) |
修正ファイル (2022/11/21) |
修正内容 |
---|---|---|
I2CLCDLib.cpp I2CLCDLib.h |
削除 | LCD表示は M5StickCライブラリを使用するため削除して、 ラッパークラスを DSwatch.ino に実装。 |
MrWatch.ino | DSwatch.ino | ハードウェア依存処理を M5StickCに合うように修正。 合わせてバグ(バッファオーバーフロー)も修正。 |
NmraDcc_v141.cpp NmraDcc_v141.h |
NmraDcc.cpp NmraDcc.h |
M5StickCに搭載されている ESP32マイコンに対応した 最新バージョン(NmraDcc-2.0.13)に差し替えて、 DCCパルス幅測定の拡張処理コール部分のみ修正。 |
* NmraDcc.h (NmraDcc-2.0.13からの差分)
* NmraDcc.cpp (NmraDcc-2.0.13からの差分)
* DSwatch.ino (DSwatch R5からの差分)
以上です。