21:53モジュールのバグ?センサーからの値が、取得できない。−1しか返って来ない。すべてのビットが1なわけで、バスがプルアップされているI2Cにおいては何も接続されていない状態に等しい。いちおうI2Cバスの信号を確認する。PICからの送信は、当然ちゃんと機能している。コンバーターのGNDに取り付けた。CH1は本来の波形だがCH2はモーターノイズが乗っている。逆に言えば、黄色と水色のノイズ差がモーターノイズということだ。最後の方でクロックが密になっている部分が、センサー値の読み取り。センサーからの反応がない。取得値のパワーオン値は0なので、センサーが機能していればLが返って来るはずだ。それが、常にHである。INA226は電流測定用としてポピュラーで、ネット情報が豊富である。データーシートも読んで仕様確認するが、どこにも間違いが見つけられない。データーシートの記載に1つ重要なものがあった。メーカーIDを読み出せるのだ。I2C通信が正常に出来ていることを確認するのに使えるが、モジュールはスレイブアドレスを16通りも設定可能。して、設定と異なるアドレスになっちゃってるのでは?スレイブアドレスを16通りに変化させつつ、メーカーIDを読んでみる。すると、88Hのとき正常に読み出せた。自分は80Hに設定したのに。アドレスの設定は、基板上の所定の位置をハンダ付け短絡させることによって行う。ハンダ付け不良だったのだろう、とハンダ付けし直したがアドレスは88Hのままだ。仕様通りのアドレスに設定されないのか気になったが、88Hでアクセス可能なのだから88Hとして扱うことにした。読み書きできるようになれば、後は早い。確かにモーター電流は不安定だが、平均化すればそれなりに使える。センサー設定で平均化を任せることができるが、それだと値の取得に時間が掛かる。ソフト的に移動平均を取るようにすれば、取得は高速だし値の安定性もなぜかセンサー任せより上。充分に、意味のある電流値が取れる。モーターに負荷を与えると、電流値が増大するのも良く分かる。