Go Down

Topic: ARDUINO DUAL STEP MOTOR DRIVER SHIELD problems (Read 2316 times) previous topic - next topic

gevo12321

Hi,

so I got the ARDUINO DUAL STEP MOTOR DRIVER SHIELD from http://imall.iteadstudio.com/im120417015.html but i cant get it to run a stepper motor.

I tried using the code given by them, but all it does is vibrate.

anyone have used this shield before? any help is appreciated.

I'm using an Arduino Uno and Mercury Motor SM-42BYG011-25 step motors

johnwasser

Have you got it wired up Red Green Yellow Blue?
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e


johnwasser

If you trust their example code then your hardware must be broken.
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

gevo12321

well if no one has had this problem, then their code must be good meaning my hardware must be broken. But i find it hard to believe because my hardware is brand new.

DocBrown

#5
Oct 04, 2012, 02:05 pm Last Edit: Oct 04, 2012, 02:14 pm by 121GW Reason: 1
Don't know if that helps but I have read on http://www.mikrocontroller.net/topic/263935 that the dual stepper controller board v1.0 has one serious construction fault. it is in german but I guess google translater could take you across.

Anyways I havn't looked into what stepper you used but did you put in the correct steppings ? I mean the example code uses 1/8 stepping with a 200 step stepper. Therefore the '1600' in the example code. One 20 step stepper would need 160 steps for one revolution in 1/8 stepping mode (20 in 1/1 stepping mode, etc.).

I am very new to this stepper stuff and electronics in general so it is possible I have just written false information :)

UPDATE:

I had the exact same problems as the TS with just a stepper motor making noises and not moving at all.
I am using a DVD drive stepper from an old Samsung drive.
These steppers don't do 200 steps per revolution but I guess more like 20.
20 * 8 = 160
instead of
200*8 = 1600

So I modified the example code and changed :

Code: [Select]
void loop(){
 step(true,1600*5);
 delay(500);
 step(false,1600*5);
 delay(500);


to

Code: [Select]
void loop(){
 step(true,160*5);
 delay(500);
 step(false,160*5);
 delay(500);



and there it worked.


UPDATE 2:
I just found out another thing. When delivering power via the usb cable over Arduino the stepper just does half the steps and makes mechanical cracking noises.
When I unplugged the USB from the Arduino and connected a 12V DC to the MotorShield jack it worked again as it should.

gevo12321


Don't know if that helps but I have read on http://www.mikrocontroller.net/topic/263935 that the dual stepper controller board v1.0 has one serious construction fault. it is in german but I guess google translater could take you across.

Anyways I havn't looked into what stepper you used but did you put in the correct steppings ? I mean the example code uses 1/8 stepping with a 200 step stepper. Therefore the '1600' in the example code. One 20 step stepper would need 160 steps for one revolution in 1/8 stepping mode (20 in 1/1 stepping mode, etc.).

I am very new to this stepper stuff and electronics in general so it is possible I have just written false information :)

UPDATE:

I had the exact same problems as the TS with just a stepper motor making noises and not moving at all.
I am using a DVD drive stepper from an old Samsung drive.
These steppers don't do 200 steps per revolution but I guess more like 20.
20 * 8 = 160
instead of
200*8 = 1600

So I modified the example code and changed :

Code: [Select]
void loop(){
 step(true,1600*5);
 delay(500);
 step(false,1600*5);
 delay(500);


to

Code: [Select]
void loop(){
 step(true,160*5);
 delay(500);
 step(false,160*5);
 delay(500);



and there it worked.


UPDATE 2:
I just found out another thing. When delivering power via the usb cable over Arduino the stepper just does half the steps and makes mechanical cracking noises.
When I unplugged the USB from the Arduino and connected a 12V DC to the MotorShield jack it worked again as it should.


Thanks for replying.

As for the first point you made, I don't believe it matters if I put 160 or 1600. that determines how many steps the motor takes. So if the step size is bigger or smaller than what I think, the motor will end up doing more or less steps respectively. So it will turn more or less than I want. The problem I am having is that it just vibrates and doesn't turn at all.

As for your second point, I did consider that, and I am using an external 12Vdc source to power the shield. Unfortunately it doesn't seem to make a difference.

I am probably going to take the advice of the author you cited and buy 2 easy drivers instead after returning this shield.

DocBrown

Okay I have searched for a datasheet to your stepper. It seems it has 200 steps per rotation. So with 1/8 step 1600 in the code is correct.

I realized just yet that the stepper connectors on the shield are odd. From top to bottom it states for x-axis :
X01A
X01B
X02A
X02B

for as on the original easydriver the connectors are :
A
A
B
B

Today I tried it again but got the same jittering and step skipping.
I used GRBL for arduino and adjusted the Port pinout in the source to match the approriate pins on the shield. Still to no avail.


Ill get this china shield to work. Cost what it may.

Go Up