Hello! First of all, sorry for my bad english. I have 4WD Arduino Mobile Platform(http://www.rugcommunity.org/page/dfrobot-4wd-arduino-mobile), Arduino Mega 1280, Motorshield v.2(2 servos and 4 dc motors), 5x 1.5AA Alkaline batteries for motorshield and 9V for my Arduino board. Power is separate. All works fine but when i try to run my dc motors(via usb), the motors can stop me disobey. Its a big problem for me, coz I can't control my mobile platform... Why it happened with my hardware?? Help me pls.
How do you have the ground tied together? If the ground from the 9V battery is tied to ground of the AA batteries then it would work ok for that. Once you connect USB to the board and power is then supplied from the PC it may not be enough to keep them properly referenced.
This answer is also given from my understanding of your issue... perhaps a wiring diagram would help for me to better understand question if i did not interpret properly.
Thanks for so fast reply! My Arduino board is powered by a 9V battery and is independent of Motorshield, which is powered by 5xAA batteries. So power is separate. 5xAA batteries I connects to EXT_PWR on Motorshield board and ground must closed on this 5xAA batteries but I don't know what happens. I read that dc motors emit electrical noise, which reboots my Arduino board because it don't have enough power when my motors run. But how I can to change it? What I must to do?
Add decoupling capacitors to the motor's supply, about 10uF or bigger. Also add 0.1uF ceramic capacitors directly across the motor windings as close to the motor as you can get.
Can you explain in more detail? I'm sorry but I'm newbie( Here is my scheme: where I need to add capacitors? Thanks.
Between the + and the - of the power supply and the motor.
… respectively - ie the 10uF across the 5xAA batteries, the 0.1uF across the motor1 itself. 10uF may be polarized, you should get the + and - right in that case (!)
I added one capacitor to the motor's supply (47uF) and three(!) capacitors (0.33uF) to the every motors(very very close to the motor) and then problem was resolved! Thanks!