MOVER MOTORES PAP CON ARDUINO

                               

            CONTROLAR MOTOR BIPOLAR CON ARDUINO

Ok amigos retomando el tema de ayer, les  decia que  los motores bipolares son más complejos de controlar ya que el flujo de corriente tiene que cambiar de dirección a través de las bobinas con una secuencia determinada. Para esto debemos conectar cada una de las dos bobinas en un puente en H (H-Bridge). Para esto, utilizaremos el integrado L293 que contiene dos H-Bridge


Trataremos principalmente sobre estos motores , ya que son los mas comunes, y son los que traen nuestras unidades de dvd.

Para controlar motores paso a paso con Arduino, utilizaremos la librería <Stepper.h> que viene con el software de arduino IDE

he aqui el codigo que usaremos para nuestra prueba 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

/*CNC MAKERS Mover motores paso a paso con Arduino*/

#include <Stepper.h> //Importamos la librería para controlar motores paso a paso

#define STEPS 20 //Ponemos el número de pasos que necesita para dar una vuelta, 18 en nuestro caso

// Ponemos nombre al motor, el número de pasos y los pins de control

Stepper stepper(STEPS, 8, 9, 10, 11); //Stepper nombre motor (número de pasos por vuelta, pins de control)

void setup()

{
  // Velocidad del motor en RPM
  stepper.setSpeed(100);
}

void loop()

{
  //Girar una vuelta entera en un sentido
  stepper.step(18);
  delay(500); //Pausa de medio segundo
  //Girar una vuelta entera en sentido contrario
  stepper.step(-18);
  delay(500); //Pausa de medio segundo

}



Utilizando esta conexión tenemos un pequeño problema, y es que usamos cuatro pines del Arduino para controlar el motor, y eso son muchos, si tenemos un arduino uno, pues para nuestra maquina necesitaremos 3 motores , 12 pines...
pero eso tiene una solución Si queremos controlar más de un motor paso a paso y usar otros pines para otras conexiones, nos quedaremos cortos de pines. Esto se puede solucionar con una conexión diferente que solo utiliza dos pines de control del Arduino.


Conexión dos pins

Para entender esta conexión, primero hay que fijarse en la secuencia del motor paso a paso bipolar que hemos visto antes. Si nos fijamos bien, veremos que los extremos de cada bobina están invertidos entre sí.


De esta manera solo tenemos que usar dos pins de control e invertirlos. Para invertirlos usaremos dos transistores NPN (BC547,BD139, etc…) polarizados en emisor común y que trabajen en modo saturación-corte. Así el transistor trabaja como un inversor de señal.

De este modo, usaremos solo dos pines del Arduino y con los dos NPN en modo de inversor obtendremos los cuatro pines de control necesarios para controlar el L293.




El programa es el mismo que antes, con la diferencia que cambiaremos los pins de control:
En vez de usar:
Stepper stepper(STEPS, 8, 9,10,11);
Cambiamos por:
Stepper stepper(STEPS, 8, 9);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
  CNCMAKERS- CONTROLANDO MOTOR PAP DE LECTOR DE DVD CON ARDUINO+L293 A DOS PINES
*/
#include <Stepper.h> //Importamos la librería para controlar motores paso a paso
#define STEPS 18 //Ponemos el número de pasos que necesita para dar una vuelta. 18 en nuestro caso
// Ponemos nombre al motor, el número de pasos y los pins de control
Stepper stepper(STEPS, 8, 9); //Stepper nombre motor (número de pasos por vuelta, pins de control)
void setup()
{
  // Velocidad del motor en RPM
  stepper.setSpeed(50);
}
void loop()
{
  //Girar una vuelta entera en un sentido
  stepper.step(18);
  delay(500); //Pausa de medio segundo
  //Girar una vuelta entera en sentido contrario
  stepper.step(-18);
  delay(500); //Pausa de medio segundo
}



Este  programa nos servirá para verificar la integridad y campo de acción de nuestros motores pap
no he diseñado alguna board  ya que por ser tan pocas las conexiones se pueden hacer en baquelita universal/protoboard,  aunque mas adelante seguramente lo haré 

Comentarios

Publicar un comentario

Entradas populares de este blog

Controlar velocidad y sentido de un motor paso a paso Bipolar con Arduino

Controlar motor paso a paso Unipolar con Arduino

como hacer una mini impresora 3D