The motor hull with the stator and bearings installed.

Ever since I learned about the work that Ben Katz and JPieper were doing (among many many others) I have wanted to make my own BLDC motors. As such, for my honors thesis, I decided I would make a few! And before anyone asks, no, I did not wind them myself. This project focused on the mechanical design of the motors, but I’d like to take a stab at different windings in the future. This is a follow-up to my previous post where I developed math to describe a five-bar robot. These motors were for this robot, and I used them to get it to move (very quickly)!

BLDC Motor Concept Generation

Like all good projects, this one started off with a series of poorly drawn cross sections. After a long day of lab supervising, I worked with another one of my coworkers to come up with a few ideas for how I could design one of these motors. I eventually decided on the bottom left design because it could be manufactured with less parts and gave better options for mounting something to the shaft of the motor.

Example motor cross sections.
Here are a few example BLDC motor cross sections/designs we generated.

Eventually I graduated to a proper CAD cross section of the BLDC motor. This took some time of course, but I’m very happy with the results. I used pins along the edge to solidify the stator, and used a partial press fit to mount the rotor. This made it much easier than press fitting along the entire length and prevented unnecessary undercuts. This allowed the part to be easily manufactured with lathing. One thing I am unhappy with about the design is the relative location of the bearings with respect to each other. I would have preferred them be farther apart; however, this allowed the shell to be comprised of only one large billet, allowing the relative tolerances to be tighter.

Cross section of the motor.
A SolidWorks cross section of the motor.

I also made a full render of the motor. As you might notice, there is a small spline integrated into the motor hub which may be used in future projects for locating different attachments. This was milled in after the lathing operations along with the screw holes.

Close up render of the motor, you can see the wires coming out at the bottom.
Close up render of the motor, you can see the wires coming out at the bottom.

Machining the BLDC Motor Parts

At this point we were ready to generate CAM and actually use a CNC machine to create the parts. I started with 5 inch aluminum stock for the stator and a 2 inch aluminum stock for the rotor.

One motor hull half finished next to the stock for another motor hull.
One motor hull half finished next to the 5 inch stock it was machined from.

After I had machined that portion, I just had to do the same thing twice! I also ended up doing most the the rotors in the CNC machine too to save time.

All the parts for the motor after this first operation.
All the parts for the motor after this first side was finished.

Finally, we just had to machine the other sides of each of those parts! This gave me 4 parts (miraculously with nearly no errors) and this was enough to build the two motors.

A motor hull without the stator in it. On the edges you can see the alignment pins.
A motor hull without the stator in it. On the edges you can see the alignment pins.
The motor rotors without the magnets installed.
The BLDC motor rotors without the magnets installed.

Assembly of the Motors

After I had machined everything, I just had to add all of the parts. This involved inserting the stators, which was a matter of a light press fit and alignment with the pins. I had to be very careful not to damage the coils, and I used something to press along the rim to avoid causing that damage.

The motor hull with the stator and bearings installed.
The motor hull with the stator and bearings installed.
The motor hulls with the stator pressed into the hull.
The motor hulls with the stators pressed into their hulls.

Unfortunately, I forgot to get pictures of press fitting the rotor magnets onto the rotor shafts, but that was the next step. This step was the most stressful and had the highest likelihood of wrecking parts. Fortunately, cooling the aluminum in the fridge and warming the magnet (only a little as to not damage them) made the press fit work perfectly. In addition to this, I noticed that my rotor shafts were a tad loose. This was no issue though, and I applied some Loctite between the shafts and the bearings. This will make disassembly hard, but that’s a problem for future me as I didn’t have enough time to re-machine those shafts and buy new rotor magnets. After this, I could put the encoders on the device.

Putting the encoder on, using the centering tool to make sure it doesn't get off center.
Putting the encoder on, using the centering tool.

After I installed the encoder and the 3D printed stator wire shield, I was finished! I would definitely do a few things differently given another chance, but here is the final picture of one of them.

The finished motor with the stator cover and rotor installed.
A picture of the finished motor with the stator cover and rotor installed.

Summary and Future Ideas

These motors were built to deliver lots of torque, and they held well up to that task. However, I think if I were to rewind them, I’d be able to make better use of that. The stators I purchased were 100kv, which while low, was not low enough for the low speed regime I wanted to run the motors in. I think I could have gotten a lot more performance out of them if I had spent that time, but they were good enough for my application playing air hockey. In the next post I’ll cover the build of the air hockey robot and some more about the programming involved.

Leave a Reply