====== 自動往復運転の実際&チャレンジ ======
ここでは、実際に[[dsair2]]とDesktopStationSoftwareを使って、単純な**単線の自動往復運転**を徹底的に突き詰めて、解説していきます。ゴールは、単線の自動往復運転を見て味わいながら、ちびちびとお酒を飲みながら楽しめるものです。
アナログでも、いくつも単線の自動往復運転システムや機器は販売されています。
単線の自動往復運転なんて、簡単で、自動運転の醍醐味を損なっているのでは?と思われると思います。でも、この単線だけで、どんな自動運転ができるのか考えてみると、非常に奥が深いことができるのです。また、単線でできないことは、他の配線では絶対にできません。つまり、基礎の基礎と考えることができるわけです。
アナログの単線の往復運転は、残念ながら多くのことはできません。でもDCCなら、いろいろなことができるようになります。しかも、車両ごとにそのできることが違ってくるという、いろいろな楽しみ方ができます。また、単線なら、どんなに狭い家でも、確保できます。HOでも、Gゲージでも、うまく工夫すればどうにかなるはずです。
アナログ鉄道模型では走るだけなので、どうしても飽きが来てしまいますが・・・DCCなら話が変わるのです。
先程申しましたとおり、線路に走らせる車両によって、自動運転の動かし方は、バラエティに富んで変わってきます。また、線路の途中に人形を置いて線路内人達入りで緊急停車、といったストーリーを作っても良いかもしれません。緊急停車時は、DCCサウンドで急ブレーキや車内アナウンス((SDカードにMP3ファイルを入れて鳴らせるNagodenの[[http://nagoden.la.coocan.jp/dcc/dcc46/dcc_46.htm|MP3サウンドデコーダ]]がお勧め))など、様々な遊び方ができます。
このチャレンジでは、基本中の基本から丁寧にやらないといけないこと、考えるべきポイントを紹介し、最終的には、車両の中に入ったサウンドや照明などのギミックを組み合わせて、**魅力的なストーリー**をこの単線の自動往復運転の中に入れ込んでいきます。
===== 必要な機器 =====
DCCの自動運転とし、日本国内メーカーのものをで選んでいきます。最終的にDCCサウンド車両([[https://desktopstation.net/sounds/|オープンサウンドデータ]])のものを使用することとしますので、ここではキハ40 オープンサウンドデータ搭載車両を選んでいます。
* DSair2 または DSmainR5.1C2 OLED、DSshield((旧商品であるDSone, DCC/MM2 Shieldなどももちろん互換性が維持されており使えます))
* Fujigaya2 S88 Detector 8ch または Nucky S88 Train Detector (在線検出器、センサ)
* Windowsパソコン(Windows 7以降, 32bit or 64bit)
* USBケーブル(ミニ)
* ACアダプタ((12V~16V, DSair2またはDSmainR5.1用))
* フィーダ線
* UNITRACK HO((Nでも可))、他のメーカーの線路でももちろん可
* DCCサウンド車両 HO((サウンドが不要の場合は非サウンド車両でも可))
コマンドステーション、S88 Detector 8chは、[[https://desktopstation.net/shop/html/|DesktopStationShop]]で購入できます。
実際に本ページでは、以下の機器を使用しました。
^DCCコマンドステーション | [[DSair2]] | KIT 15800円|
^在線検出器 | [[https://desktopstation.net/shop/html/products/detail/53|Fujigaya2 S88 Detector 8ch]] | KIT 3800円|
^日本型信号機 | Nucky [[http://web.nucky.jp/dcc/signaldecoder/signaldecoder.html|日本型信号機デコーダ]]|PCB 1000円+部品代 |
^ACアダプタ| 秋月電子 12V/2A | 1000円|
^レール | HO UNITRACK HO | -|
^車両 | トラムウェイ キハ40 500番台 HO | 22800円((LokSoundV4 microデコーダ16000円を別途装着済。オープンサウンドデータ キハ40データも適用済))|
^USBケーブル| miniUSBケーブル(100円ショップなど)| PCとの接続用 |
^Ethernetケーブル| 100Mbps対応のケーブル| S88-N用 |
^フィーダ線 | KATO 24-825 延長コードを改造すると早い | 207 |
===== ここで使用する線路例と目的の動き =====
まず、駅が2つあって、その間を単線があるとします。やま駅と、かわ駅の間をディーゼル車が往復する例です。分岐もなく、ひたすら往復するだけのシンプルな配線です。この駅の間を、行ったり戻ったりします。
{{::track_simple1.png?400|}}
===== 自動運転の動きを明確化する =====
手動で運転するときは、**人が目で見て、駅に近づいたらブレーキを掛けて止める。到着したら反対方向に進行方向を切り替えて発車する、という動作**になります。しかし、自動で行うためには、今説明した動作を、プログラミングしなければなりません。
今説明したことを、以下のように箇条書きにすると、実はプログラミングしないといけないことが見えてきます。
* **駅に近づいたら** (条件1)
* ブレーキを掛けて (条件1の動作)
* 止める。(条件1の動作)
* **到着したら** (条件2)
* 反対方向に進行方向を切り替えて (条件2の動作)
* 発車する (条件2の動作)
以上を、運転パターンとして決定し、次はセンサを配置していきます。最初は、まずはただ動くだけの動作をプログラミングしていきますが、徐々に動きを増やしていき、自動運転の動きを充実化していきます。
===== センサの選び方 =====
機械の目になるのがセンサです。人には目があるので、目で見て判断できますが、目に相当するものを違うもので置換えてあげる必要があります。
鉄道模型のDCC自動運転が普及しているヨーロッパでは、たくさんのセンサを使用するため、複数のセンサを束ねて、1本の配線でセンサの信号をコマンドステーションに送る仕組みであるS88-Nが一般的に使用されます。
DesktopStationでも、S88-Nを標準のセンサ方式として採用しています。DesktopStationでは、以下の日本製の2つのS88-N対応センサ機器を推奨しています。
* [[http://web.nucky.jp/dcc/s88n_train_detector/s88n_train_detector.html|Nucky S88 Train Detector]] - 動力車の消費電力に反応するセンサ(電流式)
* [[https://desktopstation.net/shop/html/products/detail/53|Fujigaya2 S88 Detector 8ch]] - 車両の底に赤外線光を当ててその反射で車両に反応するセンサ(光式)
{{::s88n_sensors.png?400|}}
どちらでも使用できますが、配線の引き回しについては使い勝手は光式の方が良いですが、車両によっては反応しないケースもあり、白い紙やセロテープ、銀紙を貼るといった細工が必要になる場合があります。
電流式は、動力車のみですが確実に検出できる一方で、線路の一部にGapを設ける(KATO等から販売されています)ことや、電流を検出するための配線をセンサまで繋げなければならず、レイアウト向きです。
* 電流式センサはレイアウト向き
* 光式センサはお座敷運転、サクッと動かしたい向き
もちろん、レイアウトに光式センサを使うのもOKです。2つを組み合わせる高等なテクニックもあります。両方持っておけば、心強いでしょう。
===== センサの配置の仕方 =====
線路にセンサを配置する手法はたくさんあるのですが、ここではオーソドックスに、駅に停車させるという目的で2つのセンサを配置しました。
{{::s88n_sensors2.png?400|}}
センサを駅の手前に置いたのは、このセンサが反応したらブレーキを掛けて止めるという動作を行うためのトリガ(きっかけ)にするためです。**ブレーキを掛ける時間や停止距離は、DCC車両のモータや特性によって異なります**。特にサウンド車は、サウンドと速度が連動するため、停止距離が長い傾向があります(本物みたいですね)。なので、特にこういった自動運転では、それほど速く走らせることはお勧めできません。ゆったりと走らせると良いでしょう。
車両によって停止距離が異なるということから、駅の正確な位置に止めたいと言う場合には、駅の手前、駅の中、限界ラインの部分などと、センサの数をどんどん増やさなければなりませんが、それは2つのセンサを使いこなした後で良いでしょう。センサを増やすと、できることも増えますが、考えなければいけない運転パターンが細かくなって複雑になります。
===== センサレールの準備 =====
ここでは、お座敷でサクッと動かすことで始めますので、S88 Detector 8ch(光式)を使用することにします。線路にセンサを装着する必要があります。詳細は[[http://powerele.sblo.jp/article/185645644.html|電機屋の毎日]]のブログを見ていただければと思いますが、少々の半田付けとレールへの穴開け加工が必要となります。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/photorail_6-thumbnail2.jpg}}
電流式の場合には、UNITRACKですと、絶縁タイプのジョイナー(24-816 絶縁ジョイナー)を使うと、ギャップを切ることができます。また線を引き出す場合は、純正品のターミナルユニジョイナーを使うと、簡単にギャップを切った片側の線路から引き出せて、Nucky S88 TrainDetectorに接続できます。
詳細は、[[http://powerele.sblo.jp/article/185834082.html|s88-N Train Detector用のギャップの切り方]]を参照下さい。ここではUNITRACK向けに説明しています。他社線路の場合は、読み替えて参照下さい。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/UNITRACK_Gap6-thumbnail2.jpg}}
===== センサの使い方 =====
S88 Detector 8chの使い方を説明します。配線は以下のように行って下さい。
線路の上に、車両を通すか、指でセンサ部を触れない程度でふさぐと、反応します。
{{::s88n_sensors3.png?400|}}
===== コマンドステーションの準備 =====
[[dsair2]]または[[DSmain R5.1]]のいずれかを用意しましょう。DSair2は、ファームウェアr2l2以降(2019年4月リリース版)でPC接続対応しています。なお、[[DSshield]]、[[DS one]]でも同様に使用できます。
[[dsair2]]を使用する場合は、PC接続モードで利用するため、スマホ操作向けに使用するFlashAir SDカードは本体から抜いて下さい。
{{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSair2_small-thumbnail2.jpg?300}}
===== ソフトの準備 =====
[[Desktop Station Software]]の準備をします。[[Desktop Station Software|ここからダウンロード]]できます。
ダウンロードしたら、[[インストール]]を見ながら、お持ちのWindowsPCにインストールしてください。**MacやLinux上では動作しません**。仮想PCソフトを導入し、Windowsをインストールしてご利用下さい。
{{https://desktopstation.net/figures/product_dss.jpg}}
===== S88を使用する設定 =====
DesktopStationSoftwareでは、デフォルトではS88のデータを読み出さない設定になっています。設定変更しましょう。
{{::dss_s88config.png?400|}}
===== 全体配線図 =====
センサを含め、全体を配線した図を以下に示します。かわ駅側のセンサを1番(S88アドレス1)、やま駅側のセンサを2番(S88アドレス2)とここでは決めました。センサの数を増やす場合には、自分でどの番号に割り当てるか考えて、後述するイベントスクリプトのプログラムの中で対応付けを行って下さい。
{{::s88n_track_wiring.png?400|}}
===== センサの動作チェック =====
DSSのイベントスクリプト画面(上部のEVボタンを押す)に、センサの状態が表示されています。
この画面を表示させて、センサアドレス1と2が、指で覆ったときに反応すれば、正常に動いていることになります。
{{::dss_s88list.png?400|}}
===== レイアウト表示機能 =====
DSSには、線路配置図を書いて、S88センサやポイントなどのアドレスを設定すると表示したり操作できる機能があります。
{{::dss_layout_map.png?400|}}
鉛筆のアイコンをクリックすると編集モードになります。
{{::dss_layout_mapcfg.png?400|}}
編集したい線路をダブルクリックすると、設定画面が開きます。S88センサーアドレスを設定すると、反応したときに赤から緑に色が変化し、状態を把握できます。
{{::dss_layout_maps88.png?400|}}
===== プログラミング機能の紹介 =====
DSSでは、自動運転のプログラミング機能として、「イベントスクリプト」という機能を用意しています。
S88のセンサが動いたタイミング(=イベント)に応じて、自由に車両やポイントを動かす手順(=スクリプト)を記載して、自動運転を実現します。
{{:undefined:evscript_trigger.png?400|}}
基本的な書き方は、上から順に、車両やポイントにさせたい動きを打ち込んでいきます。たとえば、スピードをどれくらいにする、ファンクションを操作する、進行方向を変える、ポイントの方向を切り替える・・・などです。右クリックでポップアップメニューを表示させて、"追加"を押すと、様々なDCC車両やポイントを制御するコマンド、プログラミングで必要な命令を選んで挿入できます。
{{::evscript_command.png?400|}}
イベントスクリプトは、最大で26個のイベントを定義できます。これらのイベントは、全て独立して動かせます。つまり、シングルタスクではなくマルチタスクのような考えで、考えたDCC車両の運転パターンをそのまま、プログラムできます。
DCCでは複数の列車を同時に動かすことや、ポイントの操作ができますから、色々な動きを機械にやらせることができます。逆に言うと、いろんなことを機械に代わりにやらせることから、間違えて動きを書いてしまうと取り返しのつかない動きをしたりします。たとえば、車両のアドレスを逆にしてしまったとか、速度が早すぎた、など、いろいろなミスによって発生するトラブルが想定されます。
トラブルは絶対に起きます。なので、少しずつ慣れていって、トラブルがあってもすぐに対処できるような技術を少しずつ付けていくことで、自動運転のスキルがアップしていきます。
===== センサアドレスとイベントスクリプト =====
センサを2カ所指定したと思います。S88 Detector 8chのポート1と2にセンサを繋げて下さい。このポート1,2が、そのままセンサアドレス1と2となります。なお、かわ駅側のセンサが1、やま駅側のセンサが2とします。センサの位置を逆にすると、そのままでは動きがおかしくなるので注意して下さい。
===== 折り返しのイベントスクリプト =====
かわ駅→やま駅の方向がFWD(順方向)として定義し、イベントスクリプトを書きました。
==== やま駅(センサアドレスは2)で動くイベントスクリプト ====
DESKTOPSTATION,SCRIPT,2013
SPEED,0,0,50
WAIT,50,,0
DIRECTION,0,2,0
SPEED,0,200,50
WAIT,20,,0
{{::evscript_yama.png?400|}}
==== かわ駅(センサアドレスは1)で動くイベントスクリプト。 ====
DESKTOPSTATION,SCRIPT,2013
SPEED,0,0,50
WAIT,50,,0
DIRECTION,0,1,0
SPEED,0,200,50
WAIT,20,,0
{{::evscript_kawa.png?400|}}
===== イベントスクリプトの動きの解説 =====
ここでコマンドが、いくつか出てきました。コマンドの意味は以下の通りです。
もっとたくさんのコマンドがありますが、まずはこの3つに慣れましょう。
^SPEED| ロコの速度を変えられます。パラメータ1はアドレス、\\ パラメータ2は速度(0が停止,1023が最高速度)、パラメータ3が加減速時間。|
^WAIT| 処理をせずに待つ時間。停車時間や走行時間の調整に使います。\\ 単位は0.1秒です。10を入れると1秒になります。 |
^DIRECTION| ロコの進行方向を変えます。 |
===== 試運転 =====
まずは、センサが反応するか、チェックします。
イベントスクリプトの実行許可をいったんOFFにします。
===== 動かしてみる! =====
イベントスクリプトの実行許可をONにして、動かしてみましょう。
車両を、真ん中において、やま駅かかわ駅のどちらかに手動で走らせましょう。センサが反応したら自動運転がスタートします。
===== 応用編1 ファンクションを使う =====
実際に往復運転ができましたでしょうか?
これだけでも楽しいと思いますが、DCCならではの機能である、「ファンクション」を使って、車両から音を出したりギミックを使って自動運転にもっと広がりを持たせましょう。
^FUNCTION | ロコのファンクションを操作します。パラメータ1はアドレス,\\ パラメータ2はファンクション番号(0-28),パラメータ3はファンクションON(1)またはOFF(0)の指定です。 |
ここでは、[[https://desktopstation.net/sounds/|オープンサウンドデータ]]を使ったキハ40(トラムウェイ製HO,LokSoundV4を搭載加工済,加工説明は[[http://powerele.sblo.jp/article/185616965.html|こちら]])。
==== ヘッドライト・テールライトを付ける ====
ヘッドライト・テールライトはF0です。F0をONにすると、ヘッドライト・テールライトが点灯するようになります。
なお、車両によってはテールライトが搭載されていないもの(ダミーになっているもの)があります。
{{::evscript_function2.png?400|}}
FUNCTIONを選ぶと、以下の編集画面でファンクション番号やON/OFFの設定を変更できます。
{{:undefined:evscript_function.png?400|}}
自動運転の中でヘッドライト・テールライトのファンクションを操作すると自然では無いので、電源投入時にヘッドライト・テールライトは付けてしまうことにします。トリガは「電源投入時」として、新たにイベントスクリプトを作って下さい。
DESKTOPSTATION,SCRIPT,2013
FUNCTION,0,0,1
{{::evscript_boot.png?400|}}
==== 室内灯を付ける ====
ヘッドライト・テールライトと同じく、オープンサウンドデータのキハ40ではF3が室内灯になっているので、ファンクション操作を行います。F3=ONとします。
DESKTOPSTATION,SCRIPT,2013
FUNCTION,0,0,1
FUNCTION,0,3,1
==== サウンドを鳴らす ====
走行音を鳴らしたり、警笛を鳴らす、駅でアナウンスや笛の合図を行います。
警笛はF2ですので、以下のように操作すると、警笛が鳴ります。
DESKTOPSTATION,SCRIPT,2013
FUNCTION,0,2,1
FUNCTION,0,2,0
ファンクションをOFF→ON→OFFの操作を行うことで実現できます。
==== まとめ ====
上記をまとめたイベントスクリプトを、以下のページに掲載しております。
[[dss_example_shuttle_kiha40]]
===== 応用編2 信号機をつける =====
Nucky製の[[http://web.nucky.jp/dcc/signaldecoder/signaldecoder.html|日本型信号機デコーダ]]を使って、キハ40に進行現示しましょう!
日本型信号機デコーダは、ポイントデコーダの亜種として使用可能です。つまりポイント操作と同様に、ポイント転換の信号をそれに応じて信号機が現示します。詳細な動きは、上記の商品説明ページを参照下さい。
{{::japansignal1.jpg|}}
===== 最後に =====
ここで挙げた機能は、実はほとんど[[Desktop Station Software|DSS]]の機能を使い切れていません。
超大規模なレイアウトの制御には向きませんが、ご自宅で遊ぶ程度の中小のレイアウトには問題無くご利用頂けます。
* ルート機能(ポイントと信号機を連動して動かす機能。手動運転にも便利)
* フラグ機能(いわゆる変数機能。他のイベントに状態数値やデータを渡すのに便利)
* ラッチ機能(S88センサのチャタリングを防止したり、センサ同士を連動させたりするのに便利)
* スロット機能(列車アドレスを明示せずにスロット番号で指定できる。列車の入れ替えで便利。)
ここで得られたスキルを、さらにパワーアップさせて、夢を実現して頂ければ幸いです。