roboforum.ru

Технический форум по робототехнике.


Управление сервой

Как собрать и запрограммировать робота на Arduino(Freeduino, Roboduino, Seeduino ...). Используем Wiring и Processing.

Управление сервой

Сообщение getbraine » 25 июл 2010, 21:50

Нужно реализовать следующий алгоритм дйствий:
Код: Выделить всёРазвернуть
если 1 то {
       повернуть налево на 45 градусов;
       подождать 3 секунды;
       вернуться в исходное положение;
}
если 2 то{
       повернуть налево на (-45) градусов;
       подождать 3 секунды;
       вернуться в исходное положение;
}


собственно ,интересует ,как реализовать последние строчки
Код: Выделить всёРазвернуть
если 2 то{
       повернуть налево на (-45) градусов;
       подождать 3 секунды;
       вернуться в исходное положение;
}
getbraine
 
Сообщения: 41
Зарегистрирован: 09 янв 2009, 13:02
прог. языки: C/C++/Assembler/С#

Re: Управление сервой

Сообщение Angel71 » 25 июл 2010, 22:01

:) написать в гугл просьбу разблокировать аккаун. потом по запросу "arduino servo" в первой же ссылке найти нужную библиотеку. потом прочесть что делает ф-я delay(). потом попытаться понять, что за зверь такой "исходное положение".
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Управление сервой

Сообщение avr123.nm.ru » 25 июл 2010, 22:22

"исходное положение" наверняка то что бывает у вала модельной сервы при импульсе 1500 мкС
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Управление сервой

Сообщение Grem » 25 июл 2010, 22:27

да, 1500мкс это 0 градусов, ТС, если вы умеете отклонить ее на +45 градусов, то на -45 будет 1500 - _величина импульса для +45_
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Аватара пользователя
Grem
 
Сообщения: 1530
Зарегистрирован: 16 май 2009, 12:50
Откуда: Россия
прог. языки: Java, C

Re: Управление сервой

Сообщение galex1981 » 25 июл 2010, 22:34

Обычно на стандартных сервах величнна импульсов от крайнего до крайнего положения: 900..2100 мкс. И есть 1500 мкс это 0 градусов, то для таких серв поворот на 45 градусов означает +300 или -300 мкс. То есль влево на 45 градусов это 1200 мкс, вправо на 45 градусов это 1800 мкс
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Управление сервой

Сообщение avr123.nm.ru » 25 июл 2010, 22:41

ИМХО 45 градусов это примерно 400 мкС
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Управление сервой

Сообщение Angel71 » 25 июл 2010, 22:42

avr123.nm.ru :D возможно да, возможно нет. не обязательно же исходное положение должно быть средним. такие же гадания и по поводу длины импульса и угла сервы.
Последний раз редактировалось Angel71 25 июл 2010, 22:47, всего редактировалось 1 раз.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Управление сервой

Сообщение Grem » 25 июл 2010, 22:46

формула есть, по которой расчитывается точно, а не наугад :)
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Аватара пользователя
Grem
 
Сообщения: 1530
Зарегистрирован: 16 май 2009, 12:50
Откуда: Россия
прог. языки: Java, C

Re: Управление сервой

Сообщение Angel71 » 25 июл 2010, 22:50

эт точно - вычислить всегда можно. но сервы-то разные в природе бывают, разброс даже в одной партии может быть относительно немаленьким, да и резючки под/перепаять можно. накой сидеть и гадать?
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Управление сервой

Сообщение Alex Gritsenko » 29 июл 2010, 01:38

У меня лично 45' = 500мкс, расчеты не катят))
Аватара пользователя
Alex Gritsenko
 
Сообщения: 150
Зарегистрирован: 12 июл 2005, 16:10
Откуда: Харьков
прог. языки: Lua, C, JS

Re: Управление сервой

Сообщение Angel71 » 29 июл 2010, 02:44

Alex Gritsenko писал(а):У меня лично 45' = 500мкс, расчеты не катят))

:) обоснуй, почему и для чего расчёты не катят.
П.С. в моих 995х из последней партии, условно: 750 эт 90° в одну сторону, 2250 эт 90° в другую сторону и 1500 соответственно 0°.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Управление сервой

Сообщение Alex Gritsenko » 29 июл 2010, 20:05

Первые 500мкс дают 45 градусов поворота, следующие - только 80. График под тангенс косит =)
И да, разбросы значительные - только индивидуальная подгонка под каждую серву/каждой сервы даст желаемый результат. Если конечно не колесо крутить =)
Аватара пользователя
Alex Gritsenko
 
Сообщения: 150
Зарегистрирован: 12 июл 2005, 16:10
Откуда: Харьков
прог. языки: Lua, C, JS

Re: Управление сервой

Сообщение Kolshik » 02 сен 2010, 07:04

кто нибудь, помогите, овем мозг не варит уже... :shock:
киньте кусочек программы, как пример, управления модерниз. под пост. вращение сервой...
переделать переделал, а справится не могу :cry:
сразу говорю... я очень начинающий :oops:
Аватара пользователя
Kolshik
 
Сообщения: 23
Зарегистрирован: 02 сен 2010, 06:57
Откуда: Мурманск
прог. языки: C++
ФИО: Иван

Re: Управление сервой

Сообщение SkyStorm » 04 сен 2010, 11:40

Вот хорошая статья про управление сервами при помощи Arduino.
Управление Cервой постоянного вращения(Continuous Rotation Servo), не сильно отличается, чем дальше ты уходишь от центра тем выше скорость вращения.
Никто кроме нас!!!
4Robots.ru - Все для роботов!
Аватара пользователя
SkyStorm
 
Сообщения: 2687
Зарегистрирован: 05 фев 2008, 15:33
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович

Re: Управление сервой

Сообщение Kolshik » 24 сен 2010, 19:47

типо разобрался, 90 гр это стоим на месте.. (тока серва жестко дергается)
и в градусах поворота указываем скорость вращения в ту или иную сторону...
Аватара пользователя
Kolshik
 
Сообщения: 23
Зарегистрирован: 02 сен 2010, 06:57
Откуда: Мурманск
прог. языки: C++
ФИО: Иван

След.

Вернуться в Arduino и другие Xduino

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

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