Category tech.

Aliexpress で歪みゲージ (ロードセル 1kg) と、HX711 のモジュールを買ったので試してみました。

歪みゲージのつかいかた

歪ませる必要があるので、このように上下に板をつけて挟みこみます。このとき、多少すきまが必要なのでワッシャーなどをかまします。

今回使った歪みゲージのスペックは以下の通りです。(コピペ) また、M4 と M5 のネジが切ってありました。

Rated Load: 1Kg
Rated Output: 1.0mV/V±0.15mV/V
Zero Output: ±0.1mV/V
Creep: 0.03%F.S./30min
Input End: Red+ (power), Black-(power)
Output End: Green+(signal), White-(signal)
Recommended operating voltage: 3 ~ 12 VDC
Maximum operating voltage: 15 VDC
Input Impedance: 1115±10%Ω
Output Impedance: 1000±10%Ω
Protection class: IP65
Total Size: approx. 3.15 x0.50 x 0.50 inch
Cable: 0.8 x 20 cm (diameter x length)
Material: Aluminum Alloy
Weight: 30g

HX711 で読んでみる (Arduino)

手に入れたのは↑のようなモジュールです。適当に配線して読みます。

以下のライブラリを使ってみました。

README の通りにスケールを設定する必要があります。

#include <Arduino.h>
// https://github.com/bogde/HX711
#include "HX711.h"

const int DT_PIN = 2;
const int SCK_PIN = 3;

HX711 scale;

void setup() {
	Serial.begin(9600);
	Serial.println("start");
	scale.begin(DT_PIN, SCK_PIN);

	Serial.print("read:");
	Serial.println(scale.read());

	scale.set_scale();
	scale.tare();

	Serial.print("calibrating...");
	delay(5000);
	Serial.println(scale.get_units(10));

	scale.set_scale(-1536.00);
	scale.tare();

	Serial.print("read (calibrated):");
	Serial.println(scale.get_units(10));
}


void loop() {
	Serial.println(scale.get_units(10), 1);

	scale.power_down();
	delay(500);
	scale.power_up();
}

このようなコードを書いて、

  1. 何ものせずに起動
  2. calibrating... が表示されたらすかさず1円玉を1枚載せる (1g)
  3. 値を読む
  4. scale.set_scale(...); に値を埋めこむ

という方法をとりました。

どんな感じか

こんな感じで値が読めました。1円玉を1つずつ増やして5枚まで載せてみました。

ref.

  1. トップ
  2. tech
  3. 歪みゲージ(ロードセル)と HX711 を使って重量計測する (Arduino)

MH-Z19 という格安 CO2 センサを読んでみた | tech - 氾濫原 を書いたあと、追加で3つ買って、4つ手元にある状態ですべて繋げて値を読んでみると、でてくる値がとんでもないのが2つあった。窓全開で十分に換気されている状態でも 800〜900ppm になってしまう。

センサの種類 (2000ppm or 5000ppm) が違うのか? と思ったけど、UART の値も PWM の計算値も同じ (UART では ppm が直接出力されるので、計算値の答えあわせになる) なので関係なさそう。

その後よくよく比較してみると、どれも全く動きかたがちがう。傾き(感度)も違う。やっぱこれはキャリブレーションをなんとかしてやるしかない気がする。うーん。

ゼロ点とスパン点どっちも難しい。なんか簡単にできる方法がないか考え中

  1. トップ
  2. tech
  3. MH-Z19 の個体差とキャリブレーションの必要性

OWON デジタルオシロスコープSDS7102 超薄型 1Gsサンプリング100MHzFFT機能付カラーポータブルフルセット【国内正規品】 - OWON

OWON

3.0 / 5.0

OWON SDS7102 大変つかってるが安いだけあって品質が微妙な点がいくつかある。特にロータリーエンコーダーがひどくて、ちゃんとレンジ切り替えができないことが多くあってイライラする。同様の現象が起きてないか検索したところいくつかヒットしたのでやってみた。

おおむね 500 Can't connect to www.candrian.gr:443 (certificate verify failed) を参考にすればいいのだが、ちゃんと外れないところがあった。

分解

裏蓋

  • 周囲のビス4本
  • アースのビス
  • 下側の接続ポートのビス

をはずす。裏蓋はハメこみなので、カードとかで隙間をひろげながらはずす。

電源スイッチがひっかかるので、これは押しながら抜く。

開きつつあると、裏蓋に繋がる電源線が3つあるので、基板側のコネクタとビスをはずす。

ロータリーエンコーダの基板まで

  • 写真のうち7つのビス (赤丸)
  • コネクタ1つ (紫丸)

をはずす。これでモニタも含めてすっぽり外れる。フラットケーブルとかで繋がってるので慎重にやる。

キャパシタの追加

赤丸部分がロータリーエンコーダなので、ここに 1608 サイズの 0.1μF を2つずつはんだづけする。

戻す

はずしたコネクタを通すところを間違えるとハメられないので気をつけてハメていく。それ以外はとくに問題ないはず。

効果

全体的に変な動きは減った。しかし中央(2ch) のレンジをかえるロータリーエンコーダはそもそも不良っぽくて完全には治らなかった。

ref.

  1. トップ
  2. tech
  3. OWON SDS7102 のロータリエンコーダの不具合をなおす