28BYJ-48 ULN2003 STEPPER MOTOR DRIVER BOARD

Antworten
Benutzeravatar
e69-fan
Beiträge: 282
Registriert: Mi 20. Jan 2021, 10:32
Wohnort: Murnau am Staffelsee

28BYJ-48 ULN2003 STEPPER MOTOR DRIVER BOARD

Beitrag von e69-fan »

Hallo Daniel,

ich habe mal zum Verständnis einen einfachen Sketch für den 28BYJ-48 und Uln2003 eingestellt:

Code: Alles auswählen

/*  Demo zum Anschluß eines unipolaren Stepmotors 28BYJ-48
    mit Verwendung einer Beschleunigungs- und Bremsrampe

    MobaTools installiert sein !!!
    
    
    Achtung: alle Taster auf Minus / GND          PIN --- Taster --- Minus


    individuell einstellbar §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
*/


#include <MobaTools.h>

//-----  individuelle Definitionen  -------------------------------------------------- //
const byte LinksPin           = A1;     //  rot   / Taster - Schließer / 4 steps nach links
const byte RechtsPin          = A2;     //  grün  / Taster - Schließer / 4 steps nach rechts
const byte RefPin             = A3;     //  grau  / Taster - Schließer / RefPunkt setzen - RefLED leuchtet

const byte Drehung_AUF        = 8 ;     //  weiß  / Taster - Schließer / 
const byte Drehung_AB         = 9 ;     //  lila  / Taster - Schließer / 



MoToStepper Step1(4096);           //  4076 steps per full revolution (in half step mode).
MoToTimer   delayTime;

//-----  Taster einrichten--------  -------------------------------------------------- //
enum {                      Button1 = 0,  Button2,    Button3,  Button4,      Button5       } ;    // Den Tasternamen die Indizes 0...3 zuordnen
const byte buttonPins[] = { LinksPin,     RechtsPin,  RefPin,   Drehung_AUF,  Drehung_AB    } ;    // muss als byte definiert sein, damit ein enfaches sizeof funktioniert

MoToButtons button( buttonPins, sizeof(buttonPins), 20, 500 );        // entprellt die Taster



void setup() {
  
  Step1.attach( 4,  5,  6,  7 );        // Anschluß an digitalen Ausgängen / Pin                            
  //  Treiber IN1,IN2,IN3,IN4           // Treiberplatinhe
                                        // 5 Volt ( + - ) für Treiberplatine und Steppermotor am Arduino, besser wäre eine eigenene Stromversorgung

  // ---------------------------------------------------------------------- //
  Step1.setSpeed( 240 );         //   60           120         240                   §§§§§§§§§§§§§§§§§§§§ veränderbare Geschwindigkeit  §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
                                 // = 6 U/Min    = 12 U/Min  = 24 U/Min

  Step1.setRampLen(200);        // Beschleunigung- und Abbremsen vor dem Stillstand
  Step1.setZero();              // Referenzpunkt für Steppermotor  setzen
}

// ---------------------------------------------------------------------- //
void loop() {

  button.processButtons();     // Taster einlesen und bearbeiten


  //  --------------------------- Referenzpunkt setzen------------------------------------------  //
  if (button.pressed(Button1) ) {     // Taster Links gedrückt
    Step1.doSteps( 4 );               // Stepper dreht 1x links
  }
  if ( button.released(Button1) ) {   // Taster links losgelassen
    Step1.rotate(0);                  // Stepper stoppt
  }

  if (button.pressed(Button2) ) {     // Taster Rechts gedrückt
    Step1.doSteps( -4 );              // Stepper dreht 1x rechts
  }

  if ( button.released(Button2) ) {   // Taster Rechts losgelassen
    Step1.rotate(0);                  // Stepper stoppt
  }
  if (button.pressed(Button3) ) {     // Taster Ref gedrückt
    Step1.setZero();                  // Referenzpunkt gesetzt
  }


  //  --------------------------- Drehung ------------------------------------------------  //

  

  if (button.pressed(Button4) ) {     // Taster4 gedrückt
    Step1. doSteps(4076);             //                                  §§§§§§§§§§§§§§§§§§§§§§§§§§§§ 4076 entspricht 1 Umdrehung §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
  }                                   //                               

  if (button.pressed(Button5) ) {     // Taster5 gedrückt:              
    Step1.doSteps(-4076);             //         
  }


//  --------------------------- Ende loop  ----------------------------------------------------  //

}
Benötigt werden 5 Stück Taster (schließend) und die MobaTools müssen noch installiert werden.


Servus - Wolfgang
Dateianhänge
MobaTools-master.zip
(579.55 KiB) 74-mal heruntergeladen
Grüße aus der Heimat der E69
Antworten

Zurück zu „Hardware / Schaltungstechnik“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste