roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 03:21

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: SERVO Набор команд
СообщениеДобавлено: 26 окт 2008, 15:05 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Какой набор команд или какие команды, на ваш взгляд, более всего востребованы в серво-контроллере?
Пишем только по теме, флуд буду чистить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 26 окт 2008, 15:27 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
1. Установить длительность импульса i-й сервы
2. Установить длительность импульса для центрального положения i-й сервы
3. Установить длительность импульса для положения i-й сервы -90°
4. Установить длительность импульса для положения i-й сервы +90°
5. Установить положение i-й сервы в градусах
6. Перейти к определенному положению i-й сервы за N секунд

команды 2,3,4 задают параметры, которые используются для вычисления длительности импульса при исполнении команд 5, 6. команды 2,3,4 можно объединить в одну.

Можно также предусмотреть команды для одновременного управления несколькими сервами. Например, переместить серву 1 в -65°, серву 2 в 28°, серву 3 в 90°, при этом весь маневр должен занять 1.5 секунды

----------------
Now playing: Pink Floyd - Another Brick In The Wall

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 26 окт 2008, 16:41 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Вид пакета будет примерно таким тогда
[ cmd | data ] а также просто
[ cmd ]
где рамерность cmd составляет 1 байт.

Также думаю необходимо задать команды инициализации. Далее вид команд приведен для примера и не являеца окончательным
- Включение подачи сигналов
[ 0xFF ]
- Соответственно, отключение
[ 0x00 ]
- Reset, сброс
[ 0x0F ]
- ( Инициализация ) Задача параметров для данного типа серво. К примеру, у HS-311 -45° это 900мкс а +45° это 2100.
[ 0x01 | min_angle | max_angle | min_pulse | max_pulse ] ,где min_angle и max_angle 1 байт, а min_pulse и max_pulse 2 байта. Точнее будет выглядеть так
[ 0x01 | min_angle | max_angle | min_pulse_high | min_pulse_low | max_pulse_high | max_pulse_low ] Также думаю можно будет сохранять первую инициализацию в eeprom, и при следующем включении, если не задана повторно команда то загружать последние значения из eeprom. И допустим можно будет написать загрузчик, который будет ждать команд инициализации в течение 1 сек, далее нельзя будет их применить, только сбросив контроллер или както так.

blindman писал(а):
1. Установить длительность импульса i-й сервы

Да, естественно. К примеру можно так
[ cmd | length | servo_num | servo_pulse | ... ], где length( 1 байт ) количество серво для которых меняем длительность, servo_pulse 2 байта

blindman писал(а):
5. Установить положение i-й сервы в градусах

[ cmd | length | servo_num | servo_angle | ... ], где servo_angle 1 байт

blindman писал(а):
2. Установить длительность импульса для центрального положения i-й сервы
3. Установить длительность импульса для положения i-й сервы -90°
4. Установить длительность импульса для положения i-й сервы +90°

Да, объединяем в одну, соответсвтенно это есть команда инициализации приведенная выше.

blindman писал(а):
6. Перейти к определенному положению i-й сервы за N секунд
Можно также предусмотреть команды для одновременного управления несколькими сервами. Например, переместить серву 1 в -65°, серву 2 в 28°, серву 3 в 90°, при этом весь маневр должен занять 1.5 секунды

Тут нада подумать.

И насчет углов, типа servo_angle, как задавать то? Либо мы учитывает -45° +45° либо сразу говорим от 0 до 90


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 26 окт 2008, 16:52 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Наверно по умолчанию +-, но можно ввести дополнительный параметр который смещает нулевую точку на +- N градусов

----------------
Now playing: Андрей Макаревич и группа "Папоротник" - Когда откричат крикуны (из к/ф "Шизофрения")

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 26 окт 2008, 17:23 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
тогда лучше задавать от 0 и до макс., чтобы возьни не было


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 26 окт 2008, 19:51 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Я бы предложил команды протокола и т.п. вот этого сервоконтроллера с публичными исходниками и прошивками на ATmega8 -168
на 32 серво и больше
http://www.lynxmotion.com/images/html/proj078.htm
Есть и прога - секвенсор движений, и еще секвенсор делают на "соус фодж"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 06 ноя 2008, 21:48 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Ап. Какие еще есть мысли? Я почти все реализовал что было предложено.

Добавлено спустя 2 минуты 38 секунд:
Кстати, начал юзать IAR - оптимизация у них супер, и код быстрее в некоторых местах работал быстрее на ~100мкс!
Короче код скомпилил в WinAVR и в IAR, помню цифры примерно, первый выполнился за 5.125 мс а второй за 4.988 мс - это на 3% меньше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 06 ноя 2008, 23:06 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
пошарил по инету на счёт ворованого сиквенсора
нету чтото ни в торентах ни в ослике

буржуи блин :(

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 07 ноя 2008, 09:46 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
Сергей писал(а):
Ап. Какие еще есть мысли? Я почти все реализовал что было предложено.

Добавлено спустя 2 минуты 38 секунд:
Кстати, начал юзать IAR - оптимизация у них супер, и код быстрее в некоторых местах работал быстрее на ~100мкс!
Короче код скомпилил в WinAVR и в IAR, помню цифры примерно, первый выполнился за 5.125 мс а второй за 4.988 мс - это на 3% меньше.


юзай асм, там оптимизация круче :crazy: :crazy: :P

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 07 ноя 2008, 15:58 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Я и на асме писал, просто проверять алгоритм лучше на Си, более наглядно. Может когда все будет готово - перепишу на асм. Так, чтото не туда едем, давайте по теме.

Гы, писал в IAR - было все прекрасно и в один момент перестало работать как нада ) Пишу - проверяю ок, пишу - проверяю ок, пишу - чото не то, откат - чото не то, откат - чото не то. Вообщем мораль такова что IAR это особая уличная магия. avr-gcc форева =)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 24 дек 2008, 22:58 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
И что в итоге ? Каков набор ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 24 дек 2008, 23:13 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Больше ничего не придумал(и). Пока реализовал эти функции. На практике сейчас есть готовый модуль, прошивка( осталось под i2c забить команды )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 25 дек 2008, 09:45 
Не в сети
Аватара пользователя

Зарегистрирован: 27 ноя 2004, 00:42
Сообщения: 3339
Откуда: совсем Москва
ФИО: Григорий
Сергей, может тогда в вику это все? сведешь к общему знаменателю так сказать... или оно там есть уже? :crazy:

_________________
злой полицейский


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 25 дек 2008, 20:24 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
а что сводить? Набор команд только? Или ты имеешь ввиду прошивку и схему модуля?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO Набор команд
СообщениеДобавлено: 26 дек 2008, 09:21 
Не в сети
Аватара пользователя

Зарегистрирован: 27 ноя 2004, 00:42
Сообщения: 3339
Откуда: совсем Москва
ФИО: Григорий
ну да. схему, прошивку, набор команд и текстик с описанием :oops:

_________________
злой полицейский


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO