# How to drive a linear actuator in both directions

I would like to drive in both directions my linear actuator (12VDC, 13A max). My electronic board outputs two signals (obviously, I also have GND signal):

Forward: +12VDC (2A max)

Backward: +12VDC (2A max)

When I press the forward button, the forward output is +12V, on the contrary, when I press the backward button, I have +12V on the backward output line.

The battery for this system is an AGM battery, 12VDC, 200Ah.

I know that the correct way would be to use a driver, but it is expensive and I do not need lots of functions, I only need to open and close the actuator.

I was thinking to trigger two relays by using the forward and backward signals, but I can't figure out how to connect them in a correct way.

Can you give me some suggestions, please?

• Swap the signals. – Marko Buršič Mar 13 '17 at 9:39
• @Marko It seems that the OP understands this, from what I read it looks like they're after a way to do it using signals rather than buttons – Doodle Mar 13 '17 at 9:44
• @MarkoBuršič, I know that I can swap signals, but this is not the solution I'm looking for. I need to use these two signals.. – Marcus Barnet Mar 13 '17 at 10:21
• The standard use is when actuator is in STOP mode. Sometimes it can go forward for few seconds or backward but it always returns in STOP mode. – Marcus Barnet Mar 13 '17 at 12:21
• @MarcusBarnet In that case, you could use an XOR gate in the circuitry to prevent forward and reverse being powered at the same time. – Andrew Morton Mar 13 '17 at 19:24

Use an H-bridge. It is cheap and straightforward to build.

http://www.bristolwatch.com/k150/port4.htm

I use this for high current switching: http://www.bristolwatch.com/k150/pics1/mosfet_hb2.png

These N- and P-channel MOSFETs have a fairly low V_DS(ON) resistance, and don't run very hot at 2A. P = (I^2) x R = 4 x 0.8 = 3.2W for the IRF9630, less for the IRF630.

I don't personally like BJT transistors in H-bridges except to control the MOSFETs, but perhaps there are scenarios where they're better. If so, others may chime in with their cluebats.

Hope it helps.

Edit: the linked schematic is not for PWM (I used it for 12V actuators as well). Cost was low, <5USD

• I do not need the PWM, I just need to make the linear actuator move forward and backward without controlling its speed. The H-bridge solution is the best one I can use, I guess.. the problem is that I need to realized a PCB in order to use the MOSFETs. Using relays would be faster, but it is dangerous since there is the short circuit problem.. – Marcus Barnet Mar 13 '17 at 10:18
• @MarcusBarnet Just get some PTH, I've never used PCB. My circuits are never big enough to require it, and perfboard is fast. – user400344 Mar 13 '17 at 10:21
• A perfboard can support currents up to 13A? – Marcus Barnet Mar 13 '17 at 10:23
• @Marcus Is the "short circuit problem" something you've thought of yourself or do you have actual evidence of such an issue? – Doodle Mar 13 '17 at 10:24
• @Marcus That's true if you use two separate relays, one for each line. If one fails then it can go quite wrong... However, if you use a DPST relay like Andy's answer the switching poles inside are linked mechanically so they can't actually cause a short circuit. Here's a really good animation that shows what I mean, that's an SPST, now imagine a relay that has two of those inside, that's a DPST relay Andy is talking about. – Doodle Mar 13 '17 at 10:39

I was thinking to trigger two relays by using the forward and backward signals, but I can't figure out how to connect them in a correct way. Can you give me some suggestions, please?

Try this for a relay reverser: -

A motor is shown but that can be your linear actuator.

Contacts required in relay: two single pole changeover (or double pole, double throw).

You might need to put back-to-back zener diodes across the actuator to "catch" any back-emfs.

• I've done this, with dismal results. Usually it works fine, but when it doesn't (switching time of my relay was 15ms) it shorts out the 12V line. – user400344 Mar 13 '17 at 10:04
• This was my worry since if there is a delay in the relay, a short-circuit may occur.. this would be dangerous for the batteries and the system.. – Marcus Barnet Mar 13 '17 at 10:11
• @user400344 How are you shorting out your 12V line? I may be wrong but looking at the DPDT relay I have in my hand it's physically impossible for one side to fail and cause a short. Not to mention that the switching difference between the two poles is insignificant. – Doodle Mar 13 '17 at 10:22
• @user400344 I think you're confused, what you probably used was one of these modules? which is two separate relays. Yes, these can have the problem you mention, if one relay is slower than the other or one fails then you will get a short circuit. The relay Andy mentions in his answer is a relay like this one, the poles in this relay are mechanically linked so they always switch together and not separately, so no short circuits possible. – Doodle Mar 13 '17 at 10:31
• @MarcusBarnet use a DPDT relay as in the answer. I've done this successfully, several times. – Chris H Mar 13 '17 at 11:30

Use two contactors with a interlocking mechanism. You will find such contactors in a electical specialized shops. There are also ready made kits, with motor protection and reversing contactors. Try to google: reversing contactor. This kind of contactor has the mechanical lock between them, preventing to be engage both of them at the same time - this would cause short circuit.

http://www.cesco.com/b2c/product/Schneider-Electric-LC2K0901B7-Reversing-Contactor/614180

• Thanks for your suggestion, the problem is that the contactor is expensive. A motor controller with short-circuit protection and over-current protection costs about 70 USD and it can drive my linear actuator without problems. I would like to avoid the contactors if possible.. – Marcus Barnet Mar 13 '17 at 10:13
• @MarcusBarnet: DPDT relays like in Andy's message is even cheaper. Typically around US\$3 each – slebetman Mar 13 '17 at 12:03

In response to the comments on both the question as well as Andy's answer I've decided to post my own answer.

From what I've gathered, you want the operation to be normally stationary. Then either forward or reverse but only while the button is pressed.

How the circuit below works, with no buttons pressed there is no positive voltage on the terminal of the relay, no voltage no motor movement, simple stuff.

When the REV button is pressed, it connects $V_{S}$ to the relay terminal. Now there is $V_{S}$ on your $MOT-$ and $0V$ on your $MOT+$. So your motor will move in reverse whilst the button is held.

When the FWD button is pressed, like before it still connects $V_{S}$ to the relay terminal. However, this time it also uses $V_{S}$ to saturate the NPN transistor which will cause current to flow through the relay coil and the relay will actuate changing the poles. Now you have $V_{S}$ on your $MOT+$ and $0V$ on your $MOT-$, so your motor will move forward whilst the button is held.

The purpose behind the diode on the FWD button line is so that when you press the REV button, it doesn't saturate the transistor, there will be an ~0.7V drop when your motor is running in the FWD direction but it shouldn't make much difference to the speed. Depending on your motor though, you will need quite a high current diode.

As for the transistor and base resistor values, without all the voltages and currents I can't really give any recommendation.

simulate this circuit – Schematic created using CircuitLab

• My understanding of the question is that the forward button outputs a signal. The reverse button outputs a separate signal. Both buttons can be pressed at the same time which results in 12 V being present on both signal lines. The signals are used to indicate direction, but are insufficient in current capability to drive the actuator. – Andrew Morton Mar 13 '17 at 19:33
• Exactly, Andrew! The signal are used only as reference for the direction and they are not capable to directly drive the actuator since they outputs 2A at maximum. – Marcus Barnet Mar 13 '17 at 20:23
• @Hayman, your solution is great! I think I can use it without problems! – Marcus Barnet Mar 13 '17 at 20:26