Технический форум по робототехнике.
Orangebox » 01 сен 2016, 14:42
Купил две сервы JX PDI-6221MG. Подключаю к Искре Нео (аналог Arduino Leonardo) как положено: красный - 5V, коричневый - GND, оранжевый - разъем 9. Скетч стандартный из мануала.
Серва не двигается, а только издаёт тихие щелчки. Со второй сервой тоже самое.
Пробовал подключать через Multiservo Shield. При маленькой напруге (меньше 6В) серва не двигается и едва слышно щёлкает. При повышении напруги до 8В, серва начинает вяло крутится и сильно дёргаться. Обе сервы ведут себя одинаково.
Кто нибудь уже пробовал подключать такие сервы к Ардуине? В чём может быть причина?
Eruman » 01 сен 2016, 15:00
Может быть потому что цифровые?
Orangebox » 01 сен 2016, 15:05
А разве цифровые сервы как то по-другому подключаются нежели аналоговые?
Myp » 01 сен 2016, 15:29
Orangebox писал(а):Подключаю к Искре Нео (аналог Arduino Leonardo) как положено: красный - 5V, коричневый - GND
чёт я не понял, питание сервы чтоли к ардуине подключено?
и какой такой стандартный скетч и из какого такого мануала?
и почему вдруг искра нео? взял бы обычную ардуину за 200 р.
Orangebox » 01 сен 2016, 17:41
Myp писал(а):чёт я не понял, питание сервы чтоли к ардуине подключено?
Изначально да, я подключал прямо к ардуине. Интернеты говорят, что маломощные сервы могут прямо от неё работать.
Потом подключил через Multiservo Shield. Вот такой
http://amperka.ru/product/arduino-multiservo-shield Там уже внешнее питание.
Myp писал(а):и какой такой стандартный скетч и из какого такого мануала?
Скетч с сайта амперки.
Напрямую через ардуину вот такой:
- Код: Выделить всё • Развернуть
#include <Servo.h>
Servo myservo;
void setup()
{
myservo.attach(9);
}
void loop()
{
myservo.write(90); // устанавливаем сервопривод в серединное положение
delay(500);
myservo.write(0); // устанавливаем сервопривод в крайнее левое положение
delay(500);
myservo.write(180); // устанавливаем сервопривод в крайнее правое положение
delay(500);
}
Через Мультисево шилд вот такой:
- Код: Выделить всё • Развернуть
#include <Wire.h>
#include <Multiservo.h>
Multiservo myservo;
int pos = 0;
void setup(void)
{
Wire.begin();
myservo.attach(17);
}
void loop(void)
{
for (pos = 0; pos <= 180; pos += 1) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
Myp писал(а):и почему вдруг искра нео? взял бы обычную ардуину за 200 р.
А где это Ардуины по 200р. раздают? Iskra это один из самых дешёвых аналогов ардуины, что я нашел.
Myp » 01 сен 2016, 18:52
питать серву от ардуины плохая затея, подключай только через шильд.
скетч вроде простой, ошибиться негде, кроме как перепутать контакты для подключения сервы. в скетче для шильда используется разъём подписанный как 17
на этом 17 разъёме шильда на ножке SIG должно меняться напряжение, можно подключить туда светодиод вместо сервы и по изменению характера мигания диода убедиться что скетч вообще как-то работает.
если не работает, то убрать шильд и убедитсья что прошивка вобще заливается и работает. например залив тестовое мигание светодиодом
http://wiki.amperka.ru/%D0%BA%D0%BE%D0% ... 0%BE%D0%BAесли будет мигать светодиодом, дело не в ардуине.
а ардуины берут вот там:
http://www.aliexpress.com/item/UNO-R3-C ... 66108.htmlчуть меньше двухсот рублей.
ЗЫ
сервы слабо защищены от переполюсовки и если их неправильно подключить легко дохнут.
Добавлено спустя 6 минут 36 секунд:Orangebox писал(а):Интернеты говорят, что маломощные сервы могут прямо от неё работать.
именно что маломощные, микросервы весом 3-7 грамм, а ты захотел такую супермощную дуру

Orangebox » 01 сен 2016, 19:54
Myp писал(а):на этом 17 разъёме шильда на ножке SIG должно меняться напряжение, можно подключить туда светодиод вместо сервы и по изменению характера мигания диода убедиться что скетч вообще как-то работает.
Подключил светодиод. Видно что он меняет яркость.
Я даже вольтметром померял на какие команды какое выдается напряжение:
myservo.write(90); 146мВmyservo.write(0); 50мВmyservo.write(180); 243мВЗначит Ардуино и шилд исправны. Получается проблема в сервоприводах?
Я вроде полярность ни разу не путал. Очень внимательно слежу за этим. Как ещё можно проверить исправность серв?
Спасибо за наводку. Надо взять пару килограмм на опыты

Myp » 01 сен 2016, 21:09
я прям и не знаю...
можно попробовать поискать человека у которого есть какая-то радиомодель с сервами и попросить его подключить твою серву, проверить работоспособность
ну или может правда эта серва как-то более хитро управляется.
вобще при подаче напряжения на серву, вал сервы фиксируется? по идее под напряжением вал нельзя руками прокрутить.
Madf » 01 сен 2016, 22:07
Orangebox » 02 сен 2016, 12:12
А можно чуть поподробнее про эту штуку? Она только напряжение умеет менять или частоту управляющего сигнала тоже можно разную выставлять?
Madf » 02 сен 2016, 12:39
Это "серво-тестер", умеет управлять: сервами, ESC-ами бесколлекторников. Имеется один вход и выход. На выходе есть распиновка сразу под сервы (питание+управляющий сигнал). На входе есть: внешнее управление, которое необязательно подключать и питание. Питание стандартное 5В.
Ручка регулирует угол поворота сервы или скорость действия.
Кнопка переключения режимов, можно установить режимы: установка угла поворота регулятором/ручкой, автоматический режим (когда тестер сам будет крутить ручку (вроде в зависимости от установленного уровнем регулятора). Возможно есть ещё какой-то режим, уже не помню (возможно средней точки).
Вроде бы всё.
Orangebox » 02 сен 2016, 12:51
Myp писал(а):вобще при подаче напряжения на серву, вал сервы фиксируется? по идее под напряжением вал нельзя руками прокрутить.
Серву и в не подключенном состоянии невозможно прокрутить руками. Только пассатижами. При подаче напряжения становится чуть чуть туже, но практически не различимо.
Madf » 02 сен 2016, 13:29
Упругость сервы, прямо пропорционально передаточному числу. При подачи напряжения, она должна встать в 0 точку ("хрюкнуть"/крутануть валом), если только она уже не стоит в этом положении. Если этого не происходит, то причины две: нерабочая серва или проблемы с питанием (ток, провода). При подачи питания, серву провернуть уже не получится, она будет сопротивляться.
Orangebox » 02 сен 2016, 13:32
Madf писал(а):Упругость сервы, прямо пропорционально передаточному числу. При подачи напряжения, она должна встать в 0 точку ("хрюкнуть"/крутануть валом), если только она уже не стоит в этом положении.
Просто напряжения? Даже без управляющего сигнала?
Myp » 02 сен 2016, 13:35
Orangebox писал(а):При подаче напряжения становится чуть чуть туже, но практически не различимо.
под напряжением её должно быть вобще невозможно провернуть, у неё там усилие на валу дикое
ты вобще откуда питание для сервы берёшь?