在C2000的HVBLDC_SENSORLESS例子中,为什么调用换向驱动CMTN_TRIG_MACRO时,只有在CmtnPointer==5时,才调用DELAY_30DEG_MACRO(v)进行换向延迟,在BEMF过零点时,不是应该每个BEMF过零点时,都需要进行30°延迟,以决定换向点么?
TI的这个例子有点不太理解,请教一下各位高手!
另外还有一个疑问,是关于HVBLDC_SENSORLESS例子中的MainISR中的转子对齐功能,没理解在MainISR中转子对齐的原理!求教!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
在C2000的HVBLDC_SENSORLESS例子中,为什么调用换向驱动CMTN_TRIG_MACRO时,只有在CmtnPointer==5时,才调用DELAY_30DEG_MACRO(v)进行换向延迟,在BEMF过零点时,不是应该每个BEMF过零点时,都需要进行30°延迟,以决定换向点么?
TI的这个例子有点不太理解,请教一下各位高手!
另外还有一个疑问,是关于HVBLDC_SENSORLESS例子中的MainISR中的转子对齐功能,没理解在MainISR中转子对齐的原理!求教!
楼主,我看一下,你理解错了。
CMTN_TRIG_MACRO 只计算了上一个电周期的总时间,从而得到延时30度的时间周期。放在哪个状态下计算都无谓。
NOISE_WINDOW_CNT_MACRO 对过零信号进行滤波处理。
具体的延迟30度得到换向点是在 CMTN_TRIG_MACRO 这个里面,在 DelayTaskPointer 为1的分支里,延时到后即置了 CmtnTrig。