Go Down

Topic: Stepper Motor is getting real warm... (Read 4438 times) previous topic - next topic

gc9n

i ordered some A4988  , but i will test a resistor for each phase also , just to see if it works

gc9n

#16
May 30, 2015, 11:33 am Last Edit: May 30, 2015, 11:37 am by gc9n
So i finally got the A4988 polulu drivers..


Unfortunately motor not spinning  , it is only a little bit vibrating and thats it.
my connections are like this



except the capacitor i didnt use a capacitor for the external ac


this is the code

Code: [Select]

//simple A4988 connection
//jumper reset and sleep together
//connect  VDD to Arduino 3.3v or 5v
//connect  GND to Arduino GND (GND near VDD)
//connect  1A and 1B to stepper coil 1
//connect 2A and 2B to stepper coil 2
//connect VMOT to power source (9v battery + term)
//connect GRD to power source (9v battery - term)


int stp = 5;  //connect pin 13 to step
int dir = 3;  // connect pin 12 to dir
int a = 0;     //  gen counter

void setup()
{               
  pinMode(stp, OUTPUT);
  pinMode(dir, OUTPUT);       
}


void loop()
{
  if (a <  200)  //sweep 200 step in dir 1
   {
    a++;
    digitalWrite(stp, HIGH);   
    delay(10);               
    digitalWrite(stp, LOW); 
    delay(10);             
   }
  else
   {
    digitalWrite(dir, HIGH);
    a++;
    digitalWrite(stp, HIGH); 
    delay(10);               
    digitalWrite(stp, LOW); 
    delay(10);
   
    if (a>400)    //sweep 200 in dir 2
     {
      a = 0;
      digitalWrite(dir, LOW);
     }
    }
}

gc9n


Robin2

#18
May 30, 2015, 07:48 pm Last Edit: May 30, 2015, 07:49 pm by Robin2
Get a capacitor.

Try the code in the first example in this simple stepper code as I know it works for me and for others.

How are you powering the motor (volts and amps) ?

Have you the current limit on the A4988 correctly adjusted?

Draw (with pencil) a diagram showing exactly how YOU have everything connected and post a photo of the drawing.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

gc9n

12v 1amp power for the motor
The current limit what do you mean?

I will post the draw asap

gc9n

#20
May 31, 2015, 11:10 am Last Edit: May 31, 2015, 11:12 am by gc9n
The arduino is connected to the Laptop from the 5v usb cable.


this is the drawing
the sketch you told me just vibrates

Code: [Select]
// testing a stepper motor with a Pololu A4988 driver board or equivalent

// this version uses millis() to manage timing rather than delay()
// and the movement is determined by a pair of momentary push switches
// press one and it turns CW, press the other and it turns CCW

byte directionPin = 9;
byte stepPin = 8;

byte buttonCWpin = 10;
byte buttonCCWpin = 11;

boolean buttonCWpressed = true;
boolean buttonCCWpressed = false;

byte ledPin = 13;

unsigned long curMillis;
unsigned long prevStepMillis = 0;
unsigned long millisBetweenSteps = 25; // milliseconds

void setup() {

  Serial.begin(9600);
  Serial.println("Starting Stepper Demo with millis()");

  pinMode(directionPin, OUTPUT);
  pinMode(stepPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
 
  pinMode(buttonCWpin, INPUT_PULLUP);
  pinMode(buttonCCWpin, INPUT_PULLUP);
 
}

void loop() {

curMillis = millis();
readButtons();
actOnButtons();

}

void readButtons() {

buttonCCWpressed = true;
buttonCWpressed = false;

if (digitalRead(buttonCWpin) == LOW) {
buttonCWpressed = true;
}
if (digitalRead(buttonCCWpin) == LOW) {
buttonCCWpressed = true;
}
}

void actOnButtons() {
if (buttonCWpressed == true) {
digitalWrite(directionPin, LOW);
singleStep();
}
if (buttonCCWpressed == true) {
digitalWrite(directionPin, HIGH);
singleStep();
}
}

void singleStep() {
if (curMillis - prevStepMillis >= millisBetweenSteps) {
prevStepMillis += millisBetweenSteps;
digitalWrite(stepPin, HIGH);
digitalWrite(stepPin, LOW);
}
}




gc9n

Ok i manage to make it move... it was the poti from the a4988 that i turn clock wise
i then work with full step , i just ground the ms1 ms2 and ms3

BUT the motor power is not what i expect. i need more torque

Robin2

Ok i manage to make it move... it was the poti from the a4988 that i turn clock wise
i then work with full step , i just ground the ms1 ms2 and ms3

BUT the motor power is not what i expect. i need more torque
I guess the first question is "Is the torque as much as the motor specifications say it should be?"

If not, you are going to have to tell us what current setting you have the A4988 set at.

What happens if you change the value of the millisBetweenSteps to make the motor go more slowly?

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

gc9n

No the motor can handle more

Holding Torque 39.2mN·m 39.2mN·m
Pull-out Torque 23.2mN·m/800pps 17.4mN·m/2,000pps
Pull-in Torque 27.1mN·m/200pps 26.2mN·m/200pps
Max. Pull-out Pulse Rate 2,000pps 3,900pps
Max. Pull-in Pulse Rate 700pps 700pps


i   can stop it very easy with my hand.

"If not, you are going to have to tell us what current setting you have the A4988 set at."


you mean the poti on a4988 ?
millisBetweenSteps makes no deference,

Robin2

#24
Jun 02, 2015, 04:35 pm Last Edit: Jun 02, 2015, 04:42 pm by Robin2

"If not, you are going to have to tell us what current setting you have the A4988 set at."


you mean the poti on a4988 ?
Yes.
What current is it set for?

Quote
i   can stop it very easy with my hand
That is not very informative. It is not a very powerful motor. If my maths is correct the holding torque is only 390 gram.cm.  You need to measure the torque, rather than guess. There is a simple system for that in stepper motor basics.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

Go Up