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.

PI Torque control (Nm) in place of the PI speed control

Hello everyone and thanks in advance for your time,

If I've understood correctly when I run a simple torque control in FOC (lab4/4a) the only variable I can control is the quadrature current Iq directly responsible for the torque generation. 

When, instead, I use a speed controller to feed the Iq control I can regulate the speed reference based on the EST_getSpeed_krpm coming from the FAST controller.

I can see that the motor is capable to estimate the torque (expressed in Nm this time) that is applying to a certain load (gMotorVars.Torque_Nm). So I started wondering if it would be possible to substitute the speed PI controller feeding the Iq controller with a simple Torque PI controller.  An object in which the user can input the desired torque in Nm and based on the gMotorVars.Torque_Nm value the controller can estimate the right amount of current (Iq) necessary to drive the motor.

Is that feasible and simple enough to implement?

Thanks again,

Lorenzo

  • Lorenzo,
    The Iq that you are setting is really a peak current/torque allowed. If the load is low you will actually be using much less current than would be required to create the torque you may be requesting. You can set an IqRef_A to it's maximum value for the HW, and with no load you will notice the torque is actually quite low because the current is low. It is only until you apply a load to the motor that you see the current and torque rise. This is how FOC is designed to work. Use the minimum current to meet the load demand.

    So I think you should think about how practical this would be for what you are trying to control in the system.
  • Chris,

    Thanks so much for your reply! This changes indeed my idea on how to control the torque in the system.

    Is there a way in which I can easily translate the peak current Iq into a Nm torque? In my application I need to limit the mechanical power that the motor is generating in real time with different set-points. I don't think I can assume that the power generated would be simply

    P = Iq * Vdd

    am I right?

    Thanks again,

    Lorenzo 

  • The formula is not right for calculating the motor power, Iq is the current to be added on q-axis for torque control as Chris answered, not the input current of power supply. You can find related formulas in motor drive or control books. For FOC control, Power (kW) = Torque (N.m) x Speed (RPM) / 9.5488, where Te = ψm*iq.