General Bus Unreliability

Basic / Standard Reef Angel hardware
Post Reply
dedvalson
Posts: 140
Joined: Tue Oct 04, 2011 5:49 am

General Bus Unreliability

Post by dedvalson »

Hi,

I have a RA+ with a Bus Expansion Module and the following expansions:

- Dimming Expansion
- PH Expansion
- Multi-Channel Water Level
- Power Control Expansion

Also WiFi and BlueTooth modules.

I am finding the general I2C control bus to be somewhat unreliable. The symptoms I am seeing are:

1. Water Level readings are unreliable. I will see the same water level sensor read 75% many times in a row, and then suddenly read 0% for one or two readings then back to 75%
2. Occasionally I have relays in the main unit drop out for less than a second and then back on.
3. I occasionally lose control of my dimming expansion entirely and have to power the expansion down and back up.
4. The pH expansion will disappear (read 0 ph) for 1 second or so and then be back.

I have tried this with 2 different RA+ control heads with the same result either time. I do not get a bus lock error.

Most of my USB (I2C) cables are quite short, around 2 feet. I have one that is long (going to the dimming module) that is longer about 10 feet. I have tried to use high quality USB cables throughout (rather than the ones that come with the RA expansion modules.

I managed to get the system stable for quite a while, but then I had to rewire some things to make room for a new pump, and now the unreliability is back.

I have been able to compensate for some of it in software by ignoring unreasonable level readings, etc. But I still have relays clacking when they shouldn't (about once every 5 minutes). I know the head unit is not resetting because I put an override on an unused port and the override has not gone away.

Are there any suggestions for generally making the bus more reliable? Termination resistors or such? The next thing I was planning to try was shortening the one long USB cable to the dimming module and lengthen the 0-10v cables instead.

It sort of seems to me like I2C might have not been a really good choice for this bus as it doesn't have much noise immunity.

Any ideas?

Don
00Warpig00
Posts: 289
Joined: Wed May 16, 2012 9:52 pm

Re: General Bus Unreliability

Post by 00Warpig00 »

Try adding ferrite cores/chokes to one or both ends of your USB cables. Start with the end closest to the controller as opposed to the end closest to the expansion. Cables can act like antennas and transmit any stray RF fields right into your controller, Particularly the longer wires. Many Aquarium lighting systems\ballasts\led drivers (or anything else nearby with a switched mode power supply) can emit a crap load of RF interference. Mentioning that you had stability until you rewired things also is a tip off that the issue is likely an interference issue coming in on one or more of your cables. Also shielded USB cables should help if it's an interference issue. I am not sure all usb cables are shielded, specially cheap Chinese ones.

I also have had MANY issues with my RA in regards to I2C bus lockups in the past. I was so frustrated I was ready to trash my RA+ Those issues were traced back to the IO module I was using. Roberto sent me a different, non programmable (if I recall correctly) IO Module, he would know the details better than I would about what he sent me. I think there was some functionality loss with the replacement IO module he sent but it was functionality I wasn't using anyhow. It was different in some way but I don't recall the details. Anyhow After replacing that IO module with the replacement he sent I have not had even one single controller lockup. My RA+ went from totally unreliable, to totally stable with just that one IO module change.

Nick
180G FOWLR
20GH QT#1
29G QT#2

Image
Post Reply