I was hoping someone could give me some guidance. I have a Arduino that is controlling my aquarium but when the motors turn on or off it will ocasionally cause a locking up of the Ardunio. Sometimes it will reset and sometimes it will hang.
The motors are switched by a Sainsmart relay shield controlled via a MCP23017 16-bit serial expander with I2C serial interface from the Arduino. I also have an I2C LCD shield that sometimes start printing random characters and lock up when the motor switches. I suspect some sort of voltage is being induced in the I2C line.
I had similar problems with some solenoid valves but fixed those by putting diodes across the solenoids. Is there a similar method of suppressing noise from the motors?
For info; the relay shield is running from a separate power supply and the Arduino shield is powered via USB from a wall adapter.
No it's not a plus it is essential otherwise it is not isolated.
However I don't think isolation of the I2C lines is going to help hear because that is not where the problem is. The problem is with the motor generating interference, the I2C lines are only one place where this can get into the system. Better to solve the problem at source.
Even solve the problem at source works, but 220 V AC is networked, Nothing is going to stop neighbors motor noise. I learn this by very hard way.
My own mistake about Plan H;-
I did home fiber optics network many many years ago, the reason for high rejection rate of EMI. I have a pair of plasma speaker (it is not typo. Ionovac, Ionofane at UK). It sounds great but has very high EMI for computer network or AM/FM radio, But it is FCC certify. There is one fiber optics network project going on for work that time, I decide do something at home. I installed 10BASE-F network at home all by myself. I could not find helper and nobody know that time. after few days struggle every thing is working fine. I am so happy and pround what I did until suddenly recognize there are neighbors. I keep use network but never turn on the speaker again.