3
\$\begingroup\$

I'm building a small morse code chip as a fun project, and I have a question about sending pulses over a wire. I was planning on using some speaker wire to connect a few of these PCBs over a somewhat long distance. I can buy packs of speaker wire that are either 16 or 24 gauge, and either 100 or 50 feet or even longer (longer is preferable). One wire is for data, the other is ground. The load at the other end is another microcontroller (I might have multiple branches with more than one of an identical microcontroller circuit).

The power source I was going to use for this circuit is a CR2032 coin cell battery. It can provide more than enough current to power all of the components in my circuit.

Before I go about buying a bunch of components, I want to get some advice on a few things. Firstly, I want to have the option of sending square wave pulses from a microcontroller. Would it be better to use a transistor to switch the connection to the wire on and off, or would it be adequate to simply send pulses directly from the microcontroller pin? I'm also unsure about my power source. I know that the CR2032 coin cell battery can deliver only very small amounts of current, so would it be best to upgrade to something like a LiPoly? Or would the coin cell be sufficient to send pulses across the wire? Additionally, are these power sources even adequate for such a large wire? I would ideally like to avoid having to worry about voltages over 5V and alternating current, which I know propagates down a wire more efficiently.

My last question is simply about range. What kind of theoretical maximum wire length could I send data across given the batteries I described? If I remember correctly larger diameter wires have less resistance, but since the 24 gauge wire is cheaper I would like to purchase that if it won't affect the range by too large of an amount.

Thanks for your help!

\$\endgroup\$
  • 1
    \$\begingroup\$ Important part of the question missing, I'm afraid: what's the load at the end of the wire? Is it into a speaker or another MCU? If it's a speaker, which type and impedance (not just a link, please). Please can you edit these into the question rather than comment-reply, thanks. \$\endgroup\$ – TonyM May 26 '17 at 22:25
  • 1
    \$\begingroup\$ @TonyM good call, thanks. It's added to the end of the first paragraph. \$\endgroup\$ – Alex Wulff May 26 '17 at 22:31
  • \$\begingroup\$ With a differential line driver and receiver 100's of ft in the kbits rates \$\endgroup\$ – sstobbe May 26 '17 at 22:35
  • \$\begingroup\$ Take a look at rs485 branded drivers/receivers \$\endgroup\$ – sstobbe May 26 '17 at 22:40
  • 1
    \$\begingroup\$ I pretty much agree with pjc50. If you want to be fancy and still use a CR2032, you need to be aware of its limitations (between \$200\:\mu\textrm{A}\$ and \$400\:\mu\textrm{A}\$ draw [though of course exceptional use is possible.]) You can communicate still more robustly by gathering energy over time and disbursing it in sudden pulses. Impedance matching becomes more the focus. I'd go for the 24 gauge, unless you need special durability from heavy 16 gauge. \$\endgroup\$ – jonk May 27 '17 at 1:19
1
\$\begingroup\$

Twisted pair will be around 200 Ohms as seen by pulse edges, coin cell will be around 2kohm but reduced with an e-cap for pulses.

A LiPo has an ESR <30 milliohms so obviously a better solution for app. use time as well. Hope that helps.

Make sure to use twisted pair and consider ferrite sleeve or balun or CM choke for long cables. Also include ESD protection or OVP or TVS diodes to gnd and Vcc. We had a similar fault 30 yrs ago fixed by diode clamps to Vdd,Vss with UTP in a home between uC.

\$\endgroup\$
  • \$\begingroup\$ I'm not too proficient with analog electronics, so I just want to clarify something. The purpose of the twisted pair is to lessen interference, correct? It appears that twisted pair speaker cable is much more expensive than just the garden variety stranded-core speaker wire, so do you think it would really make that much of a difference? \$\endgroup\$ – Alex Wulff May 27 '17 at 14:21
0
\$\begingroup\$

Stringing logic level signals across long distances is not a good idea. If you can, use a transistor to drive the line on and off. Use a separate battery for the loop. Several batteries can be added up the voltage swing if needed. Use a opto-isolator on the receiving end to detect the signal. This set up is called a current loop. Check it out.

\$\endgroup\$
  • \$\begingroup\$ This is a pretty interesting concept. So essentially the comms line is completely isolated from the main PCB circuit using opto-isolators and transistors. I'm assuming the advantage to this is that I can use a much higher voltage for the communications? \$\endgroup\$ – Alex Wulff May 27 '17 at 14:17
0
\$\begingroup\$

Add a lumped 100UF at receiver. Connect the line to the 100UF with 100 Ohm resistor, producing 16Hz Low Pass Filter. Follow that with identical filter, because ESL prevents good attenuation at high frequencies. And follow that with a 3rd filter, for the same reason.

What is the capacitance between the power line (200 volt spikes at 10uS Trise) across 1 centimeter of distance? For a mile?

C = E0 * Er * Area/Distance ~~ 9e-12 * 1mm diameter * 1,500 meters/0.01 meters C = 9e-12 * 1e-3 * 1.5e3 * 1/0.01 = 9e-12 * 1.5 * 100 ~~ 1.5nanofarad

The 200 volt spike enters this network by coupling through the air, which is a high pass filter. The F3dB will be 1.5nF * 100 ohms (using just one LPF) = 0.15uS.

We will have useful attenuation, becaue of (1) ratio of 1.5nF / 100uF and (2) ratio of HLF (coupling thru the air) F3dB at 0.15US to pulse Trise of 10US.

I expect 600 * 60 = 36,000X attenuation of the 200 volt power line interference.

\$\endgroup\$
  • \$\begingroup\$ Thanks for the input. Unfortunately my knowledge of analog electronics is somewhat limited, but at least I could understand the first part about Low Pass Filters :). Just one question on your setup: would it work to keep the microcontroller inputs driven high by a pullup then drive the comms line low to transmit data? I think this is how I2C does it so I'm wondering if it's applicable in my case. \$\endgroup\$ – Alex Wulff May 28 '17 at 12:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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