Are you planning to use a motor in your next Arduino project but are unsure which type to go for? If yes, then you’re at the right place. We’ve got everything sorted for you. All you need to do is read on till the end to learn the art of choosing the right kind of motor for any Arduino project that you’re planning to make.
What Is a Motor?
Before we jump onto the various uses of motors, lets first delve into the basics of motors. A motor is a device which converts electrical energy into mechanical energy. In simple words, it is an electrical machine which needs electrical power to perform a task which involves motion i.e. a mechanical task. It does so by following some fundamental laws of electricity and magnetism.
There are a number of different types of motors but the key types of motors commonly used in Arduino projects are:
· DC Motors
· Stepper Motors
What Are the Applications of a Motor?
If you look around your house, you will find motors present in almost every room. They are a fundamental part of kitchen appliances, ceiling fans, personal computers, remote-controlled cars and even electric shavers. A motor is rather a magical device which allows you to move small parts or even huge things using electrical power. Let’s take a deeper look at how things work inside a motor.
When electrical energy is provided to the motor, current passes through a wire present inside it which creates a temporary magnetic field around the wire. This wire is present between a set of permanent magnets which have their own magnetic field. When the temporary magnetic field of the wire interacts with that of the permanent magnets, the wire moves and hence, electrical energy is converted into mechanical energy.
In reality, the wire inside the motor is rather a u-shaped coil which rotates between the poles of a magnet when supplied with an electric current because the current travels in opposite directions on both sides of the coil, causing one side of the coil to move upwards and the other to move downwards. This allows the coil to rotate continuously.
What Factors Should You Keep in Mind When Buying a Motor?
Choosing a motor for your Arduino project can be a challenging task. You need to make sure that you opt for the right type of motor according to your application. There are a few key specifications that must be kept in mind when choosing a motor. Let’s take a deeper look at these specs individually.
Motor drivers are needed to “drive” a motor using a microcontroller such as Arduino. Since Arduino provides an output voltage of either 5V or 3.3V and motors require an operating voltage ranging from 5V to 12V, a motor driver helps overcome this gap in the voltages.
Different types of motors require different kinds of drivers since their operating technique is different. Hence, when choosing a motor, you need to find out which driver will work best with it. The drivers are nothing but an IC which you can buy from any electronics store. One of the most common driver ICs is L293D, which is extensively used in a number of robotics projects.
Not all motors have the same speed at which they rotate. Hence, you need to make sure what motor speed do you require for your project. Motor speed depends on the frequency of the power supply as well as the internal architecture of the motor.
Torque is essentially the turning effect of a force and in an electrical motor, torque represents the amount of force which it can generate as the coil rotates inside it. If you require the motor to generate a high amount of force then you must opt for a motor that offers high torque.
A DC motor is essentially the simplest type of motor since it has only two terminals – ground and power. These terminals connect to the coils present between two poles of a magnet which then rotate continuously until the power is turned off.
The driver IC most commonly used with DC motors is L293D. It can drive motors with operating voltages of 5V – 35V. Similarly, you can also make your own H-bridge and use it with DC motors.
DC motors have generally high speeds i.e. they have a higher number of revolutions per minute (RPM). The speed can be controlled in Arduino projects using PWM technique. Ceiling fans are an example where DC motors are commonly used. As for the torque, DC motors have a high starting torque which reduces with increasing speed.
Servomotors are made of four main parts – DC motor, potentiometer, control circuitry and a gear box. All of these components work together to offer precise control over the position of this motor. It works in a closed-loop system which provides feedback to the microcontroller and allows it to position the motor at one place. Since servomotors have their own controller, they do not necessarily need an external driver.
Servomotors are used for applications requiring high precision such as a robotic arm. The DC motor inside the servomotor has a high speed and a low torque but the gearbox decreases its speed while increasing the torque. The speed can then be controlled using PWM. Unlike DC motors, servomotors can run at high speed and high torque at the same time.
As the name suggests, stepper motors move in “steps”. They are used in applications where a precise and slow approach is required. In stepper motors, the rotor is surrounded by electromagnetic coils which energize in steps as the rotor rotates. They are used in 3D printers where precise position control is required in steps. Since the stepper motor works in steps, it has a low speed but it offers a high torque. There are fundamentally two types of stepper motors:
In a unipolar stepper motor, the coils are grouped into different phases which are energized one by one. This means that only half of the coils would be energized at a time hence the torque would be less.
In a bipolar stepper motor, the coils are again grouped into different phases but this time, one phase gets the voltage with normal polarity while the other phase gets it with negative polarity. Basically, the currents are reversed. This is achieved via a H-bridge. Hence, bipolar stepper motors have a greater torque than unipolar ones.
Which Motor Should You Use for Your Project?
Since now you know what are the basic types of motors and what key parameters set them apart, you can definitely choose the right kind of motor for your project based on your application. Here are some of the most common Arduino applications which use the main three types of motors.
Type of Motor
1. Line following robot
3. Fan speed
1. Robotic arm
2. Rubik cube solver
3. Touchless trash can
4. Hand sanitizer dispenser
1. 3D printer,
2. Automatic pet feeder
3. Mini lift