Hi, I'm having an issue with a MegaADK Rev 3 where I have it connected by USB to an Android device as a USB Accessory, so the Android draws power from the Arduino. I have it set up so that when the Arduino reads in an input from the buffer, it would set the motors to drive. However, just turning the motors on causes the phone to say that it disconnects from the USB Accessory (the Arduino). It is a simple 12V DC Motor driven using the SparkFun Dual TB6612FNG motor driver. The board is powered by an external 7.2V battery. Any help with resolving this is appreciated. Thank you!
The motor is causing interference, this needs to be suppressed. There is no sure fire cure with these sorts of problems but you can do several things.
-
Have a separate supply for the motor and use an optical coupler for the control signal, that is do not have a common ground.
-
Apply heavy decoupling to the motor supply using a Pi circuit, that is a series inductor with a cap to ground on each side.
-
Fit back EMF diodes on the motor.
-
Use capacitors across the motor brushes, like in the attached PDF.
solder_caps.pdf (299 KB)