重さを計る時に便利な「電子はかり」ですが、荷重(重さや力)を測定できるセンサ、ロードセルを使うと簡単に自作できます。
今回は電子はかりの製作を通して、ロードセルの使い方について詳しく紹介します。
ロードセルは物の変化を電気信号に変換できるセンサで、重さだけでなく圧力やトルクの測定等、幅広い分野で使用されています。
1.キットで簡単電子はかり
・電子はかりキットの紹介
・構成部品について
2.ロードセルとは
・ひずみゲージ
・ホイートストンブリッジ
・ひずみゲージの貼り付け方、結線方法
3.A/DコンバータHX711とは
4.マイコンボードで自作電子はかり
・動作紹介
・マイコンボードM5StickC Plus2
・配線図
・開発環境(ArduinoIDE)
・ライブラリ
5.サンプルプログラム
・プログラムの詳細
6.ロードセル校正値の確認
・校正値の確認方法
・校正の実行
7.まとめ
1.キットで簡単電子はかり
まずは安価で入手できる「電子はかりキット」を使って動作確認をしてみます。
動作確認と言っても「はかり」ですから、物を置くとその重さが表示されるだけです。
しかし、今回使用するのは「キット」なので重さを測定する「しくみ」はあるものの、正しい数値を表示させるには「校正」を行う必要があります。
・電子はかりキットの紹介
今回使用したのは以下の「キット」になります。
非常に安価ですがこれだけで電子はかりとしての構成部品が全て揃って、組み立て後すぐに動作確認できます。
キットの構成部品は以下写真のようになります。
「キット」が完成したものは以下になります。
円盤の上に載せた物の重さを表示させることができます。
このままでは、まだ正確な重量を測定できないので、まずは重さがわかっているものを置いて、置いたものの重さが表示されるように、以下の写真の基板上の「ボタン」を押して調整するという「校正」が必要です。
基板上の「ボタン」の表示は中国語表記になっていますが、以下のような機能があります。
- 去皮:0リセットします。重量の表示を0にするために使用します。
- 校正加:載せた物の重さの表示が低い時に数値を大きくしたい時に押します。
- 校正減:載せた物の重さの表示が低い時に数値を小さくしたい時に押します。
実際に測定している様子は下写真のようになります。
電源を接続したら、まずは何も載せない状態で「去皮」ボタンを押して0リセットします。
次に水の入った500mlのペットボトルを置いて、表示が500になるように「校正加/校正減」ボタンを押して調整します。
調整できたら、他のものを置いて色々な物の重さを測定してみましょう。
・構成部品について
電子はかりの構成部品として、主なものは「ロードセル」と「A/Dコンバータ」です。
今回紹介したキットにも使用されているので以下で紹介します。
ロードセル
重さを測定するためのセンサは「ロードセル」と呼ばれ、キットの中の以下写真のものです。
今回使用したものはアルミの棒状のもので、この棒にかかる「力の変化」を「電圧の変化」として出力してくれます。
上写真のアルミの棒が「ロードセル」です。
十分な強度を持ちながらも変形しやすいように中央に穴が開けられています。
今回のキットに使用しているものは5kg用で、この棒の「5kg」と書かれた部分に載せた物の重さによる「形状変形(ひずみ)」を「電気信号」として測定するために使用されます。
A/Dコンバータ
ロードセルから出力された「電圧の変化」を処理するために使用するのが「A/Dコンバータ(アナログ-デジタル変換器)」で、キットの中の以下写真の基板になります。
この基板に搭載されているA/DコンバータICは「HX711」で「ロードセル」からの電気信号(アナログ値)を重量としての数値(デジタル値)に変換しています。
2.ロードセルとは
ロードセルとは、重さや力による「形状変形(ひずみ)」を「電気信号」に変換するセンサーで、以下から紹介する2つの要素「ひずみゲージ」と「ホイートストンブリッジ」で構成されています。
・ひずみゲージ
「ひずみゲージ」といってもその正体は、薄いフィルム状の「抵抗」です。
これを対象物に貼り付けることで、対象物の形状変化に合わせてフィルム状の抵抗が、延ばされたり縮められたりすることで抵抗値が変化します。
下図のように、「ひずみゲージ」を棒状の物に貼り付けた場合を例に見てみましょう。
図のように「ひずみゲージ」を裏表に貼り付けた棒に力を加えて曲げると、上側は伸びて下側は縮みます。
「ひずみゲージ」はフィルム状の「抵抗」なので、内部の導体が伸びて細くなると抵抗値は増え、縮めて太くなると抵抗値は減ります。
この「抵抗の変化」を測定することで、物の「形状の変化量」を知ることができ、その物の形状や材質から「物に加えられた力」を算出することができます。
・ホイートストンブリッジ
「ホイートストンブリッジ」は、下図のように4つの抵抗器を正方形に接続したものです。
図のように抵抗器を正方形に接続して、対角(E+、E-間)に電圧を加えた時、電圧を加えていない対角(A+、A-間)には抵抗値に応じた電位差(電圧の変化)が発生します。
4つの抵抗値が同じ場合にはこの条件が成立することになります。
電流が流れないということは、電位差が発生しないということになります。
逆にいうと、4つの抵抗の1つでも抵抗値が異なると電位差が発生するということになります。
・ひずみゲージの貼り付け方、結線方法
「ひずみゲージ」は測定対象の形状や、力がかかった時の形状の変化に合わせて貼り付け方を検討し、正しく結線する必要があります。(貼り付けには専用の接着剤を使用します。)
「ひずみゲージ」の貼り付け方にはたくさんの種類がありますが、主なものを以下から紹介します。
1ゲージ法
「1ゲージ法」とは「ホイートストンブリッジ」の1箇所だけが「ひずみゲージ」で、その他は同じ抵抗値の抵抗で構成されたものです。
最もシンプルな構成で、主に測定対象の「引張/圧縮力」の測定に使用されます。
測定対象に貼り付けた「ひずみゲージ」は引っ張られると伸びて細くなり抵抗値が増えます。
圧縮されると縮んで太くなり抵抗値は減ります。
この場合の出力電圧(e0とします)の値は以下の式で求めることができます。
e0:出力電圧(Max ±10m〜20mV目安にひずみを設定)
E:電源電圧(一般的には5V)
Ks:ゲージ率(約2、ひずみゲージによる)
ε:ひずみ(物の形状や材質によって算出)
ε = ΔL / L (μ)
ΔL:変形量(μm)、 L:元の長さ(m)
ひずみの変化による出力電圧(e0)が希望の範囲内になるように、ひずみゲージを貼り付けるロードセルの形状を検討します。
2ゲージ法
「2ゲージ法」とは、「ホイートストンブリッジ」の2箇所が「ひずみゲージ」で、その他は同じ抵抗値の抵抗で構成されたものです。(全てを「ひずみゲージ」で構成したものは「4ゲージ法」です。)
上で紹介したキットで使用した「ロードセル」のように、棒状で曲げる力の測定をする場合、「ひずみゲージ」を下図のように裏表に貼り付けると抵抗値が増える箇所と、減る箇所があります。
この場合の出力電圧(e0とします)の値は以下の式で求めることができます。
e0:出力電圧(Max ±10m〜20mV目安にひずみを設定)
E:電源電圧(一般的には5V)
Ks:ゲージ率(約2、ひずみゲージによる)
ε:ひずみ(物の形状や材質によって算出)
「2ゲージ法」は「1ゲージ法」の2倍の出力を得ることができ、「4ゲージ法」は「1ゲージ法」の4倍の出力を得ることができます。
測定したい「ひずみ」の方向によって、並べたり、重ねたり、貼り方も変えます。
2つのひずみゲージを直角に重ねて貼ることで「ねじり」の測定もできるため、回転する軸のひずみから回転トルクの測定も可能です。
3.A/DコンバータHX711とは
「HX711」とは、主に「ロードセル」と組み合わせて使用される、高精度な「24ビットA/Dコンバータ(アナログーデジタル変換)」ICで、端子配列や機能は下画像のようになります。
主な仕様は以下表のようになります。
項目 | 仕様 |
---|---|
電源電圧 | DC2.6〜5.5V |
入力チャンネル数 | チャンネルA、Bの2個(一般的にはAを使用) ※通信クロック端子のパルス数で切替 |
ゲイン(増幅率) | ・チャンネルA:64倍、128倍で選択(初期値128) ・チャンネルB:32倍(固定) |
アナログ電圧入力範囲 (電源電圧5V) | ・ゲイン128倍の場合:±20mV ・ゲイン64倍の場合: ±40mV ・ゲイン32倍の場合: ±80mV |
分解能 | 24ビット(2の24乗:0〜16,777,215) |
サンプリングレート | 10Hz/80Hz(外部端子で切替) |
通信方式 | 独自のシリアル通信 クロックとデータ出力の2線式 |
消費電流 | 1.5mA(パワーダウンモード時0.5μA) |
今回使用したキットに使用した基板にも「HX711」が搭載されており、端子配列は下画像のようになります。
「E+、Eー、A+、Aー」端子はロードセルに接続します。
「VCCーGND」間に電源電圧(DC2.6〜5.5V)を供給し、シリアル通信端子「DT(データ出力)、SCK(クロック)」へ専用の表示器やマイコンボードの端子を接続します。
4.マイコンボードで自作電子はかり
ここまで「電子はかり」の構成部品の「ロードセル」や「A/DコンバータHX711」の紹介をしてきましたが、ここからはこれらを使用して「電子はかり」を製作する方法について詳しく紹介します。
・動作紹介
キットに付属の表示器の代わりに「M5StickC Plus2」を使用して動作確認している様子は下画像のようになります。
電子はかりキットの表示器を「M5StickC Plus2」に置き換えて「GROVEコネクタ配線(メス)」で「HX711」と接続します。
はかりの上に載せたものの重量(g)が液晶画面に表示されて確認できます。
「スケール」は下画像の「M5StickC Plus2」の画面下の「Scaling:」で確認できます。
「Scaling」は以下の手順で「M5StickC Plus2」の各ボタンを使用して調整して設定します。
- はかりの上に何も置かずに電源を入れます。
- 基準となるおもり(500mlのペットボトル500g)をはかりの上に置きます。
- 表示が「500g」になるように「Scaling」値を調整します。
「Scaling」値は「ボタンA」を押すと増え、「ボタンB」を押すと減ります。 - 「500g」になった時の「Scaling」値を確認して、プログラム内で指定して書き込みます。
- 以上で設定は完了です。「Scaling」値は必要に応じて微調整してプログラム内の変数に再設定します。
・マイコンボードM5StickC Plus2
「M5StickC Plus2」は「M5Stackテクノロジー社」のマイコンボードで、1.14インチTFT液晶画面や入出力端子、ボタン、LED、赤外線送信、ブザー、3軸ジャイロ+3軸加速度センサ、マイク、RTC(リアルタイムクロック)、バッテリーが内蔵されています。
他にもシリアル通信はもちろんWiFiやBluetooth通信にも対応しており、これらの機能をプログラムで自由に使用することができます。
「M5StickC Plus2」については以下のリンクで詳しく紹介しています。
・配線図
配線図は下画像のようになります。
今回紹介した電子はかりキットの表示器を「M5StickC Plus2」に置き換えたものです。
「A/DコンバータHX711」は色々なものが販売されていますが、ほぼ同じ端子構成で互換性があります。
下画像は「M5Stack」社製の「Weight Unit」との配線図です。
同じように「HX711」が使用されているため、そのまま置き換えて使用できます。
・開発環境(ArduinoIDE)
開発環境「ArduinoIDE」のインストールやライブラリの準備方法は以下のリンクで詳しく紹介しています。
・ライブラリ
使用するライブラリは以下表のようになります。
「ArduinoIDE」で事前にインストールしておいてください。
ライブラリ名 | 用途 | バージョン | 検索名 |
---|---|---|---|
M5StickCPlus2 | M5StickC Plus2制御用 | 1.0.1 | stickcplus2 |
HX711 Arduino Library | A/DコンバータHX711制御用 | 0.7.5 | 711 bog |
5.サンプルプログラム
サンプルプログラムは以下になります。
コピペで貼り付けて書き込んでください。コピーは下の黒塗り部右上のアイコンクリックでもできます。
#include <M5StickCPlus2.h> // M5StickC Plus2制御用
#include "HX711.h" // A/DコンバータHX711用(HX711 Arduino Library)
#define LED 19 // 本体LED
#define HOLD 4 // ホールド(電源ボタン)端子
#define LOADCELL_DOUT_PIN 33 // HX711 データ出力端子
#define LOADCELL_SCK_PIN 32 // HX711 クロック端子
HX711 scale; // HX711のインスタンス作成
// 変数宣言
float weight; // 重量測定値格納用(g)
float scaleValue = 414.6; // スケール値(測定した重量が正しくなるように調整)
// 初期設定 -----------------------------------------
void setup() {
auto cfg = M5.config(); // 本体初期設定
StickCP2.begin(cfg);
Serial.begin(9600); // シリアル通信初期化
// HX711初期化(DAT端子, SCK端子, ゲイン[増幅率]:チャンネルAは64,128 チャンネルBは32固定)
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN, 128); // ゲインは省略可(初期値は128)
// HX711初期設定
scale.set_scale(scaleValue); // SCALE値を設定
scale.tare(5); // A/D平均値 を OFFSET に設定(0リセット)
// 出力端子設定
pinMode(LED, OUTPUT); // 本体LED赤
pinMode(HOLD, OUTPUT); // ホールド(電源ボタン)端子
digitalWrite(LED, LOW); // 本体LED初期値OFF(LOW)
digitalWrite(HOLD, HIGH); // ホールド(電源ボタン)端子初期化(HIGH)
// ベース画面の初期設定
M5.Lcd.fillScreen(BLACK); // 背景色
M5.Lcd.setRotation(1); // 画面向き設定(USB位置基準 0:下/ 1:右/ 2:上/ 3:左)
}
// メイン -----------------------------------------
void loop() {
M5.update(); //本体ボタン状態更新
// 重量データ取得(g)
if (!M5.BtnA.isPressed() && !M5.BtnB.isPressed()) { // ボタンA,Bが押されていなければ
weight = scale.get_units(5); // 重量データ取得g(ADC値平均(回数) から OFFSETを引いた値を SCALEで割った値)
} else {
delay(100); // スケール値 増減時間調整用
}
// スケール値 設定
if (M5.BtnA.wasReleased() || M5.BtnB.wasReleased()) { // ボタンAまたはBが離されたら
scale.set_scale(scaleValue); // SCALE値を設定
}
// スケール値 加算
if (M5.BtnA.isPressed() && !M5.BtnB.isPressed()) { // ボタンAが押されてボタンBが押されていなければ
scaleValue = scaleValue + 0.1; // スケール値 +0.1
}
// スケール値 減算
if (M5.BtnB.isPressed() && !M5.BtnA.isPressed() && scaleValue > 0.1) { // ボタンBが押されてボタンAが押されていない、かつスケール値が0.1より大きければ
scaleValue = scaleValue - 0.1; // スケール値 -0.1
}
// オフセット値の再設定(0リセット)
if (M5.BtnA.wasPressed() && M5.BtnB.wasPressed()) { // ボタンAとBが同時に押されていたら0リセット
digitalWrite(LED, HIGH); // 本体LED点灯
scale.tare(5); // ADC値平均値 を OFFSET に設定(0リセット)
digitalWrite(LED, LOW); // 本体LED消灯
}
// 電源ボタンONでシリアル出力(HX711 情報表示)
if (digitalRead(35) == (LOW)) { // 電源ボタンが押されていれば
Serial.println("\nHX711 infomation"); // 情報表示
Serial.printf("A/D ave : \t%d\n", scale.read_average(5)); // A/D変換値の平均(5回)
Serial.printf("OFFSET : \t%d\n", scale.get_offset()); // OFFSET値
Serial.printf("SCALEVALUE : \t%.1f\n", scale.get_scale()); // スケーリング値
Serial.printf("value(A/D ave - OFFSET) : %5.1f\n", scale.get_value(5)); // A/D平均値 から OFFSET を引いた値
Serial.printf("units(value / SCALE) = wight(g) : %5.1fg\n", scale.get_units(5)); // get_value(回数)の値を SCALE で割った値(重量換算値)
}
// LCD表示処理
M5.Lcd.setFont(&fonts::Font4); // フォント
M5.Lcd.setTextColor(WHITE, BLACK); // 文字色, 背景
M5.Lcd.drawCentreString("HX711 DISPLAY", 120, 5, &fonts::Font4); // タイトル表示
M5.Lcd.drawFastHLine (0, 35, 240, WHITE); // 指定座標から水平線
M5.Lcd.drawFastHLine (0, 100, 240, WHITE);
M5.Lcd.setTextColor(CYAN, BLACK); // 文字色, 背景
M5.Lcd.setCursor(200,65); // 座標設定(x, y)
M5.Lcd.printf("g\n"); // 重量単位表示
M5.Lcd.setFont(&fonts::Font7); // フォント
M5.Lcd.setCursor(25, 43); // 座標設定(x, y)
M5.Lcd.printf("%05.0f", weight); // 重量表示
M5.Lcd.setFont(&fonts::Font4); // フォント
M5.Lcd.setTextColor(GREENYELLOW, BLACK); // 文字色, 背景
M5.Lcd.setCursor(30, 105); // 座標設定(x, y)
M5.Lcd.printf("Scaling: %.1f \n", scaleValue); // スケール値表示
}
・プログラムの詳細
初期化
まず「HX711」の初期設定として、サンプルプログラム「22行目」でシリアル通信の「DAT(データ出力)、SCK(クロック)」端子の番号と、ゲイン(アナログ電圧の増幅率)を指定して「scale.begin()」を実行します。
// HX711初期化(DAT端子, SCK端子, ゲイン[増幅率]:チャンネルAは64,128 チャンネルBは32固定)
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN, 128); // ゲインは省略可(初期値は128)
初期設定
次に「HX711」の初期設定として、測定したA/D変換値を重さ(g)として換算するための「スケール値」と、おもりを載せない状態を0表示にするための「オフセット値」を設定します。
サンプルプログラムでは「13行目」で以下のように「scaleValue」として「スケール値」を設定しておきます。
float scaleValue = 414.6; // スケール値(測定した重量が正しくなるように調整)
「25行目」で「スケール値」を指定して「scale.set_scale(scaleValue)」を実行することで「スケール値」が設定されA/D変換値が重量に換算されて取得できるようになります。
続けて「26行目」で「scale.tare(5)」を実行するとA/D変換値の 5回平均値が「オフセット値」として設定され、現在の状態を重量0gとして取得できるようになります。
// HX711初期設定
scale.set_scale(scaleValue); // SCALE値を設定
scale.tare(5); // A/D平均値 を OFFSET に設定(0リセット)
重量データの取得
重量データの取得には「45行目」で以下のように「scale.get_units(5)」を実行します。
引数の「5」は平均回数のため、必要に応じて変更してください。
weight = scale.get_units(5); // 重量データ取得g(ADC値平均(回数) から OFFSETを引いた値を SCALEで割った値)
スケール値の調整
「スケール値」は初期設定で「scaleValue」の値を設定していますが、「M5StickC Plus2」の本体ボタンを使用して微調整できます。
「スケール値」の調整方法はサンプルプログラムの「50〜63行目」で以下のように、「ボタンAで加算」「ボタンBで減算」され、いずれかのボタンを離した時に「スケール値」が再設定されるようにしています。
// スケール値 設定
if (M5.BtnA.wasReleased() || M5.BtnB.wasReleased()) { // ボタンAまたはBが離されたら
scale.set_scale(scaleValue); // SCALE値を設定
}
// スケール値 加算
if (M5.BtnA.isPressed() && !M5.BtnB.isPressed()) { // ボタンAが押されてボタンBが押されていなければ
scaleValue = scaleValue + 0.1; // スケール値 +0.1
}
// スケール値 減算
if (M5.BtnB.isPressed() && !M5.BtnA.isPressed() && scaleValue > 0.1) { // ボタンBが押されてボタンAが押されていない、かつスケール値が0.1より大きければ
scaleValue = scaleValue - 0.1; // スケール値 -0.1
}
オフセット値の再設定(0リセット)
「オフセット値」の設定は電源ON時に行われますが、「68行目」で以下のように「scale.tare(5)」を再度実行することで「オフセット値」の再設定を行うことができます。
scale.tare(5); // ADC値平均値 を OFFSET に設定(0リセット)
HX711取得データのシリアルモニタ出力
サンプルプログラムの「72〜80行目」のように、電源ボタンを押すことで「HX711」で取得した「A/D変換値」や、設定されている「スケール値」「オフセット値」をシリアルモニタで確認できます。
これについては、次の「6.ロードセル校正値の確認」の中で詳しく紹介しています。
6.ロードセル校正値の確認
ロードセルの校正とは、ロードセルにかかる力と測定して表示される値が等しくなるように「スケール値」と「オフセット値」を調整する作業です。
・校正値の確認方法
校正値を確認するためには、「A/Dコンバータ HX711」の測定値や設定値の情報を確認します。
サンプルプログラムでは以下のように「電源ボタン」を押すと「シリアルモニタ」でこれらの情報が確認できるようにしています。
// 電源ボタンONでシリアル出力(HX711 情報表示)
if (digitalRead(35) == (LOW)) { // 電源ボタンが押されていれば
Serial.println("\nHX711 infomation"); // 情報表示
Serial.printf("A/D ave : \t%d\n", scale.read_average(5)); // A/D変換値の平均(5回)
Serial.printf("OFFSET : \t%d\n", scale.get_offset()); // OFFSET値
Serial.printf("SCALEVALUE : \t%.1f\n", scale.get_scale()); // スケーリング値
Serial.printf("value(A/D ave - OFFSET) : %5.1f\n", scale.get_value(5)); // A/D平均値 から OFFSET を引いた値
Serial.printf("units(value / SCALE) = wight(g) : %5.1fg\n", scale.get_units(5)); // get_value(回数)の値を SCALE で割った値(重量換算値)
}
「シリアルモニタ」の出力結果は以下のようになります。
HX711 infomation
A/D ave : 11283
OFFSET : -25331
SCALEVALUE : 414.6
value(A/D ave - OFFSET) : 36628.0
units(value / SCALE) = wight(g) : 88.4g
上記の場合「value / SCALE = units(重量g)」なので「36628.0 / 414.6 = 88.4g」 となります。
・校正の実行
校正作業は以下の手順で行います。
- はかりにおもりを載せずに電源をONします。
- HX711を初期化します。
- set_scale() を実行(カッコ内「スケール値」は設定無しでも良い)します。
- tare() を実行(カッコ内平均回数は設定無し)します。
- 基準となるおもりを載せて、get_value(5) を呼び出します。
- ステップ5の結果を載せたおもりの重量gで割ると「スケール値」が求められます。
- 求めた「スケール値」を設定して、set_scale(スケール値)を実行します。
- tare(5)を実行すると、「オフセット」が設定され表示が0になります。
「SPIFFS」を使用したフラッシュメモリへのデータ保存、読み込み方法は、以下のリンクで詳しく紹介していますので、チャレンジしてみてください。
7.まとめ
重さを計る時に便利な「電子はかり」の製作を通して、ロードセルの使い方を詳しく紹介しました。
「電子はかり」のキットは比較的安価で入手することができ、構成部品は「ロードセル」、「A/Dコンバータ(アナログ-デジタル変換器)」、「操作表示器」の3点です。
「ロードセル」は、今回はアルミの棒状のものでしたが、用途によって色々な形があります。
「ロードセル」には「荷重(重さや力)」による材料の変形「ひずみ」を測定するための「ひずみゲージ」が貼り付けられています。
「ひずみゲージ」とは「フィルム状の抵抗」で、金属や樹脂などの材料に貼り付けて、力が加わることで生じる形状の変化「ひずみ」を抵抗の変化として検出し、これを「電圧信号」に変換して利用するための素子です。
「電圧信号」に変換するためには「ホイートストンブリッジ」を使用します。
「ホイートストンブリッジ」の抵抗を「ひずみゲージ」に置き換えることで、「ひずみゲージ」の「抵抗の変化」を「電圧の変化」として測定することができ、これを「A/Dコンバータ」で「デジタル値」に変換します。
「ひずみゲージ」の抵抗変化は微小なため「電圧の変化」も微小です。
このため使用する「A/Dコンバータ」には入力電圧を増幅する機能が必要で、さらに高精度である必要があります。
「高精度A/Dコンバータ HX711」にはこの機能が備わっており、増幅率は最大で128倍、精度(分解能)は24bit(1/16,777,215)です。
「HX711」で測定し、A/D変換した「デジタル値」が実際の「荷重(重さや力)」と等しくなるように、プログラムで「スケール値」を設定して演算して表示させます。
「荷重(重さや力)」がかかっていない「表示 0」の状態は、温度や使用する「ロードセル」のバラツキもあるため、測定前に「オフセット値」を設定し「0」表示させて使用します。
「ロードセル」に使用されている「ひずみゲージ」は「フィルム状の抵抗」で延ばされると抵抗が増え、縮められると抵抗が減るという特性を利用して、材料の「ひずみ」量を測定することができ、「ひずみ」量がわかると、材料の材質や形状から「荷重(重さや力)」を計算で求めることもできます。
今回は重さを計る方法を例に紹介しましたが、「ロードセル」は重さだけでなく、圧力やトルクの測定等、幅広い分野で使用されています。
「ロードセル」を使いこなせれば様々な物の変化を測定できるようになります。
基本は今回紹介した重さの測定方法と同じため、プログラムでの扱い方や、仕組みを理解して「ロードセル」を使いこなしていきましょう。
コメント