roboforum.ru

Технический форум по робототехнике.
Текущее время: 20 апр 2025, 04:06

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




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Как управлять сервомоторами?
СообщениеДобавлено: 13 мар 2009, 13:29 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
Обычно в спецификации на серву пишут: 360 Modifiable: Yes - переделать можно, ну а дальше формируйте импульсы :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как управлять сервомоторами?
СообщениеДобавлено: 25 мар 2009, 16:04 
Не в сети
Аватара пользователя

Зарегистрирован: 31 дек 2008, 22:47
Сообщения: 175
Откуда: Подмосковье, Ногинск
прог. языки: С, С++, Ну и начинал я в Visual Basic.
Можно пожалуйста болвану (мне), который мало чего понял объяснить?
Цитата:
Импульс повторяетсья с частотой 50 гц от длины импульса зависит как повернется серва если длина импкльса 1.5 мк то по центру если 0.9 то в левом крайнем положении, если 2.1 то в правом крайнем положении, нам нужно генерировать этот сигнал.

Это правильно?
Цитата:
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0x70;
PORTB.0=1;
delay(время); //Нужно менять от 1.5мс до 2.1мс
PORTB.0=0;
}

И это правильно?

Как я понимаю: в первой цитате сказано нада менять длину импульса, а что меняют во второй?
Можно пример на WinAvr.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как управлять сервомоторами?
СообщениеДобавлено: 25 мар 2009, 16:29 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
Я бы посоветовал вам этот код удалить...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как управлять сервомоторами?
СообщениеДобавлено: 25 мар 2009, 16:34 
Не в сети
Аватара пользователя

Зарегистрирован: 31 дек 2008, 22:47
Сообщения: 175
Откуда: Подмосковье, Ногинск
прог. языки: С, С++, Ну и начинал я в Visual Basic.
Ну не этот

Код:
#include <90s2313.h>
#include <delay.h>
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0xB2;
PORTB.0=1;
delay_us(1400);       // меняй это число в диапаоне 900-2100
PORTB.0=0;            // серву подключай к PB0   
// Place your code here

}


Вот этот.

Добавлено спустя 28 секунд:
Это всё с этой темы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как управлять сервомоторами?
СообщениеДобавлено: 25 мар 2009, 16:36 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
А это ИМХО полный отстой :bad:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как управлять сервомоторами?
СообщениеДобавлено: 25 мар 2009, 16:40 
Не в сети
Аватара пользователя

Зарегистрирован: 31 дек 2008, 22:47
Сообщения: 175
Откуда: Подмосковье, Ногинск
прог. языки: С, С++, Ну и начинал я в Visual Basic.
Ну скажите пожалуйста хороший. Хотя там на 2 странице сказали что работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как управлять сервомоторами?
СообщениеДобавлено: 25 мар 2009, 16:40 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
А чем не нравится код из курса?
Код:
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
    TCNT1H = 0x00;
    TCNT1L = 0x00;
    PORTB = pb_state[index_st];
    if (index_st == 1)
    {
        OCR1A = ctr_last;
        ctr_last = 20000;
        index_st = 0;
    }
    else
    {
        OCR1A=988+(((unsigned int)servo_poz)<<2);
        ctr_last -= OCR1A ;
        index_st ++ ;
    };
}


Меняешь servo_poz и всё, у меня так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как управлять сервомоторами?
СообщениеДобавлено: 25 мар 2009, 16:43 
Не в сети
Аватара пользователя

Зарегистрирован: 31 дек 2008, 22:47
Сообщения: 175
Откуда: Подмосковье, Ногинск
прог. языки: С, С++, Ну и начинал я в Visual Basic.
А можно ссылку.
Тут чёт много регистров непонятных, хочу почитать объяснения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как управлять сервомоторами?
СообщениеДобавлено: 25 мар 2009, 16:46 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
http://avr123.nm.ru/z13.htm


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

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


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

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


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

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