Сервоприводы не работают
- Войдите на сайт для отправки комментариев
Пт, 03/05/2013 - 01:22
Друзья, прошу о помощи.
Приобрел 4 серва mg995. Подключаю (красный +, коричневый -, оранжевый - к ардуино). При подключении серва чуть-чуть дергается. После этого никаких признаков жизни не подает. При подключении использую внешний источник питания на 7V. Пытаюсь работать с сервой через библиотеку. Попробовал почти все примеры.. Толку нет. Подозреваю, что проблема в подключении - серва постоянно гудит при подключении к питанию. Можно было бы грешить на неисправность самой сервы. Так их 4. Результат тотже. Arduino Uno.
/* Arduino Servo */ #include <Servo.h> Servo servoMain; // Обьект Servo void setup() { servoMain.attach(10); // Servo присоединен к 10 выводу } void loop() { servoMain.write(45); // Повернуть серво влево на 45 градусов delay(2000); // Пауза 2 сек. servoMain.write(0); // Повернуть серво влево на 0 градусов delay(1000); // Пауза 1 сек. servoMain.write(90); // Повернуть серво на 90 градусов. Центральная позиция delay(1500); // Пауза 1.5 сек. servoMain.write(135); // Повернуть серво вправо на 135 градусов delay(3000); // Пауза 3 сек. servoMain.write(180); // Повернуть серво вправо на 180 градусов delay(1000); // Пауза 1 сек. servoMain.write(90); // Повернуть серво на 90 градусов. Центральная позиция delay(5000); // Пауза 5 сек. }
Так понимаю:
Внешний блок питания: красный +, коричневый -
Ардуино: оранжевый
Общая земля между приводом и ардуино: нет?
Вся земля сведена в одну точку.
Вся земля сведена в одну точку.
В какую? :D
Земля от блока питания, ардуино и серво соединена между собой.
А с блока питания, провода не перепутаны? (+ и -) местами не поменяны?
Прошу прощения у всех, кто потратил своё время. Проблема оказалась в следующем. Серво не возвращались в исходную позицию и после 2-3 секунд уходили в крайнее состяние. Оттуда я их програмно почему-то вывести не могу. Открутил, провернул потенциометр в позицию, когда мотор перестаёт крутиться. Закрыл. 2-3 секунды - опять разбирать, выравнивать потенциометр. Может управление какое-то другое? Т.е. я даю 0 градусов, он поворачивается до упора. Потом даю 180 и в другую сторону уже не возвращается...
Разве что потенциометр в самом изделии наизнанку подключен.
А что у вас за блок питания?
1. Попробовать уменьшить диапазон подаваемых импульсов:
servoMain.attach(10,1400,1600);
Помню что у разных серв были разные времена 0 и 180 градусов
2. Серва мощная, и, если блок питания тоже мощный,
может загнать её в упор или свернуть потенциометр до возникновения в нём обрыва.
3. Снять потенциометр с оси и ограничительный стопор( или не снимать если трудно) .
Подавать в цикле
только servoMain.write(90);
Попробовать остановить потенциометром.
И если остановится попробовать поворачивать потенциометр (снятый с сервы) немного в одну-другую сторону
Должна вращаться в одну-другую сторону , посмотреть в правильную-ли сторону вращается.
Попробовать уменьшить диапазон подаваемых импульсов
Спасибо! Вы были правы. Неотрегулированный диапазон загнал сервы за пределы. После калибровки пределов и ручного прокручивания сервоприводов всё заработало, как часы.
Отдельное спасибо всем, кто откликнулся. Вот уж не ожидал, что на этом форуме столько увлечённых, и что немаловажно, отзывчивых людей.
Доброго времени суток!
Проблема выросла их "ебея"! Приобрёл у китайцев 10 серв MG995 (сильно нужно было много серв)!
Махен-ноен-абдрыстунг!!! Ни одна не работает, ваще никак!!! Загоняет в конечную точку, либо мотыляет хаотично...
Ставлю на их место НК15148, всё пашет как надо. И питание изменял (запитано от стабилизированного БП, отдельно от ардуинки, регулируется от 0 до 12В, 7,2 не превышал).
Думал не отрегулирован потенциометр, разобрал, редуктор снял, движок молотит при любом положении потенциометра, по идеее должен при каком-то положении потенуиометра остановиться и пойти на реверс... Них подобного.
Люди!!! Как быть?!!! Абидно, да!
Подскажите, кто что думает по этому поводу!
Спасибо, заранее...
1. Неверно подключили блок питания - отсутсвует общая земля между дуиной и блоком.
2. Не "тянет" блок питания - выходного тока блока питания не хватает для работы сервы.
Мaksim, спасибо на добром слове! Вечером, ожидая сразу получить результат и обломавшись, перестал мыслить логически :(
Конечно-же пункт 2!
Сегодня без эмоций, спокойно рассудив, что 9 кг на серве просто так из воздуха не берутся, а берутся из БЛОКА ПИТАНИЯ, "блин" замерил напряжение и понял, что серва очень даже нормальная и глючить начинает при падении на ней напряжения до 2,7 вольт.
Сегодня тупо прицепив "ещй парочку" блоков в параллель получил нормально работающие "приборчики".
Оценив работу блока питания понял, что он ограничивает ток, снижая напряжение (сцуко, зато не сгорел). Когда 2-3 сервы оч быстро "отрабатывают угол" потребление более 5 ампер. следовательно блок питания входит в ступор -> сервы глючат и всё по новой. ;)
УРРА!!! ЗАРАБОТАЛА!!!
после аварии гирокоптера пришлось менять камеру и подвес с крюком. проблема в том что когда поключаешь что то одно, работает как часы. подключаешь оба, начинает глючить.глюк таков, что камера поворачивается очень медленно, а подвес начинает работать без тормозов, тоесть попросту не остававливается. первый раз вожусь с гирокоптером, много чего не знаю. надеюсь на вашу помощь
Нужна помощь!!!
Приобрел серву MG996R. А она не отрабатывает угол. В средней точке стоит. Добавляя (или вычитая) по ШИМу он просто крутится в соответствующую сторону без остановки!!!! Купил вторую - таже ситуация...
Разобрал!!! А задающего потенциометра и НЕТ!!!!
Есть совершенно официальное исполнение сервопривода, которое называется "привод постоянного вращения". Т.е. серва отрабатывает не угол, а скорость пропорционально заданию. В этом случае потенциометр положения не нужен. Возможно, Вам достался такой экземпляр.