If you like to make things—and you’re reading Tindie’s blog so that seems like a fair assumption—at some point you’ll want to make one of your creations move, likely with a motor of some sort. We can help you decide which kind of motor best fits your application. Read on!
DC Motors
DC motors are the simplest rotary motion devices on this list, as movement is started when sufficient voltage is applied between the positive and negative poles. Speed can be controlled by varying this applied voltage, and direction is changed by reversing input polarity. By default, there is no feedback to tell you how fast this type of motor is going. If needed, an encoder can be added to sense speed, and gear reduction can be used to increase output torque at the expense of rotational speed.
While easy to control, they need more current than an Arduino or similar dev board can generally provide. For an easy way to integrate a motor with this type of control, just do a search for Arduino “motor shield” for lots of options, many of which will also work with the other motor types discussed here.
Stepper Motors
Sometimes confused with servo motors, stepper motors operate by energizing certain coils to make a shaft turn one step at a time. This requires more thoughtful control than a simple DC motor, but also gives it the ability to move in a precisely controlled fashion. While there are many uses for this type of device, one notable use is in CNC equipment. For a great illustration of how one of these work, check out the video above of YouTuber Proto G’s 3D-Printed Stepper Motor.
For CNC control options, if you’re interested in driving one in a laser or plotter project, this board looks interesting. It’s meant for use with the Grbl software package, which has become the de facto CNC control standard for Arduino boards. Alternatively, this shield gives a more general Arduino/Grbl implementation, including a connection point for your Z-axis.
Servomotor
Servomotors, or just servos, come in all shapes and sizes, but feature a feedback loop. This means that if there is an error in the motor’s position, the controller knows about it and can take the proper corrective action. Steppers, while generally extremely accurate, don’t have this ability, and if your system somehow misses a step, all further actions from there on out will be inaccurate until it’s re-homed. For many Tindarians, “servo” is synonymous with the hobby servos that are seen in model airplanes and the like. While these work well in many applications, other models are available that can cost thousands of dollars, many of which can rotate continuously with feedback.
Incidentally, you’ve likely heard that you can modify a servo for continuous rotation. After doing this myself, calling these modified motors “servos” is a bit of a misnomer, as there’s no longer any positional feedback. They are simply DC motors in a convenient format with a modicum of speed control. That being said, if you do need positional feedback, then you can add a Mocoder encoder to one of these modded devices, restoring a sense of control to your system!
Of course there are other electro-mechanical options, such as AC motors, solenoids, and variations of the motors listed here. Hopefully this gives you a good place to start if you’re considering building a new robot or other moving device!