3:33 PM (2 minutes ago)
My friends and I are opening an escape room in Mid-City Los Angeles (more info here). We are 90% done and have hit a roadblock involving the programming of the arduinos in a dentist chair equipped with five vibrating motors. It appears the motors are emitting some kind of em pulse that resets the Arduinos. We are going crazy trying to fix it, and are on the hunt for an engineer we could hire to help us troubleshoot as quickly as possible (preferably in person, but by video chat could work too). Any chance you brilliant folks know someone? If not, any suggestions on fixing the problem? Just FYI, we are controlling the vibration motors with relays, and the relay is robust enough to isolate the draw required by the vibration motors from the rest of the circuitry. The motors and arduino are connected to different power sources with different grounds. And we can't replace the motors with weaker ones (besides, they're standard 12v motors anyway).
Thanks for your help!
Are you sure it's the Arduino that resets ?
I have projects driving 8 relays from an Arduino Uno without any problem. I really doubt that motor could generate an EM pulse that would reset the Arduino.
My suggestion would be to add some serial port debug to your code and see what comes out.
I rush and back emf in the relays may cause the voltage to drop below the brownout level for the Arduino. Try driving the relays with some MOSFETS also on a different supply rail.
What type of relays are you using and how are they connected?
Post a wiring diagram. A classic error is a missing flyback diode. Another is ignoring the 20mA limit on an Arduino pin.
Another possible cause of the Arduino resetting is power supply brownout. Had this problem with some bright LEDs in a battery-powered project.
-- EDIT --
Oh, @Bainesbunch already mentioned this. MOSFETs or a ULN2003A are the way to go.
The ULN2003A is designed for the purpose - has flyback diodes built in. Seven channels. You may even not need the relays at all and be able to drive the motors directly. It will handle 12 or 24V with no problem.
"The motors and arduino are connected to different power sources with different grounds."
I bet different grounds are part of the problem.
How are you controlling the relays?