Diferencia entre revisiones de «Stepper»

De Proyecto Butiá
Saltar a: navegación, buscar
(Tipos de movimientos)
(Circuito)
Línea 75: Línea 75:
  
 
== '''Circuito''' ==
 
== '''Circuito''' ==
 +
=== Requerimientos ===
 +
La idea es que el motor pueda ser conectado directamente a uno de los puertos de la USB4Butia. Cada puerto de la placa tiene un conector RJ45, el cual posee ocho pines, de los cuales cuatro se encuentran en desuso, uno se conecta a Vcc, otro a GND y los últimos dos están conectados a dos pines de entrada/salida del microcontrolador. Uno de estos últimos pines está configurado para leer un valor analógico, el cual es un voltaje que identifica al sensor/actuador conectado; el otro puede ser utilizado como pin digital o analógico según se requiera (Ver: [https://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Especificaci%C3%B3n_conector_Rj45 Especificación del conector Rj45]).
 +
 +
[[Archivo:Butia2015G7-esquema-stepper.png]]
 +
 +
El circuito a diseñar debe tener cuatro salidas, cada una de ellas manejando una de las entradas de datos del stepper.
 +
Se probaron dos soluciones distintas:
 +
 +
* Una de ellas utiliza un bit de entrada y uno de salida al circuito controlador, con este fin se utiliza el bit de identificación como bit de datos. La desventaja de esto es que se debe desactivar el plug and play del puerto, por lo que esta solución se descartó.
 +
* La otra solución introduce mejoras a la anterior y con ella se logra utilizar un sólo bit de datos.
 +
 +
=== Esquemático de la solución final ===
 +
[[Archivo:butia2015G7-circuito_parte1.png]]
 +
 +
[[Archivo:butia2015G7-circuito_parte2.png]]
 +
 +
[[Archivo:butia2015G7-circuito_parte3.png]]
 +
 +
=== Funcionamiento ===
 +
A grandes rasgos, se puede decir que la función del circuito es la de recibir un dato de cuatro bits en serie, ingresado por la entrada IN y colocar los mismos cuatro bits en las salidas OUT[4...1] en paralelo.
 +
 +
Esto se puede realizar con un shift register serial-in parallel-out como el 74HC595, el cual puede recibir n bits (n puede ser cualquier número de 1 a 8) en la entrada serial SER, los cuales coloca en paralelo en sus  salidas QA a QH. Para esto necesita de dos señales de control que se activan por flanco de subida, estas son:
 +
* SRCLK: se debe activar luego de enviar cada uno de los n bits.
 +
* RCLK: se debe activar luego de enviar los n bits. Cuando se activa coloca el dato -que se encontraba en un registro interno- en la salida del shift register.
 +
 +
Para generar el flanco en SRCLK utilizamos un 555 en modo monoestable. El funcionamiento del monoestable está descripto por el siguiente diagrama de tiempos:
 +
[[Archivo:Butia2015G7-monoestable.png]]
 +
 +
Es decir, mientras la entrada TR se mantenga en alto la salida Q será baja, cuando se hace un flanco de bajada en TR, Q sube casi inmediatamente y se mantiene en alto un tiempo que dependerá de la resistencia y el condensador elegidos – C3 y R2 en la figura -. Mientras la salida esté activa no importa si se cambia TR, siempre y cuando se ponga en alto al menos 10 us antes de que vuelva a bajar Q. Por lo tanto podemos utilizar la línea IN para ingresar un bit en el shift register mientras Q esté en alto sin afectar el funcionamiento del monoestable.
 +
 +
Como necesitamos tiempo para colocar el bit en el shift  register, no podemos usar directamente Q en el pin SRCLK, sino que aplicamos un delay a esta señal mediante el circuito RC formado por R1 y C2 obteniendo la salida CLOCK que es la que maneja la entrada SRCLK.
 +
 +
[[Archivo:Butia2015G7-delay.png]]
 +
 +
Para generar el flanco en RCLK usamos un contador de décadas 4017. Éste cuenta los flancos de subida de la salida del monoestable y al llegar a 5 sube su salida Q5, la cual resetea el integrado lo que hace que se reinicie la cuenta. Esta salida Q5 -o COUNT en el esquemático- es conectada al pin RCLK del shift register.
 +
 +
La salida del shift register maneja una intensidad de corriente muy pequeña, la cual no es suficiente para excitar las bobinas del stepper, por lo que es necesario utilizar una fuente de alimentación externa, como la de una batería. Con este propósito se utilizó un ULN2003. La batería a utilizar dependerá del stepper que se quiera manejar.
  
 
== '''Demostración''' ==
 
== '''Demostración''' ==
  
 
== '''Conclusiones''' ==
 
== '''Conclusiones''' ==

Revisión del 18:42 24 sep 2015

Objetivo

Agregar al kit butiá el actuador stepper, usando motores paso a paso de reciclados de impresoras u otros artefactos.

La motivación:

  • Aportar al kit Butiá con un nuevo actuador.
  • Brindar una herramienta útil, accesible y de bajo costo.

Integrantes

  • Diego Melli - diegomell_00@hotmail.com
  • Andrea Delbuggio - andreadelbuggio@gmail.com
  • Fabiana Andrade - fabiandrade150502@gmail.com

Tutor

  • Federico Andrade - fandrade@fing.edu.uy

Fundamento teórico

Es un dispositivo electromecánico que convierte una serie de impulsos eléctricos en desplazamientos angulares discretos, lo que significa es que es capaz de avanzar una serie de grados (paso) dependiendo de sus entradas de control. Este tipo de motores presenta las ventajas de tener precisión y repetitividad en cuanto al posicionamiento, pudiendo ser movidos desde un paso hasta una secuencia interminable. Existen dos tipos de motores paso a paso, unipolares(5 o 6 cables) o bipolares(4 cables). En este caso se usarán unipolares. <imagen motor unipolar>

Unipolar: El motor unipolar normalmente disponede 5 o 6 cables dependiendo si el común esta unidointernamente o no, para controlar este tipo de motoresexisten tres métodos con suscorrespondientes secuencias de encendido de bobinas, el común irá conectado a +Vcc o masa según el circuitode control usado y luego tan solo tendremos que alimentar la bobina correcta para que avance o retroceda el motorsegún avancemos o retrocedamos en la secuencia.

Tipos de movimientos

Paso simple:Esta secuencia de pasos es la mas simple de todas y consiste en activar cada bobina una a una y por separado, con esta secuencia de encendido debobinas no se obtiene mucha fuerza ya que solo es una bobina cada vez la que arrastra y sujeta el rotor del eje del motor.
Paso normal: Con el paso normal activamos las bobinas de dos en dos con lo que hacemos un campo magnético mas potente que atraerá con mas fuera y retendrá elrotor del motor en el sitio. Los pasos también seránalgo mas bruscos debidos a que la acción del campo
Medio Paso: Combinando los dos tipos de secuenciasanteriores podemos hacer moverse al motor en pasos mas pequeños y precisos y así pues tenemos el doble de pasos de movimiento para el recorrido total de 360º del motor. Básicamente constituidos por:
Simple.jpg Normal.jpg Medio.jpg
<adjuntar>

Formas de accionamiento


Pueden quedar enclavados en una posición (si una o más de sus bobinas se encuentran energizadas).

Materiales

Para el circuito:

  • Transistor 555 (timer) x1
  • Transistor 74hc595 (Shift Register) x1
  • Transistor 4017 (Contador binario) x1
  • Resistencia de 1 kΩ x2
  • Capacitor 1uf x2
  • Capacitor 0.33uf x1
  • Conector RJ45 hembra x1
  • Bornera de 2 pines x1
  • Bornera de 3 pines x2



A modo de ayuda se adjunta una tabla con las resistencias y sus correspondientes colores:

Resistencias necesarias
Valor 1era cifra 2da cifra Multiplicador Tolerancia
1 kΩ Marrón Negro Rojo Dorado



Circuito

Requerimientos

La idea es que el motor pueda ser conectado directamente a uno de los puertos de la USB4Butia. Cada puerto de la placa tiene un conector RJ45, el cual posee ocho pines, de los cuales cuatro se encuentran en desuso, uno se conecta a Vcc, otro a GND y los últimos dos están conectados a dos pines de entrada/salida del microcontrolador. Uno de estos últimos pines está configurado para leer un valor analógico, el cual es un voltaje que identifica al sensor/actuador conectado; el otro puede ser utilizado como pin digital o analógico según se requiera (Ver: Especificación del conector Rj45).

Butia2015G7-esquema-stepper.png

El circuito a diseñar debe tener cuatro salidas, cada una de ellas manejando una de las entradas de datos del stepper. Se probaron dos soluciones distintas:

  • Una de ellas utiliza un bit de entrada y uno de salida al circuito controlador, con este fin se utiliza el bit de identificación como bit de datos. La desventaja de esto es que se debe desactivar el plug and play del puerto, por lo que esta solución se descartó.
  • La otra solución introduce mejoras a la anterior y con ella se logra utilizar un sólo bit de datos.

Esquemático de la solución final

Butia2015G7-circuito parte1.png

Butia2015G7-circuito parte2.png

Butia2015G7-circuito parte3.png

Funcionamiento

A grandes rasgos, se puede decir que la función del circuito es la de recibir un dato de cuatro bits en serie, ingresado por la entrada IN y colocar los mismos cuatro bits en las salidas OUT[4...1] en paralelo.

Esto se puede realizar con un shift register serial-in parallel-out como el 74HC595, el cual puede recibir n bits (n puede ser cualquier número de 1 a 8) en la entrada serial SER, los cuales coloca en paralelo en sus salidas QA a QH. Para esto necesita de dos señales de control que se activan por flanco de subida, estas son:

  • SRCLK: se debe activar luego de enviar cada uno de los n bits.
  • RCLK: se debe activar luego de enviar los n bits. Cuando se activa coloca el dato -que se encontraba en un registro interno- en la salida del shift register.

Para generar el flanco en SRCLK utilizamos un 555 en modo monoestable. El funcionamiento del monoestable está descripto por el siguiente diagrama de tiempos: Butia2015G7-monoestable.png

Es decir, mientras la entrada TR se mantenga en alto la salida Q será baja, cuando se hace un flanco de bajada en TR, Q sube casi inmediatamente y se mantiene en alto un tiempo que dependerá de la resistencia y el condensador elegidos – C3 y R2 en la figura -. Mientras la salida esté activa no importa si se cambia TR, siempre y cuando se ponga en alto al menos 10 us antes de que vuelva a bajar Q. Por lo tanto podemos utilizar la línea IN para ingresar un bit en el shift register mientras Q esté en alto sin afectar el funcionamiento del monoestable.

Como necesitamos tiempo para colocar el bit en el shift register, no podemos usar directamente Q en el pin SRCLK, sino que aplicamos un delay a esta señal mediante el circuito RC formado por R1 y C2 obteniendo la salida CLOCK que es la que maneja la entrada SRCLK.

Butia2015G7-delay.png

Para generar el flanco en RCLK usamos un contador de décadas 4017. Éste cuenta los flancos de subida de la salida del monoestable y al llegar a 5 sube su salida Q5, la cual resetea el integrado lo que hace que se reinicie la cuenta. Esta salida Q5 -o COUNT en el esquemático- es conectada al pin RCLK del shift register.

La salida del shift register maneja una intensidad de corriente muy pequeña, la cual no es suficiente para excitar las bobinas del stepper, por lo que es necesario utilizar una fuente de alimentación externa, como la de una batería. Con este propósito se utilizó un ULN2003. La batería a utilizar dependerá del stepper que se quiera manejar.

Demostración

Conclusiones