【M5Stack】I2C接続ケーブルの長さの限界とは?
基礎・基本を学ぶ

No.172 長谷川正の「言ったモン勝ち」


温度センサーADT7410を金型に貼り付け

前回ブログにて温度センサーADT7410を計測できたので、早速センサーを金型に貼り付けて計測してみます。取り付けは両面テープを使って貼付けますが、基板の貼付け面が温度を感知する箇所となるため、一般のスポンジ付き両面テープだと金型の熱を正確に感知することができません。そのため、こちらの熱伝導性両面テープ(VHR0601-03 A4サイズ)を使いました。また、下図のようにM5Stackにセンサー4つを接続させるために、金型が開閉するストロークを考えて接続ケーブルの長さを決めるので、ケーブルは自作での対応となりました。

I2C通信では接続ケーブルの長さに注意

取り急ぎは前回ブログのスケッチを参考にして、M5StackのLCDに4つのセンサーの温度を表示するように設定しました。ここまで我ながら良く出来たと自己満足し、早速、計測を開始しました。ところが・・・

温度数値が表示されない・・・されても消える、不安定・・・( ノД`)シクシク…

何かがおかしい。なぜだろう? 正常に計測された動作確認から変更させているのは自作ケーブルだけなので、コネクタの接触不良?? でも、全てのコネクタ部分をチェックしても問題なし。ならば相性??? 結局、藁をも掴む思いでネット検索もしたところ、「I2C通信ではノイズの影響を受けやすいため長い接続ケーブルは不向き」であることが分かりました。それでは、射出成型機から出ているノイズに対し、どのくらい影響を受けるのかを調べようとしましたが、ノイズ対策用のシールドケーブルを使用しても、成形機を停止させた後に試してみても計測不可でした。つまり、今回の不具合要因は3mを越えているケーブルの長さと特定できました。そのため、1個のM5Stackで計測することを諦め、下図のように金型のキャビ側とコア側にそれぞれ1個ずつ使い、全てのケーブルの長さを1m以内にすることで問題は解決されました。

M5StackシリーズのATOM Liteを使う

ところで、実際には計測されたデータをM5StackのLCDに表示するのではなく、WiFi経由で会社のクラウド上のスプレッドシートにデータ蓄積する予定です。つまり、M5Stackの機能を一部分しか使っていないため、この使い方ではちょっと贅沢かもしれません。そのため、今回はM5Stackシリーズの中で最もコンパクトなATOM Lite (約1,300円 R5/4現在)を使うことにしました。基本性能はM5Stackとほぼ同等で価格は1/5になりますので、当社の保有している金型全てにATOM Liteと温度センサーを貼り付けっばなしても予算内に収まりそうです。

M5StackとATOM Liteでは同じセンサーでも違う関数

下にサンプルスケッチを載せますが、注意したいのはM5StackとATOM Liteでは温度センサーADT7410を計測する関数が違っていることです。M5StackだとWire.requestFrom()を使いますが、ATOM Liteでは一度オブジェクト[object]を作成して[object].readTempC()という関数を使います。う~ん、関数は全く理解できませんが、ひとまずコピペすれば使えます。「学ぶことはまねること」からスタートですね。


ちなみに、ATOM Liteでは本体にLCD画面が標準装備されていませんので、下記のようにArduino IDEの[ツール]-[シリアルモニタ]にてセンサーの値が正常に計測されているかを確認します。最初は戸惑いましたが、ATOM Liteを使いこなすためには必須項目ですので、頑張ってマスターしていきます。

次回のブログでは、クラウド上のスプレッドシートへの書き込み方法を書き記します。

参考)【M5Stack】中小企業の自作IoT導入事例とは?
参考)【M5Stack】センサで金型の温度測定とは?
参考)【M5Stack】WiFi経由でスプレッドシートへのデータ書込方法とは?
参考)長谷川製作所の得意技術(防水照明器具製造)


*工事不要、誰でも手軽に提灯を飾ろう!
提灯コードのイメージ
*提灯コード動画始めました。
提灯コードの動画
*国内唯一のプラスチックを膨らませる技術
「アクリルグローブ」
テラリウム

関連記事

TOP