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.

TMS320F28026F: Problem at high Speed / High Current using FOC proj_lab05a.c

Part Number: TMS320F28026F
Other Parts Discussed in Thread: DRV8301

Hello,

I use the FOC Motorcontroller for a 48V 150A Motorcontroller for Battery Vehicles.

A lot of Hardware will be damaged by Overvoltage after the calculation of FOC is going out of control. Now I have a powersupply in combination to a electronic load to avoid overvoltage.

The motor is a PM-Motor with a Setup in user.h

#define USER_MOTOR_TYPE                 MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS       (4)
#define USER_MOTOR_Rr                   (NULL)
#define USER_MOTOR_Rs                   (0.07727911323308945)
#define USER_MOTOR_Ls_d                 (0.0005313076544553041)
#define USER_MOTOR_Ls_q                 (0.0005313076544553041)
#define USER_MOTOR_RATED_FLUX           (0.05179470404982567)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
#define USER_MOTOR_RES_EST_CURRENT     (8.0) //
#define USER_MOTOR_IND_EST_CURRENT     (-5.0)       //
#define USER_MOTOR_FLUX_EST_FREQ_Hz     (30.0)
 
#define IPD_HFI_EXC_FREQ_HZ             (750.0)       // excitation frequency, Hz        //750
#define IPD_HFI_LP_SPD_FILT_HZ         (10.0)       // lowpass filter cutoff frequency, Hz
#define IPD_HFI_HP_IQ_FILT_HZ           (20.0)       // highpass filter cutoff frequency, Hz
#define IPD_HFI_KSPD                   (15.7)       // the speed gain value        //31.4
#define IPD_HFI_EXC_MAG_COARSE_PU       (0.2)         // coarse IPD excitation magnitude, pu
#define IPD_HFI_EXC_MAG_FINE_PU         (0.1)         // fine IPD excitation magnitude, pu //0.2
#define IPD_HFI_EXC_TIME_COARSE_S       (0.5)         // coarse wait time, sec max 0.64    //0.2
#define IPD_HFI_EXC_TIME_FINE_S         (0.2)         // fine wait time, sec max 0.4     //0.1
#define AFSEL_FREQ_HIGH_PU             (_IQ(20.0 / USER_IQ_FULL_SCALE_FREQ_Hz))
#define AFSEL_FREQ_LOW_PU               (_IQ(10.0 / USER_IQ_FULL_SCALE_FREQ_Hz))
#define AFSEL_IQ_SLOPE_EST             (_IQ((float)(1.0/0.1/USER_ISR_FREQ_Hz)))
#define AFSEL_IQ_SLOPE_HFI             (_IQ((float)(1.0/1.0/USER_ISR_FREQ_Hz)))
#define AFSEL_IQ_SLOPE_THROTTLE_DWN     (_IQ((float)(1.0/0.05/USER_ISR_FREQ_Hz)))
#define AFSEL_MAX_IQ_REF_EST           (_IQ(1.0))   //0.4
#define AFSEL_MAX_IQ_REF_HFI           (_IQ(0.7))   //0.4

Today I work with only 20A maximum motor current.

The Problem is on all kind of Lab-Software (I testet lab05a lab05b lab11a) with my motor on the own Hardware and also on the DRV8301-69M-KIT Board.

We want to use the motor dynamic with fast accelerations.

Depend on the setting of:

- Spd_Kp, Ki ( use only 10% of the automatic Settings)

- Idq_Kp, Ki (I use only 25% of the automatic Settings)

- PWM Frequency (13 kHz max)

- Setting of maximum motor Current (20 A max)

- Setting of maximum Speed (today only 3.000 rpm)

In the moment if I set one of this 5 settings to a higher level the system will react on high speed and high current sometimes with wrong speed measurements, and also sometimes with high current measurement. Iq_A will be on peak values. As an result all PID stages make stupid things... If I reduce the speed or the current the system will run stable.

For my feeling one Value of the FOC go over an Limit on high current and high speed...

So I use today the projlab05a.c Projekt with a lot of securety-Software around to avoid the Undervoltage, Overvoltage, Overcurrent, max Bus Current.... So my hardware is now in stable status without damaging on Software Problems.

What do I make wrong???

  • With a constraint of 20A, does the motor work correctly on the DRV8301 EVM? Have you altered the user.h settings for USER_ADC_FULL_SCALE_VOLTAGE_V and USER_ADC_FULL_SCALE_CURRENT_A? Including your full user.h would be better than the snippet you posted above.

    Sean