

Shield para motores paso a paso Arduino - en kit para soldar
Shield para Arduino UNO o Mega, que te permite controlar tres motores paso a paso bipolares 2A. El control de los motores es gestionado por un controlador (MD09B o 3DDRIVER - uno para cada motor) producido por Pololu.
Características del Shield para motores paso a paso Arduino
El control de los motores paso a paso es operado por módulos Pololu basados en el circuito integrado Allegro A4983 y cada uno equipado con un driver de doble puente H gobernado por una lógica que controla el encendido y permite dar pasos más pequeños al motor. que los previstos por su parte electromecánica; por ejemplo, para cada pulso de comando enviado a STEP (el contacto que recibe los pulsos de accionamiento del motor), el motor paso a paso puede realizar un paso completo o fracciones de 1/2 a 1/6, dependiendo de la combinación lógica presentada a los pines MS1, MS2, MS3, de acuerdo con la tabla que se muestra en este cuadro.
La dirección del movimiento consecuente a cada impulso recibido en el contacto STEP depende del nivel lógico aplicado a la entrada DIR (1 lógica fuerza el sentido antihorario y 0 el sentido horario). Cada puente puede entregar una corriente de 2 A, mientras que el módulo se alimenta continuamente con voltajes de hasta 35 V; un pequeño recortador colocado en la base y conectado al pin REF (17) del A4983, permite regular la corriente que pueden suministrar los puentes.
Funcionamiento y operación:
El comando de movimiento se puede obtener de dos maneras: en la primera, Arduino suministra directamente los impulsos para establecer el sentido de rotación del eje del motor paso a paso y para girar un paso por impulso; en el segundo, que es el que usamos y previsto en el firmware, Arduino establece el sentido de rotación y envía impulsos que determinan las rotaciones de un paso o fracción del mismo, dependiendo de la configuración realizada en la inicialización y almacenada por los registros de desplazamiento apropiados . La diferencia entre los dos modos es que el primero es más exigente que el segundo y obliga al Arduino a trabajar más rápido porque tiene que actualizar el estado de los motores paso a paso más rápido. De hecho, en el primer modo de comando, que se obtiene moviendo los jumpers DIR y STP (por lo tanto DIR1 / STP1, DIR2 / STP2, DIR3 / STP3) hacia las líneas de Arduino, es Arduino quien establece la posición del eje del motor paso a paso; asumiendo que el motor está conectado a la salida MOT1, esto significa que si el motor es un paso de 360 y su eje debe girar 180 ° en dos segundos, se deben enviar 90 pulsos por segundo al pin D7 (si la velocidad angular debe aumentar, por ejemplo, para que el laberinto responda más rápido, la frecuencia de los impulsos escalonados debe aumentar en consecuencia). Primero, sin embargo, Arduino debe establecer la dirección con el nivel lógico apropiado en el pin D10, que decide la dirección por medio del puente DIR. Se deben enviar 90 pulsos por segundo al pin D7 (si la velocidad angular debe aumentar, por ejemplo, para que el laberinto responda más rápido, la frecuencia de los pulsos de paso debe aumentar en consecuencia). Primero, sin embargo, Arduino debe establecer la dirección con el nivel lógico apropiado en el pin D10, que decide la dirección por medio del puente DIR. Se deben enviar 90 pulsos por segundo al pin D7 (si la velocidad angular debe aumentar, por ejemplo, para que el laberinto responda más rápido, la frecuencia de los pulsos de paso debe aumentar en consecuencia). Primero, sin embargo, Arduino debe establecer la dirección con el nivel lógico apropiado en el pin D10, que decide la dirección por medio del puente DIR.
En el segundo modo, utilizamos las prerrogativas del controlador Pololu para establecer de antemano el número de pasos o fracciones a realizar cada vez que Arduino envía un impulso de rotación y establece la dirección; este modo se obtiene moviendo los puentes DIR y STP hacia los pines Q5 y Q6 de los respectivos registros de desplazamiento. En este caso, solo necesitamos definir el factor de división una vez y luego variar la velocidad de respuesta que jugamos en la frecuencia de los pulsos provenientes de Arduino. Entonces analicemos este modo, para entender cuál tenemos que gastar algunas palabras más en el módulo controlador para motor paso a paso producido por Pololu, o en su interfaz de comando. El formulario, firmado MD09B,
Siempre que un pulso de alto nivel (la duración mínima admisible es 1 μs) alcanza el pin STEP, a menos que se establezca lo contrario, las salidas 1A, 1B, 2A y 2B proporcionan los pulsos para controlar el movimiento del rotor del motor en un paso. Esto es cierto si las entradas MS1, MS2, MS3 están todas en nivel bajo; de lo contrario, se obtiene la rotación de 1/2, 1/4, etc. Siempre, para que el controlador funcione, el contacto EN debe estar en un nivel bajo; configurándolo en 1, el módulo entra en espera y los motores no reciben corriente. El contacto DIR decide el sentido de giro: colocado en un nivel lógico bajo impone el sentido de las agujas del reloj, mientras que en el estado alto fija el sentido contrario a las agujas del reloj. SLEEP activa el modo de reposo (lógica activa y controladores apagados) mientras que RESET reinicia el controlador que gobierna los controladores y establece las salidas de control de los motores (1A, 1B, 2A, 2B) a cero lógico incluso si STEP continúa recibiendo pulsos. La lógica es compatible con TTL, pero en cualquier caso el módulo acepta tensiones en las entradas de control hasta 0,7 veces las aplicadas entre el contacto 2 (Vcc) y tierra (GND); el nivel bajo es equivalente a no más de 0.3xVdc.
Dicho esto, vemos que para establecer el factor de división de pasos, Arduino debe definir la combinación de las líneas MS1, MS2, MS3 de cada módulo; Para hacer esto por separado y deshacerse del problema, en el escudo hay tres registros de desplazamiento que cargan la configuración de cada controlador de forma individual y secuencial. Una vez configurados los controladores, los ajustes pueden seguir siendo los mismos hasta que sea necesario cambiarlos y, en cualquier caso, no deben actualizarse en cada impulso de comando STEP; esto es lo que libera a Arduino del trabajo. La configuración del controlador se actualiza cargando secuencialmente los datos a través de la línea Arduino D13, que termina en paralelo en el pin 2 (DATOS) de los registros de cambio; cada vez que se envía la configuración de los tres controladores,
Junto con la configuración de MS1, MS2, MS3 (que puede ser diferente de U1 a U3) los datos enviados por Arduino se refieren al estado SLEEP y RESET, que se configuran igual para todos los módulos y son válidos para 1 lógica fija. Cada controlador alimenta directamente el motor y, a su vez, está alimentado por una línea común que, a través del puente marcado Vmot, puede tomar voltaje del Arduino o de una fuente de alimentación externa a través de la placa de terminales PWR adecuada.
Sea el primero en hacer una consulta sobre este producto!
Características del Shield para motores paso a paso Arduino
El control de los motores paso a paso es operado por módulos Pololu basados en el circuito integrado Allegro A4983 y cada uno equipado con un driver de doble puente H gobernado por una lógica que controla el encendido y permite dar pasos más pequeños al motor. que los previstos por su parte electromecánica; por ejemplo, para cada pulso de comando enviado a STEP (el contacto que recibe los pulsos de accionamiento del motor), el motor paso a paso puede realizar un paso completo o fracciones de 1/2 a 1/6, dependiendo de la combinación lógica presentada a los pines MS1, MS2, MS3, de acuerdo con la tabla que se muestra en este cuadro.
La dirección del movimiento consecuente a cada impulso recibido en el contacto STEP depende del nivel lógico aplicado a la entrada DIR (1 lógica fuerza el sentido antihorario y 0 el sentido horario). Cada puente puede entregar una corriente de 2 A, mientras que el módulo se alimenta continuamente con voltajes de hasta 35 V; un pequeño recortador colocado en la base y conectado al pin REF (17) del A4983, permite regular la corriente que pueden suministrar los puentes.
Funcionamiento y operación:
El comando de movimiento se puede obtener de dos maneras: en la primera, Arduino suministra directamente los impulsos para establecer el sentido de rotación del eje del motor paso a paso y para girar un paso por impulso; en el segundo, que es el que usamos y previsto en el firmware, Arduino establece el sentido de rotación y envía impulsos que determinan las rotaciones de un paso o fracción del mismo, dependiendo de la configuración realizada en la inicialización y almacenada por los registros de desplazamiento apropiados . La diferencia entre los dos modos es que el primero es más exigente que el segundo y obliga al Arduino a trabajar más rápido porque tiene que actualizar el estado de los motores paso a paso más rápido. De hecho, en el primer modo de comando, que se obtiene moviendo los jumpers DIR y STP (por lo tanto DIR1 / STP1, DIR2 / STP2, DIR3 / STP3) hacia las líneas de Arduino, es Arduino quien establece la posición del eje del motor paso a paso; asumiendo que el motor está conectado a la salida MOT1, esto significa que si el motor es un paso de 360 y su eje debe girar 180 ° en dos segundos, se deben enviar 90 pulsos por segundo al pin D7 (si la velocidad angular debe aumentar, por ejemplo, para que el laberinto responda más rápido, la frecuencia de los impulsos escalonados debe aumentar en consecuencia). Primero, sin embargo, Arduino debe establecer la dirección con el nivel lógico apropiado en el pin D10, que decide la dirección por medio del puente DIR. Se deben enviar 90 pulsos por segundo al pin D7 (si la velocidad angular debe aumentar, por ejemplo, para que el laberinto responda más rápido, la frecuencia de los pulsos de paso debe aumentar en consecuencia). Primero, sin embargo, Arduino debe establecer la dirección con el nivel lógico apropiado en el pin D10, que decide la dirección por medio del puente DIR. Se deben enviar 90 pulsos por segundo al pin D7 (si la velocidad angular debe aumentar, por ejemplo, para que el laberinto responda más rápido, la frecuencia de los pulsos de paso debe aumentar en consecuencia). Primero, sin embargo, Arduino debe establecer la dirección con el nivel lógico apropiado en el pin D10, que decide la dirección por medio del puente DIR.
En el segundo modo, utilizamos las prerrogativas del controlador Pololu para establecer de antemano el número de pasos o fracciones a realizar cada vez que Arduino envía un impulso de rotación y establece la dirección; este modo se obtiene moviendo los puentes DIR y STP hacia los pines Q5 y Q6 de los respectivos registros de desplazamiento. En este caso, solo necesitamos definir el factor de división una vez y luego variar la velocidad de respuesta que jugamos en la frecuencia de los pulsos provenientes de Arduino. Entonces analicemos este modo, para entender cuál tenemos que gastar algunas palabras más en el módulo controlador para motor paso a paso producido por Pololu, o en su interfaz de comando. El formulario, firmado MD09B,
Siempre que un pulso de alto nivel (la duración mínima admisible es 1 μs) alcanza el pin STEP, a menos que se establezca lo contrario, las salidas 1A, 1B, 2A y 2B proporcionan los pulsos para controlar el movimiento del rotor del motor en un paso. Esto es cierto si las entradas MS1, MS2, MS3 están todas en nivel bajo; de lo contrario, se obtiene la rotación de 1/2, 1/4, etc. Siempre, para que el controlador funcione, el contacto EN debe estar en un nivel bajo; configurándolo en 1, el módulo entra en espera y los motores no reciben corriente. El contacto DIR decide el sentido de giro: colocado en un nivel lógico bajo impone el sentido de las agujas del reloj, mientras que en el estado alto fija el sentido contrario a las agujas del reloj. SLEEP activa el modo de reposo (lógica activa y controladores apagados) mientras que RESET reinicia el controlador que gobierna los controladores y establece las salidas de control de los motores (1A, 1B, 2A, 2B) a cero lógico incluso si STEP continúa recibiendo pulsos. La lógica es compatible con TTL, pero en cualquier caso el módulo acepta tensiones en las entradas de control hasta 0,7 veces las aplicadas entre el contacto 2 (Vcc) y tierra (GND); el nivel bajo es equivalente a no más de 0.3xVdc.
Dicho esto, vemos que para establecer el factor de división de pasos, Arduino debe definir la combinación de las líneas MS1, MS2, MS3 de cada módulo; Para hacer esto por separado y deshacerse del problema, en el escudo hay tres registros de desplazamiento que cargan la configuración de cada controlador de forma individual y secuencial. Una vez configurados los controladores, los ajustes pueden seguir siendo los mismos hasta que sea necesario cambiarlos y, en cualquier caso, no deben actualizarse en cada impulso de comando STEP; esto es lo que libera a Arduino del trabajo. La configuración del controlador se actualiza cargando secuencialmente los datos a través de la línea Arduino D13, que termina en paralelo en el pin 2 (DATOS) de los registros de cambio; cada vez que se envía la configuración de los tres controladores,
Junto con la configuración de MS1, MS2, MS3 (que puede ser diferente de U1 a U3) los datos enviados por Arduino se refieren al estado SLEEP y RESET, que se configuran igual para todos los módulos y son válidos para 1 lógica fija. Cada controlador alimenta directamente el motor y, a su vez, está alimentado por una línea común que, a través del puente marcado Vmot, puede tomar voltaje del Arduino o de una fuente de alimentación externa a través de la placa de terminales PWR adecuada.
Sea el primero en hacer una consulta sobre este producto!

Shield para Arduino UNO o Mega, que te permite controlar tres motores paso a paso bipolares 2A. El control de los motores es gestionado por un controlador (MD09B o 3DDRIVER - uno para cada motor) producido por Pololu.
