鉄道模型工作実験室

Nゲージ鉄道模型に関する工作や実験を行っています。

チラツキ防止型の室内灯ユニットのいろいろ形状

テープ式LEDを使った室内灯ユニットのチラツキ防止のため、ショットキーバリアダイオードと電解コンデンサを使用してきた。その内容は「https://rtmrw.muragon.com/entry/8.html」にて紹介した。
工作上で苦労したのは、電解コンデンサの設置場所である。室内の造作がモデルによって千差万別なので、スペースのいるコンデンサを収める場所に工夫が必要があった。そして搭載しようとする車両の形状に応じて、室内灯ユニットの形状と取付け方法をいろいろ工夫してきましたので、その様子をまとめて報告しましょう。
   *******************************************************
室内灯ユニットに使用する部品を下に示します。

LEDは単体でも構いませんが、パルス式パワーユニットを使用する場合は、テープ式LEDが便利です。均一に図らせるのが困難な導光板が不要であるからです。そしてブリッジダイオードはショットキーバリアダイオードが必須です。また、電気を貯めておくコンデンサは電解コンデンサの使用も必須です。
そして嬉しい事に、これらの単価が安いことです。そして効果も抜群です。


車両モデルに対応したいろいろな形状のユニット工作物を下に紹介します。

そして、これらのユニットをどの様にモデルの中に組込んだかも紹介しましょう。

客車形や電車形、新旧のモデル、鉄コレやBトレといった車両にも組み込んでみました。
   *******************************************************
報告内容の詳細は、鉄道模型工作実験室の「チラツキを防止したLED式室内灯ユニットのいろいろ形状」を参照ください。


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

登山鉄道レイアウトの自動運転システム その2

新しく工作した登山鉄道レイアウトには自動運転システムが組み込まれています。先回はその構成となるハード回路が出来たので、今度はそのソフト関係を説明します。


自動制御用のマイコンは、表示パネルのLEDを制御させるなど多くの出力ポートが必要となったので、Arduino MEGAを使用しました。また、手動操作と自動制御を両立させるための操作ボタン類と表示パネルの表示方法にプログラム上の工夫が必要でした。
   **************************************************
最初にハード回路との繋ぎとなるArduinoのピン番号を整理してポート名を決めておきます。また、センサやアクチュエータの状態とHIGH/LOWの関係を整理しておきます。これは、センサ回路が正論理か負論理か迷わにようしておくためです。後期高齢者のポカヨケです。


次に今回新しく取り組む表示パネルの点灯制御を検討しました。表示パネルには中央部に電車の進行方向を示す矢印を表示させています。そして、各ホームへの入場信号と出発信号も表示するようにしていますので。どの路線をどの方向に進行するのかが表示できます。入場信号と出発信号はシステムを簡素化するために、緑と赤の2種類としています。
また、通過センサとレールエンドの停止センサより、その状態も表示するようにしました。
これらの表示は、手動運転の場合のボタン操作より判断させて表示させることが出来ますが、自動運転の場合でも同じように表示されるように変数を使って工夫しました。
   **************************************************
制御の基本ロジックとして次の様に設定した。

  1. 表示パネルの点灯制御部分は、サブルーティン(関数)として独立させ、手動でも自動でも同じように表示させる。
  2. 手動運転と自動運転は、操作スイッチのON/OFFで判断する。
  3. 手動運転は、ポイント操作と進行方向選択によって経路を設定し、速度調整ボリューム No.1 にて速度をPWM 制御する。
  4. 自動運転は、各運行パターンに従って、関数化して置き、その関数( mode1、mode2、mode3など)を順次呼び出して実行させる。
  5. 最大で3編成の電車を自動運行させる事ができるが、モデル毎に速度調整が必要なので、スタート時点の停車位置を基準として、速度調整ボリュームを割り当て、そのモデルに応じた速度を調整する。
  6. モデル毎の電車は、densha と言う変数を使って指定し、関数呼び出し時にその変数を引きついて運行制御を実施する。
  7. 1編成、あるいは2編成での運行の場合は、未設定の電車の速度調整ボリュームをOFF させておき、その電車が該当する場合には運行をパスするように関数を記述しておく。
  8. 運行スケジュールは、当初の設定位置に電車が戻って来た時点で一つのシーケンスを完了とし、そこで、自動運転の継続か、手動運転に戻るのかを判断する。
  9. 自動運転シーケンス途中でのトラブルの場合、どうやって運行を再開させるかは、今後の検討とする。

   **************************************************
まず、関数として設定する場内信号と出発信号の制御ロジックを説明しよう。この制御は、ポイントスイッチで選択された経路と、進行方向選択スイッチの情報をもとに、どこのホームの出発信号を進行、即ち緑に指示し、どこのホームの場内信号を緑にするかを指定します。その組合せは多くの場合があるため、フローチャートを使って整理する必要がありました。ここで、

  1. 最初に全ての信号を赤にする。
  2. スイッチ状態をチェックする。
  3. その情報を基に、該当する経路だけを緑にする。
  4. 少し時間を稼ぐ。

とし、このサイクル(ループ)を常時回しておく。LEDは赤と緑の点灯を繰り返すが、1から3までを素早く実施すれば、緑が連続して点灯しているように見えるはずでる。
こうして整理したフローチャートを下に示す。

DSWR/Lは進行方向選択スイッチの状態であり、PTS1~3はポイント操作スイッチの状態を示します。J1GやS5Rはホーム1の場内信号やホーム5の出発信号の緑と赤のLEDをON/OFFさせる変数です。
このパネル表示用のスケッチは、サブルーチン(今では関数というでしたね!)として記述しておき、手動制御の場合でも、自動運転の場合でもメインループから読み出して実行させるようにしています。
   **************************************************
メインループは、最初に手動運転モードか、自動運転モードかを判定するようにしてそれぞれのアクションに分岐させます。手動運転モードの場合は、スイッチの状態を変数として取り込み、関係する出力ポートに指示を出すと同時に、パネル表示の関数を呼び出て実行させます。
また電車の運転モードは、登山口駅と頂上駅の登りと降り、そして、登山口駅と待避線とを往復する四つのモードしかないので、これらのモードをmode1(densha)~mode4(densha)の様に関数化しておき、メインループでは、モードと電車番号を順番に記述して運行ダイヤを構成させた。
   **************************************************
運転状況について動画で紹介しましょう。

また、2編成での運行状態も紹介します。

これらスケッチの内容やフローチャートの詳細については、鉄道模型工作実験室の下記の目次を参照してください。

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

登山鉄道レイアウトの自動運転システム その1

作成中の登山鉄道レイアウトには、自動運転システムが組み込まれています。今回はその構成を説明します。まず、対象となるレイアウトは、72×60cmの小さなサイズの台に高低差のあるパターンを組んでいます。

 

線路のレイアウトを単純な図形にすると、右のイラストの様に、行止まりのレール端が4ヶ所ある配置で、二つのポイントの切替と給電方向の切替で、色々な折り返し運転が実施できるようになっています。そして、ここには最大3編成の電車を走らせる運行ダイヤを組むことができます。四つあるホームの中の一つだけ空いたホームに向かって順繰りに走行させるのです。
   ******************************************************
ここで、ホーム1は頂上駅から降りて来た電車の到着ホームとし、ホーム2は頂上駅に向かう電車の発車ホームとします。ホーム1と2,および待機線にそれぞれ電車が停車している状態をスタート状態とします。頂上駅が空いた状態です。
そこで運行ダイヤは、

  1. ホーム2から頂上駅へ
  2. 待機線からホーム2へ
  3. ホーム1から待機線へ
  4. 頂上駅からホーム1へ

の運行をひとつのパターンとすると、スタート時点で停車していた電車が全て入れ替わることになります。そしてこのパターンを3回繰り返すとで電車の位置は最初の状態に戻ります。
   ****************************************************

  1. ます、自動運転させるために、いろいろな要求事項を考えておきましょう。
  2. 自動運転と共に、手動操作も出来るようにしておくこと。
  3. 自動運転の開始は、自動/手動スイッチを自動に切替えることによってスタートすること。
  4. 自動運転の場合、上記のパターンを3回繰り返したワンユニットのシケンスが終了し時点、即ちスタート時と同じ状態になった時、自動/手動スイッチの設定に従って、自動運転の終了か継続かを判断させる。
  5. 最大で3編成の電車を自動運転させることが出来ること。
  6. 勿論、1編成の場合でも、自動運転が出来ること。
  7. 走らせる電車の種類によって個別に速度調整が可能であること。その電車の個別認定は、自動運転スタート時の停車位置によって区別するものとする。
  8. 登坂時は力が要るのでやや早めに、降坂時は速度を押さえた設定にすること。
  9. ホームへの入線時は速度を押さえて進入すること。
  10. 運転状態が分かる表示パネルを設けること。
  11. 手動操作の場合は、ポイントの選択と進行方向の選択を実施する。進行方向選択は中立状態を設けて停車指令とする。
  12. 手動操作の場合の速度調整は、一つの調整ダイヤルのみを有効とし、同時に1編成の電車しか走行出来ないこととする。

   ***************************************************
次にレイアウトに組込んだ制御機器について説明しよう。まず、レールパターンの中心部を下に示す。電動ポイントは作動の信頼性を重視してKATO製のポイントを組込んだ。そして、二つのポイントの間に給電ターミナルを設定した。そして、街灯風のLED投光器の光をレールに組込んだCDSセンサにて、電車の通過をセンシングします。

 

頂上駅の入場分にも同様なセンサを設置しています。4ヶ所のレールエンドには専用のセンサを組込んでいます。このレール止めは、TOMIXのエンドレール、品番1423 を参考にして自作したものです。牽引力が非力なBトレでも確実に作動するように、平行リンクで構成したレバーとマイクロスイッチを組み合わせており、ホーム内に入った電車への通電を遮断するものです。さらに、到着信号用にフォトリフレクタ式のセンサも組み込んでいます。

 

電車の衝突エネルギーは、リンクを介してマイクロスイッチのバネ力で受け止めるので、エネルギー吸収は充分ではありません。このため、入場時には充分に速度を落とす必要があります。それでも衝突のショックで電車が飛び跳ねて脱線しますので、脱線防止のレールガードを設置しています。
   *******************************************
運転の操作盤は、レイアウト台の右手間の角部に設置しました。

 

操作スイッチと速度調整用のボリュームツマミを配置し、運行状態を表示するパネルも作りました。
表示パネルは基板の上にチップLEDを取り付け、プラ板を加工して表示部を作っています。また、路線図には右半分にも線路が延長し、その端には二つのホームが描かれています。これは、レイアウトを右側に追加拡張予定で進めたいたため、その路線を想定して描いたものです。

 

操作盤の裏側の配線の様子です。中央の四角窓からは表示パネルの配線を通します。

 

   **************************************************
レイアウト台の裏側にはいろいろな制御機器類を詰め込んでいます。表示パネルのLEDを制御させるため、多くの出力ポートが必要となったので、マイコンはArduino MEGAを使用しました。

 

電源はArduinoのための9ボルト用と、走行用給電やポイント駆動のための12ボルト用のACアダプラを入力させます。さらにセンサ等の電源のため、9ボルト系から定電圧ユニットを使って5ボルトに落として供給しています。

 

制御基板は、12ボルト系の駆動ユニット(左の写真)と5ボルト系の制御系ユニット(右の写真)を作りました。
各センサやポイントなどへの配線は相変わりずのゴチャゴチャであり、分解再組付け時に接続先を迷わない用ラベルを付ける様にしています。
なお、工作内容や回路図の詳細については、鉄道模型工作実験室の下記の目次を参照してください。


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


ハード回路が出来たので、次はソフト関係を説明します。