INFORMACIÓN
El A4988 driver para motor a pasos es un pequeño módulo que permiten controlar motores paso a paso, está basado en el chip A4988 de Allegro, el cual soporta microsteping para motores bipolares. Puede proporcionar hasta 2A y opera desde 8 a 35V. El A4988 driver para motor a pasos es utilizado con tarjetas de control como Cnc Shield para crear tu propio CNC o en tarjetas RAMPS 1.4 para impresoras 3D. De igual forma lo puedes utilizar independiente para realizar tus propios mecanismos para tener movimiento, desplazamiento o en proyectos de mecatrónica o robótica.
Este driver incluye disipador el cual se recomienda utilizar para controlar motores a pasos que requieran corrientes mayores a 1A.
ESPECIFICACIONES Y CARACTERISTICAS
- Voltaje de operación: Min. 8V hasta Max.35V
- Voltaje de control lógico: Compatible Min. 3.3V o Max. 5V DC
- Corriente Max. por bobina: 2A
- Resolución de pasos: Completo, 1/2, 1/4, 1/8 y 1/16
- Interfaz de comunicación: 2 Pines – STEP y DIRECTION
- Protección contra la corriente cruzada
- Circuito de apagado térmico
- Protección contra fallas de tierra
- Protección de cortocircuito de carga
- Potenciómetro de ajuste de corriente. De acuerdo al motor a pasos a utilizar consulta sus especificaciones de corriente, para ajustar el módulo con la corriente de operación que necesita el motor.
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
Antes de emplear el driver A4988, es fundamental tener en cuenta ciertos datos relevantes que garantizarán su correcto funcionamiento. Comenzaremos por explicar cada uno de sus pines:
Descripción de pines:
- VMOT : Pin VIN voltaje de entrada para la alimentación externa del motor paso a paso.
- GND : Es el pin de tierra, que se conecta a la tierra del sistema, para el voltaje externo VMOT y VDD.
- VDD : Pin VCC para ingresar voltaje de alimentación desde 3.3V a 5.5V para la lógica interna del driver.
- 1A, 1B y 2A, 2B : Son las salidas de corriente para el motor paso a paso. Controlan la dirección y el movimiento del motor.
- MS1, MS2, MS3 : Estos pines se utilizan para configurar la resolución de microstepping.
- RESET : Se utiliza para restablecer el estado del driver.
- SLEEP : Se utiliza para poner el driver en modo de bajo consumo cuando no está en uso.
- ENABLE : Habilita o deshabilita la salida del driver.
- DIR : Indica la dirección del movimiento del motor paso a paso.
- STEP : Genera pulsos para controlar el movimiento del motor paso a paso.
Después de definir los pines del driver, es crucial considerar el tipo de motor antes de realizar las conexiones necesarias. Es importante conocer sus datos técnicos, como la corriente máxima de operación y si es un motor bipolar o unipolar, ya que el driver solo es compatible con motores paso a paso bipolares.
Tenemos una variedad de motores paso a paso que podrás utilizar con el módulo A4988 driver. Los motores compatibles son:
- 17HS4023 Nema 17 Motor a Pasos 0.7Amp
- 17HS4401 Nema 17 Motor a Pasos 1.7Amp
- 17HS8401 Nema 17 Motor a Pasos 1.8Amp
Una vez que hayas identificado los datos técnicos de tu motor paso a paso, será crucial ajustar la corriente suministrada por el driver al motor. A continuación, se detallan los pasos que debes seguir:
Regulación de corriente (Chopping):
Explicación teórica:
El driver dispone de reguladores de intensidad incorporados. El motivo es que los motores paso a paso de cierto tamaño y potencia, como por ejemplo los NEMA 17, necesitan tensiones superiores a las que podrían soportar las bobinas por su corriente nominal.
Por ejemplo, supongamos que tenemos un motor NEMA 17 con 1.2A de intensidad nominal y 1.5 Ohm de resistencia por fase. Según la ley de Ohm deberíamos aplicar 1.8V a cada bobina para que circule la intensidad nominal de 1.2A. Sin embargo, con esa tensión el motor ni se movería.
Para el que el motor funcione correctamente necesitamos aplicar una tensión superior. En este ejemplo, la tensión nominal podría ser 12V. Pero si aplicáramos 12V directamente, nuevamente por la ley de Ohm, pasarían 8A por la bobina, lo cual destruiría el motor en poco tiempo.
Por este motivo, los controladores incorporan un limitador de intensidad, que permiten alimentar el motor a tensiones nominales superiores a las que es posible por su resistencia e intensidad máxima admisible.
*Nota: A este mecanismo de limitación de intensidad se le denomina Chopping.
Pasos para configurar la corriente:
Para ajustar la intensidad suministrada por el limitador según el motor que estemos utilizando, es fundamental ajustar la tensión VREF mediante el potenciómetro incorporado.
También es importante conocer el valor de las resistencias de sensado o sensibilidad Rs ubicadas en el driver, el cual puede variar según el fabricante. En el caso de este driver, las resistencias son de 0.1 Ohms y se encuentran en la placa.
Ya identificados estos elementos se debe aplicar la siguiente fórmula que especifica el Datasheet:
Donde:
- ITripMax: Corriente Máxima del motor a utilizar.
- VREF: Voltaje de referencia para ajustar la corriente de salida del controlador.
- 8: Es una constante especificada por el fabricante
- RS: Resistencia de sensado o sensibilidad
*Nota: Tenga en cuenta que la corriente suministrada por el driver al motor es solo del 70% de la configuración del límite de corriente real, ya que ambas bobinas siempre están encendidas y limitadas a este valor en el modo de paso completo, por lo que si luego se habilita los modos de micropasos, la corriente a través de las bobinas será capaz de exceder esta corriente medida de paso completo en un 40 % (1 / 0.7) en ciertos pasos; tenga esto en cuenta cuando utilice este método para establecer el límite actual. Además, tenga en cuenta que deberá realizar este ajuste nuevamente si alguna vez cambia el voltaje lógico, VDD, ya que el voltaje de referencia que establece el límite de corriente es en función de VDD.
Ejemplo:
Si utilizamos un motor Nema 17 de 0.7Amp y tenemos la resistencia de sensado de 0.1 Ohms, y comenzamos con pasos completos completos despejamos la fórmula para conocer el VREF:
Realizamos el cálculo: VREF = (0.7) x (8 x 0.1) = 0.56V
Ahora considerando que vamos a trabajar en pasos completos y tenemos el limite de corriente del 70%, ajustamos el voltaje de referencia real obtenido anteriormente:
Realizamos el cálculo: El 70% de 0.56 VREF = 0.39 VREF
Este valor se debe ajustar en el potenciómetro del driver, sigue los siguientes pasos:
- Ingresa voltaje de alimentación a los pines de lógica, recomendable 5V.
- Utiliza un multímetro y colocalo para medir voltaje DC
- Coloca el la terminal COM en GND y con ayuda de un desarmador de cruz colocar la terminal VΩ en la parte conductiva del desarmador de cruz
- Después con el desarmador de cruz ajustar el voltaje VREF
*Nota: Recuerda que este es un ejemplo; en tu caso, realiza los cambios correspondientes a la fórmula para ajustar correctamente el VREF.
Una vez que hayas ajustado el driver para proporcionar la corriente necesaria al motor NEMA y evitar mal funcionamiento, daños y calentamiento excesivo.
Ahora podrás proceder con todas las conexiones necesarias para poner en marcha el driver.
Conexión del driver:
Para que este driver funcione correctamente sigue las siguientes conexiones:
Tamaño del paso (y micropaso):
Los motores paso a paso suelen tener una especificación de tamaño de paso (por ejemplo, 1,8° o 200 pasos por revolución), que se aplica a pasos completos. Un controlador de micropasos como el A4988 permite resoluciones más altas al permitir ubicaciones de pasos intermedios, que se logran energizando las bobinas con niveles de corriente intermedios. Por ejemplo, accionar un motor en modo de cuarto de paso le dará al motor de 200 pasos por revolución 800 micropasos por revolución utilizando cuatro niveles de corriente diferentes.
Las entradas del selector de resolución (tamaño de paso) (MS1, MS2 y MS3) permiten la selección entre las cinco resoluciones de paso de acuerdo con la siguiente tabla. MS1 y MS3 tienen resistencias desplegables internas de 100 kΩ y MS2 tiene una resistencia desplegable interna de 50 kΩ, por lo que dejar estos tres pines de selección de micropasos desconectados da como resultado el modo de paso completo. Para que los modos de micropasos funcionen correctamente, el límite de corriente debe establecerse lo suficientemente bajo para que se active la limitación de corriente. De lo contrario, los niveles de corriente intermedios no se mantendrán correctamente y el motor saltará micropasos.
MS1 | MS2 | MS3 | Resolución de micropasos |
---|---|---|---|
LOW | LOW | LOW | Paso completo – Full Step |
HIGH | LOW | LOW | Medio paso – 1/2 Step |
LOW | HIGH | LOW | Cuarto de paso – 1/4 Step |
HIGH | HIGH | LOW | Octavo paso – 1/8 Step |
HIGH | HIGH | HIGH | Decimosexto paso – 1/16 Step |
Entradas de control:
Cada pulso a la entrada STEP corresponde a un micropaso del motor paso a paso en la dirección seleccionada por el pin DIR. Tenga en cuenta que los pines STEP y DIR no reciben ningún voltaje particular internamente, por lo que no debe dejar ninguno de estos pines flotando en su aplicación. Si solo desea rotación en una sola dirección, puede vincular DIR directamente a VDD o GND. El chip tiene tres entradas diferentes para controlar sus numerosos estados de energía: RST , SLP y EN . Para obtener detalles sobre estos estados de energía, consulte la hoja de datos. Tenga en cuenta que el pin RST está flotando; Si no está utilizando el pin, puede conectarlo al pin SLP adyacente en la PCB para elevarlo y habilitar la placa.
Consideraciones sobre la disipación de energía:
El controlador IC A4988 tiene una clasificación de corriente máxima de 2 A por bobina, pero la corriente real que puede entregar depende de qué tan bien pueda mantener frío el IC. La placa de circuito impreso del portador está diseñada para extraer calor del CI, pero para suministrar más de aproximadamente 1 A por bobina, se requiere un disipador de calor u otro método de enfriamiento.
Conexión del Driver A4988 con Arduino Nano
Ahora, pongamos en práctica lo aprendido. Vamos a dar un ejemplo práctico controlando la velocidad de un motor paso a paso mediante un potenciómetro. Realiza las siguientes conexiones en Arduino Nano y recuerda poner en práctica lo que se explicó anteriormente.
A continuación se presenta un código muy sencillo. Se utiliza la librería AccelStepper.h, la cual facilita el control del motor de manera sencilla. Antes de cargar el código, asegúrate de descargar la librería y de importarla al entorno de desarrollo Arduino IDE.
//Libreria para controlar el motor #include <AccelStepper.h> //Entradas y Salidas int speed_pot = A0; // Pin analógico utilizado para controlar la velocidad int EN = 2; // Pin de habilitación del controlador int STEP = 3; // Pin de paso del motor int DIR = 4; // Pin de dirección del motor // Definir un paso a paso y los pines que utilizará AccelStepper stepper1(1, STEP, DIR); //(Tipo de driver: con 2 pines, STEP, DIR) //Variables paso a paso y botón int max_speed = 1000; // Velocidad máxima del motor int main_speed = 0; // Velocidad inicial del motor int velocidad = 0; // Variable para almacenar la velocidad actual del motor void setup() { pinMode(EN, OUTPUT); // Configura el pin de habilitación como salida digitalWrite(EN, HIGH); //El controlador paso a paso está deshabilitado inicialmente stepper1.setMaxSpeed(max_speed); // Establece la velocidad máxima del motor pinMode(speed_pot, INPUT); // Configura el pin del potenciómetro de velocidad como entrada } void loop() { digitalWrite(EN, LOW); //Activamos el controlador paso a paso velocidad = map(analogRead(speed_pot),0,1024,main_speed,max_speed); // Lee el valor del potenciómetro y lo mapea al rango de velocidades stepper1.setSpeed(velocidad); // Establece la velocidad del motor stepper1.runSpeed(); // Ejecuta el motor a la velocidad establecida }
Valoraciones
No hay valoraciones aún.