Технический форум по робототехнике.
Iskander » 22 ноя 2011, 23:02
Может быть глупый вопрос - у различных моделей серводвигателей разная ширина управляющего импульса? У меня лежит Tower Pro MG90. Перерыл гугл, ширину импульса найти не смог. Что будет если задам неправильную ширину импульса? Серводвигатель сгорит? Можно ли просто пользоваться стандартным классом Servo из апи от ардуино? На их сайте код устанавливается
http://www.arduino.cc/playground/Learni ... rvoExample , но он закоммичен.
=DeaD= » 23 ноя 2011, 08:58
cjA » 23 ноя 2011, 10:47
ширина или 0% или 100%, она регулирует угол поворота в %.
вот что будет если с частотой ошибетесь, не знаю.
Не думаю что сгорит, сгорит если в положении 0%поворота требовать чтоб она в положение 100%поворота перешла и вал зажать.
HarryStar » 23 ноя 2011, 14:45
Iskander писал(а):Перерыл гугл, ширину импульса найти не смог
Интересно, как вы это делали?
http://guglit.ru/?q=%D1%88%D0%B8%D1%80% ... 0%B4%D0%B0первая ссылка
dccharacter » 23 ноя 2011, 15:32
Если теорию поняли, то вот чуть-чуть практики. Да, ширина импульса в сервах плавает. Это может привести к тому, что серва при вращении упрется в стопор (смотреть как устроена серва), а управляющий импульс будет давать команду крутить дальше. В результате произойдет разрушение механической части сервы (не сразу, но достаточно быстро - попыток за 10-20 вполне), например в случае пластиковых шестеренок часть зубьев в механизме просто слижет.
Поэтому диапазон ширин импульса как правило делают зауженным. Можно также кастомизировать диапазоны под каждую конкретную серву. Например, в ардуино для этого вместо функции servo.attach(pin) можно использовать функцию
servo.attach(pin, min, max), где указывается минимальная и максимальная ширина импульса в мкс.
Iskander » 23 ноя 2011, 20:14
Я знаю что такое ширина импульса, я спросил их значения для конкретной модели.
Добавлено спустя 1 минуту 11 секунд:dccharacter писал(а):Если теорию поняли, то вот чуть-чуть практики. Да, ширина импульса в сервах плавает. Это может привести к тому, что серва при вращении упрется в стопор (смотреть как устроена серва), а управляющий импульс будет давать команду крутить дальше. В результате произойдет разрушение механической части сервы (не сразу, но достаточно быстро - попыток за 10-20 вполне), например в случае пластиковых шестеренок часть зубьев в механизме просто слижет.
Поэтому диапазон ширин импульса как правило делают зауженным. Можно также кастомизировать диапазоны под каждую конкретную серву. Например, в ардуино для этого вместо функции servo.attach(pin) можно использовать функцию
servo.attach(pin, min, max), где указывается минимальная и максимальная ширина импульса в мкс.
Спасибо, теперь понятно. То есть имеет смысл попробовать ограничить угол вращения значит.
Добавлено спустя 1 минуту 40 секунд:Вообще подключил вчера, не дожидаясь ответа. Серва крутится вроде нормально, но заузить попробую все равно.
dccharacter » 23 ноя 2011, 20:55
Если в крайних положениях не трещит, то смысла заужать нет.
HarryStar » 24 ноя 2011, 12:19
Есть стандарт +- 400 мкс от 1500 - его должны поддерживать все сервы, а остальное или в документации к сервам или как в вашем случае - экспериментально. Я себе делал маленькую прогу, крутилкой регулировался импульс, и выводился на экран - туда сюда до упора покрутишь, немного убавишь и вот они пределы.
Iskander » 24 ноя 2011, 21:32
HarryStar писал(а):Есть стандарт +- 400 мкс от 1500 - его должны поддерживать все сервы
Спасибо.
Просто у остальных серв он обычно указывается в характеристиках, я и подумал что он у каждой модели или у производителя свой.