
盆栽計測装置「Bonsai Dock」作り込めるか? ~製作日誌3-ロードセルの値が怪しい~
はじめに
盆栽計測装置「Bonsai Dock」はM5stack Japan Creative Contest 2024に出品した後、装置を稼働させながら、数値を取り続けておりました。
実際に使用しながら作り込み、そしてさらなる改良を目指しています。
前回は盆カンへのつなぎ込みを行いました。
この結果、装置から得られる数値の「見える化」が進み、その結果、新たな課題を発見しました。
ロードセルの値が怪しい
ここまで来るまでに、うすうす感づいてはいましたが、ロードセルの返す値が怪しいと思っていました。
毎朝、水やり前、水やり後の数値を取っていますが、水やり後の重さが水やり前より軽く表示されることも多々ありました。多少の誤差には目をつぶるつもりでした。
絶対的な重量ではなく、Bonsai Dock装置内で相対的に重量がわかればそれでよいと思っていました。

そもそもがアバウトすぎます
とにかく完成を急いだため、ドキュメントを読んだりもせず、サンプルをかき集め、つなぎ合わせたため、中身が全くわかりません。校正に関しても上記グラフを見ながら、set_scale(X)のXの値を探していました。
色んな情報を読むと、校正の方法がわかってきました。
ロードセルの校正方法
①set_scale(1.0f);で計測
13711.444444を得る。
②計測値の平均をgで割り、新しい値を求める。
13711.44444 / 500 = 27.42
③scale.set_scale(27.42f);
これできちんと求められます。
ところがこれでも値は安定しません
より正確な値が求められるようになり、はっきりしたことは、誤差が±50~100gあることです。装置の信頼性が著しく低いことが判明しました。
Bonsai Dockで見たいのは重さによって、鉢の中にどれだけ水分があるのかを見たいと思っています。小品盆栽の場合、鉢の中に吸い込める水の量は1gの単位で見ていきたいところです。
これでは使えないな。困りました。
電子はかりを使ってみるか?
このあたりから、いつものように迷走し始めます。
こういうこともあろうかと、BLEで繋がる電子スケールを用意していました。
レンフォ RENPHOR-T003-B [スマートキッチンスケール ブラック]
https://www.yodobashi.com/product/100000001007006563/
これを使えば、正確に計測できて、その結果を取得できるかもしれないと思いました。
スマホとつながるということはBLEの電波を発しているはずで、この内容をとらえることができれば、使えるものになると思いました。
うーん。これはこれで大変そうです
しばらく考えることをやめました。
以前、SwitchBot温湿度計をハックして温湿度が読めるようになり、その後、ソーラー式温湿度計も読めるようになりましたが、データシートがあっても、大変苦労して、値を読みだしたことを思い出しました。
こういう時は考えることをやめるのが得策です。
そもそも何が悪いのか?
原因を探ることにしました。まずはhx711を調べることから始めました。
hx711は重さ計測用24bit ADコンバータです。
電子工作でロードセルを使って重さ計測する際によく用いられています。
hx711ライブラリのソースを読んでみました。
特別な処理はしていないようです。
FAST_CPUという定義が気になったのですが、定義してもしなくてもどちらで試しても、結果は同じでした。
hx711のドキュメントも目を通しましたが、残念ながら理解することができませんでした。信号のブロック図もありましたが、これを見てどう対処すべきかわかりません。
hx711に関するネット情報も読んでみます
hx711は安かろう悪かろう的なチップで、ノイズが入るようだ。とかノイズに注意して対策すればまあまあ使えるものように書かれています。
ネット上で電子工作を紹介されている例を見ていると、ピッタリ数値があっているものもあり、今の私の状況とは異なっていることがよくわかりました。
考えてみれば、3年前からロードセルを使った工作にチャレンジしていますが、値が定まらなかったのは、hx711の問題ではなく、センサの不具合だったのではないか?と思い始めました。
センサーを変えてみることにしました
となると、あとはセンサーです。もうセンサーしかありません。
一度センサーを変えてやってみることにしました。


もともと500gだと思っていた錘は512gでした。それを500gだと思って校正していました。M5Dialで補正値を求めました。
数値をモニタリングすると、ぴたっとしています。ふらふらしていません。
今度はうまくいきそうです。
水やり前、水やり後の重量を計測しました。



明らかに水やり前、水やり後で重さの傾向があります。
水やり後とはいえ、重さが安定していないのは水やりの差によるものなのでしょうか?一度、ドブ付けしてみて変化を見る必要がありそうです。
このような結果が欲しかった!
どこまでできるかはわかりませんが、めいっぱい水を含んだ時の重さと、カラカラに乾いた時の重さがわかれば、水分量を%表示できます。Bonsai Dockの真価を発揮し始めました。
データを継続して取り続けていきたいと思います。
ロードセル変更の処理
今回、ロードセルを変更するにあたり、運用を少し変更しています。
ロードセルが華奢になり、計測重量が5kg以下になりました。
松の中品盆栽を載せるとはかりが壊れそうです。
はかりの精度が上がったので、大きい盆栽でテストしなくても良くなりました。
このため、大品盆栽に挿していたタグを小さい盆栽へ付け替えることにしました。
ここで、AppSheetの良さが発揮されました。
元データがGoogleスプレッドシートに書かれているので、このデータを直接書き換えて行けばよいのです。
以前のロードセルで計測したデータも保存しておきたかったので、idを少し書き換えて、残しておくことにしました
さいごに
今回はこの辺で締めくくりたいと思います。
3年間のもやもやがようやく晴れようとしています。
今回の一件での学びは「センサー類は3個以上購入して試すべき」ということです。
それにしても、センサーは扱いが難しいですね。電子工作を始めていちばん苦手なものかもしれません。いつも引っかかります。
土壌水分計といい、温湿度計といい、そして今回のロードセルも。
出来合いの精度の良いセンサーを電子工作で自由に使えるような仕掛けがないものか。もの探しの旅は続きます。
最後までお読みいただき誠にありがとうございました。