簡體   English   中英

伺服電機旋轉

[英]Servo motor rotation

我正在使用Arduino的四軸飛行器控制器。 我一直在努力弄清楚如何讓電機逆時針方向旋轉,我遇到了很多麻煩。 我目前有四輪直升機電機順時針旋轉,但這導致四輪直升機在飛行過程中無法控制地旋轉。 我正在使用的代碼如下所示,我們非常感謝您對上述問題的任何幫助。 提前致謝。

我正在使用的庫是:

#include <Servo.h>

這些引腳像這樣連接到Arduino Uno。

  m1.attach(4);
  m2.attach(6);
  m3.attach(8);
  m4.attach(9);

我調用這里顯示的arm函數:

arm();

哪個調用此代碼:

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
  }

這是代碼,然后啟動電機:

 void startMotors()
  {
     speed = 40; 
     setSpeed(speed);

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

如圖所示,在arm和startmotors函數中調用SetSpeed方法。

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逆時針旋轉。 否則,四軸飛行器將在飛行中旋轉,這個問題在解決時將有助於使四軸飛行器保持穩定在左側。 我希望這個修改足以讓你理解並再次感謝你。

你的問題不在於arduino方面,而在於你如何連接電機。 您的電機將在它們與您的ESC之間連接3根電線,您需要翻轉其中兩根電線。 你切換哪個都沒關系。 執行此操作后,請確保螺旋槳處於正確的位置。 (告訴我,如果你有一個不常見的設置,我會從那里幫助你。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM