Dual Stepper Motor shield just buzzes. Need help to trouble shooting

I am not sure if this is the right place to post this but I bought a Dual Stepper Motor shield (ITEAD) from RobotShop. I have hooked it up and checked the wiring but I just get buzzing from both X and Y, when I use the test program. I set the pin call outs for X and change them for Y. I get about the same thing for both of the two different stepper motors. I know that the motor works fine with other driver boards. I tried to tune the pot on the Y axis but that didn’t help. There doesn’t seem to be any differents when I plug in a 2 amp, 30 volt power supply. it does not run any better or buzz louder. I just get the same rythmic sound like the motor is trying to turn.

In light of what I have done so far, What should I check first?

The X motor is a Stepper Motor: Bipolar, 200 Steps/Rev, 28×32mm, 3.8V, 0.67 A/Phase
pololu.com/catalog/product/1205

The Y motor is a 57byg stepper motor:
act-motor.com/en/product/20130617/66.html

I verified that the power select switch is on 5V.
I tried reversing the 2A and 2B on each channel. I get the same buzz but not as strong. I can hear the program cycle through the 3 settings step modes with different pitched buzzes .

I tried the following combinations for the X channel that you referred to with nothing but the same buzzing.
1A-> RED 1A-> GREEN 1A-> RED 1A->GREEN
1B-> GREEN 1B-> RED 1B-> GREEN 1B-> RED
2A-> YELLOW 2A-> YELLOW 2A-> BLUE 2A-> BLUE
2B-> BLUE 2B-> BLUE 2A-> YELLOW 2B-> YELLOW

I have tried every think that I can think of, on each axis with both motors and wiring extensions. I have tried different test codes. I tuned the pots on both axis. I have done all of this with and without the 30 volt external power supply. The power supply had been use for two years and did not burn out either motor. Of course I have verified that I have the voltage switch set to 5V. I have supplied positive and negative resistance and or rotation at every step.

Unless there is something substantive that can be done, I would like to get a replacement board as soon as possible.
Order number : 233257
Web reference number : 298183
Invoice number : 10090564

Below are the steps that I have pursued in order to trouble shoot this board.

This is the spec sheet for the X stepper motor: jameco.com/Jameco/Products/ProdDS/162027.pdf
I have tried to tune the pots on both X and Y but saw no change.

I change the jumper setting and only hear a slight pitch change of the buzzing.

I have tried several wiring setups but got no motor rotation.
I have used this wiring set up on both X and Y motors:
A1-> BLACK
B1-> GREEN
2A-> RED
2B-> BLUE
I also tried this wiring was set to this:
1B->GREEN
1A->BLACK
2A->RED
2B->BLUE
I tried switching X02A with X02B, and switching Y02A and Y02B but got similar results. The bussing was just not quite as loud.
I used your code and both motors just buzzed at three different pitches interrupted by brief rests as it cycles.

It was suggested by a tech from iTead that I change the wiring to the following:
1B->BLACK
1A->GREEN
2A->BLUE
2B->RED
He also gave me this new code to use.

[code]int dirPin1 = 3;
int stepperPin1 = 2;
int dirPin2 = 7;
int stepperPin2 = 6;
void setup() {
pinMode(dirPin1, OUTPUT);
pinMode(stepperPin1, OUTPUT);
pinMode(dirPin2, OUTPUT);
pinMode(stepperPin2, OUTPUT);
}

void step(boolean dir,int steps){
digitalWrite(dirPin1,dir);
digitalWrite(dirPin2,dir);
delay(50);
for(int i=0;i<steps;i++){
digitalWrite(stepperPin1, HIGH);
digitalWrite(stepperPin2, HIGH);
delayMicroseconds(100);
digitalWrite(stepperPin1, LOW);
digitalWrite(stepperPin2, LOW);
delayMicroseconds(100);
}
}

void loop(){
step(true,16005);
delay(500);
step(false,1600
5);
delay(500);
}[/code]

I want this to work but I am electrically challenged. I re-checked the wiring that you specified for the X axis and re-ran a continuity test from motor to terminal screw. I also re-trimmed the pot.

Then I took the board off of the Arduino, put in the other driver shield and it fired right up.

I see that your board has crossover protection. Does that mean that I could hook up the 30 volt backward and no burn it out? I ran my first test without the 30v input and only then did I apply it. There was not change so I would bet that I didn’t burn it out my doing so. Now that I have nothing else to try, I could reverse the polarity but I don’t want to fry it …mostly because I would not get good feed back from your tests. If this is a good board, I would like to know that I have screwed up.

I reversed the polarity and there was a snap sound as the motor locked up and the Arduino started to heat up. At least it stopped buzzing.

The upside is that the other board does buzz like before so the Arduino is not burned out and the other shield acts like it always did. The motor turns a little and then buzzes and/or goes in the other direction…a little. It just acts like there isn’t enough torque.

No Neither channel worked.

OK…
I just got the new board in and it buzzed the same only it was louder than the old one so I pulled out the extension cables and ran the motor with only about 6 inches of wire between the board and the motor. If I push the motor, it will turn a little…sometimes. It looks like it just doesn’t have enough current to make it turn with much torque.

With that, I hooked up the old board and I got the same results with the assistance of my finger to get it started. It acted the same only weaker. Two other boards turn the motor without any trouble even with the extension wire. After all, it is the smallest non-geared stepper motor that I could find.

This leads me to concentrate on the external power supply input. I verified that my power supply puts out about 30 volts at the connecter. (The black meter was inside the barrel and the red lead was on the outside sleeve)

I turned the board over. The power connector was plugged in with the wire leading off to the right. When I touch the red meter lead to the pin to the right and the black lead touches the pin to the left, I get 30 volts. When I touch the black meter lead to the pin on the left and touch the red lead to the third pin, that is in the center but below the first two, I get 30 volts as well.

Why doesn’t either of the board’s torques change at all when the 30 volts are applied?

I’m not sure what is meant by crossover-current protection, but I don’t think it’s the same thing as reverse polarity protection so I wouldn’t recommend reversing the polarity of the power supply.

It is possible that the datasheet for your stepper motor doesn’t have the right colour codes for the coils. Can you try using a multimeter to measure the resistance between the leads? You should be able to find two distinct sets of 3 wires. For each set, you should have a resistance of about 10-20 ohms between wires 1 and 2, about the same resistance between 2 and 3, and then twice the resistance between 1 and 3. You should also observe infinite resistance (no connections) between wires from set 1 and those of set 2.

Once you’ve identified the wires of each set, you will want to connect wire 1 of set 1 to terminal 1A, connect wire 3 of set 1 to terminal 1B, and then do then same with set 2 and terminals 2A and 2B. Once you’ve got the motor connected this way, it should work properly. Can you tell us what are finally the colours for your motor?

Hope this helps,

Hi,

Can you tell us what stepper motors you are using with this controller? What are their rated voltage and amperage?

Also, have you verified the 3.3V vs 5V power select switch? If you’re using it with a regular Arduino, the switch should be set to 5 volts.

It’s also possible that you have the polarity of one of the windings on each motor reversed. Can you try switching X02A with X02B, and also switch Y02A and Y02B?

Hope this helps,

I’m not sure the Pololu stepper (X-motor) is compatible with this shield: it is rated at 3.8 volts, but the shield is made for motors between 4.75 and 30 volts. If you tried using this motor with a 30 volt supply, there’s a risk that you might have burnt the motor.

For the 57BYG stepper (Y-motor), do you know what model number you have? You might have the same problem with this motor too…

These measurements do in fact match with the configurations we were last trying… I’m wondering now if the problem might be with the code trying to make the motor step too quickly. The code iTead gave you would try to make the motor turn at 5000 steps per second, which would be 25 RPM and possibly too quick. Can you try the following code? I changed the values to do 200 steps per second, which is 1 RPM. If we can get this working, them we can tune.

int dirPin1 = 3;
int stepperPin1 = 2;
int dirPin2 = 7;
int stepperPin2 = 6;
void setup() {
  pinMode(dirPin1, OUTPUT);
  pinMode(stepperPin1, OUTPUT);
  pinMode(dirPin2, OUTPUT);
  pinMode(stepperPin2, OUTPUT);
}

void step(boolean dir,int steps){
  digitalWrite(dirPin1,dir);
  digitalWrite(dirPin2,dir);
  delay(50);
  for(int i=0;i<steps;i++){
    digitalWrite(stepperPin1, HIGH);
    digitalWrite(stepperPin2, HIGH);
    delayMicroseconds(100);
    digitalWrite(stepperPin1, LOW);
    digitalWrite(stepperPin2, LOW);
    delayMicroseconds(400);
  }
}

void loop(){
  step(true,1600*5);
  delay(500);
  step(false,1600*5);
  delay(500);
}

Thanks for giving us the wiring setup you’ve used. I think you may not have the right pairs of cables for each set of coils: can you try the following?
1A-> RED
1B-> GREEN
2A-> YELLOW
2B-> BLUE

From the PDF file you linked, you can see on the right side that the sets of cables for each coil are: red-white-green, and yellow-black-blue. Since the motor controller is using the stepper in bipolar mode, the white and black “center tap” wires aren’t used, leaving you with red-green for one coil and yellow-blue for the other.

Please let us know if this works.

I imagine that you’ve tried adjusting the pots (try MAX first) with this new wiring…

If you would like to return the part for exchange, please submit a ticket through robotshop.helpserve.com/ and we will proceed to issue an RMA. We will be able to test the board in our lab and confirm what is the source of the problem.

However, please note that if the problem isn’t with the shield, getting a replacement won’t help…

So, if we understand correctly, connecting only one channel of your controller works properly with the code, However, once you connect both motors, there is only buzzing. Is this the case? If so, could you please confirm that there are no short circuits on the second motor connection, Can you please make sure your power supply can provide enough mower for both motors to work? Also, please make sure that the board logic is powered separately and with sufficient power.

That was definitely a very powerful reversal of polarity. We apologize if it caused any damage.

It seems your controller is not capable of providing enough current for the motor to turn properly. This might be because the controller is too weak, the voltage is too high or the stepping speed is too high.

Hello, It seems you are powering the board with reverse polarity (usually the centre of the barrel connector should be positive). You will need to power the board properly for the motors to work.

Nope It didn’t work.

I hooked up the X channel, ran the following test and then hooked up both motors and there wasn’t any movement. The sound was a little different but both motors just mildly vibrated. They didn’t actually move a notch and back so I could not see movement. The vibration was only detectable by touch.

I turned both of the pots. I manually rotated each motor slowly in both directions. That didn’t help but it still locked up to some degree in-between cycles.

Then I turned on the 30V power supply and repeated everything. Here wasn’t any difference in the strength of the vibration and the sound did not get any louder. I have checked the power output and if the polarity was backward, I would think that I would have gotten a pop and the smell of something that blew out.

The pin pegged out when I set the rotary switch to RX1k. When I moved it to RX10 the needle went to the following values:

Set 1
Blue to Black = 2
Yellow to Black = 2
Blue to Yellow = 4

Set 2
Green to White = 2
Red to White = 2
Green to Red = 4

Anything from Set 1 to Set 2 = 0
Including, Black to White = 0