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???