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からの差分)

 

以上です。