Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Biblioteca de motores paso a paso bipolares

Componentes y suministros

Arduino UNO
× 1
Controladores de motor Texas Instruments Dual H-Bridge L293D
× 1

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Anteriormente, proporcioné una biblioteca Arduino para motores paso a paso de tipo unipolar. Controla perfectamente la velocidad, la dirección, el número de revoluciones, el ángulo del motor, etc.todos los parámetros de los motores paso a paso de tipo unipolar. Pero fue solo para motores paso a paso de tipo unipolar. Como sabemos, el motor paso a paso también puede ser de tipo bipolar. Pero esta biblioteca no puede controlar el motor paso a paso de tipo bipolar. Así que he decidido desarrollar otra biblioteca arduino para controlar el motor paso a paso de tipo bipolar

Entonces, aquí presento la biblioteca de motores paso a paso bipolar en Arduino para todos los motores paso a paso de tipo bipolar. La biblioteca tiene 9 funciones diferentes que se pueden utilizar para rotar y controlar el motor según los requisitos. La biblioteca está diseñada según el control de movimiento industrial requisitos. Estas son algunas de las características de esta biblioteca

1. Controla cualquier motor paso a paso bipolar

2. Controla la dirección de rotación del motor

3. Controla con precisión el número de revoluciones del motor como 1, 2, 3, 4, .....

4. Controla con precisión la velocidad del motor en RPM con un 95% de precisión

5. Gira con precisión el motor al ángulo deseado entre 0 - 360o con 80-100% de precisión

6. Compatible con todas las placas arduino

Aquí se ofrecen breves descripciones de todas las funciones de la biblioteca. A continuación se dan algunos ejemplos que explican cómo se controla el motor utilizando esta biblioteca. También se proporciona un video que muestra la demostración de estos ejemplos. Por último, se sugiere que el circuito use el chip L293D, ampliamente utilizado como controlador de puente H para motores de CC y motores paso a paso bipolares.

Para usar esta biblioteca en su boceto de arduino, simplemente copie el bi_polar_Stepper carpeta en el directorio raíz de la carpeta de la biblioteca arduino como C:\ arduino-1.6.7 \ libraries

Descripción de las funciones de la biblioteca:

1) bi_polar_Stepper (intpin1, int pin2, int pin3, int pin4) - esto creará una instancia de bi_polar_Stepper en el boceto de arduino con pines de controlador de motor paso a paso. Significa que uno tiene que especificar los pines de la placa arduino que se utilizan para impulsar el motor paso a paso

2) set_step_per_rev (intsteps) - esta función establecerá el número de pasos requeridos por el motor paso a paso para completar 1 revolución. Significa que establecerá el ángulo de paso (resolución de paso) del motor. Se debe ingresar el ángulo de paso del motor para un control preciso

3) set_RPM (int rpm) - esta función establecerá la velocidad del motor en RPM y el motor girará a la velocidad seleccionada con hasta un 95% de precisión

4) rotate_CW () - esta función iniciará la rotación del motor en el sentido de las agujas del reloj. Para rotar el motor en el sentido de las agujas del reloj de forma continua, se debe utilizar esta función en bucle continuo

5) rotate_CCW () - esta función iniciará la rotación del motor en sentido antihorario. Para rotar el motor en sentido contrario a las agujas del reloj de forma continua, se debe utilizar esta función en bucle continuo

6) rotar (int dir) - esta función hará girar el motor según la dirección seleccionada. Si la dirección se da como 1, el motor girará en el sentido de las agujas del reloj y viceversa

7) rotate_one_rev (intdir) - esta función hará girar el motor exactamente 1 revolución en la dirección seleccionada

8) rotate_n_rev (int dir, intnum) - esta función hará girar el número requerido de revoluciones del motor en las direcciones seleccionadas

9) rotate_x_deg (int deg) - esta función hará girar el motor al ángulo deseado de 0 a 360 ° en cualquier dirección con una precisión de ángulo del 80 al 100%

Ejemplos:

1) Gire el motor continuamente en cualquier dirección a 60 RPM

/ * este programa rotará continuamente el motor paso a paso bipolar

* con un ángulo de paso de 1.8 grados (200 pasos / rev) a 60 RPM

* creado por Ashutosh Bhatt el 12/12/16

* /

#include

#define steps 200 // cambie estos pasos según el motor

bi_polar_Stepper my_step_motor (8, 9, 10, 11);

int rpm =60;

configuración vacía ()

{

// ponga su código de configuración aquí, para que se ejecute una vez:

Serial.begin (9600);

Serial.println ("programa de prueba de biblioteca de motor paso a paso bipolar");

my_step_motor.set_step_per_rev (pasos);

my_step_motor.set_RPM (rpm);

Serial.println ("el motor gira en el sentido de las agujas del reloj");

}

bucle vacío ()

{

my_step_motor.rotate_CW ();

}

2) Gire el motor una revolución en sentido horario y una revolución en sentido antihorario continuamente

/ * este programa hará girar el motor paso a paso bipolar

* con un ángulo de paso de 1,8 grados (200 pasos / rev)

* como 1 revolución en el sentido de las agujas del reloj (CW) y una revolución

* en sentido antihorario (CCW) a 30 RPM continuamente

* creado por Ashutosh Bhatt el 12/12/16

* /

#include

#define los pasos 200

bi_polar_Stepper my_step_motor (8, 9, 10, 11);

int rpm =30;

configuración vacía ()

{

// ponga su código de configuración aquí, para que se ejecute una vez:

Serial.begin (9600);

Serial.println ("programa de prueba de biblioteca de motor paso a paso bipolar creado por Ashutosh Bhatt");

my_step_motor.set_step_per_rev (pasos);

my_step_motor.set_RPM (rpm);

}

bucle vacío ()

{

Serial.println ("el motor gira en el sentido de las agujas del reloj");

my_step_motor.rotate_one_rev (1);

retraso (1000);

Serial.println ("el motor gira en sentido antihorario");

my_step_motor.rotate_one_rev (0);

retraso (1000);

}

3) Gire el motor en sentido horario a 100 RPM y en sentido antihorario a 50 RPM continuamente

/ * este programa primero rotará el motor paso a paso bipolar

* con un ángulo de paso de 1,8 grados (200 pasos / rev)

* en el sentido de las agujas del reloj (CW) durante 2 revoluciones a 100 RPM y luego

* en sentido antihorario (CCW) para 2 revoluciones a 50 RPM

* continuamente

* creado por Ashutosh Bhatt el 12/12/16

* /

#include

#define los pasos 200

bi_polar_Stepper my_step_motor (2, 3, 4, 5);

int i;

configuración vacía ()

{

Serial.begin (9600);

Serial.println ("Programa de prueba de biblioteca de motor paso a paso bipolar creado por Ashutosh Bhatt");

my_step_motor.set_step_per_rev (pasos);

}

bucle vacío ()

{

my_step_motor.set_RPM (100);

para (i =0; i <100; i ++) my_step_motor.rotate (1);

retraso (2000);

my_step_motor.set_RPM (50);

para (i =0; i <100; i ++) my_step_motor.rotate (0);

retraso (2000);

}

4) Gire el motor 4 revoluciones en sentido horario a 20 RPM y 2 revoluciones en sentido antihorario a 10 RPM continuamente

/ * este programa primero rotará el motor paso a paso bipolar

* con un ángulo de paso de 1,8 grados (200 pasos / rev)

* 4 revoluciones en el sentido de las agujas del reloj (CW) a 20 RPM y luego

* 2 revoluciones en sentido antihorario (CCW) a 10 RPM

* continuamente

* creado por Ashutosh Bhatt el 12/12/16

* /

#include

#define los pasos 200

bi_polar_Stepper my_step_motor (2, 3, 4, 5);

int i;

configuración vacía ()

{

Serial.begin (9600);

Serial.println ("Programa de prueba de biblioteca de motores paso a paso unipolar creado por Ashutosh Bhatt");

my_step_motor.set_step_per_rev (pasos);

}

bucle vacío ()

{

my_step_motor.set_RPM (20);

my_step_motor.rotate_n_rev (1, 4);

retraso (2000);

my_step_motor.set_RPM (10);

my_step_motor.rotate_n_rev (0, 2);

retraso (2000);

}

5) Gire el motor 90o en sentido horario y 90o en sentido antihorario continuamente a 30 RPM

/ * este programa hará girar el motor bipolar

* con un ángulo de paso de 1.8 grados (200 pasos / rev) a 30 RPM hasta

* 90 grados CW y 90 grados CCW continuamente

* creado por Ashutosh Bhatt el 22/10/16

* /

#include

#define motor_steps 200

bi_polar_Stepper my_step_motor (8, 9, 10, 11);

int rpm =30;

configuración vacía ()

{

// ponga su código de configuración aquí, para que se ejecute una vez:

Serial.begin (9600);

Serial.println ("programa de prueba de biblioteca de motor paso a paso bipolar");

my_step_motor.set_step_per_rev (motor_steps);

my_step_motor.set_RPM (rpm);

Serial.println ("el motor gira 90 grados hacia adelante y hacia atrás");

}

bucle vacío ()

{

mi_paso_motor.rotate_x_deg (90);

retraso (2000);

my_step_motor.rotate_x_deg (270);

retraso (2000);

}

Nota:-Si el motor paso a paso tiene valores de corriente y voltaje más altos, en lugar del chip L293D, podemos usar el chip L298 o un conjunto de 4 transistores Darlington separados como TIP122, TIP142, etc., para impulsar motores paso a paso.

La biblioteca proporcionada y los programas de ejemplo junto con el circuito anterior se prueban con los siguientes motores paso a paso

1) Motor bipolar de 2 fases con 5V, 100 RPM (MAX), 200 pasos / rev (ángulo de paso de 1.8o)

2) Motor bipolar de 2 fases con 5V, 60 RPM (MAX), 200 pasos / rev (ángulo de paso de 1.8o)

Código

  • Biblioteca Arduino para motor paso a paso bipolar
Biblioteca Arduino para motor paso a paso bipolar C / C ++
La biblioteca controla las RPM, la dirección, las revoluciones y el ángulo de rotación de todos los tipos de motor paso a paso bipolar con una precisión del 95%.
 Sin vista previa (solo descarga). 

Esquemas

Este circuito impulsa y controla las RPM, la dirección, el ángulo de rotación, el número de revoluciones del motor paso a paso bipolar

Proceso de manufactura

  1. Motor de renuencia
  2. Motores paso a paso
  3. Los controladores integrados facilitan el diseño del motor paso a paso
  4. Telemetría del sensor 2.0.1
  5. Prototipo de Raspoulette
  6. Torreta centinela Nerf autónoma
  7. Swiper - Auto Tinder / Bumble Swiper
  8. SmartWay
  9. La zona gris entre servomotores y motores paso a paso
  10. ¿Qué es un motor lineal?
  11. ¿Qué es un servomotor?