Tabletop Dynamometer Stage 1
This project has been a long-time interest of mine, ever since becoming interested in PMSM motors for hobbyist purposes and using . Even though it is one of the most important parameters to design around, many manufacturers and retailers do not publish torque data for their motors. So, unless you are ordering from T-Motor, the best you can do as far as estimating the torque-speed curve is guestimating based off of the volume within the airgap and the torque constant (which is usually reliably given). That is unless you have your own dynamometer and access to the motor. Then you can just measure everything you need directly!
Another purpose of dynamometers that I would like to have my own rig for is robotic actuator characterization - so testing the motor and the transmission together. Specifically, I am interested in low-ratio QDD transmissions paired with medium-sized brushless motors. This is low-speed territory, so if I want to be able to characterize high-speed motors at low torques and slow robotic actuators at high torques, I'm going to need to get fancy with the design.
The dyno in the image above is one that I worked with during a summer/fall internship. This was kind of a crazy setup to serve as my introduction to torque measurement as all of the hardware together cost firmly over 100k.
Low fidelity render of the final form of my dyno (after all stages being completed).
Side view of the same render.
The first part that I obtained materials for was the belt tensioner. This small assembly required a retaining ring groove of a certain thickness in an 8mm shaft which was achieved by grinding down a HSS tap to size and clamping it in one of the tool holders.
![]() |
| Former tap |
I also had the bar stock for making my little squaring parts that all of the bearing-housing parts relied on to stay normal to the bed's surface. This part was crated by first drilling the bolt clearance holes normal to one-another followed by fixing the piece in a vise while it was sitting in a V-block to machine the top face. This was later split into 4 separate pieces with the band saw.
Finished belt tensioner (left) and whole squaring part (right).
Mock-up print of the back housing and pulleys. The ultimaker's x/y calibration was a bit off and the belt teeth did not mesh perfectly.
After a delayed shipping period, my remaining aluminum came in and I was able to get started on the rest of the assembly. Here is the waterjet roughing out the dyno's bed. Note that the slotted clamping sidebars are being used themselves to steady the large plate stock, as well as the clamps on them.
Small reliefs were machined into the ends of the bed plate in order to fix the part such in a way that added no extra stress during facing operations.
Alternate view of the toe clamp setup.
Initial facing was done with Studio's new 2" shell mill. This worked well but was rather slow, especially because several millimeters had to be removed to achieve the final thickness.
Multiple slow passes had to be taken to fully face the part.
Decent surface finish afterwards.
The facing process became remarkably easier and faster when I began using the MMM's 4", 8 insert beast of a shell mill. Shoutout to Scott for letting me use this great tool.
I'm going to miss this thing.
Only a few passes needed and even less when taken along the length of the plate.
Superior surface finish.
First bearing housing. Circular profile machined with conversational programming.
Finished part with its squaring part attached.
The bearing housing part is almost square on its own just sitting in its slot, but not quite.
Almost-finished pulley adapter
In the middle of this project, the invention studio got a beautiful new upright mill. Here is my setup for tramming the mill before I use it for the first time.
I had to clamp the dyno's bed to an angle knee block and hang it off the side of the mill table in order to machine the top of the bed with satisfactory rigidity. The knee block was held in place with toe clamps. The side of the bed plate was indicated vertically to get it square.
Back of the workholding.
The absorber motor disassembled. This motor functions as an arbitrary mechanical load to the motor being tested. The reluctance force from the magnets was so strong that the motor shaft had to be chucked in a lathe and the carriage used to pull the rotor off.
The absorber is a hoverboard motor which is designed to support cantilever loads on its shaft. I wanted the absorber to be doubly supported instead so I drilled through the other side of the of the stator to make room for another shaft to be press-fit into a convenient hole in the stator laminations.
Shoutout to Iain and Elliot for machining this shaft.
Inner diameter for the pulley print needed widening - bored on the lathe easily
Stage 1 final form
Several elements of the design are being held-off on until the next phase of the project. This includes the t-slots in the bed plate, shaft coupling method, and rotary encoder for the absorber. These elements of the design are subject to change as the overall system develops and more hardware is found.
This is the initial form of the motor testing architecture that will be implemented on the final form of the dyno. A Linux machine is run on the Raspberry Pi (left) which contains the overarching testing program and user interface. This machine communicates with the ODrive motor driver (right) to control the brushless motor (bottom). The rig is powered by a lithium polymer battery pack (top) but the final version will use a large power supply that plugs into the wall.
Before the next phase of this project begins, either the transducer that I have currently needs to be proven to work, or another transducer of reasonable prince needs to be acquired. The result of this step will drive the rest of the design.






























Comments
Post a Comment