Paso 13: Manejar motores
Motores de corriente continua
Con las técnicas explicadas en el paso anterior, sólo puede girar el motor en una dirección. Para cambiar la dirección, usted necesitará un puente H (a veces llamado un puente completo). Consta de 2 NPN y transistores PNP 2 o N 2-canal y FETs de canal P 2.
Echa un vistazo a la imagen de un típico circuito puente H MOSFET.
Nota: simplemente no puede reemplazar los MOSFETs en este esquema por transistores: transistores necesitan base actual, FETs necesitan puerta voltaje.
Vamos a descubrir cómo funciona este circuito:
Llamaremos a la entrada izquierda de la entrada A y la B. de entrada
Cuando la entrada A es baja, el transistor Q1 no realiza. Esto significa que las puertas de Q2 y Q3 son altas (que son conectados al VSS a través de R1). Q3 es un MOSFET de canal N, por lo que comienza a realizar (porque tiene una tensión de puerta positiva). Q2 es un MOSFET de canal P, para no conducir (porque no tiene ninguna diferencia de voltaje entre la compuerta y la fuente, ambos conectados a VSS).
El terminal izquierdo del motor ahora está conectado a tierra, a través de Q3.
Cuando la entrada B es alta, Q4 conduce. Esto significa que las puertas de Q5 y Q6 son bajas. (Que estén conectados a tierra a través de Q4, y R2 no importa en este caso). P6 es un MOSFET de canal N, para no conducir (porque no tiene ninguna diferencia de voltaje entre la compuerta y la fuente, ambos conectados a tierra).
Q5 es un MOSFET de canal P, por lo que comienza a realizar (porque tiene una tensión de puerta negativa, en relación con la fuente).
El terminal derecho del motor está ahora conectado a VSS a través de Q5.
En este caso, el motor girará en sentido antihorario.
La segunda imagen es un circuito equivalente de esta situación.
Ya te puedes imaginar que si A es alta, y B es bajo, el motor girará en sentido horario. Si A y B son altas o ambas bajas, el motor no gira, ya que ambos terminales se conectan a VSS o tierra. (así que no hay diferencia de voltaje)
Aunque usted podría construir este circuito usted mismo, es mucho más fácil utilizar un IC. Por ejemplo, tengo algunos chips L6202 fuera de una impresora vieja. Otro chip puente H es L298 L293.
Que se conectan directamente con 2 pernos digitales de Arduino, y la mayoría de ellos también tienen un pin de 'habilitar', que se puede utilizar con un tercer pin pwm, para controlar la velocidad del motor.
Adafruit tiene un muy buen tutorial sobre cómo usarlos: https://learn.adafruit.com/adafruit-arduino-lesson...
Motores paso a paso
Otro motor comúnmente usado es el motor paso a paso.
Un motor DC normal tiene un giro de la bobina interior de dos imanes permanentes. Motores paso a paso por el contrario, tienen un imán móvil (rotor) y algunas bobinas estacionarios (el estator). Mediante la activación de las bobinas en una secuencia específica, hará girar el rotor.
Los siguientes videos te ayudarán a entender cómo funciona:
Para la conducción de un unipolarpaso a paso, sólo necesitarás 4 transistores NPN, o 4 MOSFETs de canal N. (ver imagen)
Para encontrar el pinout para su paso a paso, ver la hoja de datos, o utilizar un multímetro y mida la resistencia entre los cables. Algunas combinaciones de alambre tienen una resistencia que es 2 veces mayor que los otros, estos son los dos cables externos en el esquema.
Conecte los cables dos de centro y el cable positivo de la fuente de alimentación, los cables exteriores a los colectores de los transistores de impulsión (ver esquema). Calcular las resistencias base apropiadas, como se explica en el paso anterior y conéctelos a los pines 8, 9, 10, 11 de Arduino. No olvide conectar la tierra de la fuente de alimentación a la tierra de tu Arduino.
Para la conducción de un bipolarpaso a paso, necesitarás 2 puentes de H. Conecte las salidas de cada puente H para una bobina del paso a paso. Conecte las entradas de los puentes de H a los pines 8, 9, 10, 11 de Arduino. No olvide conectar la tierra de la fuente de alimentación a la tierra de tu Arduino. Conecte la línea de activar a VSS.
Nota: motores paso a paso dibujan mucho de la corriente, por lo que no puede utilizar la alimentación a bordo de la Arduino. También se debe utilizar transistores de alta potencia o MOSFETs. Comprobar la temperatura de los transistores y agregar un disipador de calor si es necesario.
Ahora abra el ejemplo stepper_oneRevolution (archivo > ejemplos > paso a paso) y cambiar el número de pasos por revolución para que coincida con su motor.
En la parte superior del archivo, hay una línea
#include < .hpaso a paso>
Sólo agrega el código o el archivo de Stepper.h el dibujo, para poder usar sus funciones. Esto se llama la bibliotecadel paso a paso.
En la línea 24, creamos una instancia de la clase de paso a paso La instancia se llama ' myStepper'(este nombre es sólo arbitrario), y tiene 5 parámetros: el número de pasos en una revolución (360°) y los 4 pines que se conectan a las bases de los transistores.
Una clase tiene un conjunto de funciones, para ejecutar una función para un determinado caso, se utiliza un período (parada completa): instance.function(arguments);
myStepper.setSpeed(60);
Serial.print (...) ¿recuerdas? Esto funciona de manera similar.
El funnction de setSpeed(rpm) establece la velocidad, en revoluciones por minuto (por lo que depende de la cantidad de pasos por revolución).
Otra función de la clase paso a paso es step(steps), solo gira el motor para un número determinado de pasos. Si este número es positivo, se moverá hacia la derecha, si es negativo, se moverá hacia la izquierda.
Cargar el ejemplo de Arduino, y el motor debe girar 360° en sentido horario, entonces 360° en sentido antihorario, y así sucesivamente. Si no gira, pero solo vibra, intente intercambiar pins de salida 2, hasta que funciona. Puede intercambiar los pines físicos a Arduino, o simplemente cambiar el orden de pin en línea 24. (9, 8, 10, 11 en lugar de 8, 9, 10, 11)
El uso de clases es muy fáciles de crear múltiples instancias de paso a paso. Echa un vistazo al ejemplo _2steppers_oneRevolution.
Cuando no se mueve un paso a paso, se mantendrá una bobina al bloque del motor, por lo que no se mueva. Esto atrae mucho de la corriente, sin embargo, y los transistores y el paso a paso se pueden conseguir muy calientes.
Para detener esto, sólo puede realizar un digitalWrite (pin, bajo) en los 4 pernos de los pasos.
Si utiliza una unidad de IC (como un puente en H o un array de darlington), podría conectar la clavija de activación a tu Arduino. Si pones alto, se activará el motor, y cuando lo bajo, no habrá ningún voltaje en el motor en todo.
Usted puede crear su propia pequeña función para encender de los pasos, como yo lo hice en el ejemplo Stepper_stop
{voidstepperOff()}
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
}
Puede realizar funciones que bonito mucho cualquier cosa, por ejemplo si tienes que ejecutar una cierta serie de comandos varias veces en su programa. Un buen tutorial sobre clases, funciones y librerías es el Tutorial de la biblioteca de la Arduin