General Bus Unreliability
Posted: Tue May 17, 2016 6:17 am
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
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