Desktop Stationのサイトで、DSshield2(DSシールド2)と組み合わせて使う
Raspberry Pi Pico (RP2040)用のスケッチがフリーで公開されていましたので、
Seeed XIAO RP2040 で動かしてみました。
・電機屋の毎日 - ラズパイPico(RP2040)用のDSシールドスケッチを追加
・Desktop Station - DSshield2 - スケッチ(RP2040 Raspberrypi Pico向け)
・Desktop Station - Pico UNO
ただ DSshield2は持っていませんので、同等品をユニバーサル基板で製作しました。
といっても簡略化のために、
・モータードライバーは TOSHIBA TB6643KQ を使用
・電流は TB6643KQの GNDに入れたシャント抵抗の電圧で測定
といった構成です。
■ DCCコマンドステーションの製作
配線図です。
製作した基板の写真です。
抵抗器は手元にあった値で組み合わせたため、実際には
R1: 4.7kΩ→22kΩ、R2: 1.2kΩ→4.7kΩ、R3: 0.5Ω→1Ωx2、を使いました。
■ Arduino IDE スケッチ
スケッチは、現在公開されている「rev.RP2040.001」をベースにして、
以下の修正を行いました。
項目 | 変更前 | 変更後 |
---|---|---|
DCC制御出力 | GPIO19 GPIO20 |
GPIO1 (D7) GPIO0 (D8) |
アナログ電圧入力 | GPIO27 (ADC1) | GPIO27 (ADC1) |
アナログ電流入力 | GPIO28 (ADC2) | GPIO26 (ADC0) |
RUN LED | GPIO2 | GPIO25 (XIAO搭載LED RGB-B) |
PWR LED | - | GPIO16 (XIAO搭載LED RGB-G) |
ERR LED | - | GPIO17 (XIAO搭載LED RGB-R) |
LEDの論理 | H 点灯 / L 消灯 | L 点灯 / H 消灯 |
初回リリースだからか、ハードウェア依存のコードが散在していたため、
以下3つのファイルを修正しました。
・DSCoreM_Type.h
・DSshield2040.ino
・DSCoreM_Common.cpp
下記のボードを使用してビルドしました。
・Preferences - Board Manager URL:
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json
・Board Manager: Seeed XIAO RP2040 by Seeed Studio version 1.12.0
・Board: Seeed XIAO RP2040
XIAO RP2040は、購入後に初めてパソコンに接続するときは
COMポートが表示されず、Arduino IDEでアップロードできずに困っていたところ、
下記サイトを見つけました。
付属の適当なサンプルスケッチを一回書き込むと、
以降、COMポートが表示されるようになりました。
Arduino IDEでRaspberry Pi Picoの開発環境を構築 | TomoSoft
■ 動作確認
モータードライバーの電源は、12Vの ACアダプタから給電しました。
XIAO RP2040の USBポートは、
ストロベリーリナックス製の LTM2884 USBアイソレータ 経由でパソコンに接続し、
Desktop Station Software から制御しました。
車両の DCCデコーダーは 「ESU 58731 LokSound 5 micro DCC Kato」を搭載し、
ヘッド/テールライトや室内灯については
Kato FL12/FR11を使わず LokSoundから制御しています。
以上です。