lvjun1013 发表于 2012-2-12 20:27:35

mega16 PWM 直流无刷电机调速出现某明奇妙的问题?求教各位高手

在直流无刷电机调速时,当速度稳定在目标值时,每隔2分10秒的样子,就会出现电机一卡的现象,很奇怪,太有规律了额,两种的不同的电机方案,出现同样的问题,我软件上也找不出问题,想求教各位高手,定时器配置如下:
void Timers_Initial(void)
{
    OCR0 = 0x00;//
    TCNT0 = 0x00;
    TCCR0 = 0x07; //
   
    //T/C1初始化
    TCNT1H = 0x00;
    TCNT1L = 0x00;
    ICR1H = (MAX_PWM_NUMBERS>>8)&0xff;//最大10000,先写高字节,再写低字节
    ICR1L = MAX_PWM_NUMBERS&0xff;
    OCR1AH = 0x00;
    OCR1AL = 0x00;   
    TCCR1A = (1<<COM1A1)|(1<<WGM11);
    TCCR1B = (1<<WGM13)|(1<<WGM12)|(1<<CS10);

    //T/C2初始化    2ms
    ASSR = 0x00;
    TCNT2 = 0x00;//
    OCR2 = 0x7C;   //
    TCCR2 = (1<<WGM21)|(1<<CS22)|(1<<CS20); // CTC 16M/128
    TIMSK = 0x80;
}

TO对电机脉冲的计数,TIMER1发PWM,电机运行过程中,一直在调整OCR1A,其值肯定不大于ICR1

看门狗
WatchDogFeed();                   // 喂狗   
WDTCR = 0x18;
WDTCR = 0x08+0x06;                // 允许看门狗, 1s

晶振8M

yinnianlong 发表于 2012-2-12 21:29:07

难道是看门狗?
页: [1]
查看完整版本: mega16 PWM 直流无刷电机调速出现某明奇妙的问题?求教各位高手