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.

CCS/TMDXIDDK379D: Fail to run motor on IDDK with T-format encoder

Part Number: TMDXIDDK379D
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

Hello Champs,

I have connected a PMSM motor with T-format encoder to TMDXIDDK379D (with F28379D controlCARD in H1):

Motor U/V/W to TB1, encoder Data+ to pin6 of H6, encoder Data- to pin 8 of H6, encoder 5V to pin7 of H6, encoder GND to pin1 of H6.

I have import below project "fcl_f2837x_tmdxiddk" in CCSv10.1.0 (CGT version is v20.2.1.LTS):

C:\ti\c2000\C2000Ware_MotorControl_SDK_3_00_01_00\solutions\tmdxiddk379d\f2837x\ccs\sensored_foc

1) According to user guide, In "fcl_f2837x_tmdxiddk_settings.h", BUILDLEVEL is set to FCL_LEVEL2 and POSITION_ENCODER is set to T_FORMAT_ENCODER :

--------------------------------------------------------------------------------------------------------------------------------------------------

#define CGND COLD

#define BUILDLEVEL FCL_LEVEL2

#define SAMPLING_METHOD SINGLE_SAMPLING // DOUBLE_SAMPLING //

#define FCL_CNTLR PI_CNTLR // CMPLX_CNTLR //

#define CURRENT_SENSE LEM_CURRENT_SENSE // SD_CURRENT_SENSE //

#define POSITION_ENCODER T_FORMAT_ENCODER //QEP_POS_ENCODER

--------------------------------------------------------------------------------------------------------------------------------------------------

After the codes are being compiled and loaded into RAM, set "enableFlag" to 1, and then set "runMotor" to Motor_RUN, the motor cannot run and the "runMotor" is always showing "Motor_STOP" status.

If I changed the "POSITION_ENCODER" to "QEP_POS_ENCODER", compiled and then loaded the code again, set "enableFlag" to 1, and then set "runMotor" to Motor_RUN, the motor can successfully run.

My question is: Why did the motor not run with the settings of "T_FORMAT_ENCODER"?

2) If BUILDLEVEL is set to FCL_LEVEL3 and POSITION_ENCODER is set to T_FORMAT_ENCODER :

--------------------------------------------------------------------------------------------------------------------------------------------------

#define CGND COLD

#define BUILDLEVEL FCL_LEVEL3

#define SAMPLING_METHOD SINGLE_SAMPLING // DOUBLE_SAMPLING //

#define FCL_CNTLR PI_CNTLR // CMPLX_CNTLR //

#define CURRENT_SENSE LEM_CURRENT_SENSE // SD_CURRENT_SENSE //

#define POSITION_ENCODER T_FORMAT_ENCODER //QEP_POS_ENCODER

--------------------------------------------------------------------------------------------------------------------------------------------------

After the codes are being compiled and loaded into RAM, set "enableFlag" to 1, and then set "runMotor" to Motor_RUN, the motor cannot run and the "runMotor" is always showing "Motor_STOP" status.

The "tripFlagDMC" has not been set. I have tried swapping two phase of the motor and run the codes again but the issue still existed. 

My question is: why was "runMotor" always set to Motor_STOP and why did the motor not run in level3?

 

Would you please kindly help? Thanks!

Best Regards,

Linda