Transfer Function from Motor Phase A, B and C to D and Q Current Reference

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Transfer Function from Motor Phase A, B and C to D and Q Current Reference

1,959 Views
derekcook
Senior Contributor I

Hello, 

Is there a simple transfer function from A, B and C current to D and Q current reference? I see when my A, B and C RMS currents are are 36.78A, my Q current feedback is at 101A. This is about ~276%. I am just trying to figure out why the D and Q reference is so much larger and if there is an easier transfer function and the full Clarke and Park transform.

Does the rated current drive the limit on the D and Q reference, not the A, B and C? I am getting a motor stall fault when my Q current gets to 207A, whereas my RMS ABC current is about 50A. If this is the case we would need to put our rated current in terms of D, and Q?

Thanks for the help, 

Derek

Labels (1)
0 Kudos
Reply
6 Replies

1,590 Views
linestream-adam
Senior Contributor I

Derek,

Yes, there is a direct translation from current represented as ABC and DQ. They both refer to the same current but are different representations.

ABC currents are the actual currents flowing through the motor phases. These are on the stationary reference frame. Which means they are sinusoidal and are not adjusted for the rotor angle. 

ABC current are hard to work with since it is a three axis vector. But this can be changed into a two axis vector using  the Clarke transform. KMS specifically uses the simplified power invariant version of the Clarke transform.This expresses the phase currents in aB (alpha beta).

But aB currents are still in the stationary frame (still sinusoidal), and to simplify the control the Park transform is applied which uses the rotor electrical angle to transform the aB current into dq current. At this point, the d current represents the current applied to the motor that is used for producing flux (in PMSM/BLDC motors this should always be approximately 0). And the q current represents the current applied to the motor that is used to produce torque.

Rated current in the GUI is used as the q axis current limit (established by the speed controller output limit).

0 Kudos
Reply

1,590 Views
derekcook
Senior Contributor I

Hey Adam, 

It looks like the Q current at 10Nm, 20Nm, 30Nm, 40Nm, 50Nm, and 70Nm is all 2*sqrt(2) greater than the motor A, B and C phase currents. 

I understand the sqrt(2) because maybe I need to convert RMS to Peak Current. However, do you know why the factor of 2 would be there? 

For now, I multiplied by rated current by sqrt(2) to convert to peak current - I was using RMS for rated, and then divided my D and Q currents returned to the user by 2 * sqrt(2). 

0 Kudos
Reply

1,590 Views
linestream-adam
Senior Contributor I

I order to compare the peak ABC value to the Q current, you would need to run the ABC currents at any point through the Clarke and Park transforms. 

The maximum speed loop output it set to rated current * sqrt(2). So I wouldn't expect that the value for park.output.vector.q should exceed rated current * sqrt(2). 

0 Kudos
Reply

1,590 Views
derekcook
Senior Contributor I

Something looks to get multiplied by 2 somewhere, probably in my code. I'll look for this. 

0 Kudos
Reply

1,590 Views
derekcook
Senior Contributor I

The extra factor of 2 seems to be a Q factor issue. I divided the value by 16384 instead of 32768

0 Kudos
Reply

1,590 Views
derekcook
Senior Contributor I

Adam, 

Why when I put in 103.74A into the GUI for rated current, do I see 207A in my q current feedback?

0 Kudos
Reply