Long Distance Signal – How to Send Signal Over Long Distance Wire


I need to control a remote relay over a 1km (max) distance. Here is a simple block diagram that represents what I'm trying to achieve:


simulate this circuit – Schematic created using CircuitLab

The control signals will generated with a microcontroller. The relay modules needs to be electrically isolated from the controller, and each of them have their, independent 12V supplies. Standard CAT5 cabling will used for connecting modules to controller.

The control signal frequency needs to transmitted is less than 1 Hz (mostly on or off).

What is the best way to reliably transmit the control signal to the relay modules?

Clarification / additional info:

  • Relay current is 40mA @ 12V

Some thoughts:

  • Using an optocoupler in relay module, I can buffer my TTL signal with a darlington array and drive that opto then relay.
  • I can use some kind of current loop?

I also assume that EMI will be a problem with long cabling, it can create false triggers or damage control/receiver sides. Is there anything other than using TVS / clamping diodes on each end of wiring?

Best Answer

Relays already make great current loop devices. Your issue though is the voltage drop along the wires.

The solution to that is to drive it with a constant current / current limiter circuit and use a larger supply at the relay to cover the voltage drop.


simulate this circuit – Schematic created using CircuitLab

Note, in the schematic above I added a smaller relay on the logic side to provide full isolation.

Alternatively, you could flip all that around.


simulate this circuit

Of course these methods rely on the relay current being small. If need be you could add a smaller, lower current, 5V relay to drive the large 12V one.