HOME >> 鉄道模型自動運転システム >  卓上レイアウトで楽しもう その29

卓上レイアウトで楽しもう 自動運転 その29

 先回の「卓上レイアウトで楽しもう その28」(2020/12/22)では、苦労して装着したBトレの室内灯を楽しむことと、クリスマスツリーを囲むループ線をめぐるレイアウトがテーマでしたが、やっぱり単純な仕掛けでしたので、少し変化をつけることにしました。

 

■ 新年のレイアウト

 今回設置したレイアウでは、複数の列車を交互に走らせること、さらに、ヤードを設けて手動でレイアウト走行に参加出来るようにして、自動運転と手動運転のコラボを楽しもうと考えました。 そのレイアウトを下に示します。

 レイアウトは、1面2ホームの駅を手前に設け、その内側にヤードを設置している左右対称のパターンである。 全体は右回り走行のみとし、ホームの先には出発信号機を設置した。 ヤードにはスペースが無かったので信号機は設置出来なかった。 カシオペアやコンテナ編成でも停車出来るように、留置線の長さを長く取っている。

 

■ システム構成

 まず、回路図を検討して下記のような構成とした。 制御コンピュータは何時もの Arduino Nano Every を使用して、20KHzのPWM制御によって列車を走らせる。 供給電圧は DC12Volt で、 Arduino の電源やポイント駆動ユニットの電源として供給する。 各制御要素は今まで製作してきたユニットを使用すると共に、制御用の 5Volt 電源は専用の定電圧ユニットを使って供給して Arduino の負荷を減らしている。 即ち、外部からの電源供給は 12V 1.5A のACアダプタひとつでまかなっている。

 この電源回路には、スイッチと共に過電流防止のポリスイッチを設け、さらに、走行用電源回路には一時停止用スイッチも設けている。

   

 給電ポイントF1を2ヶ所に設けて電圧降下の影響を少なくし、通過センサはホーム1にS1を、ホーム2にS2を設け、ループ線の途中にS3を設置した。 ホームへの出入り口のポイント P1 と P2 は自動運転用とし、ヤードの出入り口の P3 と P4 は手動にて操作するようにしている。 また、ホームの出発側には、センサ付きの信号機を配置したが、通過センサとしては使用しないので、赤か緑かの信号出力によって出発進行の信号機として使用する。

 この配置では、線路のギャップは必要ないが、たまたま使用した70mmの線路がギャップレールだったのでそのまま使用しているが、P4からヤードに入線した列車は、P3が定位であったらギャップレールの先は給電されていないので自動停止となり、これはこれで面白しろそうなので、そのままの配置にしている。

  .

 Arduino ポートへの配線は、ジャンパー線の取付け隙間を確保するため、間隔を開けて配置している。 右の写真参照。 給電は右回り走行のみなので D6 ポートからのPWM出力のみでOKである。

 また、ブレッドボードの手前の電源ラインは12volt 系として使用し、奥の電源ラインは 5volt 系として使い分けている。 以前工作した配電盤 - - - -「卓上レイアウトで楽しもう 自動運転 その7の4」(2019/12/5)参照 - - - - は今では使用していないのだ。

 

 信号機ユニットへの配線は、いままでビニール線を使用していたが、線路の下をくぐらせる時に線の太さによってレールが待ち上がり、どうも具合が悪かった。 そこで今回、ビニール線の代わりに 0.4mm のエナメル線を使用して配線することにした。

 ピンヘッダとピンホルダを使って接続するように、途中で直角にまがるようにしてレイアウト外に配線するようにした。 下の写真。 そして、シート片を被せれば、配線を綺麗に隠せることが出来た。

 

 

■ スケッチの作成

 ハード系準備が整ったので、プログラムを記述した。 そのシーケンスを次に示す。

  1. 運転開始のスイッチONを待つ。
  2. 列車Aの周回モードを始める。
  3. 手前のホームの出発信号を緑にする。
  4. 室内灯を点灯させるため、指定走行時の20%のデューティ比で通電する。
  5. 指定走行まで加速する。
  6. 通過センサS3を待つ。
  7. 通過センサS1を待つ。
  8. 通過センサS3を待つ。
  9. 信号を赤にしてホームでの停車を示す。
  10. 通過センサS1を待つ。
  11. 停車まで減速させる。
  12. 給電停止(室内灯も消える)
  13. 列車Bの周回モードを始める。 内容は列車Aと同じであるが、奥のホームを使用する。

 このシーケンスを記述したスケッチ ⇒ Every_15-1.html

 スケッチの記述は、順次処理方式でシーケンス記述した。 スイッチやセンサ信号を待っている時は、while 命令を、加速・減速時は for 命令を使用して記述しているが、こうすると、シーケンスの順番に沿って記述して行けば良いので、プログラムが簡単に記述でき、間違いも少なくなると考えている。

 ここで、通過センサS3を設定した意図を理解して頂けただろうか?  センサS1だけでは、発車して行く自分の車両に反応してしまい、すぐに次のステップに移行してしまう。 そこで確実に周回させるための、周回途中に別の通過センサを設置して確認させている。 さらに、センサSは、一周目はホームを通過させるためにチェックさせているのだ。

 また、while 命令中には、次の通過センサまで列車が走行中なので、この間に速度制御ボリュームをチェックさせ、何時でも速度調整が出来るように配慮しているのだ。 また、 vol=analogRead(VOL)/4 と analogWrite(F1,vol) との間に delay(100) を挿入しているのは、A/D変換の時間遅れを考慮して設定している。 でも、100msec も? と思われるが、PWM制御のキャリア周波数を 20KHz にするために細工をしているため、通常の20倍の時間を記述している。 実際は、100/20 = 5msec の時間遅れなのである。

 このスケッチをArduino Nano Every に書き込む時には、マイコンのクロック周波数を 20MHz にするおまじないをして書き込んでいる。 その詳細は、「Arduino Nano Every のPWMキャリア周波数を20kHzにするー再挑戦」(2020/11/23)をご覧ください。

 

■ 運行状態

 今回のレイアウトでは、長編成の列車を楽しむことにしよう。 そこで、Bトレシリーズの室内灯組込み12系客車と、カシオペア編成、そしてコンテナ列車をチョイスし、牽引する機関車として力のあるS系の電気機関車を持ち出しました。

 まず、カシ釜のEF510-509 と EF210-10 、EH500-3 の3台のELを使ってテスト走行を実施した。 しかし、EH500-3 の走行速度が他の2台と合わず、カシ釜に使用した相方の動力を EF65-1001 に組込んで、速度の揃った3台として走行させることにした。 その状態を下に示す。

 今回も動画にて紹介します。 後半は機関車を交換して走行させています。 さらにポイントの手動操作によってヤードの列車を動かし、列車の交換を実施しました。 ポイント操作のタイミングを間違えると追突や脱線などの事故となるので、慎重に実施しています。

 

 正月に来宅した孫達に披露したところ、室内灯の点灯に歓声が上がりました。 エヘヘ・・・・・・・・・ン!

ページトップへ戻る .


 2021/1/6 作成