Servo with 25 feet telephone wire

I plan to control ten servos for ho switch tracks. I have lot of
Telephone wires. I was wondering if we can use telephone wire for
Servo to arduino? I think it is about 12 to 15 feet long for each
Servos. I don't plan to run all servos at one time. Also I haven't
Buy servos and arduino yet. I would like to know what kind arduino
And servos to buy and where is good place to buy in USA.

Hard to say without trying it and results will probably vary between different models of servos. It's not a problem of the current through the wires but rather the signal getting interfered with.

IMHO hobbyking.com has the best prices on servos. They do take a bit longer to ship, though.

You need to find the current the servos require and measure the resistance of the wire.

Line have 2 pairs ?
Ground one line from each pair. Power (5-7V) to third line and signal to the last one.
Servo signals need no more than 2-3kHz bandwidth.
This will work - even on lines 150feet long and up to 1A

If you want to use thin wire but only demand short surges of power (when the servo actually moves) you could use end-line capacitors to provide the short duration surges that servo motors demand. Size of capacitor depends on load-time demand but doing a test with a long length of your wire and an analogue voltmeter will give you some idea of its effectiveness. At a guess, something like 5000uf rated at say 16V will be a reasonable starting point. I suggest an analogue meter (one with a moving needle) as digital ones are less useful at showing transients. Capacitor obviously has to be located as near as possible to the servo.

Thanks. I will give a try. I am not sure how do we put capacitor on it. Is there schematic that I can know what I am doing. I don't want to short it out or ruin servo if I am doing wrong.

Reid

You'd want an electrolytic capacitor. Connect to the positive and negative servo power lines to the capacitor, pos to pos and neg to neg, near where the servo is connected. The negative leg on the capacitor is typically marked on the case with a stripe.

http://www.dipmicro.com/store/C9E47-16-105

You should of course perform testing without and with the capacitor to see if you get improvement. Don't be afraid to use multiple capacitors in parallel near any servo as well.

I've operated a servo over ~12' of four conductor cat3 telephone wire without any particular issues. Note that you should try to supply ~6v to the servo for power.

Are you considering using the flat/silver type of telephone wire, used between the phone and wall outlet, or the round type that is used for the in-wall wiring? The latter is typically thicker gauge (26ga vs 22ga, respectively) and would be preferred.

Yes I was planning to using flat/silver type wire. Will this work? If not then I will need to buy some wires. I have some network cable which is cat 5. I don't like too many wires. Another question. I need to move 30 degree cw and 30 degree ccw. Can we use dpdt switch? I don't want to use push button. I plan to use bipolar led on dpdt on it. Like red for cw or right turn or ccw or left turn. Can we do that? On servo red cable to +5, black cable to gnd, yellow to arduino pin 9, switch pin 1 to arduino pin 2, switch pin 2 to arduino pin 3. I will figure out led bipolar later on switch pin 3 and 4 . Am I doing right on wire for servo and switch to arduino?

"Silver satin" telephone cable looks around 28 gauge. Cat5 cable is 22 or 24gauge which is quite a difference.

http://wiki.xtronics.com/index.php/Wire-Gauge_Ampacity

A DPDT switch would work but all you really need is an SPDT. See http://arduino.cc/en/tutorial/button -- if you don't have a resistor keeping the input low or high and just leave it "floating" it won't work properly.

Make sure you use a resistor in series with your bipolar LED; start at 470 ohm and see if that is bright enough.

You can't control servos with a push-button switch or a DPDT switch. The control signal for the servo is a sort of PWM signal that doesn't simply come from a switch. You have to generate a signal for it somehow.

Basic servo button control code. You can use a two position switch, with one position connecting the button pin to ground, and the other position not connection the button pin to anything.

//zoomkat servo button test 7-30-2011

#include <Servo.h>
int button1 = 4; //button pin, connect to ground to move servo
int press1 = 0;
Servo servo1;

void setup()
{
  pinMode(button1, INPUT);
  servo1.attach(7);
  digitalWrite(4, HIGH); //enable pullups to make pin high
}

void loop()
{
  press1 = digitalRead(button1);
  if (press1 == LOW)
  {
    servo1.write(160);
  }
  else {
    servo1.write(20);
  }
}