求助!无感无刷直流电机用定时器中断来计算转速时无法控制速度,改成滴答定时器就没问题!

2019-07-20 22:59发布

每次我用TIM4定时器来记录一个时间段内换相的次数然后计算转速时,就会出现无法通过PID控制转速的问题,但是改成滴答定时器来记录就没问题,请求大佬帮我查找一下原因,感谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
埃尔热
2019-07-21 06:46
文件里的TIM4的初始化设置不对,我已经改为以下程序
void TIM4_Configuration1(void)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    TIM_DeInit( TIM4);                             

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);

    TIM_TimeBaseStructure.TIM_Period = 100;               
    TIM_TimeBaseStructure.TIM_Prescaler = 7199;     
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;  // ʱÖӷָ
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //¼ÆÊý·½ÏòÏòÉϼÆÊý
    TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);

    TIM_ClearFlag(TIM4, TIM_FLAG_Update);

    TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE);  
    TIM_Cmd(TIM4, ENABLE);
}

一周热门 更多>