Nema 17 and Polulu A4988 requires a warm up?

Setup: I am using the following example code to move a Nema 17 with a Polulu A4988. The circuit is the one seenhere. (minus the capacitor since that is still in the post.) Power supply at 8V with a bench power supply.

Poblem: On startup, the motor only vibrates and does not move. After about a minuite, it starts to move very little at first, the movements become longer until it reaches the full movement it is supposed to do. (Something like 1 rotation in each direction.) When I disconnect the power from both driver and arduino and plug it straight back in, it keeps working as intended. After waiting for 10min or so, it requires a “warmup” again.

Solutions I tried: I tried a second stepper motor and that gives the same result. I increased the current to 75% of the poti range which gives the same result. I added some small capacitors to the Stepper supply which might have changed something but might not. I tried the second driver I own but that seems to be broken since nothing happens at all.

This really seems to me like the Motor/Driver is doing a warmup?

/*     Simple Stepper Motor Control Exaple Code
 *      
 *  by Dejan Nedelkovski, www.HowToMechatronics.com
 *  
 */
// defines pins numbers
const int stepPin = 3; 
const int dirPin = 4; 
 
void setup() {
  // Sets the two pins as Outputs
  pinMode(stepPin,OUTPUT); 
  pinMode(dirPin,OUTPUT);
}
void loop() {
  digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction
  // Makes 200 pulses for making one full cycle rotation
  for(int x = 0; x < 800; x++) {
    digitalWrite(stepPin,HIGH); 
    delayMicroseconds(1000); 
    digitalWrite(stepPin,LOW); 
    delayMicroseconds(1000); 
  }
  delay(100); // One second delay
  
  digitalWrite(dirPin,LOW); //Changes the rotations direction
  // Makes 400 pulses for making two full cycle rotation
  for(int x = 0; x < 800; x++) {
    digitalWrite(stepPin,HIGH);
    delayMicroseconds(1000);
    digitalWrite(stepPin,LOW);
    delayMicroseconds(1000);
  }
  delay(100);
}

Most likely, you have a high current, low impedance motor, an inadequate power supply, have not properly set the current limit on the A4988, or some combination of those.

Post a link to the motor data sheet, or tell us the motor ratings (winding current, resistance and/or maximum voltage). “NEMA 17” just specifies the dimensions of the motor mounting plate.

What @jremington said ...

You may get some useful stuff in stepper motor basics

...R

I am using this Adafruit Stepper. Here is the Datasheet.

That seems to be identical to the stepper motors I have which work fine with my Pololu A4988s.

Try this simple stepper code - and use the wiring suggested on Pololu's A4988 web page.

Power supply at 8V with a bench power supply.

I missed this in your original post. If you look at the specs the motor is designed for 12v. And it will work better with 20v or 30v.

I also have the idea, from various other posts, that regulated bench power supplies don't work well with stepper drivers - perhaps their regulation fights with the driver's regulation. That said, my motors work fine from a large 12v battery and from a 20v laptop PSU.

...R

Hi,

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Also have you got all the gnds connected together.

Tom..... :)

|500x375

Here is the picture of my setup. I only connected two motors for this picture. Normally it is only one. The other modules are not related to this project.

I do not have a common ground. Would that not damage my arduino somehow?

You must have a common ground between the motor driver and the Arduino.

Photos of the hardware look nice but don't convey any useful information. Make a pencil drawing of the connections and post a photo of the drawing.

I don't see the big capacitor across the power input to the A4988 ?

Have you EXACTLY followed the advice on Pololu's A4988 web page ?

Have you got a higher voltage power supply ? - what volts, what amps ?

...R

I think I found the problem! Or not?

Playing around with the connections, it sometimes moved and sometimes did not. This makes it look like a faulty connection on the pins that I soldered to the driver. Is there any way to really check this?

Resolder the pins. You can use an ohmmeter to check the connection, provided that you can find appropriate points on the PCB.

Hi,

Don't you need sleep and reset pins connected together? Check video at 4:17.

Tom.... :)