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/TMS320F28069M: Lab 13f - Dual Motor Sensored Position problem

Part Number: TMS320F28069M

Tool/software: Code Composer Studio

Hello

I am having problem running the motors when running my modified lab 13f on my TMS320F28069M with two DRV8305EVM. The modification is to have HALL sensors instead of encoders.

This modification part I feel work fine because the st_obj[0].pos.conv.Pos_mrev is increased 1 with each manual turning of motor. The problem is that the motor does not run when I set gMotorVars[0].PosStepInt_MRev = 1 and then gMotorVars[0].RunPositionProfile = 1 (actually have to do it three times, motor locked first two times).

What is happening third time is that gMotorVars[0].SpinTAC.PosMoveStatus = ST_MOVE_IDLE->ST_MOVE_BUSY->ST_MOVE_IDLE very fast. I can manualy rotate the motor easy one revolution and then the motor locks the position. I also see gMotorVars[0].SpinTAC.PosCtlErrorID = 2002 during easy rotation. At the samt time gMotorVars[0].SpinTAC.PosCtlStatus = ST_CTL_IDLE during easy rotation and when locked it is changed to ST_CTL_BUSY.

Same behaviour for both motors.

I have tried so many things but I just cant get the motor to move. It feels like it knows where to go but refuse to move.

Should mention that I run several previous labs including 12a where motor runs smothly also with modified to HALL sensor. Same user_j1.h file used for user_mtr_on_j1.h and user_mtr_on_j5.h in the two labs.

Please help me.

Thanks

Johan

  • It seems like the rotor angle and position are not correct for spinTAC when you are using the hall sensor for angle detection, please make sure the angle and position are correct and resolution is enough first.
    Btw, what resolution is the hall sensor, that means how many pulse signals of the hall sensor every rotation?
  • Thanks for the answer. The resolution should be 42 (7x6); USER_MOTOR_NUM_POLE_PAIRS = 7. We discuss the resolution should be enough for our use.
    Can you please describe how I can make sure the angle and position are correct then how to fix?

    Appreciate any help.

    Thanks
  • The resolution is enough for your application, but it's not good for the spinTAC algorithm. I don't think it's a good choice for your application based on spinTAC, the resolution of hall sensor is not enough for the spinTAC algorithm that needs an encoder or resolver have a higher position resolution.
    How did you calculate the angle with the hall sensor for spinTAC?
  • Hi, Sir
    It's been a week since we heard from you, so I am assuming you no longer need clarification for your question that will be marking this thread as closed. You can reply with a post or create a new thread if you have any further question on this topic. Thanks.