TMS320F28069M: 运行Instaspin-foc lab1c MOS管过热

Part Number: TMS320F28069M
Other Parts Discussed in Thread: DRV8305

工程师您好,我仿照TMS320F28069M Launchpad设计了一个电机驱动板,主控芯片采用的是TMS320F28069M,驱动部分采用的是三个分立的半桥栅极驱动芯片去驱动MOSFET,我在运行Instaspin-foc lab1b的时候,情况非常正常,这是我用电流钳采集到的相电流波形:

这是我用CCS的graph绘制的相电流波形:

两者基本对应。

我在运行lab1c的时候,电机也能转动,改变speedRef值电机的转速也能跟着变化,但是MOSFET会迅速变热,甚至冒烟,gMotorVars.VdcBus_kV会减少到0.016,正常应该是0.024,我用的是24V/5A的电源给母线供电,很明显是消耗的电流已经超过了5A导致24V电压跌落到了16V,我想咨询一下这可能是由于什么原因导致的呢?谢谢。

  • 补充一下,我发现在运行lab1b时用datalog绘制的采样到的相电压波形正负不对称,如下图所示:

    正的最大值约0.02,负的最大值约-0.04,请教一下这会是什么原因导致的呢?谢谢

  • 在运行lab1c的时候,我用电流钳采集到的相电流如下图所示:

    电流钳增益是100mV/A,探头是10:1,也就是说相电流的峰峰值达到了7.12A,用CCS Datalog绘制的相电流波形如下图:

    用示波器看到PWM输出信号的占空比达到了85.7%,我的电路用的电流传感器是TI的INA253A3进行低端三电阻采样,施加的偏置电压是1.685V,所以在user.h中设置了

    #define USER_ADC_FULL_SCALE_CURRENT_A        (8.075)

    MOSFET过热发热应该是过流导致的。

    但是我在TMS320F28069Launchpad+DRV8305套件上运行lab1c的时候,用示波器看到PWM输出信号的占空比只有50%,没有发生过流导致的MOSFET发热。

    我想不通为什么会这样,希望得到你们的帮助,谢谢。

  • 找到问题了,原来是HAL_readAdcData(HAL_Handle handle,HAL_AdcData_t *pAdcData)函数里面的_iq current_sf = -HAL_getCurrentScaleFactor(handle);

    原来是“+”号,改为“-”号问题就解决了。

    顺便补充一下,《InstaSPIN-FOC和InstaSPIN-MOTION用户指南(中文版)》第五章关于这个地方的指导是错的吧,如下图所示:

    完全不是一个地方。

    希望后来的朋友注意一下。

  • 感谢您对TI产品的关注,祝您生活愉快。