Other Parts Discussed in Thread: MOTORWARE, DRV8353, LAUNCHXL-F280049C, BOOSTXL-DRV8320RS
Hi There,
The Problem Summary:
We're seeing instability (high and spurious current draw) at high speeds. Enabling of over-modulation appears to exacerbate the issue. Our control system is torque only, and there are no outer loops currently while we understand this issue. Finally, the instability appears to be worst when using higher speed / lower inductance electric-machines.
Background:
We're developing our own Inverter using the TMS320F280049C & DRV8353S and are using Sensorless FOC control by leveraging InstaSPIN & FAST. The hardware is being developed in house and has been through deep verification. See the list at the end of this post for what we have confirmed.
Some details of the system:
- 30VDC - 60VDC operation
- 30ARMS maximum continuous current per phase
- 1kW maximum continuous power
- 3x current sense and 3x voltage sense, voltage filter pole set to 353Hz as per SPRUHJ1I.
- DRV8353S gate driver & current shunt amplifiers
- 20kHz PWM & control frequency
Our inverter operates with several motors of different characteristics from 60uH & 50mR up to 200uH & 150mR. All these motors are PSMS and run up to ~750Hz electrical maximum.
Issue Details:
As previously mentioned, we're seeing instability at high speeds, starting at 550Hz to 600Hz electrical. The issue exists on multiple motors where lower inductance & higher speed motors seem to be worse effected. The instability exhibits with large current draw and loss of a sinusoudal current waveform, i.e. spurious spikes of current far above those expected. The motors are stable under maximum loads, confirmed over temperature and speed during detailed verification of the power electronics. The issue only presents when we're operating at high speed and low/no loads, i.e. when the motor back-EMF is close to DC bus voltage.
Strangely, our prior usage of Motorware & 28069 processors showed excellent performance with even higher speed and lower inductance machines (800Hz electrical, 27uH & 11mR), so we're at a bit of a loss why we're seeing instability. It could be the hardware, which has evolved in this time, however without documentation on expected hardware performance and FAST being black-box, we cannot find any causes for the instability.
After a lengthy investigation in our firmware (and hardware, see below), we found that including a recent FluxHF patch into our project and tuning some arbitrary coefficients greatly improved performance of the control system, however it is concerning that we're now tuning a black-box and the ramifications of such tunings are unclear.
We did also notice that increasing the USER_VOLTAGE_FILTER_POLE_Hz from 354Hz to ~750/1000Hz (without hardware change...) improved stability, which was made us consider the FluxHF patch in the first place. This was not considered a fix as I know this software filter must align with the hardware filtering and chalked this up to dumb luck, but it did suggest an issue with rotor position estimation.
Finally, the documentation for InstaSPIN (SPRUHJ1I - October 2021) does not appear to line with with the recent Motor Control SDK, and artefacts (USER_IQ_FULL_SCALE_FREQ_Hz) no longer exist, but are referenced as being important. I generally find TI documentation to be excellent.
QUESTION 1: Can you please confirm the behaviour of instability is normal with aforementioned motors & frequencies? If this is not normal, I would appreciate any guidance on hardware verification we can perform to isolate the cause.
QUESTION 2: I was hoping you could provide some information about how to best tune the FluxHF coefficients, why this is required, and what each coefficient is intended to do? Essentially, we need some context for why these need to be changed.
QUESTION 3: This may sound like a stupid question, but is it expected that we tune these FluxHF coefficients on a per-motor basis, or are these more related to the characteristics of the Inverter & sensing hardware? There is no documentation I can find on these coefficients, hence the question.
QUESTION 4: When will the InstaSPIN user guide & lab documentation be updated for the most recent Motor Control SDK? There are several references to now removed characteristics, e.g. USER_IQ_FULL_SCALE_FREQ_Hz and the relationship to USER_VOLTAGE_FILTER_POLE_Hz. Further the FluxHF coefficients are not explained. Considering they are oftenly recommended for use on these forums, it sets off a bit of an alarm bell.
We're happy to provide further design details, verification, scope plots if required, although we are limited in a public forums with closed source designs.
Thanks for your help,
-Doug
HW verification & HW-SW integration performed:
- Run through the various InstaSPIN labs upto lab 10.
- Current Sensing signals to the TI uC's from the DRV8353 are as expected and within expected accuracy.
- Voltage Sensing signals to the TI uC's & their filtering are appropraitely designed based on provided documentation and is performing as expected (lines up with theoretical).
- ADC results are free from noise & are scaled appropriately. We're seeing very low noise on ADCs while switching.
- Complete verification of power electronics and their meeting of the DRV8353 specification
- Confirmed ADC's SoC configuration is correct
- Confirmed FOC ISR is running with minimal delay and without processor time starvation.
- Hardware designed and layed out carefully on a high-layer-count board with attention paid to power & small signals, grounding, bypassing, etc.