HOME >> 鉄道模型工学 > 測定装置の製作 測定の自動化 システム概要

測定装置の製作 測定の自動化 システム概要

 鉄道模型工学の要となる性能測定装置について、暗中模索のなか、なんとか安定的に計測出来る装置となってきました。 しかし、もっと簡単に測定出来ないだろうかと考えるようになりました。 その方法として、計測データを目で読むのではなく、自動的に計測したデータをパソコンに転送できれば、測定作業の手間が省け、かつ測定時間も短くなります。 そこで、この様なケースに於いて取扱いが容易なマイコンとして、 Arduino を使用した自動測定システムを製作した。

 完成した測定装置の概要を下の写真に示す。

  .

 測定台はリフト用ハンドルによって傾斜させることが出来、測定に必要な要素は測定台にセットされている。

 センサ要素として、線路に供給される電圧と電流を測定する測定基板、走行する車両の速度を計測する速度測定ゲート、測定台の裏側には傾斜角測定部が取り付けられている。 線路には、安定化電源から直流電力が供給され、電圧と電流を測定する測定基板を通して線路に供給されている。 その時の電圧は別に設置した表示器で表示するようにしている。

 そして各センサから送られてきた情報をArduinoマイコンが処理し、USB 配線を通してデータ処理のためのパソコンに送られ、リアルタイムで性能特性をグラフとして表示出来るようにしている。

 測定は、測定対象の動力車に重り車両を牽引させ、この線路を右回りに周回させる。登り区間の終端で測定ゲートを通過させて速度を計測して駆動領域での特性を測定し、降り区間では同様に制動領域での特性を測定する。

 

■ 参考とした書籍

 自動化の仕組みを構築するためのキーとなる手段は、Arduinoによるデータの取扱い方法と、パソコンに取り込んだデータのEXCELでのマクロ処理を習得する必要がある。 このために次の入門書を購入し、実際に実施しながらの学習となった。

 参考とした書籍 1) たのしい電子工作 「Arduino で電子工作をはじめよう!」 高橋隆雄著、秀和システム社
Arduinoや使い方やスケッチの書き方を学ぶ。
 
 参考とした書籍 2) 「お手軽マイコン・ボード Arduinoとセンサで計測&解析」 大川善邦著、CQ出版社
 自分の欲しかった部分は、VBAでの処理方法であるが、何やら難しそうであるものの、そのまま活用できそうである。
 
 参考とした書籍 3) 「Arduino ではじめる電子工作」 nekosan 著、工学社
上記の参考書籍1)と2)を見ていても、Arduino回りのハード構成がいまいち良く理解出来なかったので、この書籍も購入してしまった。

 

■ システムの仕様

 装置の製作にあたり、概略の概念に従って構成要素の仕様を探った。 まず、模型車両の動作範囲より、測定範囲は電圧が0〜12 Volt 程度、電流は0〜300mA 程度とする。 勾配は200‰までとして、スケールスピードとして 300Km/h までは測定出来るようにしたい。 そして測定精度はホビーの範疇なので数%もあれば充分である。 有効数字が3桁もあれば御の字なのだ。

 ◆  マイコンの選定 
センサからの情報を入力させるポートは、電圧と電流および角度の3個のアナログ信号用のポートが必要である。 速度測定ゲートはON/OFF信号の4個のデジタルポートとなる。 この他には、測定状態を示すLEDなどための数個のポートが必要となるであろう。 そこでポート数や取扱方が簡単な Arduino UNO をデータ処理のためのマイコンとして採用した。 この Arduino UNOには、アナログデータをデジタルデータに変換する10 ビットの A/D 変換機能が組み込まれているので、アナログデータは0〜1023までの1024段階の情報として得られる。 有効数字が3桁のデータが得られるので精度的には充分である。
 
 ◆ 電圧と電流の検知方法。
電流はシャント抵抗を使ってその電位差を測定する方式を使用する。 動力車への影響や発熱も心配であったので、小さな抵抗にしてオペアンプで増幅する方法を使うことにする。 電圧は Arduino のアナログ入力電圧が最大で 5volt までなので抵抗を使った分圧回路を通して入力させる。 なお、最終的には実際の値を使って測定された値の較正値を求め、その数値を使って計算するようにするため、測定精度よりも測定範囲に気を配って回路の仕様を決めていく。
 ◆ 車速検知方法。
車速を検知する方法は、2点間の光のビームを横切る経過時間を計測し、速度に換算する非接触方法を採用する。 LEDで発光し光をスリットを通して光センサで受け、車両が通過する瞬間を検知する。 この二つの信号の時間差をArduinoのmillis() という命令を使って計算すれば速度に換算出来る。
 ◆ 傾斜角の検知
工作の容易さからレバーと可変抵抗器を使って回転角を検出する方法を採用した。 この場合、レバー機構の構成から回転角は90度以内しか取れないだろうと思われる。 可変抵抗器の回転角は300度近くもあるので抵抗の可変範囲の 90度/300度=3/10 しか使わない事になる。 可変抵抗器の両端に基準電圧の 5Volt を掛けて、スライド部の電圧を取り出ことになるが、ダイナミックレンジの拡大のために、オペアンプを使って増幅しArduino のA/D変換に掛けるようにする。 測定台の製作で説明する 「登り坂の手助け」対策としてあれこれ悩んだが、より簡単なシステムにするために、傾斜台を手で持ち上げた時はキャンセルスイッチを働かせる事で対応する。
 ◆ モータの電流変動対策
模型車両の動力車に使用されているモータは、大きな脈動が発生している。 モータは2万回(20,000rpm)は回転するので、一般的な2ポール5スリットのモータでは、スリット毎に脈動するとすると、20,000回×5÷60 = 1,670 回/sec の脈動はあると覚悟すべきである。 また、Arduinoの計算スピードがいくらになるかはまだ勉強していないが、とにかく電流の脈動対策としては、車速を検知している間は、電圧と電流を何度も計測し、その平均値を求めれば対応できるだろう決断する。
 ◆ 大まかな計算フロー
頭の中で考えているArduinoの演算フローは次の通りである。
  1) 入口のスロットを通過した信号をもとに、その時刻を記憶し、次のループを開始する。
  2)電圧と電流を A/D変換し、それぞれの累積を計算し、カウンタ(累積回数)をひとつ加える。
  3)出口のスロットの通過信号が入力されるまで、2)の作業を繰り返す。
  4)出口のスロットの通過信号が入力されたら、 その時刻を計測し、入口との時刻差を計算して、通過時間とする。
  5)この時の傾斜角を計測する。
  6)電圧の累積値、電流の累積値、累積回数、通過時間、傾斜角のデータをUSB のシリアル通信を使ってパソコンに送信する。
  7)次の入力スロットの通過までスタンバイ状態にする。

 

 そして、データを受け取ったパソコン側は、データセットを項目に分解して EXCEL のセルに書き込んでいく。 EXCELでは、補正や計算処理が設定されているため、自動的に平均電圧やスケール速度、あるいは牽引力などに計算され、リアルタイムでグラフに表示させる。

 こうして条件を勘案して回路図を作成し、部品を発注して各要素の工作を開始した。 各要素間はコネクタを使って接続させている。

 

************  システム構想と回路図 (2013/3/4) を再編集 ********