Некорректная работа сервопривода TowerPro MG995
- Войдите на сайт для отправки комментариев
Добрый день всем форумчанам. Я в Ардуино новичек. У меня 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;
}
Померяйте напряжение на Серве во время пульсаций. Моё мнение, питание просаживается, крона слабовата ИМХО.
Померял, напряжение скачит от 2 до 4 в. подключил на 5 В от блока питания ПК, работет нормально.
Огромное спасибо за помощь.