|
在直流无刷电机调速时,当速度稳定在目标值时,每隔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 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|