首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >伺服电机旋转

伺服电机旋转
EN

Stack Overflow用户
提问于 2016-04-15 07:03:48
回答 1查看 537关注 0票数 1

我正在研究一个使用Arduino的四轴飞行器飞行控制器。我一直有很多困难,试图弄清楚如何让我的马达以逆时针方向旋转。我目前有四架直升机的发动机顺时针旋转,但这会导致四架直升机在飞行过程中失控地旋转。我正在使用的代码显示在下面,任何对上述问题的帮助都将非常感谢。提前谢谢。

我使用的库是:

代码语言:javascript
复制
#include <Servo.h>

大头针像这样固定在Arduino Uno上。

代码语言:javascript
复制
  m1.attach(4);
  m2.attach(6);
  m3.attach(8);
  m4.attach(9);

我调用如下所示的arm函数:

代码语言:javascript
复制
arm();

它调用以下代码:

代码语言:javascript
复制
void arm() {
    // arm the speed controller, modify as necessary for your ESC
    setSpeed(0);
    delay(1000); //delay 1 second,  some speed controllers may need longer
  }

这是这里的代码,然后启动电机:

代码语言:javascript
复制
 void startMotors()
  {
     speed = 40; 
     setSpeed(speed);

    Serial.println("Motor Speed: " + speed); 
    motorsOn = true;
  }

如图所示,在arm和startmotors函数中都调用了SetSpeed方法。

代码语言:javascript
复制
void setSpeed(int speed) {
    // speed is from 0 to 100 where 0 is off and 100 is maximum speed
    //the following maps speed values of 0-100 to angles from 0-180,
    // some speed controllers may need different values, see the ESC instructions
    int angle = map(speed, 0, 100, 0, 180);
    m1.write(angle);
    m2.write(angle);
    m3.write(angle);
    m4.write(angle);
  }

现在,我不担心手臂功能,因为它只是用于武装,不需要旋转,但它在启动电机功能中,我需要弄清楚如何让电机m2和m3逆时针旋转。否则,四轴飞行器将在飞行中旋转,这个问题的解决将有助于保持四轴飞行器的稳定。我希望这一修改足以让您理解,并再次提前感谢您。

EN

回答 1

Stack Overflow用户

发布于 2016-04-16 08:54:42

你的问题不在于arduino方面,而在于你如何连接你的马达。你的马达和你的ESCs之间会有3根电线,你需要翻转其中的两根电线。你换哪一个并不重要。这样做之后,确保螺旋桨在正确的方向上。(如果您有不常见的设置,请告诉我,我将从那里帮助您。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36635521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档