Некорректная работа сервопривода TowerPro MG995

tony_85
Offline
Зарегистрирован: 20.10.2015

Добрый день всем форумчанам. Я в Ардуино новичек. У меня Arduino Mega, учусь по урокам Джереми Блюма. Вот застрял на работе с сервой.

При подключении к контролеру серва начинает произвольно крутится туд сюда Это происходит независимо от того задаю я ей граду поворота или нет.

Программа должна по нажатию кнопки поворачивать серву и светит светодиод. Светодиод светится, а серва дергается, даже если я закомментирую строки с указанием угла поворота сервы. Уже перепробовал кучу разных примеров для сервы, ничего не помагает.

Питание сведено на одну землю. На серву идет через регулятор напряжения l7805cv с двумя конденсаторами. Входое напряжение от 9В батарейки. На выходе 5,2 В.

 

//Servo Potentiometer Control

#include <Servo.h>

const int SERVO=9;
const int BUTTON=2;
const int LED=3;
boolean lastButton = LOW;    
boolean currentButton = LOW;
boolean ledOn = false;
Servo myServo;

void setup()
{

    myServo.attach(SERVO);
    pinMode (BUTTON, INPUT);
     pinMode(LED, OUTPUT);
    
}
boolean debounce(boolean last)
{
  boolean current = digitalRead(BUTTON);       
  if (last != current)                     
  {
    delay(5);                              
    current = digitalRead(BUTTON);             
  }
  return current;                         
}

void loop()
{
    currentButton = debounce(lastButton);              
  if (lastButton == LOW && currentButton == HIGH)   
  {
    if (ledOn)
    {
      digitalWrite(LED, HIGH);
      myServo.write(60);
    }
    else
    {
      digitalWrite(LED, LOW);
      myServo.write(0);
    }
    ledOn = !ledOn;
   
     }
  lastButton = currentButton;   
   
}

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

 

 

 

 

Померяйте напряжение на Серве во время пульсаций. Моё мнение, питание просаживается, крона слабовата ИМХО.

tony_85
Offline
Зарегистрирован: 20.10.2015

Померял, напряжение скачит от 2 до 4 в. подключил на 5 В от блока питания ПК, работет нормально.

Огромное спасибо за помощь.