Hi all, Im new to this forum and was wondering if I could run a problem I have been having by you.
I have a 120V 2a water pump connected to a relay which is controlled by a Microcontroller. I grabbed some free software and I have tried to draw the circuit best I could:
So I have an Arduino that is using a Shift register to turn on and off an optocoupler which in turn controls a relay to switch on and off an ac pump. The relay and Optoisolator are powered by a separate 5V wall wart and not connected in any way to the Arduino. The Arduino is running on battery power to help with troubleshooting. The components are physical separated in the middle.
So the issue is the motor is causing a bunch of noise on the shift register lines and causing a reset intermittently even with all the layers of separation and isolation. I probed all the lines (5V, GND, shift register data lines) from the Arduino and they all contain a 5-7 volt spike when the motor is switched on:
*This is the data line on the shift register.
Now if I place a AC line filter in line with the pump all these spikes disappear:
Line Filter Circuit:
I have 8 pumps I have to run in this configuration, each individually controllable, and I dont really want to buy 7 more Line Filters. Nor does it seem right that I cant seem to filter out the noise. Is this pretty common that relays and optocouplers cant prevent certain noise from jumping them?
**Just for kicks I added a second Optoisolator in front of the shift register and it still had the same problem.
I have a 120V 2a water pump connected to a relay which is controlled by a Microcontroller. I grabbed some free software and I have tried to draw the circuit best I could:
So I have an Arduino that is using a Shift register to turn on and off an optocoupler which in turn controls a relay to switch on and off an ac pump. The relay and Optoisolator are powered by a separate 5V wall wart and not connected in any way to the Arduino. The Arduino is running on battery power to help with troubleshooting. The components are physical separated in the middle.
So the issue is the motor is causing a bunch of noise on the shift register lines and causing a reset intermittently even with all the layers of separation and isolation. I probed all the lines (5V, GND, shift register data lines) from the Arduino and they all contain a 5-7 volt spike when the motor is switched on:
*This is the data line on the shift register.
Now if I place a AC line filter in line with the pump all these spikes disappear:
Line Filter Circuit:
I have 8 pumps I have to run in this configuration, each individually controllable, and I dont really want to buy 7 more Line Filters. Nor does it seem right that I cant seem to filter out the noise. Is this pretty common that relays and optocouplers cant prevent certain noise from jumping them?
**Just for kicks I added a second Optoisolator in front of the shift register and it still had the same problem.