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.

unable to run the motor in INSTASPIN-FOC with DRV8312

Other Parts Discussed in Thread: MOTORWARE, TMS320F28069, DRV8312

HI

I have been trying to run the motor in FOC. I have also tried a few example programs from control suite. But was unable to run the motor. LED will be blinking when the program is run.When sys_enable and run_identify were set to 1,the motor parameters were identified but motor wasn't spinning during the process of motor identification. Please suggest me with the appropriate solutions.

Regards,

Ashraya 

  • Hi Ashraya

    Which kit and motor are you using? It is possible that the motor is not running in the identification process. After motor is correctly identified, have you try running with speed specified?

    Also, it is recommended to have your question of INSTASPIN-FOC posted on C2000 forum
    http://e2e.ti.com/support/microcontrollers/c2000/

    Best regards,
  • Ashraya, I'm going to move this to our InstaSPIN forum for the best advice.

    Best regards,
    RE

  • Which kit?
    If the motor doesn't start spinning during the RampUp phase you likely need to increase the RES_CURRENT until it does. There is some trouble shooting included in the GUI QSG. The UNIVERSAL GUI QSQ has a good section, however it was accidently left out of the last MotorWare _13 release.
    I've posted it on the forum here:

    http://e2e.ti.com/support/microcontrollers/c2000/f/902/t/349797
  • Hi

    It is C2000 developer kit,it is INSTASPIN FOC TMS320F28069,DRV8312.

    I was trying to run the program 5b-tuning the FAST speed loop.

    Even after increasing the res_est_current value no response was seen. The LED toggles wen the program is run. When program 2b-using INSTASPIN out of user RAM or/and Flash, identification of motors was done but motor doesn't spin in ramp-up. If it is possible for you to provide me with the project file of your own for the mentioned developer kit, it would be of great help.

    The following variables were read for the program-5b after sometime.

    gMotorVars struct _MOTOR_Vars_t_ {...} 0x00008C40@Data 

    gMotorVars.UserErrorCode enum unknown USER_ErrorCode_NoError 0x00008C4B@Data
    gMotorVars.CtrlVersion struct _CTRL_Version_ {...} 0x00008C4C@Data
    gMotorVars.Flag_enableSys unsigned int 1 (Decimal) 0x00008C40@Data
    gMotorVars.Flag_Run_Identify unsigned int 1 (Decimal) 0x00008C41@Data
    gMotorVars.Flag_enableUserParams unsigned int 1 (Decimal) 0x00008C46@Data
    gMotorVars.Flag_enableRsRecalc unsigned int 0 (Decimal) 0x00008C45@Data
    gMotorVars.Flag_enableForceAngle unsigned int 1 (Decimal) 0x00008C43@Data
    gMotorVars.Flag_enableOffsetcalc unsigned int 1 (Decimal) 0x00008C47@Data
    gMotorVars.Flag_enablePowerWarp unsigned int 0 (Decimal) 0x00008C48@Data
    gMotorVars.CtrlState enum unknown CTRL_State_OnLine 0x00008C49@Data
    gMotorVars.EstState enum unknown EST_State_OnLine 0x00008C4A@Data
    gMotorVars.SpeedRef_krpm long 0.09999996424 (Q-Value(24)) 0x00008C54@Data
    gMotorVars.MaxAccel_krpmps long 0.1999999881 (Q-Value(24)) 0x00008C58@Data
    gMotorVars.Speed_krpm long -0.0007853507996 (Q-Value(24)) 0x00008C5A@Data
    gMotorVars.Torque_Nm long 0.0 (Q-Value(24)) 0x00008C64@Data
    gMotorVars.MagnCurr_A float 0.0 0x00008C66@Data
    gMotorVars.Rr_Ohm float 0.0 0x00008C68@Data
    gMotorVars.Rs_Ohm float 0.0 0x00008C6A@Data
    gMotorVars.Lsd_H float 0.0 0x00008C6E@Data
    gMotorVars.Lsq_H float 0.0 0x00008C70@Data
    gMotorVars.Flux_VpHz float 0.0 0x00008C72@Data
    gMotorVars.Kp_spd long 12.79999924 (Q-Value(24)) 0x00008C74@Data
    gMotorVars.Ki_spd long 0.08533328772 (Q-Value(24)) 0x00008C76@Data
    gMotorVars.Kp_Idq long 0.0 (Q-Value(24)) 0x00008C78@Data
    gMotorVars.Ki_Idq long 0.0 (Q-Value(24)) 0x00008C7A@Data
    gMotorVars.VdcBus_kV long 0.0003999471664 (Q-Value(24)) 0x00008C84@Data
    gDrvSpi8301Vars unknown Error: identifier not found: gDrvSpi8301Vars
    Add new expression

    Regards,

    Ashraya

  • you need to go back to proj_lab02 and work this lab until the motor runs through identification properly (spins from RampUp through RampDown).

    If you start with proj_lab02a or 2b, this is ID for "normal" motors.  While it's ID'ing, you can view the variables in the controller_obj

    .RoverL

    .Rhf

    .Lhf

    these are the initial estimations from the high frequency injection (default is 300 Hz signal).  If the RoverL value is >= 2000 (or has rolled over negative) then this means you have a higher speed motor and you need to use proj_lab02c to ID.

    In both cases, you need to make sure that

    USER_MOTOR_RES_EST_CURRENT

    is large enough to get the motor spinning at the RampUp stage

    and that you run the motor at about 10% of the rated frequency for the flux and Ls estimation:

    USER_MOTOR_FLUX_EST_FREQ_Hz

    Make sure that the Ls values returned (they will be equal) are reasonable, meaning at least in the uH range.  Anything less (like e-10) means the ID did not function correctly (because you weren't running 2c, the motor didn't start spinning, or the motor stopped spinning).