Страница 1 из 1

Двигатель на ШИМ

Добавлено: Чт апр 29, 2010 11:01:21
HekuToc
Можно ли самый обычный моторчик повесить на ШИМ от АТмеги через L293? И почему не работает :D

Код: Выделить всё

interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
REF=1; //порт Б какойто, тот, что на драйвер Правого канала
LEF=1; //порт Б какойто, тот, что на драйвер Левого канала
}

// Timer1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
REF=0;
}

// Timer1 output compare B interrupt service routine
interrupt [TIM1_COMPB] void timer1_compb_isr(void)
{
LEF=0;
....
while(1)
    { 
    OCR1AH=255;
    OCR1BH=127;
   
     delay_ms(1000);
    
    OCR1AH=127;
    OCR1BH=255;
    
    delay_ms(1000);
    
    };
Я думал, что будет что то вроде змейки, а он тупо по кругу ездит.

Re: Двигатель на ШИМ

Добавлено: Чт апр 29, 2010 23:35:26
Meteor
Под змейкой Вы реверс понимаете или чтото иное?

Re: Двигатель на ШИМ

Добавлено: Пт апр 30, 2010 08:12:09
HekuToc
что то вроде синусоиды (А)
а получил круг, аля, (Б)
Изображение

как вообще L293D на Шиму смотрит? Моторчики гудят, но не едут.

Re: Двигатель на ШИМ

Добавлено: Пт апр 30, 2010 11:09:24
HekuToc
Всем спасибо, проблема решена. Я Использовал только Верхний или нижний бит сравнения, а надо ОБА. Вот так

Код: Выделить всё

count=floor(p*MAX);
        OCR1BH=(count*650)/256;
        OCR1BL=(count*650)%256;
где P - процент мощности.

Re: Двигатель на ШИМ

Добавлено: Чт май 06, 2010 12:09:29
Modest
HekuToc писал(а):Я думал, что будет что то вроде змейки, а он тупо по кругу ездит.
Даже с картинкой, я всё равно не понял :shock: :shock:
Только я один?

Re: Двигатель на ШИМ

Добавлено: Чт май 06, 2010 12:55:02
Meteor
Скорее всего это новый тип двигателя - мотор круглосинусный, коротко МОКРУСИ, соответственно и управление к нему необходимо "витиеватое". :wink:

Re: Двигатель на ШИМ

Добавлено: Чт май 06, 2010 13:14:26
Modest
Точно. И с функцией "ездить по кругу" :)) :))

Re: Двигатель на ШИМ

Добавлено: Сб май 08, 2010 19:04:41
HekuToc
На картинке изображена траектория, а работал только один двигатель, но я уже разобрался. Робот ужасно выступил. Из за большого вес проскакивал повороты. =(