roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 23:01

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




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: m128-ds + сервы
СообщениеДобавлено: 11 авг 2011, 18:30 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Не могу разобраться в чём проблема(((
Взял код (из робовики) управления сервами при помощи 4017 счётчика
Код:

uint16_t servo_position[9] = {3000 //для среднего положения

volatile uint32_t i;


SIGNAL(SIG_OUTPUT_COMPARE1A)
{
   
   static uint8_t current_servo = 1;
   
   
   static uint16_t pause = 40000;

   
   TCCR1A |= _BV(FOC1A);

   if (current_servo == 9) {
      current_servo = 0;
      OCR1A += pause;
      pause = 40000;
   } else {
      
      OCR1A += servo_position[current_servo];
      pause -= servo_position[current_servo];
      current_servo++;
   }
}


Пересчитал все переменные под частоту 7.3728
в итоге получилось
Код:
interrupt [TIM3_COMPC] void timer3_compc_isr(void)
{
static char current_servo=1;
static unsigned int pause = 18432;

TCCR3C|=(1<<FOC3C);
       
        if (current_servo == 9)
        {
         current_servo = 0;
         OCR3C += pause;
         pause = 18432;
        }
        else
        {
         OCR3C+=servo_position[current_servo];
         pause -= servo_position[current_servo];
         current_servo++;
        }
}     
servo_position[9]={1382 //среднее положение

Пред делитель счётчика на 8
Серва работает некорректно дергается сдвигается в сторону при заданном среднем
положении :pardon:

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

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


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

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


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

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