あそびっと

back index next

2016年8月29日
[DCC]

DesktopStationで列車交換

昨年、ArduinoとDCC/MM2 シールドとCDS(光センサー)を使って、列車の自動運転システムを作った. (2015年6月9日の記事参照)
今回は「DS-main R5」と「S88 Control基板」と「Desktop Station」ソフトを使って、同様の2列車自動交換運転を試みた.
システムとしては今回の方がシンプルで分かりやすい.

asoY8258357-s

上が動作テストをしたモジュール、大きさは3,580 × 1,780mm
KATOのHOユニトラック線路を利用し、ポイントは全て電動6番で、DS51Kデコーダーを組込んである.
これにOn30の車両を走らせる.
車両の通過を検知するセンサーについては 2016年2月9日の記事を参照.

asoY8318458-s.jpg

asY8318470-s.jpg

フォトリフレクタは6mmΦのアクリル管の中に入れて、S88Control基板との接続には、3.5mmオーディオプラグを使う.
管は床下からユニトラックに差し込むようになっている.


asoY3095435

上図のような線路構成で、列車は駅1と駅2で交互にすれちがう.
ポイントはP10,P11,P20,P21の4ヶ所で、この番号はDCCのスイッチアドレスと同じである.
センサーは1〜4の4ヶ所で、これはS88Control基板のポート番号と同じ.
A列車は反時計周りで、1もしくは4のセンサーで停止する.
B列車は時計周りで、2もしくは3のセンサーで停止する.

「列車交換のイベントファイル」サンプル

テキストファイルになっているので、「.txt」を「.xml」に変更し、DSアプリのEVファイルとして読み込む.

イベントの動作説明
EV-exchgB-s.jpg

(1) 「S1-Stop」〜「S4-Stop」のイベントは、それぞれ各センサーが検知したロコを停止させ、Flag1〜Flag4を1にセットする.
  Flag1〜Flag4は、いわば在線フラグである.
(2) 「Chg-Points」は20秒毎の定周期で起動し、Flag1〜4をチェックして、対向車線の在線フラグが1なら、2列車到着と判断し、A/B両進行方向のポイントを開いて、A/Bロコの発進フラグFlag5とFlag6を1にする.
  また、動作確認として在線フラグを1から2に変更する.
(3) Flag5とFlag6が1になると「Start-A」と「Start-B」がランダム秒毎に起動し、それぞれ列車をスタートさせ、在線/発進フラグを0にリセットする.
(4) 「FlagReset」は保守用のイベントで、線路外に用意した5番センサーに手をかざして、Flag1〜Flag6を強制的に0にリセットする.
(5) 各ロコのスピードや編成によって停止位置が異なるので、適切な位置に停止するように「S1-Stop」〜「S4-Stop」内のWAIT時間を調整する.
(6) ロコを変更して停止位置が行き過ぎるような場合は、ロコの「速度調整設定」「最大値」を増減してロコ毎の停止位置を調整する.
(7) フォトリフレクタに反応する銀紙を、車輌の床下に貼る方法は、今回使わなかった.
  銀紙なしでも反応する車輌があるので、もしどの車輌もセンサーに反応しなかったら、銀紙を貼ればよい.

準備
(1) DSアプリの「車両の編集」画面でAロコ、Bロコの最大速度を設定・登録する.
(2) A列車は「複数ロコの制御」画面でSlotAに、B列車は同SlotBに登録しておく.
(3) 最初のスタート時は、上の線路構成図のように、「線路配置」画面でポイントをセットし、A,B両ロコを「運転(キャブ)」画面で発進させる.
  その後は、上記のイベントが自動的に停止/発進をくりかえす.

この状態で「S88 Control基板」は全6ポートのうち5ポートを利用している.

- - - - - - - - - - - - - - - - -


- - - - - - - - - - - - - - - - -

ロコがOスケールで大きめなこともあり、システムの動作は安定している.


back home next