04-27-2016 07:59 AM
Abstruct
Disassemble the kitchen scale of 1000 yen. And take out the signal line from the load cell. Create a digital scale with Arduino Compatible Compiler for LabVIEW (ACC4LV).
要約
1000円のキッチンスケールを分解してロードセルからの信号線を取り出します。Arduino Compatible Compiler for LabVIEW (ACC4LV)を使ってUSB接続のデジタルはかりを作ります。
用意するもの
タニタ キッチンスケール KD-180 (型番によってはストレインゲージタイプではないセンサーを使用しているようですから注意が必要です。)
aitendo 重量計りADCモジュールHX-711-M
Arduino UNO
ブレッドボードとワイヤー
**********チャレンジ精神のある方のみ実行に移してくださいね。**********
(1) ロードセルの信号線を取り出す。
分解はキッチンスケールの底面のシールをはがして、現れたネジ2本を外してスケールの上皿を外します。
上カバーを固定しているねじが見えますので外して上カバーを外します。
ロードセルから出ている赤白緑青の4本を取り出します。
はんだを溶かして外しても良いですし、ニッパーなどで切っても良いでしょう。
(2) HX-711への接続
E+ <<-->> 赤
E- <<-->> 白
A- <<-->> 緑
A+ <<-->> 青
GND <<-->> Arduino GND
DT <<-->> Arduino D3
SCK <<-->> Arduino D2
VCC <<-->> Arduino 5V
(3) VI
本当はArduino用のライブラリを使う方が楽なのですが、ACC4LVで書き直してみました。
HX-711の仕様は以下のPDFを読んでください。
https://cdn.sparkfun.com/datasheets/Sensors/ForceFlex/hx711_english.pdf
ライブラリは
[HX711 Arduino]で検索すると見つかると思います。
(CSKをHighにしてDTを読んでCSKをLow)を24回繰り返して24bitのデータを得ます。データは2の補数でMSBから出力されます。フォーループの中でデータを読みながらシフトレジスタのU32にまとめていきます。(U32をシフトしておき、読んだデータを反転して数値に変換し、加算)を24回繰り返し1を加えます。
これを符号あり32データとして考えて、グラムへの変換係数(実数)をかけて読み値とします。
ゲイン64の場合はSCKのHigh→Lowを3回繰り返します。(仕様とライブラリを読んでください。)
基本的にライブラリを素直に書き直しています。waitの値はオシロでパルス幅、間隔を測定してArduinoライブラリを使用しているときとだいたい同じぐらいの値になるように調整しています。
ACC4LVは型変換関数がほとんど用意されていないのですが、加算とか乗算のプロパティで出力の型が指定できるのでなんとかできます。
HX-711は素直にAD変換した値を出力するだけなので、風袋引きやゲインの調整はアプリケーション側で行います。添付したVIは、風袋引きやゲイン調整には対応していません。
今回はArduino UNOで作りましたが、Programmable Wireless Stamp (PWS)を使えばワイヤレスキッチンスケールが実現できるでしょう。
楽しみですね。
繰り返しますが
**********チャレンジ精神のある方のみ実行に移してくださいね。**********
今回はロードセルからのデータを読み取るために使用しましたが、HX-711はストレインゲージのアンプとしても有望です。HX-711をストレインゲージ近傍に配置してアナログ系の配線を最短に構成することができるのではなかろうかと、素人ながら想像しています。
フレキシブル基板にできたらもっと便利でしょうね。
(2016.04.28)