Stepper Motor Rumbles

This is my first post here,

I'm working with a unipolar stepper motor and Arduino motor shield. I have got it turning alright but it rumbles a bit, and if I attach something on top of it, it vibrates quite a bit. The motor emits a low rumble noise as well

So it kinda strikes me that something is wrong. I hope somebody could let me know what the problem may be at least that is causing that vibration.

This isn't my first stepper, but I am trying to figure out how to use this particular one. Its got 6 leads, I'm using A, A', B, B' to run it.

Its 57bygh420 Unipolar Motor

Here is the code I'm using.

NOTE: I'm not the author of this code.

int delaylegnth = 30;
int f = 255;
  
void setup() {
  Serial.begin(9600);
  //establish motor direction toggle pins
  pinMode(12, OUTPUT); //CH A -- HIGH = forwards and LOW = backwards???
  pinMode(13, OUTPUT); //CH B -- HIGH = forwards and LOW = backwards???
  
  //establish motor brake pins
  pinMode(9, OUTPUT); //brake (disable) CH A
  pinMode(8, OUTPUT); //brake (disable) CH B



  
}

void loop(){

  Serial.print(78);
  digitalWrite(9, LOW);  //ENABLE CH A
  digitalWrite(8, HIGH); //DISABLE CH B

  digitalWrite(12, HIGH);   //Sets direction of CH A
  analogWrite(3, f);   //Moves CH A
  
  delay(delaylegnth);
  
  digitalWrite(9, HIGH);  //DISABLE CH A
  digitalWrite(8, LOW); //ENABLE CH B

  digitalWrite(13, LOW);   //Sets direction of CH B
  analogWrite(11, f);   //Moves CH B
  
  delay(delaylegnth);
  
  digitalWrite(9, LOW);  //ENABLE CH A
  digitalWrite(8, HIGH); //DISABLE CH B

  digitalWrite(12, LOW);   //Sets direction of CH A
  analogWrite(3, f);   //Moves CH A
  
  delay(delaylegnth);
    
  digitalWrite(9, HIGH);  //DISABLE CH A
  digitalWrite(8, LOW); //ENABLE CH B

  digitalWrite(13, HIGH);   //Sets direction of CH B
  analogWrite(11, f);   //Moves CH B
  
  delay(delaylegnth);

}

And your schematic ? If you don't have a scanner take a picture of it with your cell phone and upload it or post a link to the hardware setup you have that includes ALL the wiring, voltages, and if possible currents. Stepper motors are not "happy' when they don't get enough current or voltage. (same thing in a way by ohms law)

Of course,

Its fairly straight forward. I've been thinking it could be a powering issue. Or I have the steps wrong. I just don't know.

If it’s so straightforward that why isn’t it wired correctly ?
Aren’t the yellow and wht wires laying there unconnected supposed to be connected to your +12Vdc ?
SEE ATTACHED

Unipolar_BD.jpg

Ahhhhh, well thank you, I'm pretty new to this.

I'm pretty new to this.

That's OK, we all start somewhere! Maybe some good reading on the ArduinoInfo.Info WIKI HERE:

Stepper motors will all make a lot of noises, with various resonances at different speeds. At IBM one guy had a test program that played "Twinkle Twinkle Little Star" quite clearly. The rotor (and whatever you attach to it) are basically a rotating mass held by springs made up of the magnetic fields. Some applications have a damping flywheel of some type.

Stepper motors will all make a lot of noises,

Yeah but were they telling you "Hey I don't have power ! hook me up !" ?

@raschemmel, stepper motors don't have power leads that need to be hooked up. Connecting those spare wires to a power supply will likely let the smoke out of something.

This seems to be a 6-wire stepper and the OP is using 4 wires so it works as a bipolar motor. The unused wires probably connect to the centres of the two coils so that the motor can be used as a unipolar motor.

...R

@Robin, Quote from OP

I'm working with a unipolar stepper motor and Arduino motor shield.

A 6-wire stepper motor is similar to a 4-wire configuration with the added feature of a common tap placed between either end of each phase as shown in Figure 2. Stepper motors with these center taps are often referred to as unipolar motors

see this for complete version: http://digital.ni.com/public.nsf/allkb/B1CC4C64ABBC7D3C86257BC70017B9E2

See schematic in Reply#3 & datasheet in #2. I didn't call them power leads . I just said they weren't connected to the +12V like they should be. They are the winding Centertaps. The datasheet and schematic match. Those yel & wht leads have another name which I cannot recall. It is sufficient to call them "Center tap leads" .

The clue is in the name - the motor moves in steps, so each step is a distinct motion. String them together and you have lots of vibration.

The main technique used to reduce this vibration and noise is micro-stepping, which makes the steps smaller and thus the amplitude of the vibration less. Micro-stepping drivers are more complex circuits though, since the current to each winding has to be controlled in quadrature relationship.

High performance bipolar motors are normally driven this way using chopper current control - using a high voltage power supply with low-impedance motor windings and chopper-drive means the motor can be spun much much faster as back-EMF can be overcome much more readily.

If I understand your post, you are implying the OP has chosen the wrong stepper configuration for his application ? (That he should switch to bipolar and micro-stepping driver combo ?

Well only if the vibration is a problem - I'm saying its to be expected without microstepping.

@raschemmel, I see nothing in the link you posted about connecting the centre taps to 12v. If you leave them unconnected a unipolar motor works as a bipolar motor.

although some motors do not require the center taps to be used and can be connected normally as a 4-wire motor.

...R

@raschemmel, I see nothing in the link you posted about connecting the centre taps to 12v.

see the schematic in Reply#3

If you leave them unconnected a unipolar motor works as a bipolar motor.

[u]Quote from the OP[/u]

I'm working with a unipolar stepper motor and Arduino motor shield.

From the above comment from the OP, it appears that he doesn't want a bipolar stepper. He is using a unipolar motor and I can't find where he says he wants anything different . If he did, please point it out for me because I can't find it.

The OP's code looks like it was meant to drive a dc motor rather than a stepper.

To the OP - grab the stepper example and use the pins that map to your board.

@raschemmel, another quote from the OP

Its got 6 leads, I'm using A, A', B, B' to run it.

Unipolar stepper can often also be used in bipolar mode.

...R

@Robin2 I can't argue that but I don't know if that was intentional or an oversight. If you assume he meant unipolar, not connecting the wires was an oversite. If you assume he said unipolar but meant bipolar, then your statement applies. At this point , the OP has not stated any intention other than what was quoted, which did not include anything bipolar related. If he wanted bi-polar and this is the first time he has done this, one would assume his post would begin with "I have a 6-wire unipolar stepper motor. How do I connect it to use it as a bi-polar ?" (or "Can I use it as bi-polar ?". Since he did not ask those questions , I am assuming he intended unipolar and forgot to connect the wires. As I said, at this point , I really don't know what he wanted to do.

justone: The OP's code looks like it was meant to drive a dc motor rather than a stepper.

If this is because the OP uses analogWrite() then I agree it is confusing. Normally analogWrite() isn't used with a stepper motor. But I guess it could be if you needed to reduce the voltage and hence current in the coils. (That's what the stepper motor driver boards do when you set a low current limit).

@C0rtex, it would be a great idea if you draw a clear wiring diagram and post a photo of it.

...R

I agree. It doesn't look like stepper code because steppers don't have brakes (that I've seen) . I worked with a lot of servo motors that used brakes at AMAT, but I didn't know steppers could have them.