照度センサ TSL2561 でトラブルに遭遇したので,その対策方法を紹介します.
症状
遭遇したトラブルは,TSL2561 を使って 30 秒に1回程度の頻度で照度を測定していると,数時間で照度が 0 固定になってしまうというものです.
この状態でもi2cdetect
には反応し,また,同一バスに接続されている I2C デバイスにも正常にアクセスできます.TSL2561 の電源を一度落としてやると再び施錠に動作するようになります.
解決方法
下の写真のように,電源と GND 間に 1uF のコンデンサを追加することで正常動作するようになりました.
I2C バスマスタとの間を 15cm ほどのケーブルでつないでいたのでこれが悪さをしていたと思われます.他の I2C デバイスも似たような感じで接続しているのですが,手持ちの中では TSL2561 は電源の揺れに特にシビアなようです.
余談
DS1054z のような中華オシロではとくに電源ラインの異常は観測されず,トラブルに遭遇するまで1年近くは正常に動作していたので,解決に思ったより時間がかかってしまいました.
参考になれば幸いです.
コメント