I am making a table tennis robot using diecimila board as the main controller. The project consists of wrecked floppy drive and a tape recorder DC motor and a Hitec servo as an oscillator.
Basic operation is arduino starts the DC motor and positions the robot using the servo. Once the desired angle is reached, the floppy drive stepper motor is activated to feed the ball thru the tube.
So far so good. The problem arises when the ball hopper becomes empty. I am using pin 2 as an interrupt which will suspend the ball feeding and servo mechanism until the hopper is filled again. Even this mechanism is working as expected. However, the interrupt is fired sporadically and the board gets reset in unexpected ways. After much hair splitting, i found out the DC motor while running generates magnetic fields in the surrounding metal parts and fires the interrupt. This i confirmed by switching off the DC motor and running the rest of the setup.
I tried a couple of band aid solutions like putting a ceramic capacitor across the ground and such, but the problem persists.
Any help is appreciated.