Electronic – Arduino Input/Output Range (Cable Length)

arduinosensorvoltagewire

So I have this crazy idea to illuminate a few Christmas lights on the exterior of my house this weekend. I plan on running 2 Cat5e cables about 11.5 meters (~38 feet) from an Arduino board to sensors and Solid State Relays (all DC and all around 5VDC). I would like to take this "network" next year and setup a little home automation. The current setup would use:

The SSRs can crunch anything from 3-32 VDC.
The sensors are looking for 5 VDC.

Do you believe that Cat5e cable can deliver what the input and output requires? Am I going to loose power running with Cat5e at that distance? (It is twisted pair but not plenum or shielded twist pair)

If not, should I be looking at thicker wire, a power boost at the end, or is this just not feasible?

I plan to test the setup in the morning either way, but I value your input!

Thank you in advance for your reply!

Best Answer

I'm going to assume that you're using a relay similar to this one I found on Digikey.

It lists the control current at 5V as 3mA, which I'll use as a good ballpark number. If we want to know if the relay will turn on, then we want to be sure that the control voltage at the relay will be greater than the minimum control voltage of 3V.

The first check is whether or not we can source the current. In this case, 3mA is well below the typical maximum current source/sink of a microcontroller (20mA), so we're fine. If your relay uses more current than that, you may need to look at using a transistor to drive the relay.

The second check is to see what the voltage at the relay will be after the resistive losses of the wire. If we assume the worst-case resistance of the wire, then that is 0.188 Ω/m, like Ildefonso stated. Note that this is the loop resistance, not the resistance for a single wire.

At 11.5 meters length, you will have a total wire resistance of 2.2Ω. (11.5m * 0.118Ω/m). At 3mA current, this creates a voltage drop of 6.5mV (2.2Ω * 3mA). If you drive the relay using a 5V source, the voltage that the relay would see is 4.993V (5V - 6.5mV), which shows that at DC those wire lengths are negligible.

You would need to be drawing 900mA, or using a wire length of 5km to start seeing a voltage close to the minimum threshold (3V) of the relay.

For powering a sensor, the same calculations will hold true. If you know the DC current your sensor requires, then you will probably find that CAT5 will power your sensor fine. If the sensor has an analog output, there shouldn't be a big issue, and with a digital signal you probably will need to go slower than if the sensor was on the Arduino board.

To answer your other sub-questions,

  • You always loose power in wiring, but at low current DC, it usually isn't much. What you're probably meaning is will I lose too much voltage.
  • The plenum/shielding would not impact your ohmic/resistive losses.
  • If the wire resistance was too high, you could use twice as many wires to cut the resistance by half. The wire in CAT5 is fairly high gauge, so using a low gauge wire would help in a similar way.
  • If you couldn't afford to use more wire, but wanted to send more power down the line, you could increase the voltage sent over the wire, and use a DC-DC switching supply to reduce the voltage. This is similar to what goes on in Power over Ethernet, and AC Power Grid Transmission.