Help a Noob: Reversing Polarity

Hi Arduinists,

I want to drive a Firgelli PQ12 actuator (http://www.active-robots.com/actuator-pq12-100-6-p) to pull something, hold the 'pulled' position, then push that thing back to the starting position (i.e. create a 'ramp and hold' stimulus) in an experiment I have planned.

I believe that I need to reverse the polarity of the connection to the actuator to achieve the change in direction (go from pulling to pushing). I have also heard that I'll need an H-bridge to do that. As a total beginner, I'm struggling with that a little. Thus, my question is:

Why do I need to reverse polarity and how does an H-bridge do that please?

In addition, does anyone know of any existing code for a similar application please?

Thanks very much

Just do some reading about H-bridges

Why you want to reverse polarity? You want to go forward and backward don't you? If you reverse polarity you reverse direction of travel.

There are a dozen of nice and cheap H-bridge modules to connect to your Arduino.

Hi Septillion,

Thanks, I have done some reading and will continue to do so. I just wanted a succinct, 'idiot-proof' answer about H-bridges as a lot of information online assumes prior knowledge that frankly, I don't have.

Hello

An idiot proof explanation of an H bridge is as follows.

Imagine 4 switches, upper left, upper right, bottom left, bottom right. The two upper ones are connected to 12V, the two bottom ones are connected to ground. The two left are connected together, and the two right are connected together. Your motor is then attached in the middle, creating the H shape. I'm sure that since you've been looking up H bridges, you can see what the schematic looks like.

You have 4 switches, and by opening and closing each one, you can direct the path of the current. For simplicity sake, I"ll name the switches 1, 2, 3, 4, for the upper left, upper right, bottom left, bottom right.

If you activate switch 1 and 2, nothing will happen. This connects both sides of the motor to 12V. If you activate 3 and 4, still nothing happens, since both sides of the motor are connected to ground.

If you activate 1 and 3, bad things happen. This is a direct short between 12V and ground. Same for 2 and 4.

To control a motor, you need to activate switches 1 and 4. This will cause current to flow from 12V, through the motor, and down to ground. To move the motor the other direction, you activate switches 2 and 3.

You can make an H bridge in many ways, but the principle is the same. You can use transistors for switches, relays for switches, darlingtons for switches... The differences between H bridges are the maximum currents they can provide, and the maximum voltage you can use.

Most H bridges are built so that the voltage across the motor can vary (6-40V, for example), yet they are controlled with the 5V signals from the Arduino. The Arduino chooses which switches to open and close.

You can either make your own H bridge, or there are tons of prebuilt H bridges that can be used. You can buy them from all sorts of electronics stores, like Robotshop, Polulu, or our site (link in signature). Some are nicely built as Arduino shields, others are built to interface with many controllers.

Hopefully that answers your question!

That actuator is very low current . You can use an L293 H-bridge.

It sounds like you are not interested in any circuit that requires any amount of work so maybe you would be better off using a DPDT relay and wiring it as polarity reverser.

Reverse Motor Polarity Relay

A relay only has 2 states (forward & reverse) so you need a 2nd relay for on/off.

For manual control (if there's no microcontroller) you can just use a DPDT switch for direction plus a regular SPST on/off switch.

If you need to hold a position, I would suggest using a stepper motor. Those are often used in 3D printers are very precise and hold a position.