Intro: Powerful Control With Arduino: Interfacing a Linear Actuator
In this specific article we will discuss how straightforward it is to control powerful mechanical force using a microcontroller such as the Arduino and a Linear Actuator from DC Linear Actuators Inc.
Step 1: Microcontrollers
RaspberryPi and the Arduino have rapidly become the go to tool for creativity among thinkers, tinkerers, and dreamers. Microcontrollers, like the Arduino, have repaved the path for originators, DIY'ers and inventors.
Before these microcontrollers, an electrical engineer would have to design a completely customized circuit that has many parts that are intricate simply to run a simple task such as multiple LED lights that are blinking. Today, this job may be executed with a straightforward software on the Arduino in under 5 minutes.
Something large or mechanical that needs direct force. Something like an automatic opening door, a strong robotic claw or a big tracking solar-panel.
Locating a linear actuator to use with microcontroller jobs can be daunting. DC Linear Actuators is introducing a brand new line of actuators which are sized perfectly for your DIY projects, together with professional systems.
This brief article will detail the several means that one can control a strong mechanical device, like a linear-actuator, using a low power device including an Arduino.
If you're reading this, chances are that you already know the basics of Arduino, not an issue if you do not. Microcontrollers such as the Arduino have a microprocessor, the heart and brain of the system. Additionally you will discover several other features that I could debate over as well as a section of memory to store our software in. But one of the most important aspects of your microcontroller is in fact the I/O (Input/Output) pins, also called headers/header pins. You see, microcontrollers are designed for how much power those I/O pins can handle, with endurance. You must always be aware of how much voltage AND current you're attempting to control or read through your I/O pins. The Arduino can source (supply) a max of ~40mA (0.040 amps) on each I/O pin, and a combined total of 200mA of current between all of the I/O pins. To put this in perspective, a common high-torque servo can consume around 500mA (0.5 amps).
Microcontrollers are not meant to power anything, they are intended to provide a signal on the I/O pins which can be used to trigger or control the remainder of a system.
An electronic Linear-Actuator uses the power produced by a DC motor to produce a linear, straight line movement of a push-rod. We may then use this movement to control many aspects of our project that we formerly were unable to. The line of actuators I advocate from DClinearactuators.com can handle up to ~2.5 Amps.
So how is an only 40mA going to control multiple linear-actuators and move, say, our giant robotic dinosaur?
We add a new device in-between Linear-Actuator and our microcontroller to just handle the higher-power. We can indicate this device via I/O pins from our microcontroller when we desire the power. This capacity is provided by what devices?
Here are a few choices:
- Motor Driver Board/Shield
- Mechanical Relays
All these alternatives will work, and a beginner can easily set them up. Remember, the goal is to find a device that'll take our microcontroller signal that is poor and turn it into something more powerful to control a linear actuator. They have advantages, so pay attention and do your research.
Step 2: Motor Driver Board/Shield
By far the most intuitive solution for most DIY'ers would be to purchase a low cost 'motor shield' or 'motor driver'.
There are many boards that you could pick from. They change in the amount of motors you can control with also the approach in which you signal it from your microcontroller and one board. The majority of the boards use PWM signals from some use I2C and your Arduino. Both of which would need less than ~10 lines of code to work.
Boards can go for as little as $2 and they may each use an alternate group of circuits within itself.
Key prerequisites you should look out for in a Motor Driver or Shield:
- Can it provide the voltage that is recommended? 6V-12V
- Can it source the essential current? ~ 2.5 Amps
- Does it have enough motor output channels for the job?
Step 3: MOSFET
Metal-oxide Semiconductor field-effect transistor (but we will stick together with the abbreviation) is basically an electronic switch. A MOSFET is a chip with 3 pins; one pin connects to your power source (Source-Pin), the 2nd pin (Drain-Pin) connects to the actuator or no matter what the load of your project may be and the 3rd pin (Gate-Pin) to indicate when to change and for how long.
Just don't forget that by making your own custom motor-driver circuit means that you just forfeit the protections and dependence of a manufactured board that is premade which you would buy.
There are many settings for a MOSFET circuit. We recommend using what is called a 'common source' setup.
To make use of the MOSFET in common source mode; Connect Earth from the 6v-12v power supply to the Source-Pin, the Linear Actuators Ground wire to the Drain-Pin, along with the positive ( ) 12v from our power supply directly to the actuators positive ( ) wire. We simply join a Digital/PWM pin from our microcontroller to the Gate -Pin on the MOSFET. To Ground, we can turn off/on our Actuators connection with our MOSFET now in common source mode. Therefore, when it is On and Off controlling. By simply writing a digital pin HIGH/ LOW in our microcontrollers code actuator operation is attained.
To get a dependable and fast switch from On/Off every time, we have to join a 10k Ohm resistor between the Source- Pin along with the Gate -Pin of the MOSFET. This may enable a super-quick on/off time. Something to note about DC motors is they create something called EMF back. When the power to a DC motor is shut off, the magnetic field contained in the motors field-coils collapses. Back-EMF can ruin the circuits the motor is connected to. In-order to circumvent back-EMF, a tiny diode should be placed between negative and positive terminals leading to the DC motor. That is, the negative side of the Diode (silver-band) attached to the positive lead of the actuator, and also the positive side of the diode attached to the negative lead of the actuator. This redirects the reversed polarity suitably to safeguard the MOSFET.
Keep in mind:
Whenever you're dealing with two different circuits, like MOSFET circuit and our Arduino, it's crucial that you have a Common Ground. A common ground just means that each of the individual circuits are linked to the exact same Earth point. Without going deep into theory, what this does is give each circuit the SAME reference point to work off of. A common ground lets the system work more correctly and efficiently.