|
首先说明一下现在出现的问题
我用STM32的霍尔接口做无刷电机,无刷电机每运行一圈,霍尔有六个状态,在每个状态均会进入一次中断,
但是现在我测试的是在每个霍尔状态均会进入n次中断而不是1次
比如说,正常运转的时候电机是按照1,3,2,6,4,5
而现在电机的中断是这样进入的1,1,1,1,3,3,2,2,2,6,6,6,6,4,4,4,5,5
请教为何?
问题:
1.在STM32霍尔接口中有个滤波器,请教在何种场合下需要使用,具体作用?
2.TIM_PrescalerConfig(HALL_TIMER, 0xff00, TIM_PSCReloadMode_Immediate);
这个函数的作用是什么?
在实际的测试中我改变了中间的那个参数预分频值,随着参数的变小,进入霍尔中断的处理会发生改变,那就是他会进入中断,但是不会去处理任何中断只会进入更新中断,很多次之后才会处理霍尔的异或中断,但是当变大这个值的时候他也是会进入几霍尔异或中断而不是每次霍尔中断只进一次????
请教这个参数该如何处理?
3. TIM_DeInit(HALL_TIMER);//////先开时钟再关
//为什么需要这样?
在实际测试的时候我注释掉这句话却出现一个错误,那就是电机运行时,霍尔中断是间隔一次进入一次中断,也就是说正常运转的时候电机是按照1,3,2,6,4,5这个相序运转但是此时进霍尔中断的相序是3,6,5.
但是当用手转的时候,很慢的转动电机,电机可以进入每次霍尔中断,为啥呢?请教各位给解释一下这样做的意义?
请教各位给以解答,谢谢! |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|