I'm looking to determine the electrical power input to a 3-phase BLDC motor, driven by TI's DRV8305 motor controller. I can't use the DC power flowing into the system because I'm trying to capture the efficiency loss of the uC, gate driver, and switching MOSFETS. There are sensors on the phase voltage and phase current. For the controller, it uses a power VARIANT Clarke transform, as shown here, for BOTH the voltage and current:

enter image description here

Then it uses a standard Park transform to get to the DQ0 reference frame:

enter image description here

From my understanding, Theta is chosen such that my current and voltage will align with my D axis only, and presto, I have a DC Current and DC Voltage. However, because my Clarke Transform was power variant, I must scale my P=I*V by some factor in order to get the correct answer?

From my understanding, a solution would look like:

$$P_{ABC} = I_{DQO-INVAR}(t)*V_{DQO-INVAR}(t)$$ $$P_{ABC} = P_{\theta}I_{\alpha\beta\gamma-INVAR}(t)*P_{\theta}V_{\alpha\beta\gamma-INVAR}(t)$$ $$P_{ABC} = P_{\theta}T_{INVAR}I_{ABC}(t)*P_{\theta}T_{INVAR}V_{ABC}(t)$$ $$P_{ABC} = P_{\theta}*sqrt(3/2)*T_{VAR}I_{ABC}(t)*P_{\theta}*sqrt(3/2)*T_{VAR}V_{ABC}(t)$$ $$P_{ABC} = 3/2*P_{\theta}T_{VAR}I_{ABC}(t)*P_{\theta}*T_{VAR}V_{ABC}(t)$$

Where \$P_{\theta}\$ is the Park Matrix, \$T_{INVAR}\$ is the power invariant Clarke Matrix, and \$T_{VAR}\$ is the power variant Clarke Matrix.

This would lead me to believe that I need to scale my power variant DQ0 output by 3/2 in order to get the actual power draw? Please confirm or deny.

I've looked for a solution, but it does not seem to be a common question. I'm forced to use the power variant Clarke transformation because TI's Instaspin Library is built on it. I'm rather unfamiliar with three-phase power. If there's any other information relevant to the problem, I'll be able to provide it. A good reference would be much appreciated.

  • \$\begingroup\$ I don't understand your last equations, about INVAR, TVAR,...What matters is the way the voltage space vector is formed, the inverse Clarke and type of output switching (SVPWM,..), then \$P=I_qV_q\$. The power is product of q-axis components, like in PMDC motor where \$P=I_aV_a\$ \$\endgroup\$ Commented Jul 7, 2016 at 6:24

1 Answer 1


Always, the product of \$I_{DC}\$ and \$V_{DC}\$ gives you the power. The FOC needs to measure stator currents, not the DC current, which isn't clear from your description if you really measure DC current, voltage. First, from stator currents ia,ib,ic (or ia,ib for symetric load as AC motor is) you transform into \$\alpha\beta\$ coordinate system and then into dq coordinate system. The \$i_q\$ is proportional to the output torque, hence the elecrical power can be computed with the formula \$P=M\Omega = k_ii_q\Omega\$, where \$\Omega\$ is the rotor speed \$[\dfrac{rad}{s}]\$

In FOC the voltage is set with PI controller, so that inverter outputs the setpoint \$i_q,i_d\$ and there is no voltage feedback (unless you have BEMF sensing for sensoroless control). Since you mention about FOC, then you have DQ currents and speed from encoder and this is enough to calculate the electromagnetic output power.

  • \$\begingroup\$ My impression is that the controller was measuring the currents and voltages in each of the phases. This sounds incorrect after reading your response. The control is sensorless, except for three current sense resistors on each of the three phases. Perhaps the voltage is open loop. I will have to dig further. The voltage is a PWMed signal, at the very least. I'm trying to measure the electrical input power, not the motor mechanical output power, which I already know, for efficiency purposes. I will update question to reflect this. Thanks for the help Marko. \$\endgroup\$ Commented Jul 7, 2016 at 11:23
  • \$\begingroup\$ I've editted my question slightly @Marko Buršič, I would appreciate another pass at it? \$\endgroup\$ Commented Jul 7, 2016 at 19:18
  • \$\begingroup\$ btw, teh FoC can operate of DCcurrent when coupled with SVM \$\endgroup\$
    – user16222
    Commented Aug 6, 2016 at 19:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.