HOME >> 鉄道模型実験室 > モータ特性を測定しよう その6 機能テスト

鉄道模型実験室 No.117  モータ特性を測定しよう その6 機能テスト

■ はじめに

 ロードセルの機能チェックが合格したので、いよいよ我が測定器にセットしてテストを開始する。 まず初めに、トルク測定の校正を実施し、EF510-1号機のモータを使って特性の測定を実施した。 そしていくつかの問題点も見えてきた。

 

■ 測定項目であるトルクの較正

 張力プーリーに掛かるトルクと台秤の関係、および台秤とロードセルの関係は検証済みなので、張力プーリーに掛かるトルクとロードセルとの関係は計算で求めることが出来るが、ここではあえて直接検証することにした。 念には念を入れてである。

 まず、ロードセルを微小トルク測定装置にセットして、「モータ特性を測定しよう その4」で実施した同様な手順でロードセルを較正することにする。 その時の様子を下の写真に示す。

 装置の正面から見た状態を下に示す。 与圧レバーには重量バランスを取るために重りを追加している。 これによってバランスレバーの重量を含めてバランスを取っているが、不用意な飛び跳ねを防止するため自重でも落ち着く様に押し下げ力を残している。 バランスを取った効果は不明であるが・・・・・・・・。

  .

 

 較正テストの方法は、つるした籠の中に一円玉を順番に入れていき、14枚まで入れた後は、今度は一枚ずつ減らしていく。 これを2往復させる。 ゼロ枚の前にはレバーを持ち上げてロードセルに荷重が掛かっていない状態を挟むことにしている。 スタートもゴールもこの状態から始めた。

 データ処理は「モータ特性を測定しよう その5」で用いたスケッチをそのまま使用して、シリアルモニタに表示させている。 一回の測定で5個の連続データを収集しており、それを2回繰り返して10個のデータを得ている。 その結果をEXCELに取り込みデータを整理してグラフ化したものを右に示す。

 横軸は一円玉の枚数であるが、一枚がぴったりの1.0 グラムであり、14枚で測っても14.0グラムであった。 即ち、グラムと読み替えることが出来る。 縦軸は、5回ずつ連続して測った10個のデータの平均値を示す。 グラフは2回往復したデータを線で結んで表示しているが、さらにこれらのデータから近似直線を求め、その式を表示している。

 なお、レバーを持ち上げてロードセルに荷重が掛かっていない状態もグラフの中に取り込みたくて工夫した。 1枚〜14枚までの全データから推測した近似直線の延長上に来るように横軸の値を推定すると、マイナス1.5枚とすると延長上に乗ることが分かった。 このことは、レバー類の自重(一円玉を載せる籠などの重さも含む)によるセンサー部分の荷重が、1.5グラム相当の荷重が掛かっていることを示している。 まだ改善の余地があるのかどうかは判断が付かないが、とにかく測定前のゼロ点補正をしっかりと実施する必要がありそうだ。

 しかし、その一円玉がゼロの部分のデータがぴょこんと飛び出しているのが気になってきた。 そこでこの部分だけ拡大したグラフを下左に示す。

 

 これだけではよく分からないので、この一円玉がゼロの場合の4回の測定値をこの測定中に整理して表示したのが、上右のグラフである。 これより、データの違いは上りと下りでは差、すなわちヒステリシスであることが分かる。 そして、上りの場合のデータは直線上に乗るので、このことを知っておれば、より正確なゼロ点補正が可能と思われる。 さらに、実際の測定においてはモータを動かしているので、リンク類では細かい振動によりこのヒステリシスは殆ど発生しないであろうと踏んでいる。

 次の、今回測定されたデータのバラツキを見て置こう。 10個のデータの内、最大のものと最小のものの平均値との差を計算したものと、そのパーセントを計算した。

 

 データは、±0.2% には収まっているので、充分な精度であると判断する。 最後に、この較正値を利用するために、センサーからの指示値から回転部のトルクを計算して右の様にグラウ化した。 これより近似式を得て換算式とする。

 

■ モータの特性調査のトライ

 いよいよ準備が整ってきたので、実際にモータのトルク特性を測定してみることにした。

// Moter-Measure-3   2016/10/4
// モータ特性測定の専用シールド用

********* 省略 **********
 
//カウント完了を待つ
    while (fin == LOW) {        // カウント完了を待つ。この間に測定する
      voltage = analogRead(vol_pin);
      current = analogRead(cur_pin);
      force = scale.read();
      vol = vol + voltage;
      cur = cur + current;
      fforce = fforce + force;
      n = n + 1;
      fin = digitalRead(FIN_PIN) ;
    }
    t2 = millis();          // カウント完了時刻

 //出力処理
    tt = t2 - t1;
    String buf = String(vol)+","+String(cur)+","+String(fforce)+","
        +String(n)+","+String(tt)+ ",E";
    Serial.println(buf);
    digitalWrite(LEDY_PIN, LOW);
    delay(500);
}

 まず、スケッチの内容を修正する。 基本は「モータの無負荷回転特性を測定する」で使用したスケッチに、HX711のライブラリを追加し、回転数をカウントしている間にロードセルからデータを読み込んで累積して行き、最後に電圧等のデータと一緒に累積値を送信する処理内容とした。 その主要部分を左に示す。

  .

 このスケッチを走らせ、適当な負荷を与えた時のシリアルモニタでの状態を右に示す。

 電圧、電流、力、累積回数、測定時間をそれぞれ送信してきている。

 回転数のカウント回数は、1024 回に設定しているものの、累積回数は極端に少なくなっている。 1回の測定に平均して 88msec もかかっているのである。 今までが 0.2 msec 程度であったのでロードセルからの読み込み処理に相当な時間が掛かっているようだ。

 データ処理としては実施されていることが確認できたので、この点に留意しながら、EXCELでのデータ処理を修正して、実際の測定を実施した。

 この時の測定装置の状態を下に示す。 モータの取り付けと芯合わせも慎重に実施した。

 電圧を 3volt に設定して負荷を変えながら測定した結果を下に示す。

// Moter-Measure-4   2016/10/7
// モータ特性測定の専用シールド用
// HX711.DOUT  - pin #A3
// HX711.PD_SCK - pin #A4

************* 省略 **************
//カウント完了を待つ
    while (fin == LOW) {        // カウント完了を待つ。
      voltage = analogRead(vol_pin);
      current = analogRead(cur_pin);
      vol = vol + voltage;
      cur = cur + current;
      n = n + 1;
      fin = digitalRead(FIN_PIN) ;
    }
    t2 = millis();          // カウント完了時刻

//ロードセルを読む
   force1 = scale.read();
   delay(20);
     +++++++++++ 省略 ++++++++
   force9 = scale.read();
   delay(20);
   force10 = scale.read();

 //出力処理
    tt = t2 - t1;
    String buf = String(vol)+","+String(cur)+","+String(n)+","
    +String(tt)+","+String(force1) +","+String(force2)+","
    +String(force3)+","+String(force4)+","+String(force5)+","
    +String(force6) +","+String(force7)+","+String(force8)+","
    +String(force9)+","+String(force10)+","+",E";
    Serial.println(buf);
    digitalWrite(LEDY_PIN, LOW);
    delay(500);
}

 このデータを一見すると正常に測定されているように見えるが、全く変なのである。 値も変だし、特性の傾向が今までと逆なのである。

 何を測定しているのだろうか?         

 トルクが上がると回転数も上がる? トルクと電流は比例すのに反比例している?

 何度もスケッチや生データを見直したが、このような現象になる理由が分からなかった。

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

 原因が不明なままであるが、とりあえずロードセルからのデータをどう処理するかの問題と考えて、回転数計測のための測定ループから外すことにした。 そしてロードセルのデータを1回ずつ読み込んで10個のデータを取得後に、全データをPCに送信するようにした。

 その処理スケッチの主要部分を右上に示す。 10回の測定処理はもっとスマートな方法があるはずであるが、うまく行くかどうかが分からないので、泥臭く記述した。 分かり易いでしょ!

 ところが、この結果は見事に正解であった!                             

 この時のデータを下に示す。 10個のデータは平均を取ってグラフにプロットしている。 以前、測定車を使った無線通信でも実施した方法だったね。 電圧を変えて、トルクと回転数、およびトルクと電流のグラフをまとめてみた。 比較のために、2012年10月15日に報告した「 動力車の調査 > KATO EF510-1」の時のグラフを下に転載する。

  

 データを比較すると、細かい点では異なっているものの、値のレベルや傾向は合致していると判断する。 異なっている部分は測定方法の違いなのか、あるいはモータ自身の特性が変化したのか判断できない。 なお、先回の台秤で測定した場合とはほぼピッタリとしているので、この回のデータの方が信頼できるのではないかと思う。

 そして、与圧レバーを少し待ち上げて張力測定のための糸をたるませた状態でモータの回転数などを測定した。 これはモータの無負荷状態で測定するもので、速度特性として報告してきた特性である。

  

 こちらも、2012年10月15日に報告したデータを比較のために転載したが、電流の値が高めになっているのが気がかりである。 これは無負荷とはいえ張力測定用のプーリーを駆動させているので何らかのトルクが必要となり、電流をくってしまっている結果ではないかと思われる。

 

■ 問題点について

 今回のテストで明らかになった問題点を整理しておこう。

 1) 無負荷状態での測定
やはりモータ単独の状態で測定する必要がある。 このためには、回転数測定をモータ軸から直接測定して、余分な付属品を回転させない状態にする必要がある。 面倒がらずに回転数センサをモータに合わせてセットせよということである。
 2) 与圧レバーの力の掛け方
今回実施した結果、負荷をかけるための与圧の掛け方が非常に面倒であった。 適当に工作したレバーが操作し難いのである。 また、模型飛行機のような輪ゴムをねじって力を掛ける方法では、力の掛け方がリニアには出ないような気がした。 レバーを何回か回転させても逆に負荷が下がってしまうような状況に何度も出くわした。 これはデータのプロット点が飛び飛びになってしまう状況となり、偏ったデータとなる恐れがあった。 このために操作のしやすい別の方法を考える必要がある。

 その与圧を掛ける部分の状態を下に示す。

 

ページトップへ戻る  .


 2016/10/8 作成