Help with measuring Power generated by DC Motor

Hi all!

I have an indirect power source that’s powering a DC motor, and I’m attempting to measure the power generated by the motor.

I have the motor connected in circuit with a 10 Ohm resistor to the analog pin on the Arduino, and I’m taking the analog input and multiplying it by 5 volts / 1023 units to get the voltage. Would I then just take that value and square it, then divide by 10? (P = V2 / R)

When I do this, I get a power of about 0.04 Watts. However, according to the performance curves of this motor, at the RPM it’s operating at, it should be generating about 3 Watts.

Where am I going wrong? Either the analog pin reading is too low, or my formulas are incorrect. Any help would be greatly appreciated, so thanks in advance for your time.

Well for a start motors don’t usually generate electrical power. Instead they consume power.

But I don’t know what “an indirect power source” means and I don’t know what “connected in circuit with a 10 Ohm resistor to the analog pin” means either. A drawing showing exactly what wires go where might clear some of the confusion.

Steve

There is my schematic.

I’m using an old DC motor, but it’s acting as a generator in this case. I have a windmill spinning it, and I’m trying to get a voltage measurement for the motor as a means to calculate power.

EDIT: Using an Uno, if it matters.

EDIT 2: Do you think I should use a smaller resistor? If I’m expecting about 3 Watts, and if P = V2 / R, when using a 10-Ohm resistor, if my calculations are correct I’d get an analog value of 1120, which is higher than the max. I’m a noob, so I’m not sure if that would be an issue, but it sounds like it would be. Just not sure if having an overvoltage like that would result in a low analog input value (it’s like 140 or something).

You can reasonably expect that a brushed permanent magnetic DC motor will work as you think. It basically depends on the Kv, so if the specification says it will turn 1000rpm with 5V input then if you turn it at 1000 rpm you should expect a bit less than 5V out (because there at various losses in the motor). If that's not what you're getting then perhaps you could post some details of the motor specification.

OTOH I have no idea what happens (other than possible damage) when you deliberately apply excess voltage to an analog pin because I try hard not to do that.

Steve

SniffLimit:
Hi all!

I have an indirect power source that’s powering a DC motor, and I’m attempting to measure the power generated by the motor.

I have the motor connected in circuit with a 10 Ohm resistor to the analog pin on the Arduino, and I’m taking the analog input and multiplying it by 5 volts / 1023 units to get the voltage. Would I then just take that value and square it, then divide by 10? (P = V2 / R)

When I do this, I get a power of about 0.04 Watts. However, according to the performance curves of this motor, at the RPM it’s operating at, it should be generating about 3 Watts.

Where am I going wrong? Either the analog pin reading is too low, or my formulas are incorrect. Any help would be greatly appreciated, so thanks in advance for your time.

You are accurately calculating the power dissipated in the shunt resistor itself, which is not what you are interested in.

The voltage across the motor times the current through the shunt is what you need.

The voltage across the motor times the current through the shunt is what you need.

Same thing, for the posted circuit. The OP is correct.

Thanks so much for your feedback, guys. I will look into a few things over the next couple days, and if I'm still having issues, I'll reply again.