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/DRV8301-69M-KIT: Trouble Successfully Identifying Motor Parameters with Lab2a

Part Number: DRV8301-69M-KIT

Tool/software: Code Composer Studio

Hello,

I have been trying to successfully complete the motor indetification process on a custom motor that I have, but I don't think it is finishing successfully.  Reading through the Insta-SPIN User Guide I have been attempting to find the balance of motor parameters in the user.h file in order to have the motor continue to spin throughout the entire Ramp_Up state, Flux measurement state, and the Ls measurement states.  In the user guide trouble shooting section, they suggested increasing the #define USER_MOTOR_RES_EST_CURRENT for better performance in the ramp_up section and increasing the #define USER_MOTOR_FLUX_EST_FREQ_Hz if the motor stops rotating during the Flux and Ls stages of the measurements, but going up to 100Hz for the USER_MOTOR_FLUX_EST_FREQ_Hz and I am still experiencing motor stops.

Please advise as to what I could be overlooking.

Thanks.

  • As user guide, you need to set below parameters in user.h based on your motor, set the right value to enable motor run smoothly. In normal conditions, set USER_MOTOR_RES_EST_CURRENT and USER_MOTOR_IND_EST_CURRENT to about 20% of motor rated current, and USER_MOTOR_FLUX_EST_FREQ_Hz is about 10% of rated frequency.

    #define USER_MOTOR_RES_EST_CURRENT (1.5)
    #define USER_MOTOR_IND_EST_CURRENT (-1.0)
    #define USER_MOTOR_MAX_CURRENT (10.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (40.0)
  • I have set those parameters to the best of my ability to determine what the maximum ratings are (as well as used the supplied defaults from TI) with no success.  From the Insta-SPIN and Insta-MOTION User's Guide I I have been reading through the trouble shooting tips in getting the motor identification to occur properly 

    6.9.2.8 Troubleshooting Flux Measurement
    The monitored value of flux is considered unstable if any of the following is observed:
    • saturating and not varying
    • any negative value
    • more than 10% variation, when the estimator state machine moves on to the next state, EST_State_Ls
    If it is unstable, it is recommended to increase the time where the fine tuning of the rated flux is done
    (pUserParams->FluxWaitTime[EST_Flux_State_Fine]) in user.c.
    If the motor stops spinning at any point during the identification of the flux, halt the identification process
    and retry it with a higher frequency by changing the following value set in user.h:

    But looking through the user.c code, at the end of the Ramp phase there appears to be a state to ramp down the motor and then perform the flux measurements.  During this transition period and then at the end of the flux measurement and the Ls and Ld measurement phases my motor does not continue to spin as described in the Insta-SPIN user guide which states that the motor will continue to spin at the spped reached at the end of the ramp phase.  Is this correct?  Should the motor reach its maximum rated RPM at the end of the ramp phase and then the motor flux characterization is carried out at this speed?  I have tried stepping up my USER_MOTOR_FLUX_EST_FREQ_Hz to 100Hz and still encounter stops in these phases of the identification process.

  • Hello Michael,

    The function USER_setParams configures the EST waittimes (the pUserParams->estWaitTime[EST_State_RampDown] etc. lines). The phases are not (necessarily) executed in the order they appear in that function. spruhj1g.pdf section 6.2.2 shows the EST state machine.

    Since you quote section 6.9.2.8 I assume this is a PM motor?

    The EST uses a temporary estimate of the speed PID parameters, which can be a bit off for some oddball motors. I've had bad luck on low inertia, low stator induction motors (which was solved by changing to a much higher switching frequency), and 220V AC motors rewound for lower voltages (which I solved by overriding the temporary PID parameters - You can detect the EST state transition from Ramp Up to Rated Flux OL and force new PID parameters into the CTRL object on the fly).

    The current and speed PID parameters are based on the Rhf and Lhf values, estimated during RoverL. Is the result of this phase plausible?
  • Have you with the mechanics everything in order? Friction? load?