HOME >> 鉄道模型自動運転システム >  登山鐡道 新自動運転システム 構想

登山鉄道 新自動運転システム 構想

■ はじめに

 我が物置部屋のレイアウトには、以前より登山鉄道を模した独立した路線を設置している。 そして、その運行には、自動運転方式を採用してきた。 当初は、TOMIX のTCS 自動運転ユニット(品番:5563)を使用していたが、だんだん物足りなくなって来た。 その後、性能測定や速度計測など、マイコンに親しむようになったので、Raspberry Pi を使用して、複数の電車を走らせる事が出来る自動運転システムを構築しようと挑戦してきた。 そん結果、何とか運行出来るシステムに仕上がったが、幾つかの課題が未解決のままであった。

 最大の課題は、ポイント作動の信頼性と動作の不安定さと考えていたので、今回のレイアウト大改造に合わせて、使用するポイントをTOMIX 製からKATO 製に変更し、さらに制御するマイコンをRaspberry Pi から、Arduino に変更して再挑戦することにした。

 

■ Raspberry Pi とArduino の比較

 幸運にも Raspberry Pi を無料で入手したので、勉強のためにと、この自動運転用の制御に使用してみた。 入手した Raspberry Pi セットは、IoT システムの入門セッテであったので、説明書に従ってひと通り実施した後、応用としてこの自動運転に挑戦したのである。  Raspberry Pi システムで注目した点は、

  1. マルチタスクが容易に実施で来るようあったので、複数の列車や同時に運行制御できそうであったこと。
  2. Wi-fi が内蔵されており、うまく行けば スマホから制御できるとのこと。

であった。 しかし、一番の違いであった OS によるマイコン・システムであったので、開始時や終了時には、適切な処理が必要であったので、気楽に電源をON/OFF することが出来んかったのである。 手順を間違えるとシステムがクシャクシャになりそうであったのだ。

 その点、Arduino は組込型のマイコンであるので、スイッチON ですぐに運行開始状態に入る事が出来るし、途中で電源をOFFに しても、システム上はその後に何ら問題は生じさせないのである。 勿論、電車は途中で止まってしまうのであるが・・・・・・・。 そして、コンピュータを再度ON すれば、初期状態から問題無く作動し始めるのだ。 これは、システムの緊急停止時の処理を特別に考慮する必要がないので、このような自動運転には向いていることを、改めて認識した次第である。 また、システム開発時には、レイアウトにセットした Raspberry Pi本体に、モニタ、キーボード、マウスなどのケーブルも接続しなけらばならなかったので、多くの制約があった。

 このような訳で、上記の二つのメリットを諦めて、制御用のコンピュータとしてRaspberry Pi から、Arduino に変更した。

  .

 

■ 運行ダイヤの設定

 ます、今回のレイアウト大改造によって制約されたものとして、麓の街中駅の設置空間であった。 そこで、ホームをひとつに減らさるを得なかった。 このため、運行ダイヤを再検討した。 使用できる電車本数は待機場所がひとつ減ったために、最大3本に減少させている。

 また、Arduino はマルチタスクが苦手なようであり、不可であると説明されている資料もあるし、マルチタスクらしき制御方法もあるらしいが、難しそうなので諦めることにした。 このため、運行ダイヤは一列車ずつ、それぞれ順番に走らせるダイヤとした。

 このダイヤを右に示す。 スイッチバック部は、登山口駅から都市駅に向かう途中なので、電車を待機させる場所として使用できないのである。

 この運行ダイヤは、走る電車が異なるものの、同じパターンを3回繰り返すと、当初のスタート状態に戻ることになる。

 ここで、出発地点と到着地点のモードは、往復を考えると6種類ある事が分かるので、それぞれ、Direction 1 〜 6 まで運行モードとして設定した。 この運行モードに運行する電車番号を対応させて走らせる方法は、Raspberry Pi での制御方式を踏襲している。 1台または2台で運行させる場合には、その電車の運行モードをパスさせれば良いのである。

  .

 

■ 制御に必要な入出力項目

 ます、Arduino シリーズのなかで、どの種類が使用できるのかを選定するために、このシステムに必要となる入出力項目を検討する。 

  これは、必要とするポート数に影響するのでまず、路線図のイラストを元に、設置するセンサやポイントの位置を決めておこう。

 ◆ 各レールエンドに入線する前に、激突防止のため、通過センサーを設置する。 通過信号と呼ぶ。 このセンサーを通過すると、電車を減速させるのであるが、出発時も、最初はゆっくりと発車して、駅を出ると速度を上げる制御が出来るのである。 各レールエンド部の4ヶ所に設けている。

 ◆ 電車がレールエンドに到着したことを知らせるセンサを各レールエンドに設ける。 到着信号と呼ぶ。 この信号によってこのステップの制御は終了し、次のステップの制御に移行するようにする。 なお、ハード的には、マイクロスイッチによって、給電は遮断されるので、電車への負担、即ち、動輪がガリガリ空転することは無いのである。

 ◆ レールへ電力を供給する給電方法を検討する。 先回のRaspberry Pi での制御では、同時走行を実施していたので、3ヶ所にて独立の給電を実施する必要があった。 しかし、今回は、このマルチタスクを実施しないので、一列車ずつ順番に走行させるため、給電はひとつの制御で良いのである。

 そして、往復運行があるので、右レール用と左レール用の二つのPWM制御出力が必要となる。

 ◆ ポイント操作用の出力として、3個のポイントをON/OFF 制御する出力ポートが必要となる。 なお、当初は、P1とP2のポイントについて、KATO 製ポイントの特徴である選択式と非選択式の設定が出来る事より、通電性の信頼が高い非選択式に設定していた。 しかし、給電箇所を一ヶ所にした今回の方法では、P2のポイントを選択式に変更しておく必要がある。

 ◆ 走らせる電車は、色々な電車を走らせようとしているので、それぞれの個体に合わせた速度設定が必要となる。 そこで、可変ボリュームを使用して、速度調整が出来るようにする。 このため、3個のアナログ入力ポートが必要である。 なお、使用する可変抵抗器には、スイッチ内蔵式のものを使用し、電車を設定しない時は、ゼロ電圧にして、電車が無い事をArduino に知らせ、運行ダイヤをパスさせるように工夫する。 これによって、3台でなくても、1台でも、2台でも運行させることが出来のである。

  .

 ◆ 使用者が操作させるスイッチとして、運行開始のボタンを設ける。 勿論、電源のON/OFF のためのスイッチはシステムとして当然設置するが、電源のON/OFFスイッチはArduino への信号は不要である。 ただし、電源が通電している状態を表示する緑のLEDは点灯させる。 そして、Arduino の初期設定が終わり、運転可能な待機状態に入ったことを見計らって、運転開始を指示するのがこの運行開始のボタンである。 このボタンはホールド機能付きとして、ON状態であれば運行を開始し、かつそれを継続するが、OFF の状態であれば、運行ダイヤをひと通り実行後は、運転をストップさせるようにする。 こうすると、初期状態に戻った時点で、制御状態は、最初の待機状態になるのである。 これは、すべての列車が、当初の位置の戻っている状態となり、ここで、システムの電源をOFF すれば、次回もスムースに運転が開始できるのである。 これは、その日の運行が終了し、すべての電車が車庫に戻ったのだと解釈することが出来るのだ。

 ◆ ホールド機能付きの一時停止ボタンも設ける。 これは脱線等のトラブルが発生した時、運行制御を一時的に停止させ、トラブル対応後は、このスイッチを戻すとまた運行を再開するようにする。 先のシステムでは給電用の12V 電源をOFF させることで対応していたが、脱線等のトラブル対応中に通過センサを作動させてしまい、停止していない制御シーケンスを先に進める状態が発生してしまった。 このため、通過センサの電源もOFFする対策を実施したが、今回は、外部割り込み処理を採用してみることにした。

 ◆ 以上の項目を検討した結果、Arduino UNO で使用できる I/O ポートは、一つ余っていたので、アラーム用として、LEDを点灯させることにした。 何に使うかは、今後考える事とし、とりあえずハードとして設置して置くことにする。

 以上の検討、必要なポートのリストを右上に示す。 ポート数の多い Arduino Mega の使用も念頭に於いていたが、標準の Arduino UNO でも可能な事が分かった。 ただし、I/O ポートをすべて使用する事に、一抹の不安を抱いている。 Timer0関数 やtone() 関数、また、 シリアス通信では競合するピンがあるらしいのですが、今回はこれらの関数は使用しないので心配と考えていますが、果たしてどうでしょうか。

 

    ************************************************************************

 使い馴れた Arduino UNO が使える事がわかったので、ハード回路の検討をすることにしました。

 

ページトップへ戻る .


 2018/2/22 作成  M.T.