martes, 24 de octubre de 2017

Como hacer una CNC con restos de DVDs usando ARDUINO


Hardware
------------
1. Arduino UNO
2. CNC Shield
3. Drivers de motores DRV8825
4. Fuente de Poder 12V
5. Cables
6. Protoboard
7. Motores de paso de 2 DVDs
8. Servo Turnigy pequeño
9. Bastidor con dos MDF y algo para el lapicero.


Programas
-------------

1. Arduino IDE
2. GRBL-servo master
3. Universal G-Code Sender.
4. Inkscape
5. Extension Inkscape para servo.


El controlador Arduino, CNC Shield y el driver de motores se conectan, luego se tiene que ajustar la tensión de operación de esos motores, maso menos la corriente que circula Corriente limite = VREF * 2 (Amp), yo le puse 200 mV se obtiene 400 mA, lo cual es mas que suficiente para los motores de paso de DVD. para ello se tiene que energizar CNC Shield y con un perillero modificar la tensión, usando como punto positivo el potenciometro, también se puede conectar con cocodrilo en el perillero.
Luego instalamos Motores de paso, son 4 cables 2 bobinados si tuviera que invertir el sentido se cambia entre pares de bobinados, para determinar cada par se conecta un diodo y mueve el motor con la mano debería encender cada para de bobinas.

Finalmente conectamos el servo 5V (rojo), GND (Negro) y el de señal (amarillo o color mas claro) en Z+ ya que esté esta conectado directamente a D11 en Arduino ver gráfico.

Conectamos Arduino a la PC  con el cable USB , y CNC Shield con 12 V, yo tenia la fuente con la que cargo baterías LiPo, asi que lo puedo utilizar.  Se tiene que esperar que el driver configure en windows o Mac Arduino, luego al arrancar Arduino IDE, se tiene que direccionar el puerto (COM*) y le nombre de Arduino, se comprueba leyendo datos de la placa desde el mismo menu de herramientas.

Una vez comprobado que todo funciona adecuadamente, subimos GRBL, el cual es un firmware que permite a Arduino operar CNC Shield y motores de paso  copiamos en /Documentos/Arduino/ Librerias  la carpeta GRBL -Servo. Luego lo levantamos desde Arduino en la opcion Archivo/ejemplos.

Abrimos Universal G-Code Sender, escojamos puerto COM que obtuvimos en Arduino IDE y baud: 115200, si todo esta bien no hay mas mensajes y podemos entrar comandos desde linea comandos del programa.
$$ : para ver configuración.
 M5 : para poner el servo en posición central.
M3S030: Para mover el servo 30 grados.
mas información en este link,  En nuestro caso  se tuvo que invertir el sentido de giro del servo.

luego pruebas paso a paso con X+, X-, Y+, Y- (botones) esta configuración permite como máximo un dibujo de 33 x 33 mm. para efectos del inkscape.

hacer dibujos en Inkscape: El concepto es vectorizar los dibujos  que se quiera obtener, primero se importa el dibujo luego se convierte a vectorizado, finalmente ejecutar la extensión Electronica Hoje, se incluyendo los siguientes parámetros:
 M3, M5, 2000, 2000, 30, 0.5
Directorio y el nombre de archivo

si todo OK, ya tenemos el archivo gcode correcto, este lo abrimos en Gcode Sender y visualizamos, verficamos que no exceda los limites de impresion y  enviamos.

En este momento hice pruebas con lapiz o lapicero, con resultado regular, me falta probar con lapicero de tinta, con el que espero tener mejores resultado. Mucho tiene que ver el bastidor y la prescicion.