Questions about arduino and long-distance servo motors

Thread Starter

dannyboy90

Joined May 22, 2024
4
Hello,

(Beginner)

I am trying to build a circuit that uses an Arduino board to control 2 servo motors (powerful ones, requiring their own power) and a sensor to collect some data. The problem is there is a longer distance from the Arduino to the motors and the sensors and I don't know if this is possible at all. See below image:

1716402185737.png

Questions:

1. Is it possible to connect the servo motors to Arduino on a 25 meters long cable, or does it not work?
2. What about the sensors? Is it possible to read them with a 25 meter long cable?
3. I am struggling to find if such long cables are even available. The components that I bought for tests have very short cables for prototyping on a breadboard. Can you give me an example of how I could find such a cable (perhaps a direct link to a store)?
 

MrChips

Joined Oct 2, 2009
31,087
You can get any length of cable if so desired, even 3000m. You only need to determine the effects of increased resistance, inductance and capacitance of the cable.

If you are driving motors, you need to specify the current and voltage requirements of the motor. For motors at remote location, you don't send power along long cables. You send control signals to the motor driver.

Similarly, with sensors, you can send analog data using 4-20mA current loop or you can send digital data using RS-422 or RS-485 signaling.
 

Thread Starter

dannyboy90

Joined May 22, 2024
4
You can get any length of cable if so desired, even 3000m. You only need to determine the effects of increased resistance, inductance and capacitance of the cable.

If you are driving motors, you need to specify the current and voltage requirements of the motor. For motors at remote location, you don't send power along long cables. You send control signals to the motor driver.

Similarly, with sensors, you can send analog data using 4-20mA current loop or you can send digital data using RS-422 or RS-485 signaling.
Thank you for the info. At this point I don't know which cable to use so I can't tell you the properties of such cable, but at least now I know what to look for. Can you tell me in generic terms what needs to be done to be able to increase the power output to the signal cable?
 

panic mode

Joined Oct 10, 2011
2,877
the thing with long cables is that they become a transmission line. if you send a pulse at one end, pulse propagates (and decays) along the way... the signal loss is small but the inductance and capacitance distort the signal too. and the big problem are reflections. then you have pulse ringing back and forth between cable ends getting weaker and weaker but you are also observing not one but many pulses.
so communication lines are dealing with this by adding matched impedance at each end of the cable. do prevent or reduce interference with outside world, cables can be shielded, use differential pairs (twisted pairs) or both. industrial networks do exactly that although specific implementation (and related protocol) may be under different name (RS485, 422, Can bus, DeviceNet, PRofiBus, CC Link...)

pair of low cost ICS powered by 5V, along with bypass capacitors and terminating resistors should do nicely.
send signal from MCU to servo. cable is twisted pair as already described. can be shielded too. and needs terminating resistors, something like this:

1716410499295.png

https://www.ti.com/lit/ds/symlink/s...287423&ref_url=https%3A%2F%2Fwww.mouser.ca%2F
 

MrChips

Joined Oct 2, 2009
31,087
In general terms, the motor will be powered by its own power supply and power driver at its location.
Control signals (not power) are sent to the power driver. It depends on what control signals are used to control the servo motor.
Typical servo motor control signals are 1 to 2ms wide pulses sent every 20ms.

Try your 25m twisted pair or lamp cord cable. It might work for you.
 

Thread Starter

dannyboy90

Joined May 22, 2024
4
Thanks to everyone for the replies. At this point it seems like it would be better to consider moving the controller close to the servos and having the power supply moved to that location as well. I will start looking into this solution and ditch the long cable way.

Thank you again.
 
Top