miércoles, 2 de diciembre de 2015

X-Y plotter con scanners y arduino UNO


Hey there! De nuevo almacenando información aquí en caso de que se llegara a perder y el mundo la necesite.
Bueno en esta ocasión se muestra un poco sobre un plotter X-Y hecho en casa par aun proyecto de la materia de actuadores, se pedía como mínimo poder dibujar la cara de Bart Simpson  Este tipo de plotters funciona con código G, motores a paso y un controlador que interprete y envíe los datos o pasos principalmente  

Hay mucha información sobre esto en internet, es por ello que recomiendo una investigación más extensa para así tener que hacer menos pruebas al momento de probar o solucionar problemas más fácil. En lo personas dedique más tiempo a la investigación que a la implementación porque hice el sistema funcional pero lo más sencillo que se pudiera, por ello también fue que se utilizaron ya sacnners los cuales ya tenían los rieles y los motores. Bueno expliquemos...

Hardware

Como lo dice el título se utilizaron scanners viejos y un arduino para poder hacer el proyecto. Existe ya una configuración de pines para el arduino UNO con los cuales funciona el sistema, en mi caso, por cuestiones de tiempo, solo utilice lo más básico, es decir la dirección y el pulso de los 3 ejes del sistema. en la siguiente imagen se muestra la configuración establecida. 
Ahora proseguimos con los controladores de los motores a pasos, para ello se utilizaron drivers a los cuales basta con alimentarlos y poner una señal de pulso y dirección para manipular los motores a conveniencia. Existen dos drivers con los que se contaba los easy driver y lo comúnmente conocidos como pololu, cabe mencionar que son para motores bipolares, los unipolares no funcionarían a menos que se adaptaran para funcionar como bipolares. Se realizaron pruebas con los primeros pero se tenia un calentamiento bastante grave puesto que estos están diseñados para una menor potencia. En el caso de los segundos se tiene un diseño más robusto puesto que soportan hasta 1A y tienen protección contra cortos circuitos. Dependiendo  de los motores a utilizar se puede usar un easy o un pololu. en la siguiente iamgen les muestro la conexión de los drivers. cabe mencionar que ambos de los drivers tienen un potenciómetro para regular la corriente que se envía a los motores es necesario mover los motores y ajustar la corriente a la mínima con a que se muevan para evitar un sobrecalentamiento y por lo tanto mal funcionamiento de los motores. 
Teniendo pues ya se contaba con la maqueta, solo se puso un scanner sobre el otro para así tener los ejes X y Y para el eje Z se utilizó una unidad de disco de una computadora al cual se le quito todo y solo se dejo en riel con el motor y el carro sobre el cual iría montada la herramienta, optamos por un lápiz. 
Quedó más o menos así:

Una recomendación muy improtante la herramienta que se utilice para poder dibujar que se flexione lo menos posible cuando está dibujando el plotter es decir que cuando se mueva no haya tanta fricción para que el lápiz no lo haga con él, esto se puede evitar si el apoyo o el sostenedor del lápiz se acerca lo más posible al área donde está a hoja.
aquí les dejo una foto del proto con los pololu y conectados  al arduino que no se distingue muy bien pero igual se las dejo. Ah! use disipadores de calor en los drivers para evitar también el sobrecalentamiento, al lado un easydriver con el que se hicieron pruebas pero no funcionó de manera adecuada.

Software 

Para esta parte se analizaron dos maneras de realizarlo una mediante una matriz es decir que por medio de un software como "matlab" se generara un código con 1 y 0 con esto se podría indicar cuando se debería trazar algo, cada vez que la matriz tenga un 1 la herramienta del plotter bajaria y marcaría, un vídeo de éste funcionamiento se los dejo aquí. Sin embargo se tenía poca resolución y la imagen no se vería tan bien, entonces investigando se encontró que se podía realizar por medio de código G, el cual es lenguaje con el cual se envía la manera en que se deben mover los motores se especifican las coordenadas, etc. Usando este método se podría tener una mejor resolución por lo tanto mayor calidad de imagen. para poder hacerlo se tenía que transformar la imagen en este código para ello se recurrió a un programa de código abierto conocido como inkscape el cual puede realizar esto, un tutorial de como hacer esto está aquí.  Ya que tenemos la imagen en código G ocupamos enviarla a un software que nos permita enviar al controlador, en este caso un arduino uno, las instrucciones, el mejor encontrado fue "Universal Gcode Sender" del cual también se deben ajustar parámetros para poder tener una buena imagen. aquí les dejo un tutorial para saber como ajustar estos parámetros. Una vez hecho esto se puede proseguir con las pruebas e intentos.

El proyecto final pudo dibujar de manera correcta:

Mi mejor recomendación si quieren realizar este proyecto o alguno de una complejidad similar o mayor una investigación extensa es necesaria para tener mejores resultados, más rápidos y con menos pruebas.
Al rato.


No hay comentarios:

Publicar un comentario