サーボモーターへの連続指令



  • 下記のwaitを300以下にするとサーボが動作しなくなります。
    同一サーボへ指令出す場合、最低限必要なwait時間とかありますか?

    $('#front').click(function () {

      obniz.display.clear();
      obniz.display.print("Front");
    
      var x = 30;
      var f = 30;
      var b = 0;
      var FLmove_front = 180-x-b;
      var FLmove_back = 0+x+b;    
      var FRmove_front = 0+x+b;
      var FRmove_back = 180-x-b;
      var BLmove_front = 180-x-f;
      var BLmove_back = 0+x+f;      
      var BRmove_front = 0+x+f;
      var BRmove_back = 180-x-f;   
    
      obniz.repeat(async function () {    
        BRservo.angle(BRmove_front); 
        BLservo.angle(BLmove_back); 
        FRservo.angle(FRmove_back);  
        FLservo.angle(FLmove_front);
        await obniz.wait(300);
        
        BRservo.angle(BRmove_back);
        BLservo.angle(BLmove_front);  
        FRservo.angle(FRmove_front);  
        FLservo.angle(FLmove_back);             
        await obniz.wait(300);
        
     },10);
    

    });


  • administrators

    @Google-Homer さん

    弊社で持っているSG510では300msのwaitで動作しましたが,
    サーボモーターによっては激しい動きをしようとして過電流になっているのかもしれません.
    もしくはサーボモーターの応答性が悪い可能性もあります.

    よろしければ型番教えていただけないでしょうか.



  • Tower Pro SG90です。よろしくお願いします。


  • administrators

    遅くなりました.

    SG90ですが,ドキュメントに下記の記載があります.
    Operating speed: 0.12 sec/60degree(4.8v)

    コード上はMAX120度まで変化するようですので,最低でも240msは間隔を開ける必要があります.
    PCとobniz間の通信ラグがあることを考慮すると,250ms程度間隔を開けておくことをおすすめします.



  • ありがとうございます。サーボ仕様にもとずいたwaitが必須なのですね。その後色々試した結果、自分の環境でSG90が確実に動作する最低値は320msでした。


 

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