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.

采用28027F的无感lab10a异常停止问题?

Other Parts Discussed in Thread: MOTORWARE

我采用TI的hvkit_rev1p1的平台,控制器是28027F

程序中在 mainISR(void)中有如下闪灯程序  

HAL_toggleLed(halHandle,(GPIO_Number_e)HAL_Gpio_LED2);

该中断应该是PWM触发ADC采集,ADC采集后触犯该中断,正常时该灯应闪烁。

出现如下两个问题:

A、在跑高功率时突然出现电机自动停止,而且该灯停止闪烁,重新上电后又正常。

B、如果特意不加母线电压(其它低压部分上电,高压不上电)情况时,该灯也是闪烁一会就会自动停止。

自己判断:

1、应该是程序判断到异常(比如B中母线电压不正常),关闭了PWM,进而导致ADC停止采集,也就没有继续触发 mainISR(void)中断,也就没有运行电机。

2、经过在程序中添加灯检测等手段,没有发现任何故障状态,主程序一直正常在跑。

现问问各位,TI程序中判断此类异常的代码在什么地方?是怎么个判断方法,谢谢大家!

  • "

    程序中在 mainISR(void)中有如下闪灯程序  

    HAL_toggleLed(halHandle,(GPIO_Number_e)HAL_Gpio_LED2);

    该中断应该是PWM触发ADC采集,ADC采集后触犯该中断,正常时该灯应闪烁。

    出现如下两个问题:

    A、在跑高功率时突然出现电机自动停止,而且该灯停止闪烁,重新上电后又正常。

    B、如果特意不加母线电压(其它低压部分上电,高压不上电)情况时,该灯也是闪烁一会就会自动停止。"

    ERIC:

    如你所说,LED闪烁是在主中断里面去做的。灯停止,那就是中断没有执行。

    有可能是跑到非法中断去了。不知是否是你加了什么代码的缘故。

    另外,你的可以带仿真器跑,当灯停止的时候,你暂停仿真器看看跑在哪里。

  • 非常感谢ERIC的回复,按照你的思路,我完全采用motorware的原始程序来实验,实验结果如下:
    1、采用motorware_1_01_00_16的hvkit_rev1p1的lab10程序,当不提供母线电压时,灯过一会就会停止闪烁。
    2、采用motorware_1_01_00_18的hvkit_rev1p1的lab10程序,即使不提供母线电压,灯仍然会一直闪烁。
    此实验我持续实验了不下10次,确实有如下现象,不太明白16和18版本有什么区别?