I searched “calculate power” on the “Project Forums” and did not find any help.
Using RT Data, I calculate battery electrical power as:
input_voltage * current_in
I calculate motor electrical power as:
input_voltage * duty_cycle * current_motor
Calculated this way, my motor power is about 1.4 higher than battery power which indicates to me that current_motor is peak while Google searchs indicate it is RMS.


The equation for motor power in my previous post is invalid. (I recall seeing it on the web but now when I search for it, I get my own post!) I found the correct equation in a post by Benjamin Vedder but can’t share a link in this post because I couldn’t find that post again either!
The equation I found and used to calculate motor electrical power is:
power_motor = 1.5 * (q_axis_current * q_axis_voltage + d_axis_current * d_axis_voltage)
VESC Tool RT data includes these parameters. I had to teach myself about q_axis and d_axis but for this post I’ll leave it to someone else to explain. In my RT data the d_axis values are essentially zero.
q_axis_current and q_axis_voltage are RMS values for one of the three phases. Using this equation my power_motor almost exactly equals input_voltage * current_in (i.e. power from the battery).
Why, I asked myself, is the multiplier 1.5, sometimes written as 3/2? Why isn’t the power of 3 phases 3 times the power of one phase? Alternatively, it’s essentially the same electrons flowing through all 3 phases; why isn’t the multiplier 1? As Benjamin explained in the post that I cannot find, 1.5 is an exact value and derived using the Park / Clarke transformation, matrix algebra.