Other Parts Discussed in Thread: DRV8353,
I believe I'm seeing the same behavior mentioned in this post at certain combinations of higher speed and lower bus voltage.
TMS320F280049C: InstaSPIN Instability at High Speed - 280049C & DRV8353 - C2000 microcontrollers forum - C2000︎ microcontrollers - TI E2E support forums
the following issues are observed.
1. Unstable current draw from the input DC power supply
2. Loss of proper speed control (ie the commanded and measured speed in Code Composer does not match measured shaft speed on the torque/speed sensor in our setup...could differ by 10s of rpms)
3. Occasional peak current faults when operating high output loads (high speed/high torque) on the motor even though the peak current limit is set to 1.5x the measured current limit.
4. USER_ISR_FREQ_Hz shifts (we measure this by timing the ISR in firmware and capturing min/max/average, at lower speeds the frequency is constant, at higher speeds it jumps around)
Primary inputs that affect when and how severely items 1-4 occur
A. Bus Voltage (lower bus voltage results in lower speeds at which these issues begin and vice versa)
B. PWM Frequency (lower PWM frequency results in higher speeds at which these issues begin and vice versa)
Based on issues A and B, the observation of the behavior of the duty cycle on one of the PWM outputs on the processor, and the value of the parameter motorVars.Vs_V, we determined that this line of code directly affects the point at which issues 1-4 begin. And because the duty cycle is determined by bus voltage it makes sense why bus voltage and PWM frequency would affect the transition speed at which we see these issues.
float32_t dutyLimit = 0.5 - (2.0 * minWidth_usec * USER_PWM_FREQ_kHz * 0.001);
By changing this line of code to the following (ie setting the dutyLimit value to the max allowed - minWidth_usec, 0.5 - 0.02), it eliminates issues 1-4 and stable operation up to the speed that corresponds to the max allowed speed for a modulation index value of 0.5774 is achieved:
float32_t dutyLimit = 0.5 - (2.0 * minWidth_usec * 5 * 0.001);
QUESTION 1:
Why does PWM frequency result in a decrease in the dutyLimit value as it pertains to overmodulation?
QUESTION 2:
If I change the dutyLimit equation as proposed, what are the consequences for other aspects of the control algorithms?
QUESTION 3:
Is the FluxHF code file designed to improve the issues we are observing regardless of whether we have a low inductance motor? The two motors we are observing issues with have the following characteristics and we see the same issues 1-4 on both motors.
Motor 1: 0.0045 H, 0.433 VpHz
Motor 2: 0.00036 H, 1.188 VpHz
QUESTION 4:
What SDK version was the FluxHF file introduced as a bug fix?
Thanks for the help with this.