3.3v i2cデバイスについて



  • いつもお世話になります。

    3.3v仕様のi2cデバイスをobnizにつなげるライブラリを開発しています。
    vccgndthis.obniz.setVccGnd(this.params.vcc, this.params.gnd, '3v');で設定しましたが、下記エラーとなります。(ピン配置:vcc:7, sda:0, scl:1, gnd:3、i2c:mode:'master', clock:100KHz, pull:'3v'

    io7: output voltage is too low when driving high. io state has changed output to input
    i2c0: reading error. Communication Timeout. Maybe, target is not connected.
    

    ここの説明によると過電流検知による出力停止とありますが、回路/配線は正しく異常も問題もありません。

    試しに、gndを共有して電源だけ別なところから供給するとちゃんと動きます。
    しばらくはこの回避策でライブラリの作成を進めますが、根本原因は何でしょうか?
    ちなみに、別電源から供給して動作している状態でテスターで計測したところ、
    電圧3.1〜3.3V、電流21〜23mAとごく正常な数値でした。

    よろしくお願いします。


  • administrators

    @nak435 さん

    質問ありがとうございます.

    こちらの現象ですが,出力電流のパワーが足りず,過電流となっております.

    obnizは5Vの場合は1Aまで出すことができ,十分なパワーがありますが,3Vの場合は出力が下がり,1mA以下を推奨しております
    https://obniz.io/doc/sdk/doc/io

    今回は,電流21〜23mAの消費電流とのことで,obnizの3V出力を超え,過電流検知が反応したと思われます.

    消費電流が大きい3Vデバイスを開発する際は,別電源で3Vを供給するか,obnizから5Vを出力後,3Vに分圧していただくとうまく動きますので,
    そちらで対応いただけますようお願いいたします.



  • @kido さん

    「1mA以下を推奨」を見落としてました。失礼しました。
    別手段を検討します。


 

Recent Projects

  • @nak435 かしこまりました。よろしくお願いします。

    read more
  • @Yuki-Sato さん、

    外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    今週末に確認しますので、お待ちください。

    read more
  • @nak435 時間がかかってすいません、

    なんとか3.3vをgndにつないでFlick Largeを動かしたかったのですが、うまく動かすことができなかったです。
    3.3vをgndを繋がずに接続するというのはライブラリで推奨して伝えることは難しいと思ってます。

    Flick LargeでなくFlick Hatの方で、外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    よろしくお願い致します。

    read more
  • @nak435 ありがとうございます。
    接続は3.3vのgnd以外同じでした。
    エラーはそのせいかもしれませんが、しかし電気的にはgndを繋がない場合3.3vとしてうまく供給できないはずなのでそこが不思議です。

    教えていただいたプログラムの部分を修正して試してみたいと思います。
    また少し時間がかかりそうなのですが、早めに試したいと思います。

    引き続きよろしくお願い致します。

    read more