Since the development of the first silicon chip in 1961, technology has progressed significantly. Silicon-based chips, now embedded amongst an array of components on a board, have allowed for many microcontroller applications to come to fruition. These microcontroller boards are used to send and receive digital/analog signals from sensors and other circuitries. These signals are processed within the brain of microcontroller board (CPU - central processing unit) to trigger events, be it to control a linear actuator or simply to blink some LEDs.
Progressive Automations stock a variety of microcontroller boards, expansion shields, and sensors to cater to any project you can dream of. In order to make an informed decision on which is the best for your application, it is important to have an idea of the options available and what to consider when purchasing a microcontroller.
The most popular microcontroller board is the Arduino series. They come in a variety of different configurations ranging in the number of input/output pins that are available, and the processing speed of the CPU. These boards are programmed in the C programming language. Thankfully, it is not difficult to program a microcontroller in the Arduino range as there are plenty of resources online, but if you require some practice, Progressive Automations offer an Arduino Starter Kit, which includes over 200 electrical components and parts to get you started.
The Arduino Uno Rev3 and Arduino Leonardo boards are both great for beginners and for smaller projects that only require a few input/output pins. The Arduino Uno comes with 14 digital pins and 6 analog pins whereas the Leonardo comes with 20 digital pins and 12 analog pins. Compared with the Uno, the Leonardo has built-in USB 2.0 communication, which allows for it to communicate with a computer via USB. If space is a concern in your project, then the Arduino Micro has the same functionality as the Arduino Leonardo, but in a smaller package.
The Arduino Mega and Arduino Due are used for larger projects that require numerous input/output pins. Although, in terms of processing power, the Arduino Due is over five times faster with a CPU speed of 84MHz, compared to 16MHz for the other Arduino models. Both models come with 54 digital input/output pins.
Let’s discuss what applications we can build using a microcontroller. There are a wide variety of projects that are possible with the integration of a microcontroller to perform various functions. For example, a programmable microcontroller could control a linear actuator to open/close an end-effector (i.e. gripper) on a robotic arm at specific times. Additionally, feedback sensors can also be used on the end-effector’s extremities to trigger a signal change in the microcontroller. This allows for the end-effector to be activated only when necessary or when it senses an object to grab.
Another application of a microcontroller is in access control. For example, linear actuators are sometimes used on a wind turbine hatch to allow technicians to gain access inside the turbine’s Nacelle. A microcontroller can be connected to an RFID/NFC reader and the linear actuator that locks/unlocks the hatch. When an authorised technician touches his card to the reader, the microcontroller checks that he has the rights to enter, and, if so, the linear actuator opens the hatch.
The Stewart Platform Robot is a project that uses an Arduino microcontroller to control six linear actuators which stabilise a platform. It was selected due to its high processing speed, which was required to calculate the complex inverse kinematics needed to stabilise the platform. The use cases are endless when implementing a microcontroller in a project. Any processing that is required can be done by a microcontroller, thereby, digitising and automating your project how you see fit.
Now that we have established the different microcontroller’s that are available and the projects that are possible, how do you select a microcontroller for your specific application? The best microcontroller depends on the project/application. Below, we have compiled a list of factors to keep in mind when choosing a microcontroller.
All the Arduino microcontrollers discussed have an operating voltage of 6-20V. The voltage can come from a battery supply or an AC to DC power supply. However, any voltage less than 7V can cause the microcontroller to become unstable if the DC supply is not 100% smooth. Additionally, supplying more than 20V will cause the voltage regulators to break down and cause excessive heat dissipation.
Each model comes with current specifications for the power supply and the input/output pins. If the input/output pins have a maximum current draw of 200mA, then ensure that what you are connecting to these pins will not exceed this value. For instance, you have a linear actuator that draws 1A at full-load, which you know will exceed the current draw of the input/output pin on the Arduino. Therefore, it is best to use a driver board and to power the linear actuator with a separate power supply with a higher current rating.
The processing speed of most Arduino microcontrollers is 16MHz. If speed is what you need, then the Arduino Due clocks in at 84MHz – meaning it can perform 84 million instructions per second. This speed is necessary when multiple inputs/outputs need to be executed with minimal delay (i.e. processing calculations, serial communications, and reading and writing pins).
As a practical example, a microcontroller connected to a linear actuator and a switch is programmed to stop the extension of the linear actuator when it hits the switch. If the linear actuator’s speed is too fast and the Arduino’s processing capabilities are too slow, then the linear actuator will smash into the switch and cause damage. A solution would be to slow down the linear actuator or to get a microcontroller with a higher processing speed.
Depending on the complexity of your project, you may require a microcontroller with only a few pins, or you may require a microcontroller with many pins. In some cases, multiple microcontrollers may be needed to allow for the array of electronics you intend on connecting to it.
It is also possible to daisy-chain the serial communication ports of multiple Arduino boards to create a network of controllers that interact with one another. Microcontroller programs for such an application is more complex, but it illustrates the flexibility of this technology. As a general guide, select an Arduino with the number of pins your project will need plus an extra one or two pins, just in case.
If you intend on purchasing an input/output expansion board or some other Arduino shield, then ensure that the model you choose is compatible with the Arduino model you are using. Most of the shields supplied by Progressive Automations are compatible with the Arduino Uno, such as the MegaMoto GT H-bridge, which is designed to run multiple linear actuators simultaneously. Since most linear actuators draw current that would exceed the maximum current of an Arduino input/output pin, the MegaMoto driver board is used as a switch, which only requires a digital signal to turn the actuator on/off, vary the voltage or change directions.
You may find that you would like to allow for the control of a linear actuator within your project via the network. You would need to choose a wireless microcontroller, which can be done by purchasing a WIFI or Bluetooth module that is compatible with your selected Arduino. These modules would allow for the wireless remote control of your project.
Microcontroller selection for your project does not need to be complicated. Just keep in mind the previously discussed points and you will be well on your way to automating your project, be it controlling a single linear actuator or a host of linear actuators. A microcontroller can benefit your project in a multitude of ways by progressing towards a digitally automated future!
For more information on microcontrollers or any of our products, contact us and one of our expert engineers will be in touch!