Stappenmotor NEMA-17 met driver A4988

Hardware geleverd door Arduino
Gebruikers-avatar
Berichten: 23
Geregistreerd: 24 Jul 2020, 14:55

Re: Stappenmotor NEMA-17 met driver A4988

Berichtdoor bertgroothuis » 16 Okt 2022, 10:42

Gij Kieken schreef:Verminder de vertraging eens van delay(1); naar delayMicroseconds(500);

Hoi Gij,

Ga ik proberen.
Je hoort van mij.

Bert

Advertisement

Berichten: 68
Geregistreerd: 04 Sep 2021, 08:31

Re: Stappenmotor NEMA-17 met driver A4988

Berichtdoor RobGood » 16 Okt 2022, 10:51

Bert, je maakt een puls op 1000hz nu... is dat niet veel te snel??
Maak van al die delay(1) es delay(100) en kijk wat er dan gebeurt....

Gebruikers-avatar
Berichten: 631
Geregistreerd: 15 Nov 2015, 11:54

Re: Stappenmotor NEMA-17 met driver A4988

Berichtdoor Gij Kieken » 16 Okt 2022, 20:25

Bert was ik nog vergeten,
maak van delay(100); // DELAY BEFOR SWITCH DIRECTION
delay(1000); // Wait 1 sec DELAY BEFOR SWITCH DIRECTION

Berichten: 180
Geregistreerd: 26 Aug 2015, 11:57

Re: Stappenmotor NEMA-17 met driver A4988

Berichtdoor Frits1956 » 16 Okt 2022, 23:58

Rob, in een van de posts adviseer je alle microstepping pinnen hoog te maken.
Is het net beter alle pinnen laag te maken zodat je full step instelt?

Berichten: 68
Geregistreerd: 04 Sep 2021, 08:31

Re: Stappenmotor NEMA-17 met driver A4988

Berichtdoor RobGood » 17 Okt 2022, 07:51

@Frits, Lijkt me een gevalletje uitproberen. Ik gebruik deze driver altijd in max.microstep. Koppel voor aanlopen, starten, is dan maximaal, snelheid minimaal. En motortje loopt gewoon het lekkerste. Echt snel gaan die nemaas niet. Probleem hier denk ik dat alles veel te snel gaat, maar dat gedoe met die delays maakt het voor mij lastig lezen wat er nu precies gebeurt. Misschien zit er ook gewoon een spoel verkeerd aangesloten. Lastig is de aansturing niet. Stroom derop, Enable hoog, direction hoog of laag en een pulstrein van 50hz ofzo en dan gaattie echt wel draaien. Rob

Gebruikers-avatar
Berichten: 23
Geregistreerd: 24 Jul 2020, 14:55

Re: Stappenmotor NEMA-17 met driver A4988

Berichtdoor bertgroothuis » 21 Nov 2022, 12:29

Hallo allemaal,

Helaas heb ik corona gehad en heb niets kunnen doen aan mijn stappenmotor projectje.
Ik ben weer opgeknapt en ga weer verder om de nema-17 met A4988 aan de gang te krijgen.

Heeft iemand een werkende sketch met de nema-17 die wel (goed) werkt? Dus dat de stappenmotor kleine stapjes maakt zonder weerstand te hoeven geven op de as.
En wil degene die sketch dan met mij delen? Ik wil dan kijken of het de software of de hardware is die niet mee wil werken.

Dank, Bert

Berichten: 180
Geregistreerd: 26 Aug 2015, 11:57

Re: Stappenmotor NEMA-17 met driver A4988

Berichtdoor Frits1956 » 21 Nov 2022, 22:45

dit programma werkt met de volgende opmerking..
ik heb hiervoor een stepper driver boardje in gebruik waarop dipswitches zitten voor de microstep settings. Zonder dat is het programma in fullstep mode
Code: Alles selecteren
/*Sketch voor aansturing van een stepper motor met een A4988 driver
  Een steppermotor draait op fullstep eerst 200 steps langzaam clockwise.
  Daarna 200 steps sneller counterclockwise.
  Daarna 200 steps op zijn snelst clockwise.
  Na 2 seconden gaat de motor uit (kan je met de hand de as draaien.
  Na 5 seconden start de cyclus opnieuw.
  Aansluitingen:

  Arduino aan A4988
  pin 2 aan step
  pin 3 aan direction
  pin 4 aan enable
  5V aan vdd
  GND aan GND

  A4988
  12V+ aan Vmot (7V - 30V is goed)
  12V+ aan condensator >=47uF aan 12V-
  12V- aan 12V GND
  2B aan motor coil B2
  2A aan motor coil A2
  1B aan motor coil B1
  1A aan motor coil A1
  vdd aan arduino 5V
  GNd aan arduino GND

  RESET met jumper aan SLEEP
  STEP aan arduino pin2
  DIR aan arduino pin 3
  ENABLE aan arduino pin 4

  additional: MS1,MS2, MS3 aan arduino 5V = high
  MS1  MS2  MS3  steps
  L    L    L    1/1
  H    L    L    1/2
  L    H    L    1/4
  H    H    L    1/8
  H    H    H    1/16

*/

// Constanten -------------------------------------------------------
#define stepPin 2
#define dirPin 3
#define enablePin 4
//#define MS1Pin 5 //optioneel
//#define MS2Pin 6 //optioneel
//#define MS3Pin 7 //optioneel
#define STEPS_PER_REV 200
#define slow_speed 20000
#define fast_speed 1500
#define max_speed 500
#define CW HIGH
#define CCW LOW
#define motor_aan LOW
#define motor_uit HIGH

void setup()
{ pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
  pinMode(enablePin, OUTPUT);
}

void loop()
{ digitalWrite(dirPin, CW); // zet motor richting CW
  Draaien(slow_speed, STEPS_PER_REV);
  delay(1000);  // Pause
  digitalWrite(dirPin, CCW); // zet motor richting CCW
  Draaien(fast_speed, STEPS_PER_REV);
  delay(1000);  // Pause
  digitalWrite(dirPin, CW); // zet motor richting CW
  Draaien(max_speed, STEPS_PER_REV);
  delay(2000);  // Pause
  digitalWrite(enablePin, motor_uit);
  delay(5000);  // Pause
}

void Draaien(int snelheid, int steps)
{ digitalWrite(enablePin, motor_aan);
  if (snelheid < max_speed)
    snelheid = max_speed;
  for (int x = 0; x < steps; x++)
  { digitalWrite(stepPin, HIGH);
    delayMicroseconds(snelheid);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(snelheid);
  }
}
// Einde Programma en compile directive ==============================
/*#if  !defined(__AVR_ATmega2560__)
  #error "Oeps! Zorg ervoor dat 'Arduino Mega' is geselecteerd als board."
  #endif
*/

Gebruikers-avatar
Berichten: 23
Geregistreerd: 24 Jul 2020, 14:55

Re: Stappenmotor NEMA-17 met driver A4988

Berichtdoor bertgroothuis » 22 Nov 2022, 15:13

Frits1956,
Dank je. Dit werkt. Er bleken ook 2 breadboard snoertjes defect te zijn.
De loop heb ik iets uitgebreid om zelf een beeld te krijgen wat er nu precies gebeurd.

Bedankt.
Ook alle andere bedankt voor het meedenken.

Bert

void loop()
{ digitalWrite(dirPin, CW); // zet motor richting CW
Draaien(slow_speed, STEPS_PER_REV); // 200 steps langzaam clockwise.
delay(1000); // Pause

digitalWrite(dirPin, CCW); // zet motor richting CCW
Draaien(slow_speed, STEPS_PER_REV); // 200 steps langzaam counterclockwise.
delay(1000); // Pause

digitalWrite(dirPin, CW); // zet motor richting CCW
Draaien(fast_speed, STEPS_PER_REV); // 200 steps sneller clockwise.
delay(1000); // Pause

digitalWrite(dirPin, CCW); // zet motor richting CCW
Draaien(fast_speed, STEPS_PER_REV); // 200 steps sneller counterclockwise.
delay(1000); // Pause

digitalWrite(dirPin, CW); // zet motor richting CW
Draaien(max_speed, STEPS_PER_REV); // 200 steps op zijn snelst clockwise.
delay(1000); // Pause

digitalWrite(dirPin, CCW); // zet motor richting CW
Draaien(max_speed, STEPS_PER_REV); // 200 steps op zijn snelst counterclockwise.
delay(1000); // Pause

digitalWrite(enablePin, motor_uit);
delay(2000); // Pause
}

Berichten: 180
Geregistreerd: 26 Aug 2015, 11:57

Re: Stappenmotor NEMA-17 met driver A4988

Berichtdoor Frits1956 » 22 Nov 2022, 23:19

Als je steps per rev vergroot of kleiner maakt verander je de rotatie van de motor.
Je hoeft de procedure niet met de constanten als parameter aan te roepen, Draaien( 1000, 2000); is een reguliere aanroep.

Vorige

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 6 gasten