客先からの依頼で、離れた場所に測距値を送信するシステムのプロトタイプを作成した。
ひさびさのブログ更新になってしまった。ここ数ヶ月は、開発物件がらみが多すぎて、ブログまで手が回らなかった。
◯センサー
最初は「非接触で測定したい」とのことだったので、「ホイスト停止警告機」で使用したVL6180Xを使えば、簡単にできるのではないかと思ったのだが、仕様として、500mmで分解能0.3mmの精度が必要とのことで到底無理だとわかった。巻込型変位計(接触型のセンサー)なら客先に手持ちあるということなので、それを使うことで進めることになった。
◯アンプ
LoadCell(変位計)を使う場合はHX711が定番アンプ のようだ、安価でしかも高精度だが、どこまで使えるのかはやってみないとわからない。HX711は表面実装ICであり、簡単に使えるようにモジュール化したものが何種類が発売されている。価格的には200~1200円だが、何が違うのかよくわからない。 とりあえず、安価なものと歪みゲージのセットで買ってみた。
◯やっぱりオリジナル品
安価なコピー品は、Sparkfunのオリジナルのモジュールが元になっているようだ。Sparkfunのモジュールは、HX711の推奨回路と同じ構成になっているが、コピー品はコンデンサー容量が変わっていたり、ピンを減らしたりして小型化しているようだ。両方使ってみたが、下記の理由から、Sparkfunのモジュールを使うことにした。
- コンデンサー容量が適正でノイズが少ないらしい(ネット情報)
- 倍クロックに改造して早い測定ができる
特に2が重要で、コピー品は、基板の配線を変えるのがかなり困難なようだ(Sparkfunモジュールもパターンのカットが必要)
◯無線通信方式で悩む
精度以外の要望としては、下記のようなものがあった。
- 電池で駆動したい
- 障害物があっても50mくらいの距離で見たい
今回はインターネットに接続する必要がないので、必ずしもESP-WROOM-02を使う必要はない。今回のような仕様だと、XbeeやTWELITE DIPの方がメリットがありそうだ。
しかし、残念ながら私は、XbeeやTWELITE DIPを使ったことがない。どうしようか悩んだが、結局、従来どおり、ESP-WROOM-02を使うことにした。
- 送信は、XbeeやTWELITE DIPの方が分がある
- 案件の使用期間は数日と限定されており、使用時間中は連続的に送信が必要となる(バッテリーを食う)。
「ボタン電池で数ヶ月間駆動」のような使い方とは明らか異なる - 受信は(客先の事情で)通常のPCが使えない可能性がある(インストールもセキュルティ制限がある)。
- 受信側のハードとソフトを作るのも、それなりの手間がかかる。
- ESP-WROOM-02なら、受信側をAndroid機にすることができる(受信側のハード作成が不要)
- ESP-WROOM-02+Androidなら、プログラム更新が客先でできる
我田引水の部分もあるが、総合的に考えた場合、ESP-WROOM-02+Androidの組み合わせも、それなりのメリットが提供できると判断した。
電池に関しては、モバイルバッテリーを使うことにした。電池内蔵式にすると、使用量の算定が必要になる。機器の使用頻度が低いので、外付けの方が何かと対処しやすい。
◯Wi-Fi重量計
Wi-Fi重量計が作りたかったわけではないが、まずは、ネットにあるサンプルを再現するところからスタートする必要がある。それで出来たものがこれだ。最初、基板はコピー品で試していたのだが、倍クロックにしないと測定の追随性が悪い。結局、Sparkfunモジュールで作り直した。
感想としては、「安い割に使える」という印象だ。気になったのが値の再現性だが、問題なさそうだ。これを元に、目的のWiFi測距計へ移行をすることにした。