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
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).
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).
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).
Something looks to get multiplied by 2 somewhere, probably in my code. I'll look for this.
The extra factor of 2 seems to be a Q factor issue. I divided the value by 16384 instead of 32768
Adam,
Why when I put in 103.74A into the GUI for rated current, do I see 207A in my q current feedback?