EM-483 PRINTER STEPPER MOTOR []

Outils pour utilisateurs

Outils du site


EM-483 PRINTER STEPPER MOTOR

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
documentation:electronique:modules_kits:em483_stepper:index [2021/05/16 18:26] – [WIRING] f1slsdocumentation:electronique:modules_kits:em483_stepper:index [2021/05/19 02:33] (Version actuelle) f1sls
Ligne 8: Ligne 8:
  
 {{:documentation:electronique:modules_kits:em483_stepper:l298n_controller_board_pinout.png?direct|}} {{:documentation:electronique:modules_kits:em483_stepper:l298n_controller_board_pinout.png?direct|}}
 +{{:documentation:electronique:modules_kits:em483_stepper:l298n_controller_board.jpg?direct|}}
 ===== ARDUINO ===== ===== ARDUINO =====
 ==== LIBS ==== ==== LIBS ====
-  * +  * https://github.com/Mohamad1994HD/28BYJ48
  
 ==== SAMPLES ==== ==== SAMPLES ====
 {{:documentation:electronique:modules_kits:em483_stepper:arduino-bipolar-stepper-motor-control-circuit.png?direct&600|}} {{:documentation:electronique:modules_kits:em483_stepper:arduino-bipolar-stepper-motor-control-circuit.png?direct&600|}}
-<code=c++>+<code cpp>
 #define ButonControl 4 #define ButonControl 4
 #include <28BYJ48.h> #include <28BYJ48.h>
Ligne 76: Ligne 77:
   digitalWrite(7, LOW);   digitalWrite(7, LOW);
   }   }
 +</code>
 +
 +----
 +
 +<code cpp>
 +//////////////////////////////////////////////////////////////////
 +//©2011 bildr
 +//Released under the MIT License - Please reuse change and share
 +//Using the easy stepper with your arduino
 +//use rotate and/or rotateDeg to controll stepper motor
 +//speed is any number from .01 -> 1 with 1 being fastest - 
 +//Slower Speed == Stronger movement
 +/////////////////////////////////////////////////////////////////
 +
 +
 +#define DIR_PIN 2
 +#define STEP_PIN 3
 +
 +void setup() { 
 +  pinMode(DIR_PIN, OUTPUT); 
 +  pinMode(STEP_PIN, OUTPUT); 
 +
 +
 +void loop(){ 
 +
 +  rotateDeg(360, 1); 
 +  delay(1000);
 +  rotateDeg(-360, .1);  //reverse
 +  delay(1000); 
 +
 +
 +
 +  //rotate(1600, .5); 
 +  //delay(1000); 
 +  //rotate(-1600, .25); //reverse
 +  //delay(1000); 
 +  
 +}
 +
 +
 +
 +void rotate(int steps, float speed){ 
 +  //rotate a specific number of microsteps (8 microsteps per step) - (negitive for reverse movement)
 +  //speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger
 +  int dir = (steps > 0)? HIGH:LOW;
 +  steps = abs(steps);
 +
 +  digitalWrite(DIR_PIN,dir); 
 +
 +  float usDelay = (1/speed) * 70;
 +
 +  for(int i=0; i < steps; i++){ 
 +    digitalWrite(STEP_PIN, HIGH); 
 +    delayMicroseconds(usDelay); 
 +
 +    digitalWrite(STEP_PIN, LOW); 
 +    delayMicroseconds(usDelay); 
 +  } 
 +
 +
 +void rotateDeg(float deg, float speed){ 
 +  //rotate a specific number of degrees (negitive for reverse movement)
 +  //speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger
 +  int dir = (deg > 0)? HIGH:LOW;
 +  digitalWrite(DIR_PIN,dir); 
 +
 +  int steps = abs(deg)*(1/0.225);
 +  float usDelay = (1/speed) * 70;
 +
 +  for(int i=0; i < steps; i++){ 
 +    digitalWrite(STEP_PIN, HIGH); 
 +    delayMicroseconds(usDelay); 
 +
 +    digitalWrite(STEP_PIN, LOW); 
 +    delayMicroseconds(usDelay); 
 +  } 
 +}
 +</code>
 +
 +===== BIPOLAR STEPPER WITH H BRIDGE =====
 +<code cpp>
 +/*
 +  Stepper Motor Demonstration 3
 +  Stepper-Demo3.ino
 +  Demonstrates NEMA 17 Bipolar Stepper with L298N Driver
 +  Uses Potentiometer on Analog Input A0
 +  Uses Arduino Stepper Library
 +
 +  DroneBot Workshop 2018 
 +  https://dronebotworkshop.com
 +*/
 +
 +// Include the Arduino Stepper Library
 +#include <Stepper.h>
 +
 +// Define Constants
 +
 +// Number of steps per output rotation
 +const int STEPS_PER_REV = 200;
 +const int SPEED_CONTROL = A0;
 +
 +// Create Instance of Stepper Class
 +// Specify Pins used for motor coils
 +// The pins used are 8,9,10,11 
 +// Connected to L298N Motor Driver In1, In2, In3, In4 
 +// Pins entered in sequence 1-2-3-4 for proper step sequencing
 +
 +Stepper stepper_NEMA17(STEPS_PER_REV, 8, 9, 10, 11);
 +
 +void setup() {
 +  // nothing to do inside the setup
 +}
 +
 +void loop() {
 +  // read the sensor value:
 +  int sensorReading = analogRead(SPEED_CONTROL);
 +  // map it to a range from 0 to 100:
 +  int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
 +  // set the motor speed:
 +  if (motorSpeed > 0) {
 +    stepper_NEMA17.setSpeed(motorSpeed);
 +    // step 1/100 of a revolution:
 +    stepper_NEMA17.step(STEPS_PER_REV / 100);
 +  }
 +}
 </code> </code>
documentation/electronique/modules_kits/em483_stepper/index.1621182418.txt.gz · Dernière modification : de f1sls