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.

TMS320F28069M: Instaspin Motion: Current Limits and Stability

Part Number: TMS320F28069M

Greetings,

I've recently been having great success using the Instaspin Motion controller in Lab 5d. Using this, I was able to very quickly transition from using a torque control-approach for driving my motor into using the proivded speed controller. Note that my application is a motor/propeller combination, so once I get up to speed I'm starting to pull some high currents.

My motor controls quite well *most* of the time, but I had a bit of control instability for a while. After digging through the TI E2E forums, I managed to find several posts that helped, specifically:

- this one on adjusting my inductance to achieve higher currents stably e2e.ti.com/.../337103

- this one on converting all my currents to per unit e2e.ti.com/.../388965

- and this one on dealing with low inductance and low flux motors e2e.ti.com/.../316713

Using these resources, I've mostly solved my problems, but what I found is that strategically lowering my USER_MOTOR_Ls_d and USER_MOTOR_Ls_q in my user.h is the change that yielded the greatest benefits in stability. I imagine this is because at higher loads, my actual motor inductance is lower than what I originally measured.

My question is this: How far can I extend this technique? I want to ensure stable control over a wide speed range, and as of right now I have reduced my inductances in my user.h to 60% of their original value. Can I simply reduce this value further to ensure stabilty at higher speeds/currents, or will the Instaspin Motion speed control loop and/or FAST estimator also become a limiting factor if I adapt these values further?

Thanks!

  • Hey again,

    Sorry to bump this post, but I'm very curious to discover the limits and engineering trade-offs associated with lowering the values USER_MOTOR_Ls_d and USER_MOTOR_Ls_q in my user.h. I'm doing this to achieve stability of control at higher currents, but I just want to understand the limits to this technique, and I need support given that the FAST estimator is a virtual black box.

    Thanks!

    Chris

  • Hi Chris, sorry for the delayed response. Since FAST depends on accurate motor model, there is definitely a trade off between "rigging" your inductance values to better suit a high current/speed mode (where you are generally running above rated current/speed). As you lower your inductance, you'll be taking a hit on performance for FAST at startup and low speeds up to rated speed, but potentially gain performance after this point as you've more accurately represented the motor with the different Ld/Lq. Sounds like you know all this already.

    That said, if you wanted to change the Ld/Lq yourself with this method, we would suggest obtaining an inductance/current curve from the motor manufacturer. Since the inductance curve is non-linear, especially at high currents (2x+ larger than rated), you will have to play around with the values to achieve the performance balance that suits your system.

    We do not utilize the method of intentionally lowering the inductance beyond what FAST identifies, so we cannot comment on some limit as we do not know one. You will have to come to that conclusion yourself.

    Sean