Other Parts Discussed in Thread: BOOSTXL-DRV8323RS, CSD88584Q5DC
Tool/software:
Hello,
I am running MSPM0 Sensorless FOC from SDK 2.1.0.03. The motor startup works quite well until one of the BOOSTXL-DRV8323RS MOSFETs (C1 or C2 or C3) shows signs of a thermal event. This happened now to two boards and I am a bit puzzled as the operation is well within the bounds I know about.
The system is supplied with 30 V and about 5 A while the motor is running stable, as far as I can judge by the sound of it. This should be well within the limits as it is less than 48 V and less than 15 A. However, after some seconds the thermal event takes place and one of the MOSFETs starts smoking. The motor stops spinning and the following status information is shown:
systemFaultStatus: 0 (NO_FAULTS)
motorState: 6 (MOTOR_ALIGN)
I set up my system in accordance with the tuning guide in preparation for Open Loop Debug, which led to the following adjustments:
pUserInputRegs->mtrStartUp1.b.mtrStartUpOption = 0; // Motor start-up method Align pUserInputRegs->mtrStartUp1.b.olILimitCfg = 0; // Open loop current limit defined by OL_ILIMIT pUserInputRegs->mtrStartUp2.b.olILimit = 0x05; // Open loop current limit at 10 % * FULL_SCALE_CURRENT_BASE pUserInputRegs->faultCfg2.b.maxVmMtr = 0x3; // Voltage maximum at 75 % * voltageBase pUserInputRegs->faultCfg2.b.minVmMtr = 0x0; // No voltage minimum pUserInputRegs->isdCfg.b.isdEn = 0; // Start with standstill pUserInputRegs->systemParams.mtrResist = 39; // 38.5 mOhm pUserInputRegs->systemParams.mtrInductance = 17; // 16.95 µH pUserInputRegs->systemParams.mtrBemfConst = 167; // 16.717 mV/Hz pUserInputRegs->systemParams.currLoopKp = 0; // Auto compute pUserInputRegs->systemParams.currLoopKi = 0; // Auto compute pUserInputRegs->systemParams.mtrSaliency = 0.0548; pUserInputRegs->systemParams.voltageBase = 57.42; // 57.42 V pUserCtrlRegs->algoDebugCtrl1.b.closeLoopDis = 1; // run in open loop only for Motor Open Loop Debug pUserCtrlRegs->algoDebugCtrl2.b.currLoopDis = 1; // disapble current loop only for Motor Open Loop Debug pUserCtrlRegs->algoDebugCtrl2.b.forceVDCurrLoopDis = 100; // starting point for tuning pUserCtrlRegs->algoDebugCtrl2.b.forceVQCurrLoopDis = 100; // starting point for tuning pUserCtrlRegs->speedCtrl.b.speedInput = 500; #define FULL_SCALE_CURRENT_BASE 23.571 #define MOTOR_MAX_SPEED 833.0
I would like to prevent losing more hardware. Is there anything I am missing?