← Back

Dynamometer for High-Speed, Low-Torque Motors

2023

This was my senior design project at Boğaziçi University, built with Arda Gençgel and Hümeyra Kayadibi under the supervision of Hasan Bedir. Our project was to build an absorption dynamometer, a device that measures a motor’s torque and speed, designed for high-speed, low-torque motors operating at up to 20,000 RPM and approximately 80 W.

To measure a motor’s torque and speed, the dynamometer has to load the motor with a resisting torque. Since power is torque times speed,

P=Tω,P = T\,\omega,

loading the motor means absorbing its output power. That energy has to go somewhere: heat, electricity, or kinetic energy. So the first decision was how to absorb it. The second was how the same setup would measure speed and torque.

Choosing how to absorb the power

We had three practical candidates for the absorption unit.

  1. A prony brake.

    This is a friction brake: it presses on the rotating shaft, absorbs power as heat, and lets torque be inferred from the reaction force. It is simple, but the contact surfaces wear.

  2. An eddy-current brake.

    A conducting disk rotates through a magnetic field. The induced eddy currents create a resisting force, and the energy becomes heat in the disk. The magnetic field sets the braking strength, but measuring torque is less direct, and putting a balanced disk on a high-speed shaft is mechanically harder.

  3. A dynamic brake.

    A dynamic brake uses another motor as a generator. When the shaft spins the generator, mechanical power leaves the shaft as electrical power. That generated electricity can then be dissipated in a resistor. So the absorption happens electrically, with no rubbing surfaces.

We chose dynamic braking and built an electric dynamometer. A DC motor is cheap and ready to run as a generator, it has no wear surfaces, and the braking load is set purely electrically by a resistor. The decisive point is that a DC motor’s torque is proportional to its current, so the torque measurement comes almost for free.

How a DC motor brakes

DC motors work in both directions. If you put voltage across the terminals, the shaft spins. If you spin the shaft, voltage appears at the terminals. In DC motors, voltage and speed are linearly related:

V=KVω,V = K_V\,\omega,

where KVK_V is the motor’s back-EMF constant.

The same idea holds for current and torque. Send current through the motor and it applies torque. Drive the motor as a generator and the current that flows makes a proportional opposing torque. That relationship is also linear in DC motors:

T=KTi,T = K_T\,i,

where KTK_T is the torque constant. These constants are empirical properties of the actual motor. Once KVK_V and KTK_T are known for the load motor, voltage is a speed reading and current is a torque reading.

The model. The test motor drives the load motor as a generator. Voltage gives speed through KVK_V, current gives torque through KTK_T, and the potentiometer sets how much current, therefore braking torque, flows.

The potentiometer is the control knob. More current means more braking torque, so the test motor slows down. Less current means less braking torque, so it runs faster. The voltmeter and ammeter then turn that operating point into the two quantities we care about: speed and torque.

Modeling the system

A mathematical model is a compact version of the real system. The real dynamometer has motors, wires, resistances, inductances, inertia, and damping. Physics gives constraints on them: Kirchhoff’s laws constrain voltage and current, torque balance constrains angular acceleration, and the DC motor relationships connect voltage with speed and current with torque. When those constraints are combined, they become one equation that predicts how the system behaves.

When we derived those constraints for the coupled test motor and load motor, the state-space model turned out to be

ddt[itωil]=[RtLtKV,tLt0KT,tIcIKT,lI0KV,lLlR+RlLl][itωil]+[1Lt00]Vin.\frac{d}{dt}\begin{bmatrix} i_t \\ \omega \\ i_l \end{bmatrix} = \begin{bmatrix} -\frac{R_t}{L_t} & -\frac{K_{V,t}}{L_t} & 0 \\ \frac{K_{T,t}}{I} & -\frac{c}{I} & -\frac{K_{T,l}}{I} \\ 0 & \frac{K_{V,l}}{L_l} & -\frac{R + R_l}{L_l} \end{bmatrix} \begin{bmatrix} i_t \\ \omega \\ i_l \end{bmatrix} + \begin{bmatrix} \frac{1}{L_t} \\ 0 \\ 0 \end{bmatrix} V_\text{in}.

Solving this differential equation for a chosen input voltage VinV_\text{in} and potentiometer resistance RR gives the test motor current, shaft speed, and load motor current at each point in time. That is what “simulation” means here: numerically solving the model to see what would happen for a given design. We wrote code that solves this equation, which is the simulation of the dynamometer.

Simulation code: github.com/sinaatalay/DynamometerSimulation

Once the system settles, the inductance terms drop out, so the model simplifies. Kirchhoff’s law and the two DC motor relationships then give the steady-state range equations:

T(R,ω)=ωKT,lKV,lR+Rl,P(R,ω)=ω2KT,lKV,lR+Rl.T(R,\omega) = \frac{\omega\,K_{T,l} K_{V,l}}{R + R_l}, \qquad P(R,\omega) = \frac{\omega^2\,K_{T,l} K_{V,l}}{R + R_l}.

Two things follow. First, R+RlR + R_l sets the maximum braking torque at a given speed; as it gets smaller, current and torque get larger. Second, torque and power shrink as speed drops, so an electric dynamometer cannot load a slow motor hard. That limitation is exactly why this design is aimed at high-speed, low-torque motors.

Characterizing the load motor

The model was symbolic, but the real dynamometer needed real numbers. We bought an old, completely unspecified DC motor and measured the constants the model depends on: KV,lK_{V,l}, KT,lK_{T,l}, and RlR_l.

For KV,lK_{V,l}, we drove the motor at several voltages and measured the corresponding speed with a tachometer.

Measuring the back-EMF constant. A tachometer reads the shaft speed while a multimeter reads the terminal voltage; repeating this at several voltages gives the voltage-speed fit.
Measuring the back-EMF constant. A tachometer reads the shaft speed while a multimeter reads the terminal voltage; repeating this at several voltages gives the voltage-speed fit.

For KT,lK_{T,l}, torque was not directly readable. We clamped a light lever to the shaft, energized the motor at known currents, and measured how far the lever deflected. The lever has a known weight and center of mass, so force balance around the shaft gives the torque for each measured angle.

Torque constant measurement with no current and no lever deflection. Torque constant measurement with 3.26 A and moderate lever deflection. Torque constant measurement with 6.35 A and larger lever deflection.
Measuring the torque constant. A lever on the shaft deflects further as the current rises (0 A, 3.26 A, 6.35 A); force balance around the shaft turns each angle into torque.

After collecting the measurements, we plotted them. Each point is one measurement. In both plots, the points sit close to a straight line. With linear regression, we found the line that best fits each dataset. The slope of the top line is KVK_V, so voltage can be converted to speed. The slope of the bottom line is KTK_T, so current can be converted to torque.

The characterization fits for KVK_V and KTK_T.

The fitted constants were KV=0.0103 V⋅s/radK_V = 0.0103\ \text{V·s/rad} and KT=0.0084 N⋅m/AK_T = 0.0084\ \text{N·m/A}.

The internal resistance came from a stall test: with the shaft held still, ω=0\omega = 0 kills the back-EMF, so the terminal voltage over the current is just the winding resistance, Rl=8.75 V/2.13 A=4.11 ΩR_l = 8.75\ \text{V} / 2.13\ \text{A} = 4.11\ \Omega.

Measurement range and uncertainty

With the constants known, the operating envelope follows from the steady-state relations: braking torque is largest at R=0R = 0 and grows with speed, until it hits the 100 W the resistors can dissipate. That gave enough margin for the 20,000 RPM, roughly 80 W target.

The measurement envelope. Maximum braking torque grows with speed until the 100 W dissipation limit, giving a high-speed, low-torque instrument.

Because the dynamometer is ultimately a sensor, its accuracy deserves the same care as its range. The final speed and torque readings depend on earlier measurements: the voltage sensor, current sensor, internal resistance, and the two fitted motor constants. Each of those has uncertainty, and those uncertainties propagate through the equations used to compute ω\omega and TT.

We handled that with the standard root-sum-of-squares propagation formula:

UA=i(AxiUxi)2,U_A = \sqrt{\sum_i \left( \frac{\partial A}{\partial x_i}\,U_{x_i} \right)^2},

Using the measured uncertainties of VV, ili_l, RlR_l, KV,lK_{V,l}, and KT,lK_{T,l} gave the instrument precision: about ±206\pm 206 RPM in speed and ±1.5 N⋅mm\pm 1.5\ \text{N·mm} in torque.

Building it

The mechanical build is deliberately plain: the test and load motors sit on a wooden base joined by a flexible coupling, with a 100 W, 0 to 80 Ω potentiometer to set the braking load.

The finished dynamometer: coupled test and load motors, the potentiometer that sets the load, and the sensing electronics with an LCD.
The finished dynamometer: coupled test and load motors, the potentiometer that sets the load, and the sensing electronics with an LCD.

The electronics do the measuring. A Teensy 3.2 microcontroller reads a current sensor and a voltage sensor, averages 20 samples a second down to one clean reading to suppress noise, shows the torque and speed on an LCD, and streams the data to MATLAB over USB so it can be plotted live.

The measurement circuit: a Teensy 3.2 reads the current and voltage sensors, drives the LCD, and streams to MATLAB.

Results

With the instrument assembled, we swept the load and plotted torque and power against speed in real time.

Measuring a real motor: torque and power across its speed range, captured live as the load is swept.

It worked. The dynamometer measured a motor’s power across its speed range, within the range and precision the analysis predicted. The obvious next steps are to control the load electronically with a digital or motor-driven potentiometer, to use better sensors, and to recover the absorbed energy instead of dumping it as heat.

The report is the source of truth for the complete derivations, references, uncertainty tables, mechanical design, electronic design, code listings, and raw design details: PDF

I’m always interested in discussing business and technology. I also have plenty of ambitious project ideas in mind if you’re looking for one.

Feel free to reach out at dev@atalay.biz.

Follow me at: LinkedIn, X, GitHub, YouTube, Reddit