AC Drive China Forum

Forum » General Discussion » Decompose three phase currents into direct and quadrature components

Topics: **Decompose three phase currents into direct and quadrature components** on General Discussion
# Decompose three phase currents into direct and quadrature components

can anybody guide me how to decompose three phase currents into direct and quadrature components in simulink matlab?

#1

09-13-2013 01:38 PM

Top #2

Hi Ahmad,

you can simply use two "Fcn" blocks (one for each output). You find "Fcn" under "User-defined Functions" in the Library Browser.

Usually we use two separate steps (a-b-c to alpha-beta and alpha-beta to d-q), since this looks simpler.

you can simply use two "Fcn" blocks (one for each output). You find "Fcn" under "User-defined Functions" in the Library Browser.

Usually we use two separate steps (a-b-c to alpha-beta and alpha-beta to d-q), since this looks simpler.

09-13-2013 03:43 PM

Top #3

Hi Ahmad, do you have a good estimate of theta (the angle of the d-q reference frame)?

09-13-2013 06:29 PM

Top #4

Well, that is exactly where I am stuck at. Once the angle is found I can hopefully work out the rest using the transformations. So could you please tell me how to calculate theta?

09-13-2013 08:54 PM

Top #5

Well, I don't see the problem, once you are in simulation...

The d-q plane was thought for motor control. If you are considering that case, you should run a model of the motor, then you would know the rotor angle.

If you are simply considering a generic three-phase system, with imposed voltages, it can make sense to lock the reference frame to the angle of the first phase sine (e.g. when you are synchronizing to a grid).

In this case, I'd reverse the problem: to generate sinusoidal variables, generate a theta angle by integrating an arbitrary angular speed ( = 2*pi*f, which can be varying), and then calculate sin,cos or sin, sin(+2*pi/3), sin(4*pi/3) signals. In this case theta is the first variable calculated.

But maybe I'm missing the point...

The d-q plane was thought for motor control. If you are considering that case, you should run a model of the motor, then you would know the rotor angle.

If you are simply considering a generic three-phase system, with imposed voltages, it can make sense to lock the reference frame to the angle of the first phase sine (e.g. when you are synchronizing to a grid).

In this case, I'd reverse the problem: to generate sinusoidal variables, generate a theta angle by integrating an arbitrary angular speed ( = 2*pi*f, which can be varying), and then calculate sin,cos or sin, sin(+2*pi/3), sin(4*pi/3) signals. In this case theta is the first variable calculated.

But maybe I'm missing the point...

09-13-2013 11:27 PM

Top #6

Hi do you have sensors/sensorless/encoders for the angle ? what calculations are you using to get the angular position?

09-14-2013 02:18 AM

Top #7

Hi Ahmad,

Do have access to MathWorks SimPowerSystems? It contains blocks that perform Park transforms. You can go to the online documentation to see if the description of how the block works can help you, also.

http://www.mathworks.com/help/physmod/powersys/ref/abctodq0dq0toabc.html

Do have access to MathWorks SimPowerSystems? It contains blocks that perform Park transforms. You can go to the online documentation to see if the description of how the block works can help you, also.

http://www.mathworks.com/help/physmod/powersys/ref/abctodq0dq0toabc.html

09-14-2013 04:34 AM

Top #8

There is park and clark transformations,

One is used to convert 3 phase current to stationary DQ frame,

Other is used to convert to rotating dq frame,

Stationary frame is with respect to stator axes

Rotating frame is with respec to rotating rotor axes

So first you need to decide which is proper for you

One is used to convert 3 phase current to stationary DQ frame,

Other is used to convert to rotating dq frame,

Stationary frame is with respect to stator axes

Rotating frame is with respec to rotating rotor axes

So first you need to decide which is proper for you

09-14-2013 07:07 AM

Top #9

I think that Sandro's answer was right to the point.

I think that the question Ahmed is asking is "how to i compute the speed/position of the rotor, so I can input that to my ref frame rotational matrix?"

If this is indeed the question, the answer is is simply use newton's law of rotation (you need to know the friction and inertia coeffs and your load torque so to compute position and speed).

Hope this help.

I think that the question Ahmed is asking is "how to i compute the speed/position of the rotor, so I can input that to my ref frame rotational matrix?"

If this is indeed the question, the answer is is simply use newton's law of rotation (you need to know the friction and inertia coeffs and your load torque so to compute position and speed).

Hope this help.