I listen to a podcast about industrial revolution and tech history on my way to work. One pattern repeatedly happened in the past was that many inventions started from the hobbyist community first, such as microscopes, cars, airplanes and personal computers, just to name a few. This made me wonder if the birth of the consumer robots will repeat the history and will start from a hobbyist’s garage. I’m very obsessed with home made legged robots these days. But I guess I wouldn’t even be able to afford the high end actuators. So, as someone who has a pure software background, my first goal should be less ambitious: making an actuator. And this post is a summary on what I’ve learned on researching this topic. While you won’t find too much on the internet regarding how to make an actuator, you will find enough. Some are of really good quality.
Expensive industrial actuators are made of brushless motors, a controller circuit and a gear box. However, the most crucial part, a good brushless motor are actually not very expensive and easy to get from online hobby shops, thanks to the recent popularity of consumer drones. So to make an actuator, we need to DIY the control circuit as well as 3D print the gear box, plus an enclosure.
The best document I found is Benjamin G. Katz’s Master’s thesis, and even better, the circuit board of this actuator is also open sourced. This actuator has been field tested and showed its power, as it has been used by the MIT Mini Cheetah robot, the first four-legged that can do a back flip. The control circuit of this actuator uses a magnetic encoder made by AMS. There are other projects based the same design, notably the OpenTorque project, which 3D prints its gear box and enclosure, instead of using machined aluminum parts. I guess I will have to do the same, as I suspect the machined aluminum parts won’t be cheap. There is also a Chinese company making this actuator, you can buy one for $330. But I think making the actuator, the process, is where the joy will come from.
The Skyentific youtube channel is another great resource. There is an example of the OpenTorque implementation, as well as other designs, such as this one, which uses an optical encoder, not a magnetic one. If making a control circuit is too hard, ODrive provides a ready made solution, but again, the DIY project will become a bit boring.
One thing confused me though, was the many types of motors. I often hear people use “brushless motors”, but what are they? Are they the same as the BLDC (brushless direct current) motors, because the input power appears to be AC (alternating current). It turned out, according to someone who is more familiar with motors, the naming is messed up.
Luckily, we are in an era when you can find most answers on YouTube. The first kind of motor is the DC (direct current) motor. The basic idea is having permanent magnets and a rotatable coil. By changing the direction of the electric current of the coil, the coil will generate different magnetic fields and thus pulled by the permanent magnets to result in rotation. Exactly how to change the current inside the coil makes the difference. In the normal DC motor, the coil current is changed in a mechanical way. As the coil rotates, it physically change its contact points to the battery, and as a result, the current direction changes. The contact points may worn out after long time use.
Another DC motor is the brushless DC motor. What’s smart about the BLDC motor is that it doesn’t change the coil current in a mechanical way. In fact, the coil doesn’t move, whereas the permanent magnets rotate. The coil’s current is changing in an electronic way, by using a rotation sensor to detect the current rotation angle. There is no part that will worn out. BLDC is said to be more reliable, less noisy and lightweight than a DC motor.
And then there is the induction motor, invented by Nicola Tesla. What’s unique about this motor is that it doesn’t need permanent magnets. Instead it generates the magnetic field with alternative currents. The inner rotor also has its own current to generate a separate magnetic field. However, instead of directly provide electricity to the inner rotor, the current is induced from the magnetic field generated by the alternative currents. Due to its simple design and high performance, this is the most commonly used motor and the kind used in electric cars. The induction motor is also called asynchronous motor, because the speed of the rotor is slower than the rotation of the magnetic field.
Finally, the most confusingly named one, the Permanent Magnet Synchronous Motor (PMSM), which is also the one used by the aforementioned actuators. Although this motor is also called the synchronous AC motor or Brushless AC, its design is almost the same as the BLDC motor. The only difference is the way their coil is wound and this difference requires different wave shapes for their input currents.
Based on the answer here, PMSM requires the input currents to be sinusoidal, whereas BLDC requires the input currents to be trapezoidal waves. There is really no need to call them AC or DC, as the input currents are very similar other than their shape. But because of the required trapezoidal input waves, BLDCs’ output torque is jittering. Whereas, PMSMs or synchronous AC motors, on the other hand, are able to operate without the torque ripple and thus a more ideal choice for actuators.