DS18B20 project picks up 3 phase inverter interference through ethernet port?

I've been slowing developing a temperature monitoring system for our grain bins on the farm. I'm using about 10-17 DS18B20 sensors per bin, each bin with it's own twisted pair in a shielded cat5e. Things work quite well until we turn on our variable speed aeration fans that are powered by a 3 phase inverter. I've tried a few different configurations. I've also been monitoring the one-wire data bus with a DSO quad o-scope and trying different pullup resistors and filtering capacitors. Maybe this should be in a different sub forum but I am looking for some project advice.

Configurations:

  1. Arduino Mega/Uno reading DS18B20s, connected to wrt router's serial port which is running ser2net to allow my backend server to poll the Arduino for temperature updates. WRT router is connected to my server via wifi.

  2. Arduino Uno with itead ethernet shield, connected to wrt router's ethernet port. The wrt router is again connected to my server via wifi.

  3. iTead iBoard (328P at 3.3V with W5100), connected to wrt router's ethernet port. The wrt router is still connected to my server via wifi.

For the longest time, I ran in config 1, and it worked decently with minimal inverter interference until the Arduino seemed to suddenly quit. Then while playing around in my box I suspect I damaged the router's serial port so I tried configs 2 & 3 with the same router and with a new router. It appears as though the router introduces interference when its ethernet ports are connected to the Arduino's. I have tried powering the Arduinos and routers with switching and non switching power supplies, I've tried using the same power supply for both and I've tried using a battery for one or both of them. The Arduino works the most reliable with a battery and not being connected to the router's ethernet port. I was hoping to streamline things and use 1 network Arduino per bin (keeping one-wire bus as short as possible), with 4 network Arduinos per router (4 port routers) sending power to the Arduinos via the unused cat5 pairs. Using one router/Arduino per bin is really gonna cut into my router stock, require much larger outdoor boxes and use quite a bit more power if everything has to go battery/solar power.

Today I started looking into wifi shields and the Yun but I thought I should seek some advice from the Arduino crowd. There's a commercial system that runs for $500 per bin (reader only, no sensors), plus a central wireless hub for $3000 per yard and $180/yr subscription. I'm looking at connecting 8 yards (myself and other family, we're all on my homebrew wisp) with about 100 bins total so I'm hoping for less than $100 per bin (reader only) and use my own existing perl/rrdtool graphing backend. Thanks for your time.

What sort of distances are you talking about.?

I presume that since you mention the YUN that its within wifi distance ?

If the issue is power supply noise, then I don't think changing to wifi will help, i.e unless the noise is via the ethernet cable.

IMHO there are cheaper options than the YUN. There are now a number of RS232 based Wifi modules, e.g. the chinese company called USR do a whole series of them http://en.usr.cn/Serial-to-WIFI
Plus or other manufacturers produce similar modules and they are only around $15 each. Pair this with an Arduino Pro Micro etc, and for $25 you get a Arduino + wifi in a really small package
Albeit you need to write the code to send the data, but sending isn't hard with these modules, nor is operating a simple web server on an Arduino.

In terms of Power supply noise, or even damage due to power spikes, You'd need to resolve that using the appropriate power supply and possibly electrcial shielding (not shielding the wifi antenna :wink:

rogerClark:
What sort of distances are you talking about.?

One-wire distances, if I do one arduino per bin then a maximum of about 30', otherwise a max of about 60'.
Wifi distances, most of the yards already have a AP covering the yard, with line of sight pretty much any device (even chip antennae) should be fine. The yards are already wirelessly connected to each other.

rogerClark:
I presume that since you mention the YUN that its within wifi distance ?
IMHO there are cheaper options than the YUN. There are now a number of RS232 based Wifi modules, e.g. the chinese company called USR do a whole series of them http://en.usr.cn/Serial-to-WIFI
Plus or other manufacturers produce similar modules and they are only around $15 each. Pair this with an Arduino Pro Micro etc, and for $25 you get a Arduino + wifi in a really small package
Albeit you need to write the code to send the data, but sending isn't hard with these modules, nor is operating a simple web server on an Arduino.

Thanks for the alternate serial to wifi suggestions. That's what I'd prefer, keep the cost down and size of enclosures small. I'm already operating a small web server on the Arduino that handles replies to my backend for temperature updates and replies to web browsers with a simple web page.

rogerClark:
If the issue is power supply noise, then I don't think changing to wifi will help, i.e unless the noise is via the ethernet cable.
In terms of Power supply noise, or even damage due to power spikes, You'd need to resolve that using the appropriate power supply and possibly electrcial shielding (not shielding the wifi antenna :wink:

During my tests with the o-scope and monitoring the arduino's serial debug output, most of the interference starts when I plug in a cat5 from the arduino to the router. Just having the cat5 plugged into the arduino is not the problem, its the router that appears to be picking up the interference. But I don't understand how it gets through the router's ethernet port's magnetic isolation and the arduino's mag jack too. On the flip side, connecting the arduino to the same router's on board serial port does not cause any problem.

Switching power supplies also seem to cause some problems so I've switched to non switching. I've thought of wrapping the router in tinfoil, it has external antennae that I'd leave exposed.

Most of the fans are not inverter powered, so it would already work in most places but I'd like to figure out one hardware configuration that works everywhere.

Thanks.

So it turns out I already have two USR-TCP232-T units in stock. They work much better than any of my W5100 shields/on board units, they seem reject the interference a lot better. I've also discovered that the professional one-wire assemblies have what I think are small surface mount capacitors across ground and signal at each DS18B20. I can't tell what value without damaging the assembly but with some experimenting I should be able to figure that out. I think those two changes will go a long way to stabilizing my temperature readings.

I'm now leaning towards an Iteaduino Lite because of it's 3.3/5V flexibility, on board dual regulators (as long as they work as well as the buck regulator on their Iboards, which work a lot better than the dx Uno knock offs I have) and the electronic brick interface (signal-gnd-pwr headers). Connect that to a USR-TCP232-T or USR-WIFI232-T and I should be happy.

http://imall.iteadstudio.com/development-platform/arduino/iteaduino-lite.html
http://en.usr.cn/RS232-serial-to-ethernet-converter-tcp-ip-module
http://en.usr.cn/Serial-to-WIFI/Tiny-size-low-power-uart-ttl-to-802.11b-g-n-low-price-wifi-module