Los motores paso a paso (PaP) son muy utiles cuando necesitamos fuuerza pero no podemos renunciar a la precisión. Su uso se a extendido mucho gracias en buena parte a que son los utilizados por las impresoras 3D y las maquinas CNC. Para este tutoriale usaremos un motro PaP unipolar
Igual que nos sucedia con los motores CC para controlar los PaP necesitaremos un controlador. Un pequeño chip que hará de intermediario entre Pinguino y lo motores, permitiendo entre otras cosas alimentarlos correctamente sin quemar nuestro Pinguino.
En este caso utilizaremos un ULN2003A , el cual es una array de 8 transistores tipo Darlington capaces de manejar cargas de hasta 500mA.
El circuito que necesitamos montar es similar este, muy simple:
Ahora viene el turno de Software, necesitamos emitir una serie de pulsos de forma secuencial para ir enciendo alternativamente las bobinas del motor,lo que le hará moverse.
//Creamos una función que sepa generar la secuencia de pulsos: void paso(int a, int b, int c, int d, int pause){ digitalWrite(7,a); digitalWrite(6,b); digitalWrite(5,c); digitalWrite(4,d); delay(pause); } void setup(){ //Configuramos los pines conectados al motor como salidas pinMode(7,OUTPUT); pinMode(6,OUTPUT); pinMode(5,OUTPUT); pinMode(4,OUTPUT); } void loop(){ //Ahora unicamente tenemos que llamar a la función enviando los parametros para mover el motor. //El ultimo valor es simplemente una pausa para dar tiempo al motor a dar un paso antes de enviarle la siguiente orden paso(1,0,0,0,15); paso(1,1,0,0,15); paso(0,1,0,0,15); paso(0,1,1,0,15); paso(0,0,1,0,15); paso(0,0,1,1,15); paso(0,0,0,1,15); paso(1,0,0,1,15); //Ahora podemos invertir el movimiento, simplemente invirtiendo la secuencia: paso(1,0,0,1,15); paso(0,0,0,1,15); paso(0,0,1,1,15); paso(0,0,1,0,15); paso(0,1,1,0,15); paso(0,1,0,0,15); paso(1,1,0,0,15); paso(1,0,0,0,15); }
Lo más sencillo es, cómo hemos hecho, crear una función que sepa gestionar los pasos y despues simplemente llamarla pasandole los valores que necesitamos para mover nuestro motor al punto deseado.
Y con esto ya tendríamos el movimiento básico de nuestro motor PaP, ya puedes incluirlos en tus proyectos con Pinguino.