HOME >> 鉄道模型実験室 > モータ特性を測定しよう その5 ロードセル

鉄道模型実験室 No.116  モータ特性を測定しよう その5 ロードセル

■ はじめに

 注文していロードセルがやっとポストに入っていた。 中国郵便による北京からの貿易小包で、Amazon にて注文してから 18日目でるが、先方が連絡していた「10月6日までにお届け予定」の3日目でした。 でもこういった部品は日本では手に入れ難そうであり、永年、求めていた部品なのでラッキーである。

 そして、早速工作作業に取り掛かった。

 

■ 入手したロードセルのユニット化

 実物を手にして、やはりコンパクトであった。 製品名がロードセル、 定格荷重が 100g、 定格出力が 0.5±0.1 mV/V の物と、製品名がロードセル、モデルがC2G460Aで、定格荷重が150g、定格出力が0.7+/-0.1MV/ V の2種類の部品を一個づつ注文した。 uxcell Japan (アマゾン配送の商品以外、お届けまで10-15日かかります) がAmazon のサイト内で販売しているものである。

 このロードセル部品を注目した理由は、片持ち梁であるものの平行リンクのような形状になっているため、荷重面が水平を保ったまま、たわんでいくであろうと予想したからである。 測定する場合の荷重点を固定する必要が無いため、台秤のように測定物をどこに置いても正確に測定出来ると考えたからである。 さらに、ひずみゲージはブリッジ構成になっているので機能的には満点と言えるであろう。

 今回の工作は定格荷重が 100g、仕様の物を使って、ベース部分と測定受けをプラ板でユニットとして使用できるように工作する。 上右の写真。

 基本は片持ち梁なので、一方の端をベース部分に、反対の端を測定受け部になるように構成する。 具体的には下左の写真のようにプラ板を重ねてユニット化した。 高さは、手持ちの台秤とピッタリと揃うように、20mm になるように構成してさせたこと、梁はベンディングするのでその空間を確保すること、荷重をかけた時にセンサーが傾かないようにベース部を広く取ることなどを考慮した。 ユニットとして組付けた状態を下左に示す。 リード線の端はいつもの様にピンヘッダを取り付けている。

 

■ 増幅回路とA/D変換モジュール

 歪ゲージを使用する場合、その電圧出力は小さいので増幅回路が必要であり、出力のアナログデータを処理する回路も必要となる。 しかし、その増幅回路とArduino で処理しやすいA/D変換を、まとめて処理してくるモジュールがあったのでそれも入手している。 産業界での力や応力の測定では立派な計測器が必須であるが、わがホビーの領域ではこのようなモジュールを安く売っていることは、本当にありがたい事である。

 実は2年ほど前に、この微小トルクを測定しようと 「歪ゲージ」なるものを購入したことがある。 現役時代に実験室で実施していた応力測定を思い出し、カンチレバーを使ってセンシングしようといき込んだのであるが、ひずみ量の計算やブリッジ構成など、いろいろ検討すべき項目があり、また歪ゲージの貼り付け作業など、だんだんおっくうになってきたので中止していた経緯がある。

 その時に、aitendo で見つけた 「重量計りADCモジュール{HX711-M} 」なるモジュールも一緒に入手していた。 どうやって使うのだろうかとの好奇心からである。 この時には、ロードセルのような部品を見つけることが出来なかったのである。 その仕様を次に示す。

●概要
  24ビット、差動入力電圧:±40mV、動作電圧:5V
●仕様・機能
重量計り専用A/DコンバータHX711を使ったモジュールの完成品、ひずみゲージ式ロードセル(物体のひずみを測定するための力学的センサ)を加えてデジタル重量秤が作れる、精度:24ビット、差動入力電圧:±40mV、リフレッシュ周波数:80Hz、動作電圧:5V DC 、動作電流:<10mA、外形寸法:38x21x10mm、接続インターフェース:2.54mmピッチスルーホール、回路図、参考コード(Arduino)、表記価格:1 (販売価格: 350円(税別))

 今回、別に注文した EasyWordMall のHX711モジュール 秤量センサー 24位精度ADモジュール 圧力センサーモジュール (長くて変な名称の部品であるが、意味はよく理解できる。 日本語訳がいまいちですね) と比較すると、サイズは少し異なっているが、使用しているICは同じで、入出のピンも全く同じであった。 その二つのモジュールを比較したものを下左に示す。 写真の下側に写っているのは、この」モジュールを差し込んで結線するためのボードである。 両方のモジュールが使える様にピンホルダを設置している。

 上右の写真は、aitendo で見つけたモジュールを取り付けた状態である。 そして、Arduino 側の接続はピン位置を間違えないようにこれもボードを使って結線している。

  .

 結線は、電源としての DC5Volt、GND、デジタル出力としてのDOUT、Clock(IN)、の4本が必要である。 今回使用するArduino シールドでは、ポートの空きを考慮してDOUT と Clock(IN) をA3 と A4 ポートを使用することにした。 上右の写真。

 これらのユニットを結線した状態を右に示す。

 

■ 作動テスト

このシステムが正常に機能するかをチェックすることにする。

  .

 

 

 

 

 

 

 

 

 まず、 増幅回路とA/D変換を処理してくるモジュールの取り扱い方を勉強した。 このモジュールは重量計り専用A/Dコンバータを処理するHX711を搭載しているので、その処理を制御する必要がある。 aitendo のホームページより参考コード (Arduino) をダウンロードして、ライブラリに hx711.cpp と hx711.h をペーストした。 そして、サンプルスケッチとして SerilScale.ino を走らせたが、コンパイルエラーが出てしまった。

 エラー内容を見てみると、何やらライブラリーソフトの記述記号がおかしいと出ていた。 よく分からないが、Arduino のバー上ンが合わないと判断して他のソフトを探した。 ちなみに自分が使用しているバージョンは、1.6.6 である。

 ネットより、GitHub.Inc のhttps://github.com/bogde/HX711 から、同じHX711用のソフトを掲載していたのでダウンロードを実施し、やはりサンプルスケッチを走らせてみた。

  今度はうまく行った。

 走らせたスケッチは、HX711Serial.ino である。 勿論ポートは変更しているが、その時のシリアルモニタの画面をメモ帳にコピペしたものを上に示す。 頭の部分は何やらゴソゴソと書き出しているが、何を書き出しているのか内容をチェックしたが、その内容は充分には理解できなかった。 どうやら、計量値の校正と共に、ゼロ点補正や平均値を出力できるようである。 試しに校正用の100グラムの分銅を載せてみたが、それなりの出力が出ているようであった。 内容は充分に把握していないが、正常に作動しているのは確かであった。

 

#include "HX711.h"
#define START_PIN 2
// HX711.DOUT	- pin #A3
// HX711.PD_SCK	- pin #A4
HX711 scale(A3, A4);	// parameter "gain" is ommited; 
          the default value 128 is used by the library
void setup() {
  Serial.begin(38400);
  pinMode(START_PIN,INPUT);
}
void loop() {
    int start;
    start = digitalRead(START_PIN) ;
    while (start == HIGH) {     // スタートボタンを待つ
      start = digitalRead(START_PIN) ;
    }
    Serial.print("read: \t\t");
    Serial.print(scale.read()); 
          // print a raw reading from the ADC
    Serial.print(" \t\t");
    Serial.print(scale.read()); 
    Serial.print(" \t\t");
    Serial.print(scale.read()); 
    Serial.print(" \t\t");
    Serial.print(scale.read());
    Serial.print(" \t\t");
    Serial.println(scale.read());
 delay(500);
}

■ ロードセルの校正

 機能的には作動することが判明したので、実際に校正することにした。 実験状態を下に示す。 いつも使用している台秤と共に、ネジやナット、あるいは水草の重りなどを持ち出し、テスト用の分銅とした。 勿論台秤の校正用100グラムの分銅も使用した。

 この時に使用したスケッチを右に示す。 測定を指示するボタンを押すと、データを読み取って送信し、これを5回繰り返して、また待機状態に入る。 このHX711 のライブラリーがどのような処理をするのか充分に理解していなかったのでA/D変換された生データを送信するように設定した。

 分銅代わりの重りを台秤で計量して値をメモし、それをセンサーの上に置いてボタンを押す。

  .

 丁度良いおもりが無い時は、上の写真の様に水草の重りなどを組み合わせて測定した。 送信されたデータはシリアルモニタで観察し、メモ帳にコピペしたものを右に示す。 一つの重りで、続けて2回測定しており、10個のデータを取得した。 これによって測定値のバラツキや安定性をチェックしようとしたものである。

 このデータをまとめてグラフ化したものを下に示す。 左のグラフは横軸に実際の重さを示し、縦軸は送信されてきた生のデジタルデータ値(指示値と呼ぶことにする)を示す。 プロットした結果は、近年に無い見事なデータである。 直線性やバラツキなどホビーにとっては申し分のない性能と判断する。

 この指示値の値から重量値を逆算するためのグラフを下右に示す。 左のグラフの縦軸と横軸を交換しただけのグラフであるが、推定近似式を求めたかったからである。

  

 ゼロ点については、計測前にチェックすればよい事なので、近似式の比例乗数が重要なのである。

  

 同じ重りで10個のデータを得ているが、その平均値を求め、10個のデータの内、平均値から最も離れたプラス値とマイナス値を求めたのが、左上のグラフである。 これを測定値のバラツクとするならば、0.02〜0.04%と極めて小さなバラツキに収まっていることが分かる。

 また、10個のデータの測定毎の値を 100 グラムの場合について示したのが右上のグラフである。 これは、このモジュールの仕様に示されていた リフレッシュ周波数:80Hz の記述を気にしたのである。 リフレッシュ周波数とは、A/D変換するタイミングを示していると解釈しているので、80Hz 即ち、12.5msec 毎に値を更新していることを意味していると考えているが、測定サイクルによっては同じ値が並んでしまうのでは無いかと危惧したからである。 測定毎に値が変化しているのは、今回のスケッチの内容では、1回毎にシリアル通信をしているので値の更新サイクルよりも時間が掛かってしまったのではないかと推測した。

 このロードセルの定格荷重は100グラムであるが、その荷重時の指示値がおよそ 700,000 である。 2進法で表すなら 19 ビットと 20 ビットの間である。 精度が24ビットとは、最大荷重時のデジタル出力が24ビットであると解釈するならば、700,000/16,777,216 = 0.042 即ち、能力の約4%しか使用していないと勘ぐるのであるが、本当なのだろうか?

 もう一度仕様関係を整理してみた。 ロードセルの定格荷重は100グラム、定格出力は 0.5±0.1mV/V なので、DC5volt 電源を使用した場合には、定格出力は 2.5mV と解釈する。 一方でモジュール側では、差動入力電圧:±40mV とのことであるので、40mVの入力時に24ビットフル出力となると解釈すrならば、2.5mV/40mV = 0.0625 となる。 合ってくる! モジュールの能力を充分に生かし切れていないと解釈するが、上のグラフからは、これでも充分すぎるレベルと考え、大満足である!

 

 次は、モータ特性測定装置にセットしてテストして行くことにする。

ページトップへ戻る  .


 2016/10/5 作成