This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

FOC with a low inductance motor.

Other Parts Discussed in Thread: CONTROLSUITE, DRV8301

Hello,

I am working on developing a FOC on a very low inductance 2 poles motor (0.018mH - 0.165Ohm phase to phase).

I manage to get it to work in a current loop but it fails when closing the speed control. I took a close look at the currents measured on CCS and I still get a sine wave however it seems like the amplitude is off. When I probe my circuit, I can see that the current spikes then decreases rapidly before it reaches the middle of my PWM period where I do my ADC acquisition.

So I have seen several approaches in the forum. One seems to be increasing the PWM frequency (my current control / PWM setting is 55KHz -- max speed of the motor is 60.000rpm). Another way seems to add some external coils to increase the inductance of the motor. I plan to try this second approach but I wanted to confirm two things with some experts.

1/ The fact to add external inductors will most likely affect the motor performance. I suspect that the response to load variation may be impacted. Is this right ?

2/ To calculate the SMO constant from the controlSUITE module, I need to pass the resistance / inductance of my motor. I suspect the answer is yes but should I include the additional inductors to these values?

Thanks !

Configuration:

F28335, FOC, 55KHz current ctrl/PWM, 5.5KHz spd ctrl, DRV8301, 24V , 2 poles, 60.000rpm, 120W motor.  

 

  • FYI - you can run motors like this using InstaSPIN-FOC without external inductors, but it does help.

    one problem you are facing is getting good current measurements due to the short circuit switching current. adding an external inductor > 50 uH can be a good solution.

    you will need to take this extra inductance into account in your current controller tuning (which should be based on Rs / Ls). while the short circuit current is lowered a bit, you won't see too much performance degradation at all.

    you should NOT include the extra inductance in the motor parameters for the observer (SMO or FAST).
  • Hi Chris,

    Thanks for your recommendations. I have managed to get it to work by adding 10uH, the current reading improved dramatically at 55.000rpm. I will try 50uH just for science sake and see how it behaves... Other parameters tweaking that helped was to increase current loop / pwm to 60KHz and to decrease dead-band to couple ns.

    You mention that instaSPIN-FOC can do it without external inductors ? What is the magic ?! :-) Is this not based on current readings, Park and Clarke? Also I am using F28335 but I don't think it is supported by this package.

    I have not included the external inductance to SMO but I had to play some trick to get it to work for higher speed by dynamically adjusting Kslide. It seems to work fairly well to handle abrupt load changes. Also adding feedforward control to the PID helped a lot with the responsiveness...

  • Also, I wanted to ask you if you had any experiences with this but since I have to deal with a fairly wide speed range, would it make sense to have some kind of lookup table to adjust K1, K2 and K3 in function of the speed ? As it is now I just have my cut-off frequency set to 100Hz but I think it seems too low for high speed. If I have to increase to 1KHz for instance, low speed does not work.
  • in the InstaSPIN-FOC solution you still have the same limitations on current measurement, however the FAST estimator is a bit more impervious to these errors, so the "sensor" into the control system is better. additionally, we include an angle compensation technique to adjust the angle used in the forward control based on the mechanical delay of the rotor from the sampling time. critical for high speed applications.

    yes, I've seen a LUT approach used even for the SMO gains. You will need to be careful during these transitions.