PWM signal over long(ish) distances?

Heyoo!

So I am trying to send control signal from Arduino pin 10 to a servo that is 30 feet away. Its for a touring band's stage design and so I am trying to make everything as modular as possible.

Ive made a box that will send the Arduino signal and the power for the servo (6V, via an external power supply) to the servo via telephone jacks (RJ11) & telephone wire (four conductors at 22 gauge. I'm only using 3, positive, negative, and control). I take signal directly out of the Arduino into a breadboard with the power supply and power up the servo and everything is ok. Then I take the signal and connect it to the phone jacks, plug in a 30 ft phone cord between them and get jerky unprogrammed movement from the servo. Ive checked all my connections and tested everything and I am convinced it is some kind of data transmission problem, not stemming from any wiring or poor connections.

What should I do?? Do I need to amplify the arduino signal somehow to get it to travel that distance uncorrupted? Is it a bad idea to send it over telephone cable?

thank you so muchhhhhh, I am totally stumped right now..

-william

I've done the same thing over cat3 telephone wire (solid wire) for about 12'. Is your wire cat3 solid wire or is it a flexible telephone extension cord?

It's solid wire.

Hmm so another weird thing which makes me think it might not be the long distance of wire (maybe).. is when I take the charger out of my computer (which is connected to the Arduino via usb) then the servo spins CONTINUOUSLY.....which doesnt even make since.. its a Hitec HS-785HB sail winch motor supposed to only go 3.5 rotations. When I plug the charger back in it goes back to jerky servo land..

ahhh i am really befuddled now.....

a haaaa I needed a common ground! thanks to your super helpful pic (shown below for posterity's sake) on another topic Zoomkat, I figured out that I was missing a common ground between Arduino and the power supply.

he servo spins CONTINUOUSLY.....which doesnt even make since.. its a Hitec HS-785HB sail winch motor supposed to only go 3.5 rotations.

Per the below, the HS-785HB servo also has a continuous rotation function.

http://www.robotshop.com/ca/en/hitec-hs785hb-servo-motor.html

A ha wow thanks for that link, everything makes so much more sense now. You are my hero zoomkat!!!!

Could I send pwm signal from arduino over 75 feet and be ok? It would be going through 24 gauge wire.

No idea about PWM, but this:

shows that digital signals can travel a lot further than 75ft. I'd say try it, it will "probably" work.

It isn't so much about the wire size, as it is shielding. Send it over twisted pair with one of the pair ground, and you might be able to do that. It depends on the environment and how noisy it is, and how close the wire runs to other wires that may be carrying a lot of RFI.

Keep it away from cables running to stage lights. Cross other wires at right angles and don't run parallel to them, or at least keep it away from the other wires.

Best way to find out is to try.

coool thanks for the info! i am just using standard 4 conductor telephone wire so there isn't much shielding there. eventually i should probably use CAT5 or 6 but that old RJ11 stuff is just so cheap these days its hard to pass it up.. I'll do some experimenting and figure it out

A technique to reduce interference in non-twisted cables is to surround your signal conductor with grounds. So for a 4-wire telephone cord, I'd go ground-signal-ground and you have one conductor left over for whatever else you want to use it for.

Definitely use Cat 5 or 6 over 4 conductor telephone wire, especially if you are just talking about that grey/pinkish stuff with the 4 wires running parallel.

As tylernt says, you may be able to make it work by alternating signal with ground. You may also find that winding each end of the cable (all four wires together, not separately) through a large toroid ferrite may help. A 1nF capacitor from the signal line to ground may help reduce noise, too. Don't go nuts with that capacitor, you only want enough to drop out some RF, not round off your servo pulses.