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/TMS320F28054M: InstaSpin FOC Overflow Counter

Part Number: TMS320F28054M


Tool/software: Code Composer Studio

Motor: ACI Motor 

rated V: 240 V

Rated I: 1.2 A

Rated Freq: 30Hz

Chip: 28054M

Board: TMDSHVMTRKIT5X

Lab: 2a

When I am commissioning my motor on the EST_IdRated stage, I have a overflow counter for the core register status of about 16 or 6'b001111. I get a values that is always incrementing. Is the Overflow counter for the Core Register suppose to be zero. Since having an overflow in the calculation is bad. This could be the reason why my motor stops and NEVER finishes. Attached is a image of the register.

Below is my motor user.h 

#define USER_IQ_FULL_SCALE_FREQ_Hz     (300)  
#define USER_IQ_FULL_SCALE_VOLTAGE_V   (355)    // 450.0 Example for hvkit_rev1p1 typical usage

#define USER_ADC_FULL_SCALE_VOLTAGE_V     (409.6)// (289.2)     // 409.6 hvkit_rev1p1 voltage scaling

#define USER_VOLTAGE_SF               ((float_t)((USER_ADC_FULL_SCALE_VOLTAGE_V)/(USER_IQ_FULL_SCALE_VOLTAGE_V)))

#define USER_IQ_FULL_SCALE_CURRENT_A         (20)     // 10.0 Example for hvkit_rev1p1 typical usage

#define USER_ADC_FULL_SCALE_CURRENT_A     (19.89) 

#define USER_MOTOR_TYPE                 MOTOR_Type_Induction
#define USER_MOTOR_NUM_POLE_PAIRS       (2)
#define USER_MOTOR_Rr                   (0.1)
#define USER_MOTOR_Rs                   (18.5)
#define USER_MOTOR_Ls_d                 (0.1)
#define USER_MOTOR_Ls_q                 USER_MOTOR_Ls_d
#define USER_MOTOR_RATED_FLUX           (0.7)
#define USER_MOTOR_MAGNETIZING_CURRENT  (0.1)
#define USER_MOTOR_RES_EST_CURRENT      (0.3)
#define USER_MOTOR_IND_EST_CURRENT      (0.0)
#define USER_MOTOR_MAX_CURRENT          (3.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz     (5.0)
#define USER_MOTOR_FREQ_LOW             (10.0)          // Hz - suggested to set to 10% of rated motor frequency
#define USER_MOTOR_FREQ_HIGH            (30.0)          // Hz - suggested to set to 100% of rated motor frequency
#define USER_MOTOR_FREQ_MAX             (36.0)          // Hz - suggested to set to 120% of rated motor frequency
#define USER_MOTOR_VOLT_MIN             (6.0)          // Volt - suggested to set to ~20% of rated motor voltage
#define USER_MOTOR_VOLT_MAX             (240.0)         // Volt - suggested to set to 100% of rated motor voltage 

 

  • It's not the root cause since OVC may appear for some instructions in a project. You should set a right USER_MOTOR_RATED_FLUX based on the spec. of a motor, it equals to (rated voltage)*sqrt(3)/2/(rated frequency). It seems like the USER_MOTOR_RATED_FLUX is too low in your project. And you should tune the USER_MOTOR_RES_EST_CURRENT also to spin the motor smoothly, it may be small also.