What is the value of Iq i need to set

For the below motor i want to test for the FOC algorithm, the Iq value to be used for testing is same as System Input Amps (DC)? Please advise.

Generally yes, I have no reason to doubt the data sheet.

For testing, I would go with the absolute lowest current you will need to spin the motor, which in your case is around 0.25A, according to the data sheet, to really make sure I don’t damage anything.

In your previous post you stated something as 48V - 72V, but the motor data sheet says 24V, I would not exceed the specifications, especially that dramatically up to three times the nominal voltage.


Sorry the example i have taken is a mistake.
I have few other questions,

  1. Even if the current is increasing why the speed is decreasing. The formula for Torque is proportional to current and it is increasing as expected, what is the speed formula for me to understand why it is decreasing. Please help.
  2. The formula for stator current is
    Is^2 = Iq^2 + Id^2.
    What is Is here? Is it the maximum DC current 7.81?

As the motor turns, it generates a back-EMF, a voltage that opposes the input - the motor is acting like a generator, and the voltage generated is opposite to the voltage you are trying to drive it with.

You can see also in the chart that as the speed is decreasing the motor voltage is also decreasing a little. So at this point in the motor’s performance curve you are not increasing the speed any more, you would need to also increase the input voltage.

That’s just where the chart ends.

If we assume all the input current goes into Iq, then Is == Iq. If we “waste” some current on Id, for example due to a bad controlling algorithm or imprecise sensors, then Is will be higher than Iq.
Only Iq contributes to actually moving the motor and generating torque. Id generates heat.

It is the aim of the FOC algorithm to set all the current into Iq, to maximise torque for the given input. But how well this works depends on the numeric precision and correctness of the algorithm, precision of the sensor, accuracy of the zero alignment, speed of the MCU and many other factors. The real world is less perfect than the theory :wink:

But my test results are little different, i enabled the torque control mode under no load conditions, when i gave Iq current 0.5Amps the hall sensor speed was around 125Hz and when i gave Iq current of 1 Amps, the hall sensor speed on the oscilloscope was 250Hz, so speed increased i kept the same input voltage, the code was running on FOC. Why is this different behavior?


While what I wrote about BEMF is correct, I believe, I think looking at your chart again there is actually a quite different reason, and also why your experiment is different:

  • you are increasing Iq, but with the load the same, so the speed increases. Assuming the controller is doing current control it will try to drive the actual current to the value you set.

  • in the chart, the load is not constant. I didn’t see that last night, it was late :slight_smile: So in their tests they are increasing the load while keeping the “Control set at 100% duty cycle” as they say in the note at the top of the chart. So their test to some extent includes the controller they’re using, which is driving the motor as fast as it can at the given constant input voltage, and they increase the load in steps to produce the chart. So the current is not the controlled quantity in this experiment, it is the measured output.

So if the load is not constant it explains why the torque is increasing but the speed is decreasing…