Part Number: TMS320F280025
Other Parts Discussed in Thread: INA240, BOOSTXL-DRV8323RH
Hi,
I have built several motor control boards using the F280025 microcontroller and I noticed a big difference when using speed control for a controller with in-phase current measurement and a controller with low-side current measurement.
The in-phase current current measurement with the INA240 seems to give a way better speed control performance with the FAST observer in comparison with low-side measurement and a common differential amplifier, but when it comes to current control and torque ripples, it seems they pretty much performe the same and that is what I don't understand at the moment. From what I understand is, that the current control should be worse when using low-side CSA and so the toque ripple should be way higher. The speed control on the other hand should be pretty much the same, but it is way worse in my case with the low-side CSA.
Now, what I observed is, that for the low-side CSA, the FAST algorithm loses the electrical angle much faster than when I have in-phase CSA and I don't know why this is the case? Maybe I have not changed the settings correctly for the low-side CSA, but I don't see what else I could change, since nothing except directly writing the speed control PI parameters seems to have an influence on the speed control performance, but the disturbance rejection gets so bad with non-oscillating PI parameters, that It doesn't make sense to use them.
So my questions:
Solved:
- Could it be, that the FAST estimator is influenced by the low-side CSA in such a way, that the current control seems to performe the same as in-phase CSA, but the speed control gets so much worse?
- Do i need to change something in the MotorControl SDK when I use low-side CSA instead of the in-phase CSA? I'm using the Universal Motor Control Lab with SDK 4.0.0.
- On what does it depend how rapid the FAST observer goes into nearZeroState, since with my in-phase CSA it takes maybe 2s, with the low-side CSA it takes around 300ms when the motor completely and abruptly stops.
- Are there better observers available than FAST for lower speed applications in thr MotorControl SDK?
Open:
- Can I make somehow, that the fast observer angle estimation keeps tracking longer at very low speed, so that it does not try to align to a new angle too quickly? I have the following settings, since I don't want alignment at all:

Edit:
I compared now the inphase and the lowside signals for current and voltage measurement, and both look pretty descent and the same (around 4A at a motor speed of 10Hz):
Low Side Current:

Low Side Phase Voltage:

Inphase Current:

Inphase Phase Voltage:

So the only thing that goes into the observer are the current and voltage signals, so the error has to be there. I could not find any software or hardware influence on this behaviour. The only thing I do different in software is, that I need to invert the currents after the measurement for proper functionality on the low side hardware:

So, might this be an issue and I have seen in the datasheet of the FAST and InstaSpin, that in each current measurement cycle, only 2 currents need to be measured, since one measurement cycle is too low and I'm not sure if this is done in the universal motor control lab yet.
Edit2:
I tested the same software with a BOOSTXL-DRV8323RH, which seems to give the same performance as the Inphase system in terms of estimator. The signals look the same as on the other boards, so I am pretty sure it has something to do with the inverted current measurement I have from the amplifier:
Va EVAL Board, same settings as above:

Ia EVAL Board with the same settings as above:

Edit3:
I could solve the problem, there was a wrong value placed on the boards. What I would like to know now is only, how I could make the estimator keep the last position longer at low speeds without drifting away too fast.