Synchronous Machine pu fundamental rotor alignment in Park transformation
2 views (last 30 days)
Show older comments
Franco Huidobro Bandala
on 13 May 2024
Commented: Franco Huidobro Bandala
on 14 May 2024
Hi
I am using the power systems blocks, specifically the synchronous machine pu fundamental. My question is which axis is aligned with the a axis: d or q. When I plot the d and q currents from the measurement port, d=0, and according to the matlab documentation that means the d-axis is aligned with the a-axis.
To confirm this hypothesis, I connected the block "abc to dq0" to the voltage source to transform directly the currents with the position of the motor. The configuration is "aligned with phase A axis". Unfortunately, now the q=0 and d>1. Then, I changed the configuration to "90 degrees behind phase A axis" and the behaviour is the same, d=0, but the plots are mirrored.
Summary:
The synchronous machine pu fundamental aligns the d-axis with the a-axis during the Park transformation?
Why the currents are mirrored (multiplied by -1)?
0 Comments
Accepted Answer
Peter O
on 14 May 2024
Hello,
The short answers:
#1:Use the 90-degree lag convention for the block.
#2: A mirror on currents usually occurs if the reference convention for postive power into the machine or out of the machine gets flipped or your terminals are swapped. For motoring, current is positive into the machine. For generating, it's positive out of the machine.
The long answer:
Your question refers more to the reference frame transformation block than to the machine model. In general, a motor model developed in transformed variables is indifferent to the rotor reference angle that it used to get into the direct-quadrature form. It's just that if you use the wrong angle offset your phase variables won't look correct when you transform back. (And neither would torque or power).
The abc to dq0 block abstracts the reference frame transformation to systems which may not have a rotor driving a reference angle, which makes the terminology a little more confusing. For a rotor the quadrature (q) axis always leads the direct (d) axis.
Rephrasing and re-emphasizing the documentation slightly, there are two primary power-invariant rotating reference frame conventions, which I’ll refer to as dq0 (Clarke-Park) and qd0 (Krause). The zero sequence is often dropped, so you’ll see references to dq and qd variables, which generally indicates the convention. It is possible to switch between them with a little math.
In the dq0 frame, the rotor d-axis aligns to the as-axis of the machine at a reference angle of theta=0. The block’s parlance is “Rotating Frame Aligned with Phase A Axis.”
In the qd0 frame, the rotor’s q-axis aligns to the as-axis of the machine at a reference angle of theta=0. Since q leads d by 90 degrees, this means that the d-axis is “Aligned 90 degrees behind the Phase A Axis”
For a rotating machine, you can fundamentally consider it being that dq0’s reference is a machine’s North Pole – its flux peak – crossing the stator A axis at zero, while qd0 uses a zero reference to the machine’s back-emf – its voltage peak – crossing the stator A axis at zero.
Compare the transformation matrices:
qd0:
dq0:
Notice just how similar they are when the axis crossing at zero is placed on top! The dq0 transformation block flips rows 1 and 2 of the qd0 transformation with the 90-degree lagging convention so that element 1 is always d and element 2 is always q when the signal is demuxed. Notice also that if you shift that reference inadvertently by ninety degrees you're going to get q-content where you expect d-content and vice versa.
The Synchronous Machine, pu, Fundamental, is built from the SimPowerSystems blockset, which uses the qd convention. If you look under its mask using the Right-Click-->Explore functionality you'll see it expects the qd convention, which should only impact the initial angle you give it since it manages the rest itself. Also, in its signal explorer, you'll see q precedes d in the listing which is often an indicator of that. A machine which is efficiently motoring or generating will evolve the bulk of its stator current along the q-axis, since the bulk of the rotor's magnetic field is along the d-axis, and it is this offset which creates the torque.
Let's look at an example. I've built it a little quickly, so pardon the mess of wires.
Here I'm applying a 1.0 pu mechanical load into the "Machine #14" acting as a generator into a balanced 3-phase 100-Ohm load. There's a bus selector to grab most of the phase and qd outputs. The output from the machine's mechanical angle is also grabbed and used with voltage measurements to extract an external voltage measurement. The gain block converts the mechanical degrees to electrical radians for the transform (P/2*pi/180; P is 4).
You can see the outputs of the measurement port currents, showing mostly q-axis current for a q-axis voltage. This implies a decent power factor. Due to the speed and the field voltage level (I set to 1.0 pu), the system is not fully aligned to the usual 0.85-0.9 pf we like to use.
Now if we take the voltages through the transform block, using the machine's angle output and the 90-degree lag convention (qd), you'll see we have good agreement. Recall that the dq0 block mux flips the element ordering around. I've adjusted the colors in the plot below to help with the comparison. The machine ouput is in per unit while the dq0 block is an absolute measure, so the magnitudes differ.
Hopefully this helps clear up the convention. Please let me know if you have further questions or if I can clarify anything!
More Answers (0)
Communities
More Answers in the Power Electronics Control
See Also
Categories
Find more on Permanent Magnet in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!