HOME >> 鉄道模型工学 > 測定項目の追加 有線方式による測定装置の開発

鉄道模型工学  測定項目の追加 有線方式による測定装置の開発.

 走行中の動力車のモータ端子電圧とモータ回転数を測定すべく、無線通信を使った測定方法をおよそ1年もかけて改善を進めたものの、未熟な技術力が故に最終的には 60 点の完成度であったと評価している。 ノイズの影響やデータ飛びによる疑問データが散見されており、データ整理の段階ではその選別作業にだんだん嫌気が差してきてしまった。 もっと信頼のあるデータが得られないものかと、「カイゼン、カイゼン・・・・」の声がだんだん大きくなって来た。 そんなある日、ふと浮かんだアイディアが次に説明する「8の字レイアウト」である。 ねらいは、有線通信が可能であることである。

  .

 

■ 8の字レイアウトと有線通信

 まずは、アイディアを絵にした状態を右のイラストに示す。 その内容は、測定対象車両に取り付けたモータ回転数センサとモータ端子電圧センサの信号線を柔軟な細い線で取り出し、上に設置した「釣り竿」につるす。 そしてその信号線を測定処理装置の Arduino まで、有線で接続するのである。

 今までの単なる小判型のレイアウトでは、信号線がぐるぐる巻きになって行き、どこかで回転逃げを設ける必要があった。 このような回転逃げの処理はスリップリングなどの機構が必要となり、ノイズの発生や信号の断絶などが発生するのでセンサ信号線としては不適切な構造であると考えていた。

 今回思いついてアイディアは、測定用のレイアウトを8字形にして走行させる事である。 これによって信号線のぐるぐる巻きの発生を防止出来ることに気付いたのである。 右回転と左回転が交互に実施されるので、ねじれはせいぜい1回までで、巻いては戻しの状態が連続的に続くき、信号線の捩れは防止されるのである。

 この有線通信が可能になると、無線通信のXBeeや、赤外線通信が不要となり、測定のために牽引していた測定車両も不要となってしまう。 そして、無線基地局としてのシールドや、赤外線通信受けのサテライトユニットも不要となってしまい、折角苦労して開発してきたご自慢の装置ではあるが、改善のメリットは大きいのである。 何よりもノイズの心配やデータの飛びなども激減して、信頼性のあるデータが収集できると期待している。

 

■ 課題の検討

 そこで、アイディアを実現させるために、予想されるいろいろな課題について検討してみよう。

 1)Arduino の処理は可能か。
モータ回転数とモータ端子電圧の信号処理については、Arduinoの端子に直接入力して信号処理することが可能となった。 まず、端子電圧はArduino のアナログ端子を使用し、回転数センサは一定時間内のパルス数をカウントするのか、あるいは規定パルス数の経過時間を計るかによって処理方法が異なるが、Arduino のデジタル端子でパルス数をカウントする場合には、新たに割り込み処理のプログラムを検討する必要があるだろう。 いずれにしても処理は可能であろう。
 2)8字レイアウトが測定台の上に構成出来るか。
動力車の走行可能な最小半径として、半径280mm の曲線線路をつないで本当に8字が構成出来るだろうか。 測定台のサイズが間に合うだろうか。 これが一番の問題と考える。
 3)信号線を上から吊るすので、現在の測定ゲートが使えない。
現在、車速を測定している光ゲートのアームは車両の上側を跨いで設置しているので信号線が引っ掛かってしまう。 このため、線路下を通す構造に作り直す必要がある。

■ 8字レイアウトの検討

  .

 最大の課題である8字レイアウトを検討する。 使用する線路は、TOMIX製を基本にし、旋回部の半径は標準的な 280mm として検討した。 なお、現在の測定台のサイズは、外枠の内側寸法で 1175×625mm である。

 色々なパターンを検討した。 例えば、30度クロスを使用した8字パターンでは、傾斜台のサイズは2800×700必要で、現在の2.4倍の長さが必要となり、長すぎて不可である。 また、90度クロスを使用した8字パターンでは、測定用の直線部が短く、途中にクロス線路も入って測定に影響する心配があるのでNGだ。

 最終的には、右に示すパターンを採用した。 サイズは1420×625mmで現状より少し長くすれば対応できる。 このパターンは、両端にリバース線を設けたドッグボーン形を折りたたんだ形状となっている。 そして、今までのように直線部に測定ゲートを設けて計測できる。 走行は、右回りに一周(登りと降りで計測)して → リバース線で方向転換 → 左回りで一周(登りと降りで計測)して → リバース線で方向転換 のパターンを繰り返す。 

 しかし、単純な8字レイアウトと異なり、給電ポイントやギャップの設定場所の工夫や、完全選択式電動ポイントを使った自動運転制御が必要となり、新たな課題も発生した。 制御は Arduino を使ってコントロールすることを前提に考えると、

 1)車両位置センサーの設置場所と方法
指定したパターンで走行できるように、車両の位置を確認しながら制御する必要がある。 そのセンシング位置と方法を検討すること。
 2)電動ポイントの駆動
Arduino を使ってポイントを制御するには、自作のポイント・ドライバーの紹介を参考にして自作することにしよう。
 3)電源の反転スイッチの制御
走行パターンの途中で供給電力の極性を反転させる必要がある。 測定データの信頼性を考慮してこれまでのように安定化電源を使って電力を供給し、その電極の切り替えは電圧降下の少ないリレーを使って切り替えることにする。 例えば、2C接点式のリレーを使えば出来そうである。
 4)Arduino は共通使用が出来るか
計測用の Arduino と運転制御用の Arduino は、一つで共通使用が可能だろうか? 計測タイミングと制御タイミングが重なる事はないので、共通化は可能な様であるが、計測用のセンサポートが増えることを考えると、別々にするのが得策な様に思われる。

************  新しい測定方法を検討する (2015/12/19) を再編集 ********  

 これらの検討のためにテスト用のレイアウトを作って確認する必要があるので、まず、システムを構成する要素として、通過センサー電動ポイントの制御方法電源の反転スイッチの制御の方法を検討した。

  .

■ 通過センサーの検討

 自動運転システムに使用するセンサーとして、既成品であるTOMIX のTCSワンタッチ装着センサーを検討した。 まず、3本ある信号線の使い方を知る必要があるので分解して処理回路を観察した。 その結果を右に示す。 中央の線がGND で、通過に合わせて左右のどちらかの線が通電する構成となっていた。

 しかし、このセンサを使った実験中において、たびたび反応しないことが発生していたので、心配となってCdsを使ったセンサも検討した。 右の写真。 この方式は自動列車停止システムが使用したことがあったので問題なく使用できると考えている。

************  自動運転システムのセンサー (2016/1/4) を再編集 ********  

■ 電動ポイントの制御方法

 ポイント制御方法として、ネットでの事例を調査した結果、スイッチとコンデンサを使用する方式とモータドライバIC を使用方法が紹介されていた。 スイッチとコンデンサを使用する方式では、スイッチを手動で操作して切り替える方法であったので、今回のシステムのようにAruduino で制御するには容易ではない。 そこで、モータドライバIC を使用する方法を参考にさせてもらい、DCモータ用フルブリッジドライバ TA8458K を使用する事にした。

 この方式でも作動テスト中にダンマリの状態が発生していたので、コンデンサ方式も検討した。 TOMIXのパワーユニット N-401 のカバーを分解して内部の回路を観察した結果、切替スイッチと2200μFのコンデンサを使用していたのでこれを参考にした。 切替スイッチの代わりにリレーを使用する。

************  ポイントの切替駆動の制御方法 (2016/1/6) を再編集 ********  

■ 電源の反転スイッチの制御方法

 制御方式としてこちらもモータドライバIC を使用することも考慮したが、供給電源での切替であるので、その電圧ロスを最小限にするためにリレー方式を選択した。 そして、通電時間と制御回路を鑑み、2巻線ラッチング形を使ってみることにする。 選定したリレーは、OMRON製の2巻線型小型ラッチングリレー G6AK-274P-DC5V 、2接点2回路のプリント基板用小型リレーである。 コイル定格電圧は DC5.0Vであり、接点部定格負荷はDCの場合は30V-2AまでOKであるので、サイズも20×10×8mm の比較的コンパクトなさいずであった。

 

■ 自動運転制御のテスト

 システムを構成する要素を選定したので、実際に線路を組み立ててシステムの作動を検証した。 半径140mm の線路を使用して、ストック品の 30mm 厚さのスタイロンの上に8字レイアウトを構成した。 線路はガムテープで張り付けている。


#define FED11 13
  ********** 省略 ***********
#define SEN2 3

void setup() {
  pinMode(FED11,OUTPUT);
  ********* 省略 **************
  pinMode(SOL22,OUTPUT);
  pinMode(SEN1,INPUT);
  pinMode(SEN2,INPUT);

  digitalWrite(FED11,LOW);
     ******** 省略 *****************
  digitalWrite(SOL22,LOW);  

  digitalWrite(FED11,HIGH);
  digitalWrite(FED21,HIGH);
  delay (500);
  digitalWrite(FED11,LOW);
  digitalWrite(FED21,LOW);
  delay (500);
  digitalWrite(SOL11,HIGH); 
  delay (200);
  digitalWrite(SOL11,LOW);
  delay (500);  
  digitalWrite(SOL21,HIGH); 
  delay (200);
  digitalWrite(SOL21,LOW); 
  delay (500);     
}

void loop() {
  while (1){
      if(digitalRead(SEN2) == HIGH)  break;
  }
  while (1){
      if(digitalRead(SEN1) == HIGH)  break;
  }
      digitalWrite(SOL12, HIGH); 
      delay (200);
      digitalWrite(SOL12, LOW);
      delay (200);
      digitalWrite(FED22, HIGH); 
      delay (200);
      digitalWrite(FED22, LOW);

  while (1){
      if(digitalRead(SEN2) == HIGH)  break;
  }
      digitalWrite(FED12, HIGH); 
      delay (200);
      digitalWrite(FED12, LOW);
      delay (200);
      digitalWrite(SOL11, HIGH);  
      delay (200);
      digitalWrite(SOL11, LOW);

  while (1){
      if(digitalRead(SEN1) == HIGH)  break;
  }
  while (1){
      if(digitalRead(SEN2) == HIGH)  break;
  }
      digitalWrite(SOL22, HIGH); 
      delay (200);
      digitalWrite(SOL22, LOW);
      delay (200);
      digitalWrite(FED11, HIGH); 
      delay (200);
      digitalWrite(FED11, LOW);

  while (1){
    if(digitalRead(SEN1) == HIGH)  break;
  }
      digitalWrite(FED21, HIGH); 
      delay (200);
      digitalWrite(FED21, LOW);
      delay (200);
      digitalWrite(SOL21, HIGH); 
      delay (200);
      digitalWrite(SOL21, LOW);
}

 テスト用のレイアウトが出来たので自動運転のシーケンスを考えておこう。

ステージ 状態 センシング アクション 説明
初期設定   SOL1〜SOL4 直進状態、FED1&2 を右回り設定  
右旋回中 SEN2 ON   右回り旋回中の確認
リバース準備 SEN1 ON SOL1&SOL3 反位後、FED2 を左回り設定  
リバース完了 SEN2 ON FED1 を左回り設定後、SOL1&SOL3を定位に 左回り旋回開始
左旋回中 SEN1 ON   左回り旋回中の確認
リバース準備 SEN2 ON SOL2&SOL4 反位後、FED1 を右回り設定  
リバース完了 SEN1 ON FED2 を右回り設定後、SOL2&SOL4を定位に 右回り旋回開始
  ⇒ ステージ1 に戻る

 ステージ1と4は、旋回路を必ず一周して来たことを確認するために挿入したチェックポイントである。 また、制御回路は、センサー部、電動ポイント駆動部、給電制御部を制御マイコンであるArduino によって制御するように構成した。 回路図を下に示す。

 通過センサーCdsセンサを使用し、電動ポイント制御はドライバIC を使用している。 これらの回路はブレッドボード使用して構成し、下の写真の様にセットした。

 そして制御ソフトとして、右上に示したようにスケッチを記述した。 走行は、Bトレ電車を使用して走らせた結果、不具合部を修正後は狙った通りのシーケンスを実施させることが出来た。

************  自動運転制御のテスト (2016/1/3) と 新測定法のための自動運転制御システム (2016/1/8)を再編集 ********  

 

 こうして、自動運転システムの確認が出来たので、いよいよ、測定台の改造工作を始めることにした。