Other Parts Discussed in Thread: DRV8350
We are trying to make a BLDC motor controller using the instaspin-FOC software with the fast observer. We are facing an issue where we start to lose control of the motor at higher Iq currents and higher speeds.
We notice the following when this happens:
- The motor starts to lose efficiency.
- There is an audible ringing that become present.
- If we attempt to increase the current any further the motor becomes completely uncontrollable and trips the overcurrent of the DRV8350.
We are using the following:
Custom PCB:
F280049C
DRV8350RSRGZT
On Semi FDMC86520DC
0.5mOhm low side current sense with INA181A2IDBVR and low impedance 1.65V reference. +/- 66A
Phase + bus voltage measurements of 95.3kOhm and 4.99kOhm with 0.1uF. Giving a cut-off of 335.82 Hz
Motor:
We are using a BLDC drone motor with 42 pole 36 slot motor
35mOhm resistance
~35uH inductance
100kV
To apply a load to the motor we are using a propeller so we cannot decouple the speed and current.
Power
Battery cells outputting ~48V
Software
We are basing our software off lab is08 since we wanted to use overmodulation. This was after SDK 3.2.0.0 so we have the flux library and have adjusted it.
The problem starts to happen when we command over 30A Iq. In order to reach these levels we have had to use overmodulation.
We have looked over the forms a lot to try find solutions we came across this post that seems to have similar issues to us. But it doesn’t seem like a solutions was never reached https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/976708/c2000ware-motorcontrol-sdk-sensorless-foc-speed-problems-with-tms320f280049c We have tried many of the recommendations in this thread.
Things we have tried:
Add a function that adjusts the inductance as the current increases. This didn’t help too much.
We have tried using it by directly controlling the Vq in order to eliminate any instability in the current control loop.
We have tried disabling the single current sensor current reconstruction to make sure it is not that causing issues.
We have tried a few different PWM frequencies.
While trying to dig into the problem we have noticed that the ADC readings of the phase currents do not seem to line up. It appears that one of the currents is always shifted up or down from the others. We are not sure if this is what is causing the problem or if it is a result of another problem.
Here is an image of the phase currents plot near to the point where we loose control of the motor (These images are taken at an electrical frequency of ~1062Hz and a PWM frequency of 17kHz):
Zoomed in just before we loose control:
Zoomed in on where we loose control:
We also have a more detailed view of some of the Id and Iq values, both the Ui and feedback values. The electrical angle is also included in this:
Zoomed in on the electrical angle it appears that the line is not strait at this point even though there is no reason that the speed would be changing that quick.
Zooming in on the Iq and Id values makes it appear that the current control loops are not responding to the feedback values. Changing the gains also didn’t help things. Also we have tried to drive with only the Vq value and we were still having this problem:
We are looking to get the motors working at higher powers without any efficiency or stability problems. We can provide any further information that you need and will try any suggestions you have to try get us to a solution. At the moment we are just stuck on what the best avenue is to try get the motors working as quick as possible.
Best Regards.