Motor Shield Unintentionally Driving Stepper Motor

by waltonica on Wed Dec 12, 2012 2:57 am

Hello,

I have an Adafruit motor shield assembled as part of the Make Arduino controlled Rovera 4wd I have just finished building. I was having trouble with the instructions so decided to go back to basics with the included tests again (I first ran tests before adding the servo).

It seems though that just running the "motor test" sketch when the motor runs also causes the plugged in servo to turn. I have tried running just M1, or M2, or M3 with the same results. I have also plugged the servo into servo 1 and 2 with no difference.

Does anyone know a likely cause of this happening? I also hear a slight whine from a motor just before it starts up, but I am not sure I heard it in my original testing.

Photos are below, I am new at this so nothing looks shockingly bad to me but I am unsure of where I should be concentrating looking.

EDIT: I probably should have added that as per the Rovera instructions a five AA battery pack is wired into the motor shield and the arduino is powered by that via using the power jumper.


Thanks.
Last edited by waltonica on Wed Apr 10, 2013 3:51 am, edited 1 time in total.
waltonica
 
Posts: 4
Joined: Sat Dec 08, 2012 12:28 am

Re: Motor Shield Unintentionally Driving Stepper Motor

by adafruit_support_bill on Wed Dec 12, 2012 6:56 am

just running the "motor test" sketch when the motor runs also causes the plugged in servo to turn.

Is the servo moving in a specific way, or just randomly?
User avatar
adafruit_support_bill
 
Posts: 25556
Joined: Sat Feb 07, 2009 9:11 am

Re: Motor Shield Unintentionally Driving Stepper Motor

by waltonica on Wed Dec 12, 2012 7:23 am

Thanks for the reply.

The servo is moving a full sweep until it can't move any further. So from 0 to 180, or vice versa, not sure about that one.
waltonica
 
Posts: 4
Joined: Sat Dec 08, 2012 12:28 am

Re: Motor Shield Unintentionally Driving Stepper Motor

by adafruit_support_bill on Wed Dec 12, 2012 7:55 am

Is it always sweeping to the same extreme position? It could be motor noise feeding back into the servo signal line. Do you have access to an oscilloscope to look at the signal?
If it is noise, you might benefit from some noise suppression capacitors on the motors:
viewtopic.php?f=31&t=26873
Image
User avatar
adafruit_support_bill
 
Posts: 25556
Joined: Sat Feb 07, 2009 9:11 am

Re: Motor Shield Unintentionally Driving Stepper Motor

by waltonica on Wed Dec 12, 2012 4:25 pm

Thanks. I do have a .01 uf (?) capacitor across positive and negative on each of the motors as per the instructions. Is it possible that is not enough?

You are making me think though. For two of the motors (both from the kit) I did rip off some very old capacitors from a junk box of motors. I thought I tested three motors, but it is possible I only tested three motor shield outputs with motors on the same side.

I thought for sure this would be a simple "you soldered this wrong" type query. Does it seem a bit weirder than that to you?

Thanks again though! Perhaps over the weekend I will ditch even the robot and try to go back to testing one motor and one servo isolated...
waltonica
 
Posts: 4
Joined: Sat Dec 08, 2012 12:28 am

Re: Motor Shield Unintentionally Driving Stepper Motor

by adafruit_support_bill on Wed Dec 12, 2012 5:00 pm

I thought for sure this would be a simple "you soldered this wrong" type query. Does it seem a bit weirder than that to you?

The DC motor control is really separate from the servo control, It would be hard to imagine a soldering problem on one that would affect the other. But motor noise on a servo signal is a very real problem (I have one sitting on my bench right now that drives the servos nuts).

An analog servo doesn't know the difference between a noise spike and a servo control pulse. A bunch of narrow spikes like you get from a brushed DC motor can be be interpreted as "slam the shaft against the low-limit stop as hard as you can". The

I do have a .01 uf (?) capacitor across positive and negative on each of the motors as per the instructions. Is it possible that is not enough?

Sometimes that is enough, but not always. Judging from what has been posted here, the motors on the Make 4WD platform are particularly noisy.
User avatar
adafruit_support_bill
 
Posts: 25556
Joined: Sat Feb 07, 2009 9:11 am

Re: Motor Shield Unintentionally Driving Stepper Motor

by waltonica on Wed Dec 12, 2012 5:16 pm

Thanks so much. You have given me hope to keep on trying!

I do love Make, but with small things like the robot being called a different name (Hare instead of Rovera) in the book, the original code working only on a Uno and not the supplied Leonardo. missing capacitors etc. I can't help but think this kit was a bit rushed to be ready for Christmas.

All the better to learn from I guess.
waltonica
 
Posts: 4
Joined: Sat Dec 08, 2012 12:28 am

Re: Motor Shield Unintentionally Driving Stepper Motor

by jtherrell on Thu Feb 07, 2013 1:44 am

I'm going through the MakerSHED 4WD arduino-controlled robot kit as well and have this same problem. My kit did come with four 0.1uF ceramic capacitors, which I soldered each between the pos & negative terminals of each motor.

Here's a link to the motors that come with this kit: http://www.dfrobot.com/index.php?route=product/product&path=47&product_id=100#.URNMuI4kPq0

Any suggestions for some motors around 6v that might be quieter and better quality?
jtherrell
 
Posts: 1
Joined: Thu Feb 07, 2013 1:36 am

Re: Motor Shield Unintentionally Driving Stepper Motor

by adafruit_support_bill on Thu Feb 07, 2013 6:27 am

Based on the feedback we have been getting on these 4WD platforms, 1 cap per motor is not enough. Most report that the full 3-capacitor treatment clears up the problem.

We do have replacement motors in stock: http://www.adafruit.com/products/711 I don't know if anyone has tried them in those geartrains yet.
User avatar
adafruit_support_bill
 
Posts: 25556
Joined: Sat Feb 07, 2009 9:11 am