6
\$\begingroup\$

I'm currently doing some research for a project where I'd have a number of microcontrollers (say 5 ATtinys or if I manage to bring power consumption down, maybe even ATmegas) which I want to power from a single category 5e cable. I don't think that I'd need more than 100 meters of cable length (and I think that as much as 50 m may be enough), but I'd like to project for the worst case. I don't think that maximum power consumption is going to be more than 100 mA for the all devices on the cable. The idea now is that the microcontroller will check optotransistor for light level and based on that turn on or off a low-power LED.

I picked the category 5e cable because it's relatively small (and the diameter of the cable is a factor here, since I'm trying to fit in with already existing infrastructure), has 4 pairs of wires (which gives me some flexibility) and is commonly available.

So here are some of my thoughts on this topic:

According to wikipedia, I calculated that I'd have resistance of \$8.422 \mbox{ } \Omega \$ in one way on the cable. So total resistance of one pair would be \$16.844 \mbox{ } \Omega \$. This would give me a voltage drop of 1.6 V at the end of the cable, assuming 100 mA load. So I plan to use 5.5 input voltage which gives me 3.9 V at the end and is within operational range of the microcontroller family I'm planning to use. Now, since I'm using cat5e cable, I could use two pairs of wires for lower resistance and get voltage drop as low as 0.84 V. This would leave me with two free pairs.

I'm also considering adding "tank" capacitors in the \$1000 \mbox{ } \mu F\$ range near each microcontroller to provide some localized power sources in addition to standard decoupling capacitors I'd use. The size of the capacitors isn't such a problem, so I could make it even larger to somewhat mitigate the voltage drop caused by the cable.

With that, I think I covered the basics of the power problem. The part which is a bit fuzzy to me is how to deal with switching noise of the microcontrollers. I believe that the larger capacitors acting as tanks and a bit more decoupling capacitors could help here. There's also the Atmel's recommendation to put a small coil in series with the Vcc pin before first decoupling capacitor which should force the microcontroller to use more power from the capacitors and suppress a little bit the noise on the line. What I'm not so sure here is should I look into more complicated filter designs for the power line. The environment I'll be using this is basically a residential house, so I don't expect too much outside interference.

A problem with interference could be the two other pairs. Some of the adjacent microcontrollers may need to communicate with each-other, so I plan to reserve the two pairs for that, but I don't expect the data rates to be too high since I'd probably be using 2400 b/s.

So any comments, improvement ideas or suggestions?

\$\endgroup\$
  • 1
    \$\begingroup\$ You need capacitors to guard against inductive spikes when connecting the long cable. 1000 uF wouldn't be overkill for that. If you don't want high-voltage power-bus with buck regulator, you could also use a LDO linear regulator to get the voltage down to 3.3V (if that's your VCC) to make sure that a short cable won't over-volt the circuit. Once you have a LDO involved, MCU noise will be less troublesome because linear regulators typically have reasonable noise rejection. (Also, a 100 nF de-coupling capacitor right at the MCU is always good.) A TVS on the input may be good too. \$\endgroup\$ – Jon Watte Apr 29 '14 at 23:42
9
\$\begingroup\$

For a more general system I would do this differently. Maybe it's overkill in your case, but this isn't that hard. I've done something similar, although the power requirements were higher.

In my system I used CAN as a multi-drop bus to all the nodes. In the common configuration it uses differential signalling, which is a good idea for long distances where you could pick up common mode noise. I reserved one pair for the CAN lines. The other three pair were used for power, with a power and ground on each pair. That way the total common mode current of each twisted pair will still be close to zero. In my case I used 48 V because that is the maximum where you generally don't have to worry about safety issues much. There are plenty of microcontrollers with CAN built in, and the silicon deals with collisions and retries automatically.

In your case the power requirements are less, so 24 V might be a good choice for the power. Lots of transistors and buck regulator chips work up to 30 V. 28 V would be better if you want to push the most power and still use the cheapest power supplies at the ends, but I said 24 V because you're not pushing the limit and that's a very commonly available off the shelf power supply voltage.

At each node, put a small buck regulator. These are small and cheap nowadays. The MCP16301 can handle up to 30 V in, costs under $1, includes the switch, and comes in a nice and small SOT-23 package. Make sure to put a decent ceramic cap right at the input to the buck regulator though. The 24 V needs to be low impedance at high frequencies for the buck switcher to work. You probably want something like a 10 µF 30 V cap.

The advantage of this scheme is that you can tolerate a fairly wide power voltage at each node, but due to the higher voltage and therefore lower current, you won't have much drop. There will also be less heat at each node since the buck switcher will be more efficient than a linear regulator after you raise the power voltage enough to cover all the worst case conditions with headroom.

Another significant advantage is that there will be less ground offset between nodes, again due to the lower power current at the higher voltage.

\$\endgroup\$
0
\$\begingroup\$

On eBay, there are regulator boards that take up to 42 volts and have an adjustable output. They are about one inch by two inches and cost $1. They seem fairly reliable too, as long as you look at the picture and get one with a 50v input cap(an old batch messed up and used 35v caps)

I have found 7 to 32v to be the as close to the ideal power transmission voltage for most of what I do. I usually don't bother with 48v because once you go above 35 volts the cost of the step down regulators goes way way up. I like to design for a wide input range and 7 to 32v covers batteries, cheap laptop adapters, 24v power supplies, etc.

Making devices able to handle 32v is good because printers use 32v, which results in there being plenty of cheap 32v power supplies on the market.

The big issue with running 5v power over cat5e isn't the actual power, most MCUs will be fine with saggy noisy power to a surprising degree especially if you put some capacitors where they belong. The real problem is that if you ever get more than 1.6v of voltage drop across a line, the voltage drop on the ground will be over 0.8v. So, when the device at the end of the line pulls a line low, it will actually be pulling it to 0.8. Should there be a device at the beginning of the line near the power supply, that devices ground will actually be at ground and thus it will see 0.8v.

From 0.8v to 2v is considered undefined by TTL standards, and some devices ekven consider anything above 0.8v to be logic 1. Some older devices might choose randomly if you stay in the undefined area too long, and quite a few will just hold the previous value until you leave the transition zone. I'd have to check the AVR datasheet to know what it does.

Now, if you really do have less than 0.8v of ground offset it might work, however, you will have much less noise tolerance. I did in fact run 9600 baud, on a shared open collector i2c-like line, over 50 feet of headphone cable which is probably the cheapest wire ever, with no errors to be seen. I didn't try carrying power though.

The transceivers used in CAN cost about a dollar, and you don't need a CAN compatible micro. They will transmit serial data or i2c just fine as long as your baud rate is above 9600 baud so you don't run afoul of the transceivers "permanent dominant detect" which won't let you send a zero for more than a millisecond.

RS485 is a more common option, but last I checked can transceivers were cheaper and give the option of listening while transmitting and thereby detecting if another device tries to talk over you.

You would probably be fine doing it exactly as you proposed in the original question, but 100ma at 5v is not a lot of you want to add on to the system later.

\$\endgroup\$

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.