# Question on brushed DC motor voltage measurement

I'm operating a brushed DC motor via PWM at 5 kHz. It's a big motor rated at 125V/27A. I don't have an voltage acquisition circuit. Just a multimeter. But I want my microcontroller to know what the motor voltage is. If I have a DC link voltage of 130V for the motor, and I know my duty cycle, can I say that at 50% of duty cycle the motor voltage is about 130/2 = 65V without measuring with a meter? I'm also measuring RPM of the motor. Let's say I give a duty cycle of 50%. This will yield a certain RPM value at a certain voltage input. If I measure 1000 RPM at 50%, the average voltage should be 65V? This is what I think, correct me if I'm wrong. Thank you.

• Why would you measure the motor voltage? Usually we measure the current, voltage has no importance. Oct 27 '18 at 8:20

PWM maintains a constant voltage but varies in pulse width. Narrow pulses average out to less continuous drive current. Wide pulses close to 100% have little OFF time so the motor 'sees' almost continuous current.

Try using a DVM like a Fluke 87-5 series which has filters to accurately measure both PWM and VFD motor controller outputs. An oscilloscope gives the best picture of what is going on but they have a very high cost and you need to do differential measurements to avoid common ground shorts.

This schematic using an AC type opto-coupler can feed an isolated version of your PWM signal to the motor phases to the MPU. Use a timer or clock input to measure pulse width and calculate motor average voltage by using the 50% pulse width as a 50% average voltage marker. Remember that the voltage peaks at the phases will still be 127 volts. Only the width will vary.

From there you can use the MPU to control the motor speed and/or torque and set speed and current limits to protect the controller and the motor.

simulate this circuit – Schematic created using CircuitLab

It depends on the motor's mechanical load characteristics. If the mechanical load doesn't change then you could do a voltage/speed calibration curve. The only hitch in this is if the mechanical load on the motor changes. If it decreases, then the motor will speed up to establish a new operating point.

If the mechanical load increases, then the speed will decrease. The two examples I can think of are a old-style washing machine during the spin cycle or a cement mixer as water is added. As the water drains/is pushed out, the speed increases, in the case of the mixer it slows down. Remember torque is a force, which implies an acceleration until is matched by an equal and opposite force.

For the math part (assumes steady state conditions):

Torque$$T$$ motor torque slope $$k_t$$ motor speed slope $$k_e$$ then $$V=\frac{T}{k_t}R +k_e\omega$$

we are looking for rotation speed $$\omega$$ so rearranging we get: $$\omega=\frac{V}{k_e} - \frac{T}{k_ek_t}R$$

inspect the two terms above that get you the angular velocity. The first term is the contribution of the voltage to the rotational speed. The second is the torque/load contribution (note the negative sign).

since $$\omega = 2\pi f$$

rotation speed in Hertz:

$$f = \frac{\frac{V}{k_e} - \frac{T}{k_ek_t}R}{2 \pi}$$