1
\$\begingroup\$

I have to run 8 PWM signals out of an Arduino Mega to motor controllers that are placed anywhere from 25 ft. (7.62 m) away to 150 ft. (45.72 m) away. I expect the voltage drop will be high.

The alternate solution is to send a serial or ethernet message to 8 different Arduinos placed next to the motor controller. I can do that, but it's significantly more expensive.

To do it from the Mega, I assume I would need to do something like have a transistor circuit at the Mega which switches a higher voltage to each motor controller... either something like 7.5VDC, which will drop to the required 5 naturally over the distance, or a higher voltage like 12VDC and switch it back down t0 5VDC with another transistor circuit at the motor controller.

I also don't know if there will be noise associated with doing this...

Thoughts?

\$\endgroup\$
6
  • \$\begingroup\$ What frequency of PWM? Also, your title does not match the question. Title implies you are sending power, subject implies a signal. Please clarify. \$\endgroup\$
    – Trevor_G
    Nov 18, 2017 at 15:55
  • \$\begingroup\$ Sorry, I should have included the frequency... there are two different frequencies depending on the pins you use.. 490 Hz, and 976 Hz. Apparently you can alter this by changing the prescalers, which I can do, but wasn't thinking I would need to. \$\endgroup\$ Nov 18, 2017 at 15:59
  • 1
    \$\begingroup\$ Title adjusted to indicate a signal is being sent, not just power \$\endgroup\$ Nov 18, 2017 at 16:01
  • 1
    \$\begingroup\$ I suspect that voltage drop won't be the problem as the currents will be low but cable capacitance will round of the nice PWM edges and, depending what your driver is, may cause slow switching of the transistors causing heating troubles. Current driving the LED of opto-isolators located at the remote stations may be a better solution. \$\endgroup\$
    – Transistor
    Nov 18, 2017 at 16:08
  • \$\begingroup\$ This is exactly the kind of thing RS-485 and CAN were designed for. \$\endgroup\$
    – Matt Young
    Nov 18, 2017 at 16:14

1 Answer 1

2
\$\begingroup\$

Your best bet is probably to use an opto-coupler at the remote end, and a constant current driver at the micro end.

schematic

simulate this circuit – Schematic created using CircuitLab

This effectively gives you a current loop interface which would be pretty much impervious to noise and distance provided the voltage supply for the LEDs is high enough to swamp the drop along the lines. It also removes ground from the equation, so it will not matter if the remote ground is significantly different from the ground at the micro.

You should, however, augment this design to include protection from ESD and other transients. (See my second circuit in this answer, but replace the relay with an opto-coupler.)

If the environment is electrically hostile and you wanted it to be really cool, you may be able to run fibre optics that far.

\$\endgroup\$
4
  • \$\begingroup\$ Thank you! It makes sense, although I haven't exactly designed this kind of circuit before on the logic end. Opto-isolators I've used and understand pretty well. Can you give me any example of a part that represents the current regular, even if it's characteristics are not exactly for my application? I can search for "current regulators" but I'd feel more comfortable if I was in the ballpark. I am glad you mentioned the consideration for ESD and other noise. Haha I could use fibre, but it's not electrically hostile, and I'd rather it just work than be cool. :) \$\endgroup\$ Nov 18, 2017 at 18:10
  • \$\begingroup\$ @DrychronRed see the link in my answer, there is a simple and sufficient current regulator used there. \$\endgroup\$
    – Trevor_G
    Nov 18, 2017 at 18:11
  • 1
    \$\begingroup\$ I did look at that circuit as per your suggestion. Ok, I can start from or use that one specifically. Thanks! \$\endgroup\$ Nov 18, 2017 at 18:12
  • \$\begingroup\$ @DrychronRed obviously the 24V used there would be overkill for driving an LED though. \$\endgroup\$
    – Trevor_G
    Nov 18, 2017 at 18:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.