伺服电机对其他东西做出反应

时间:2013-01-14 11:38:59

标签: arduino

我正在与Arduino合作,我连接了伺服电机和普通电机。它们都工作但是当我启动正常的电机脚本时,伺服电机会产生小的痉挛物。 有人可以帮我这个吗?

    // Includes
#include <Servo.h> 

// Aanmaken van de variabelen voor in de code

int ledPin = 13;
const int motorPin = 2;
int usbnumber = 0;
Servo stuurServo;   // create servo object to control a servo 
int pos = 90;        // variable to store the servo position 


// De eerste setup maken
void setup()
{
    pinMode(ledPin, OUTPUT);
    pinMode(motorPin, OUTPUT);
    stuurServo.attach(12);
    Serial.begin(9600);
    stuurServo.write(pos);
}

void loop()
{
    if (Serial.available() > 0) {
        usbnumber = Serial.read();

    }

    if (usbnumber > 0) {
        if (usbnumber == 1){ // Lampje knipperen
            digitalWrite(ledPin, HIGH);
            delay(1000);
            digitalWrite(ledPin, LOW);
            delay(500);
            digitalWrite(ledPin, HIGH);
            delay(1000);
            digitalWrite(ledPin, LOW);
            delay(500);
            digitalWrite(ledPin, HIGH);
            delay(1000);
            digitalWrite(ledPin, LOW);
            delay(500);
        }else if(usbnumber == 2){ // Motor aan voor 5 seconden
            digitalWrite(motorPin, HIGH);
            delay(20000);
            digitalWrite(motorPin, LOW);
        }else if(usbnumber == 3){ // stuur servo +10 graden
            if(pos != 180){
              pos + 10;
              stuurServo.write(pos);
            }
        }else if(usbnumber == 4){ // stuur servo -10 graden
            if(pos != 0){
              pos - 10;
             stuurServo.write(pos);
            }
        }else if(usbnumber == 5){ // stuur servo liks
             pos = 0;
             stuurServo.write(pos);
        }else if(usbnumber == 6){ // stuur servo rechts
             pos = 180;
             stuurServo.write(pos);
        }else{
            delay(500);
        }
        usbnumber = 0;
    }
 }

1 个答案:

答案 0 :(得分:2)

大多数(业余爱好)伺服电机在通电时会发出抽搐或抖动,特别是在驱动伺服电机之前给电机供电(提供位置控制信号)。解决方案是在允许通电之前写入伺服控制线。一些简单的解决方案包括:

  1. 通过可以关闭/打开的东西来控制伺服电源(PWM,MOSFET,其他人在这里有帮助吗?)
  2. 使用辅助电源手动开关,您可以在控制器启动并运行后切换。
  3. 在驾驶位置控制线之前,没有任何方法可以让电路在没有伺服电源的情况下启动,基本上没有什么可以做的。