Mostrando entradas con la etiqueta steppers. Mostrar todas las entradas
Mostrando entradas con la etiqueta steppers. Mostrar todas las entradas
Unipolar Steppers con L298 y Arduino
Conexiones:
Stepper:
Blanco y negro: unirlos y no conectarlos a nada
Amarillo: MOTORA- (del L298)
Rojo: MOTORA+ (del L298)
Naranja: MOTORB- (del L298)
Azul: MOTORB+ (del L298)
ENA: Digital 2 de Arduino
IN1: Digital 3
IN2: Digital 4
ENB: Digital 5
IN3: Digital 6
IN4: Digital 7
VMS: Power del L298: 14v (pero puede ser hasta 35v)
Todas las GND juntas! como siempre!
Codigo arduino:
#include <Stepper.h>
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 3,4,6,7);
void setup() {
myStepper.setSpeed(150);
int ENA=2;//connected to Arduino's port 2
int ENB=5;//connected to Arduino's port 5
digitalWrite(ENA,HIGH);//enablae motorA
digitalWrite(ENB,HIGH);//enable motorB
}
void loop() {
//horario
myStepper.step(stepsPerRevolution);
delay(500);
// antihorario
myStepper.step(-stepsPerRevolution);
delay(500);
}
L293D Motor Drive Shield Expansion Board for Arduino
Este shield es compatible con el: Adafruit Motor Shield
Referencia:
http://learn.adafruit.com/downloads/pdf/afmotor-library-reference.pdf
Para utilizar un servo, conectarlo y luego usar el ejemplo que viene con AFMotor.
IMPORTANTE: alimentar con 9v el arduino para que los servos funcionen!!
Código:
// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!
#include <AFMotor.h>
// Stepper motor on M1+M2 48 steps per revolution
AF_Stepper stepper(200, 1);
void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
}
int i;
void loop() {
for (i=0; i<255; i++) {
stepper.step(1, FORWARD, INTERLEAVE);
delay(3);
}
for (i=255; i!=0; i--) {
stepper.step(1, BACKWARD, INTERLEAVE);
delay(3);
}
for (i=0; i<255; i++) {
delay(3);
stepper.step(1, FORWARD, DOUBLE);
}
for (i=255; i!=0; i--) {
stepper.step(1, BACKWARD, DOUBLE);
delay(3);
}
}
Referencia:
http://learn.adafruit.com/downloads/pdf/afmotor-library-reference.pdf
Para utilizar un servo, conectarlo y luego usar el ejemplo que viene con AFMotor.
IMPORTANTE: alimentar con 9v el arduino para que los servos funcionen!!
Código:
// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!
#include <AFMotor.h>
// Stepper motor on M1+M2 48 steps per revolution
AF_Stepper stepper(200, 1);
void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
}
int i;
void loop() {
for (i=0; i<255; i++) {
stepper.step(1, FORWARD, INTERLEAVE);
delay(3);
}
for (i=255; i!=0; i--) {
stepper.step(1, BACKWARD, INTERLEAVE);
delay(3);
}
for (i=0; i<255; i++) {
delay(3);
stepper.step(1, FORWARD, DOUBLE);
}
for (i=255; i!=0; i--) {
stepper.step(1, BACKWARD, DOUBLE);
delay(3);
}
}
Driver para stepper motors Keyes L298N
Fuente:
Para motores DC
http://www.instructables.com/id/Arduino-Modules-L298N-Dual-H-Bridge-Motor-Controll/?ALLSTEPS
Voltaje en VMS: Hasta 35V
Para Steppers
Conexiones:
ENA connected to Arduino's digital pin 2
IN1 connected to Arduino's digital pin 3
IN2 connected to Arduino's digital pin 4
ENB connected to Arduino's digital pin 5
IN3 connected to Arduino's digital pin 6
IN4 connected to Arduino's digital pin 7
Fuente externa:
VMS +5v
GND Ground
Código 1: Sin Stepper library:
int ENA=2;//connected to Arduino's port 2
int IN1=3;//connected to Arduino's port 3
int IN2=4;//connected to Arduino's port 4
int ENB=5;//connected to Arduino's port 5
int IN3=6;//connected to Arduino's port 6
int IN4=7;//connected to Arduino's port 7
void setup()
{
pinMode(ENA,OUTPUT);
pinMode(ENB,OUTPUT);
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
digitalWrite(ENA,HIGH);//enablae motorA
digitalWrite(ENB,HIGH);//enable motorB
}
void loop()
{
int d = 1;
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
delay(d);
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
delay(d);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
delay(d);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
delay(d);
}
Para entender la secuencia:
Código 2: Con Stepper library:
#include <Stepper.h>
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 3,4,6,7);
void setup() {
myStepper.setSpeed(150);
int ENA=2;//connected to Arduino's port 2
int ENB=5;//connected to Arduino's port 5
digitalWrite(ENA,HIGH);//enablae motorA
digitalWrite(ENB,HIGH);//enable motorB
}
void loop() {
//horario
myStepper.step(stepsPerRevolution);
delay(500);
// antihorario
myStepper.step(-stepsPerRevolution);
delay(500);
}
Conexiones:
Suscribirse a:
Entradas (Atom)





