One of the most common requests we receive is to run our linear actuators in synchronous and one of the most common complaints is “why don’t my actuators move in synchronous when wired to the same 12V power supply?” In this tutorial we will answer this question, then present solutions and methods for reliable synchronous control. While this is a long tutorial, please read it in its entirety to ensure you can utilize our linear actuators to their maximum capacity.
“Why don’t my actuators move in synchronous when wired to the same 12V power supply?”
Many customers rely on Firgelli linear actuators to automate lifting the hatch cover on their truck, to conceal a trapdoor leading to the wine cellar, or to actuate an air-brake on a Lamborghini. To achieve these projects two actuators can be placed on either side of the hatch to lift it up, but sometimes a customer will reach out informing us that either their hatch broke or the motor burnt out because the actuators did not move at the same speed.
What’s going on? Fortunately we can confidently say that this is not a design fault in our linear actuators, rather an inherent property of all DC motors. Whether it is ours or another companies Actuators, two DC motors will never move perfectly in synchronous with each other without a closed feedback loop using an encoder.
There are numerous reasons for this including, but not limited to:
- Manufacturing tolerances allowing for small variations
- Different loads/torques applied to each motor shaft
- Variations in bushing/bearing friction
- Differences in mechanical wear and tear
These small differences compound together and it is realistic to expect a 5-10% difference in speed between DC motors or linear actuators. Fortunately there are several methods for overcoming this inherent difference in speed.
How to Run Linear Actuators at the Same Speed
If you have purchased (or are planning to) a feedback rod linear actuator, optical feedback linear actuator, Bullet series 36 Cal, or Bullet series 50 Cal linear actuator, this section will provide information on how to move them in synchronous.
1) FA-SYNC-4 or FA-SYNC-2 Synchronous Box (strongly recommended)
The synchronous control box is by far the most reliable method for synchronizing the motion of between two and four linear actuators. To do this you will need the same type of actuator that have built in feedback such as a hall sensor or optical sensor feedback. Below are a couple of example Actuators with feedback built in:
- Optical Series 200lb Actuator
- Optical Series 400lb Actuator
- 12V Bullet Series 36 Cal. Actuator
- 12V Bullet Series 50 Cal. Actuator
This control box offers a “plug and play” solution off-the-shelf, once wired together all you need to do is push a button and the system will auto-calibrate, then you can intuitively control up to 4 actuators in synchronous under any load. See this dedicated tutorial on how to use the FA-SYNC-2 and FA-SYNC-4 synchronous control boxes.
2) Arduino Interrupt Pins
This method will work with the Optical and Bullet series, these actuators have optical and Hall Effect encoders, respectively. By counting the number of pulses the rod displacement can be calculated. Applying control algorithms enables synchronous control. This requires you connecting the signal from the encoders to the interrupt pins of the Arduino. This is an advanced project; we do not provide support for software or programming.
3) Arduino Analog Pins
This method will only work with feedback rod linear actuator. The feedback rod linear actuator has an inbuilt potentiometer giving an analog output that can be read and converted to a position reading. A tutorial of how to do this using an Arduino is linked here; while this tutorial is thorough, some knowledge of programming and Arduino is assumed. Furthermore, this tutorial only shows how to get a reading from the sensor; it is up to you to write software for synchronous control. This is an advanced project; we do not provide support for software or programming.
How to Run Linear Actuators at (Nearly) the Same Speed
This section will go over how to move linear actuators that do not have inbuilt encoders for feedback control. If you have not yet purchased your linear actuators, we suggest skipping this section and sticking with the methods discussed in the previous section that uses Firgelli linear actuators with inbuilt positional encoders. However if you have already purchased a linear actuator that does not have these inbuilt positional encoders such as the Firgelli Classic or Firgelli Premium linear actuators and still want to move them at (nearly) the same speed, continue reading this section.
Note: we keep saying (nearly) the same speed because it is physically impossible to move actuators at exactly the same speed without closed loop feedback control.
1) Do Nothing
The easiest solution may to be not worry about the small 5-10% difference in speed, especially if the stroke of your actuator is small (<6 inches), as they will not differ in height too drastically. Instead introduce some flexibility into your system, for example if you are building a hatch with two actuators, you can design it such that body of the hatch can rotate/twist slightly so that any difference in actuator speed will be absorbed by the system.
2) Speed Controller
If one actuator moves faster than the second one, you can use a speed controller on the fast actuator to reduce its speed. This control box uses pulse width modulation (PWM) to adjust the speed at which an actuator moves. For more information see our tutorial: How to Use Speed Controllers with Firgelli Linear Actuators. Tuning the speed is an art form and will not result in perfect speed matching between multiple actuators, but it is the best result possible when not using feedback.
3) Arduino Speed Control
Instead of using our off the shelf speed controller you can use an Arduino to vary the speed of actuators using a PWM signal. We do not encourage this method if you do not already have experience with Arduino. While Firgelli does not provide Arduino or programming support we do have an overview tutorial on how to vary speed using an Arduino and a motor driver.