High Speed Actuator

Is it possible to program an actuator with only positive and negative wires?

We’re trying to automate a gate. We need to have it open and close at about 4 inches per second. I haven’t seen any actuators that go this fast except ones like above. Any suggesstions?

Actually, could I in essence switch the polarity by turning pins on and off and the off and on?

You could probably control the actuator using the two relays below setup like the bottom pix.

http://www.ebay.com/itm/New-5V-10A-2-Channel-Relay-Module-Shield-for-Arduino-ARM-PIC-AVR-DSP-Electronic-/390637871608?pt=LH_DefaultDomain_0&hash=item5af3d4e1f8

The H-bridge is the way to drive a motor bi-directionally, that relay circuit is a simple on-off H-bridge. As it shows some sort of limit detection will be needed to cut power at end of travel.

High speed linear actuators tend to be pneumatic

The high speed actuator from here doesn't look to be pneumatic, but we were kind of thinking that too. I am not finding the right pneumatic actuator though, which if I did, giving it an air supply would not be an issue.

Also, thank you for the H Bridge idea. That's new to me, so I will be figuring out how that works.

Would this do the trick from adafruit?

http://www.adafruit.com/products/1438

It's their motor shield.

Also, just to let anyone know, here is a great discussion on this topic... good stuff.

http://forum.arduino.cc/index.php/topic,107808.0.html

It looks like even if I can reverse the polarity, the Arduino won't be powerful enough in the amps. I see that this actuator is requiring 9A at peak load.

I use these motor drivers http://www.pololu.com/product/1451 for bidirectional control of window vents in a greenhouse, and am very happy with them. They can handle 12 amps continuous and 30 amps peak.

Thank you very much. I'm switching directions. I'll be creating a trap door that is probably similar to your window vents. What kind of motor do you use?

The greenhouse vents are quite heavy, so I use these linear actuators: http://www.pololu.com/product/2307

ScottA1: I am not finding the right pneumatic actuator though, which if I did, giving it an air supply would not be an issue.

There are plenty of ways to homebrew a pneumatic actuator from parts you can find in the plumbing section of your local hardware store. Seriously, it's fairly easy.

What's more difficult (and potentially expensive) is the control section - pneumatic control solenoid valves don't tend to be cheap. Also - if you need position sensing, you would need to build that in as well. But the control issue is one that would still be an issue if you went with commercial pneumatic cylinders.

As far as commercial cylinders are concerned - a great and long-running brand is Bimba Manufacturing:

http://www.bimba.com/

...they've been around seemingly forever.

You can typically find their stuff surplus at various vendors as well (though if you need a specific size for a given application, going directly to them is the best option - though not necessarily the cheapest).

You can also make your own linear actuator for next to nothing, especially if you use salvaged parts. All you need is a threaded rod of the desired length, a captive nut that the rod drives, and a geared-down DC motor to rotate the threaded rod. There are lots of DIY tutorials, here is one picked at random: https://www.youtube.com/watch?v=Q_e-4cXfaMI

Pneumatics might have issues if any positioning is required beyond being against a travel stop. You also need a compressed air supply and air control solenoids. wiper motors seem to be popular for big DIY servos.

http://www.youtube.com/results?search_query=wiper+servo&sm=1

All you need is a threaded rod of the desired length, a captive nut that the rod drives, and a geared-down DC motor to rotate the threaded rod.

Don't forget you also have to mount the rod with radial support bearings and an axial thrust bearing.

Thank you very much everyone. I've gone with a servo. It is so much easier to program. Check out the code...

#include "Servo.h"

Servo miservo;
int inBy;

void setup() {
  // attaches a servo connected to pin 10
  miservo.attach(10);  //attach servo to adafruit motor shield
  Serial.begin(9600); //open serial port
  miservo.writeMicroseconds(1450); //set beginning angle
}

void loop() {
  if (Serial.available() >0) {
    inBy = Serial.read();
  if (inBy == 'H') {
    miservo.writeMicroseconds(1900); //turn servo to the LEFT
      }
  if (inBy == 'L') {
    miservo.writeMicroseconds(1000); //turn servo to the RIGHT
    
  }
  if (inBy == 'C') {
    miservo.writeMicroseconds(1450); //turn servo to the CENTER
    
  }
  }
}