Hi guys,
Few days ago I’ve read on the forum that there are some people as @VIPQualityPost and @Copper280z which used bipolar stepper motors as regular BLDC motors by connecting two of their wires together as one phase of the BLDC motor. This seems like such an creative and awesome idea. So as I was not actually sure about the implications of it, I’m starting this thread to discuss about it.
Some background
Bipolar stepper motors have two phases that are completely independent. Each of them has their own phase resistance.
Usually we drive them with two independent full bridge circuits. Full bridge drivers basically means that we can set both positive and negative voltages.
Having two full bridge circuits requires having four half-bridge drivers which is often hard to find, the BLDC drivers with three half-bridge circuits are much more common. So the question is ehat does happen if we connect two wires of a stepper together
and when we driver it with a BLDC driver.
Some ideas on the phase resistance
Stepper motor with two phases connected can be represented as a resistive load
And what is visible right away is that it is not as a regular BLDC motor which has one equivalent phase resistance per phase. The stepper is unbalanced in terms of phase resistances.
For example, if the resistance of the stepper is R Ohms. Then the resitance between u_a and u_{mid} is R as well as between u_b and u_{mid}. However between u_a and u_b is 2R.
In a regular BLDC motor all these resistances would be equal to 2R.
I am not exactly sure how big of an influence this causes. I think that this could potentially create some vibrations due to the difference in the current/torque magnitude, due to the unbalanced resistance. But they might be small.
My intuition is also, if we control the stepper in current control mode, we should still be able to control its torque well, but I am not sure.
Some ideas on the phase voltage limits
Regular stepper
A regular stepper motor, driven with two full bridges which can produce any phase voltage between -U_{max} and U_{max}, where the U_{max} is usually the power supply voltage can be used to set any phase voltage vector which can be achieved by conbining the u_a and u_b phases.
As both u_a and u_b are limited wiht U_{max} the set of all the posible phase voltage vectors can be described by the square:
As in SimpleFOC we want to be able to guarantee that we can achieve any vector magnitude with any orientation in space (electrical angle) we limit the voltage vector magnitude to the U_{max} and we sacrifice some parts of the possible vectors.
Stepper with connected phases
When we connect two phases of a stepper together we effectively obtain three unipolar (only positive) voltage vectors u_a, u_b and u_{mid}. These vectors can be visualised in space like this
The vectors u_a and u_b are the same vectors as for the regular stepper but unipolar. They hare 90 degrees apart. While the vector u_{mid} is also unipolar, however 135 degrees from u_a and u_b.
They still can create a rotating voltage vector, they can apply a voltage vector in any direction in space (any electric angle). However in this configuration it can no longer cover the whole square as shown for regular stepper motors
Instead of the square, the space of all the reachable voltage vectors is this elongated hexagon.
So in order to be able to find the maximum voltage vector magnitude that we can generate in any direction in space (electrical ablge) we need to once again fit a the lagest circle possible in this hexagon.
How do we get to U_{max}/\sqrt{2}
If we imagine a line between u_a =U_{max} and u_b=U_{max}, the circle will be touching it, as it touches the same line on the left side (line between u_a =-U_{max} and u_b=U_{max}).
This line’s length can be calculated as U_{max}\sqrt{2} as a diagonal of the square with the side lenth U_{max}. Now as our circle touches this line in the middle, we know the the opposite diagonal going from u_a=u_b=0 to u_a=u_b=U_{max} has the same length and that the circle tourhes is in the middle as well. So the radius of the circle must be U_{max}\sqrt{2}/2 which can be simplified to U_{max}/\sqrt{2} .
So this new stepper configuration can be effectively seen as a stepper with the power supply voltage equal to the U_{max}/\sqrt{2}.
So when we put them side by side we get something like this
Some of my takeaways of my reflection
So if we set the maximum phase voltage (motor.voltage_limt
) to U_{max}/\sqrt{2} we could use the regular BLDC driver (BLDCDriver3PWM
) with the SimpleFOC and control this motor as any other BLDC motor.
At least in terms of the ability to apply any voltage vectro in any direction in space, this is perfectly enough.
But I do have some questions:
- As the phase resistance is not uniform I am not sure how constant the torque/current produced by the constant phase magnitude vectors is.
- Also what happens when we introduce the current control, do these torque imbalances disappear?
- Maybe these effects are not even noticeable.
I’d be happy to hear what do you guys think.
Cheers,
Antun