サーボモーター接続時の不安定現象



  • サーボモーター(SG-5010)をつないで動かしていますが、レッスンのスクリプトを使った場合に動作が安定しません。3割くらいは成功ですが、7割くらいは以下のいずれかの現象になります。
    1)すぐさまobnizの電源が落ちる
    2)Wifiの接続が切れ再接続が繰り返され、最後は落ちる
    3)heavy output. output voltage is too low when driving high連発
    対処方法ありますでしょうか。


  • administrators

    最もよく考えられる原因は電源容量の不足です。
    あまり電流を流せなかったり、急な電流の増加に耐えられないACアダプタの場合。またはUSBケーブルが細いなどであまり電流が流せないものだと、このような現象が起こります。1)と2)が電源電圧の低下で起こるものでそれは容量不足で起こることが多く、3)も基本的には容量不足で起こるものだからです。

    電源が十分な場合、3)については過電流検知が起きている状態になるので

    https://obniz.io/doc/lessons_obnizjs_io_overcurrent

    にあります対処を行っていただければ対応が可能です。それにより1や2も解消できるかもしれません。

    ただ、SG-5010は弊社でも最もobnizと一緒に使っているモーターで、過電流などになることがほとんどないものです。
    電源が十分で、上記対応を行っても依然エラーとなる場合は一度、obnizの回路自体に問題がないか自己診断して頂けますでしょうか。何らかの原因で回路の一部が破損した可能性も考えられます。

    https://obniz.io/cloud/diagnostics

    またはSG-5010は偽物がよく流通しています。
    こちらがメーカー正規品で
    https://cdn-shop.adafruit.com/1200x900/155-01.jpg
    こちらが同じ型番が印刷されている別のものです。
    https://c.76.my/Malaysia/arduino-tower-pro-38g-sg5010-high-torque-servo-motor-parts-robotedu-1801-10-robotedu@38.jpg

    似ていますが、重さや電気的特性が違い、偽物ですとobnizからはうまく動かせないことを確認しています。一度ご確認ください。

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



  • 早速ありがとうございます。
    一瞬ドキッとしましたが正規品ではあるようです。
    しかしながら診断結果は気になる感じにて、
    J1直結等はまだ試しておりませんが、以下コピペ致します。

    テスト結果
    connecting 8100-9562
    connected to 8100-9562
    5V pushpull low io0 0 v (0 ~ 0.5)
    5V pushpull low io1 0 v (0 ~ 0.5)
    5V pushpull low io2 0 v (0 ~ 0.5)
    5V pushpull low io3 0 v (0 ~ 0.5)
    5V pushpull low io4 0 v (0 ~ 0.5)
    5V pushpull low io5 0 v (0 ~ 0.5)
    5V pushpull low io6 0 v (0 ~ 0.5)
    5V pushpull low io7 0 v (0 ~ 0.5)
    5V pushpull low io8 0 v (0 ~ 0.5)
    5V pushpull low io9 0 v (0 ~ 0.5)
    5V pushpull low io10 0 v (0 ~ 0.5)
    5V pushpull low io11 0 v (0 ~ 0.5)
    5V pushpull high io0 4.94 v (4 ~ 5.5)
    5V pushpull high io1 5.08 v (4 ~ 5.5)
    5V pushpull high io2 4.81 v (4 ~ 5.5)
    5V pushpull high io3 4.98 v (4 ~ 5.5)
    5V pushpull high io4 4.94 v (4 ~ 5.5)
    5V pushpull high io5 4.54 v (4 ~ 5.5)
    5V pushpull high io6 4.97 v (4 ~ 5.5)
    5V pushpull high io7 4.79 v (4 ~ 5.5)
    5V pushpull high io8 4.9 v (4 ~ 5.5)
    5V pushpull high io9 5.09 v (4 ~ 5.5)
    5V pushpull high io10 5.01 v (4 ~ 5.5)
    5V pushpull high io11 4.87 v (4 ~ 5.5)
    3V pushpull low io0 0 v (0 ~ 0.5)
    3V pushpull low io1 0 v (0 ~ 0.5)
    3V pushpull low io2 0 v (0 ~ 0.5)
    3V pushpull low io3 0 v (0 ~ 0.5)
    3V pushpull low io4 0 v (0 ~ 0.5)
    3V pushpull low io5 0 v (0 ~ 0.5)
    3V pushpull low io6 0 v (0 ~ 0.5)
    3V pushpull low io7 0 v (0 ~ 0.5)
    3V pushpull low io8 0 v (0 ~ 0.5)
    3V pushpull low io9 0 v (0 ~ 0.5)
    3V pushpull low io10 0 v (0 ~ 0.5)
    3V pushpull low io11 0 v (0 ~ 0.5)
    3V pushpull high io0 2.29 v (2.5 ~ 3.5)
    3V pushpull high io1 3.04 v (2.5 ~ 3.5)
    3V pushpull high io2 3.04 v (2.5 ~ 3.5)
    3V pushpull high io3 3.08 v (2.5 ~ 3.5)
    3V pushpull high io4 3.09 v (2.5 ~ 3.5)
    3V pushpull high io5 3.03 v (2.5 ~ 3.5)
    3V pushpull high io6 2.85 v (2.5 ~ 3.5)
    3V pushpull high io7 3.04 v (2.5 ~ 3.5)
    3V pushpull high io8 2.82 v (2.5 ~ 3.5)
    3V pushpull high io9 3.07 v (2.5 ~ 3.5)
    3V pushpull high io10 3.11 v (2.5 ~ 3.5)
    3V pushpull high io11 2.96 v (2.5 ~ 3.5)
    open-drain 5v pull-up high io0 3.97 v (4 ~ 5.5)
    open-drain 5v pull-up high io1 4 v (4 ~ 5.5)
    open-drain 5v pull-up high io2 4.33 v (4 ~ 5.5)
    open-drain 5v pull-up high io3 4.38 v (4 ~ 5.5)
    open-drain 5v pull-up high io4 4.35 v (4 ~ 5.5)
    open-drain 5v pull-up high io5 4.34 v (4 ~ 5.5)
    open-drain 5v pull-up high io6 4.14 v (4 ~ 5.5)
    open-drain 5v pull-up high io7 4.02 v (4 ~ 5.5)
    open-drain 5v pull-up high io8 4.3 v (4 ~ 5.5)
    open-drain 5v pull-up high io9 4.43 v (4 ~ 5.5)
    open-drain 5v pull-up high io10 4.42 v (4 ~ 5.5)
    open-drain 5v pull-up high io11 4.27 v (4 ~ 5.5)
    open-drain 3v pull-up high io0 2.27 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io1 2.99 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io2 3.11 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io3 3.06 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io4 3.03 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io5 3.01 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io6 2.91 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io7 3.04 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io8 2.92 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io9 2.97 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io10 3.09 v (2.5 ~ 3.5)
    open-drain 3v pull-up high io11 3.13 v (2.5 ~ 3.5)
    IO has problem


  • administrators

    自己診断結果ありがとうございます。

    オープンドレイン駆動時に少し電圧が低いですが、
    モーターなどを駆動するときに使うプッシュプル回路に特別問題はなさそうです。

    ちなみにサーボモーターを違うioに接続しても同じような症状でしょうか。例えばio9,10,11など。

    J1まで使っていただかなくともmUSBで違う電源に繋いでいただくだけで効果を確認できると思うので、一度試して頂けないでしょうか。

    SG-5010は弊社でもよく利用しているので個体差はあまりなさそうです。違う電源などにつないでもうまく行かなければobnizに自己診断ではわからない何らかの問題があるかもしれないので、その場合は交換品をお送りしてそちらで試していただくなどの対応をしたいと思っております。

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



  • 迅速かつ丁寧なご回答大変感謝しております。

    ・ioの組み合わせを様々にかえてみましたが症状は同じでした
    ・mUSBのケーブル3種類、電源側はアダプタを介してのコンセント2か所、およびPCのUSBポートを試してみましたが、たまにうまく行く以外は同様でした。

    なお、因果関係はわかりませんが、PCを電源とした場合に2度スクリプト実行時にPCがクラッシュする現象が発生したため(過去同様の現象は他のデバイスでは発生したことはありません)、いったんPCの使用はやめております。

    引き続きご案内の程よろしくお願いします。


  • administrators

    試していただきありがとうございます。
    もし可能でしたら一度他のobnizと交換させていただければと思います。

    info@obniz.io

    の方に住所などご連絡頂けないでしょうか。
    よろしくお願い致します。


 

Recent Projects

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

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

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

    read more
  • @Yuki-Sato さん、
    まずは、ピン接続だけ確認してください。

    i2cエラーは、私の方でもう少し調べてみます。

    read more
  • @Yuki-Sato さん

    vccに3.3v、それ以外はobnizの1-5まで直接接続で合っていますでしょうか。

    その通りで合ってます。Flick Hatはいつもそれで動かしていますし、お借りしたLargeもその接続で動作しました。(その後、6-7も接続してLEDの確認もしましたが)

    まったく動かない訳ではないようなので、接続の問題ではない気もしますが、前回のときより前進しているでしょうか? 同じでしょうか?
    ただ、私の場合は、書き込み(i2c.write)がエラーになった記憶が無いです(忘れているだけ?)

    3.3vは外から取っていると思いますが、外からのgndはどうしていますか?
    私の場合は外からのgndを接続するとうまく動作しなかったので、外からは3.3vの1線だけ接続しています。(私の知識では、gndと対でなければ+3.3Vにならないと思うのですが、接続してしまうとなぜか動きませんでした。)

    ↑ここまでで佐藤さんと私でpin接続が同じであれば、FlickHat.jsのstart()内の2個所のi2c.writeを削除して試してもらえませんか? このwriteは無くても動作しますので。もしくは下記2行が不要かも知れません。writeを残して、この2行を削除して試していただけますか。

    73 await this.polling(); 74 await this.obniz.wait(200);

    追伸;

    また、まれですが26バイトの読み取りに失敗することもあります。

    これは同じでエラーになることがあります。どこかの制御に問題があるのでしょうか?

    read more
  • @nak435 こんにちは。

    flick-demo.htmlを使って動作確認しています。
    接続の確認なのですが、vccに3.3v、それ以外はobnizの1-5まで直接接続で合っていますでしょうか。

    なかなかうまく通信できないでいます。
    エラーが出ず何度かpollingできることもあるのですが、どこかのタイミングでエラーとなってしまいます。

    最初の段階は比較的うまくいって、132バイトを受信できています。

    [Log] Obniz: {"i2c0":{"mode":"master","address":66,"data":[132,0,0,131,170,99,128,230,19,100,21,32,49,46,51,46,49,52,59,112,58,72,105,108,108,115,116,97,114,86,48,49,59,120,58,32,32,32,32,32,32,32,32,59,68,83,80,58,73,68,57,48,48,48,114,50,57,54,51,59,105,58,66,59,102,58,50,50,53,48,48,59,110,77,115,103,59,115,58,82,101,108,95,49,95,51,95,112,114,101,114,49,55,56,52,58,78,77,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,85,170,144,101,32,32,128,15,255,255,255,255,225,242,0,0]}} (logger.min.js, line 1)

    ただ、その後に以下のような書き込みを行うところで書き込めずエラーとなることが多いです。

    [Log] Obniz: send: [{"i2c0":{"address":66,"data":[16,0,0,162,161,0,0,0,31,0,0,0,255,255,255,255]}}] (logger.min.js, line 1)

    また、まれですが26バイトの読み取りに失敗することもあります。

    接続方法が違うか、Flick Largeだと良くないのかなと思っています。
    接続方法について、合っているか教えていただけますでしょうか。よろしくお願い致します。

    read more