Arduino Nano PWM вмешивается в SERVO - PullRequest
0 голосов
/ 25 апреля 2020

Я пытался сделать soap - пузырьковый робот для моего ребенка. Это просто. На сервоприводе есть рычаг, который впитывает кольцо в мыльной воде и размещает перед вентилятором. Проблема заключается в том, что когда я активирую ШИМ-сервопривод, он начинает плохо себя вести (дрожит, дрожит go до 0 позиции), хотя они не работают одновременно. Похоже, что во время ШИМ в сервоприводе есть шум.

  #include <Servo.h>
  Servo myservo;  // create servo object to control a servo
  #define MOTOR_PIN 11 
  int pos = 0;    // variable to store the servo position

  void setup() {
    myservo.attach(4);
    pinMode(LED_BUILTIN, OUTPUT);
    pinMode(MOTOR_PIN, OUTPUT);

  }

  void loop() {
    analogWrite(MOTOR_PIN,0);
    delay(100);
    for (pos = 30; pos <= 120; pos += 1) { 
      // in steps of 1 degree
      myservo.write(pos);              
      delay(10);                      
    }

     for (pos = 120; pos >= 30; pos -= 1) { 
      myservo.write(pos);              
      delay(10);                      
    } 

      digitalWrite(LED_BUILTIN, HIGH);   
      delay(200);                       
      digitalWrite(LED_BUILTIN, LOW);    
      delay(150);                       
      digitalWrite(LED_BUILTIN, HIGH);   
      delay(150); 

      analogWrite(MOTOR_PIN, 400);

      digitalWrite(LED_BUILTIN, LOW);    
      delay(150);      
      digitalWrite(LED_BUILTIN, HIGH);  
      delay(150);                       
      digitalWrite(LED_BUILTIN, LOW);  
      delay(150);      
      delay (3000);

  }

Изображение сервопреобразователя и ШИМ

...