質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

0回答

2667閲覧

Arduinoでモータ制御をすると動きが変則的になる

azajiza

総合スコア8

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2016/09/15 02:11

私はいまArduinoを用いてDynamixcel のMX64ARサーボモータを動かそうとしているのですが,簡単な往復運動のプログラムを実行すると一秒間隔で動くはずが数秒に一度,しかも3秒だったり10秒だったりと不規則に動いてしまいます.
これはどのような問題が発生しているのでしょうか.また,解決方法を教えてください.

以下コードです.これは次のサイトのものを張り付けたものです
http://www.besttechnology.co.jp/modules/d3blog/details.php?bid=201

#include <SoftwareSerial.h> SoftwareSerial dxif(8, 9); // pin8 is RX, pin9 is TX void setup() { // put your setup code here, to run once: dxif.begin (57143); dxif.setTimeout (50); } bool sendpos(uint8_t id, uint16_t pos) { uint8_t buf[9] = { 0xff, 0xff, // header id, // id 5, // inst 3, // size 30, // address (uint8_t)(pos & 0xff), (uint8_t)(pos >> 8), 0 }; for (int i = 2; i < 8; i++) buf[8] += buf[i]; // calc sum buf[8] = ~buf[8]; while (dxif.available ()) dxif.read (); // clear buffer dxif.write (buf, 9); // send inst packet if (dxif.readBytes (buf, 6) == 6) // read stat packet return (buf[2] == id) && (buf[3] == 2) &&(buf[4] == 0); return false; } void loop() { sendpos (1, 0); // Set Goal Position to 0 delay (1000); // Delay 1 sec sendpos (1, 1023); // Set Goal Position to 1023 delay (1000); // Delay 1 sec }

環境
Arduino Mega 2560
Dynamixcel MX-64AR

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2016/09/15 03:03

まず、stat packetの内容を確認してみるべきだと思います。なんらかのエラーが報告されているかもしれませんから。
ozwk

2016/09/15 03:11

ハードウェアはどういう構成ですか?
azajiza

2016/09/15 14:24

回路はサイトにある通りのはずです.(RS485) 他はArduinoにPCとUSB接続,12V電源をつないでいる程度です.
coco_bauer

2016/09/16 01:36

あと考えられるのは、ArduinoにLEDをつけて、sendpos (1, 0); の後にLEDを点灯、sendpos (1, 1023); の後にLEDを消灯するコードを追加してください。そうすれば,loopがちゃんと2秒周期で動作しているかどうかを目視できます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問