Mostrando entradas con la etiqueta laser. Mostrar todas las entradas
Mostrando entradas con la etiqueta laser. Mostrar todas las entradas

lunes, 22 de junio de 2026

Grabador láser con piezas impresas en 3D.

  Página principal

CNC Láser
Grabador láser
Con piezas impresas en 3D
Parte 2



Hace unos meses realicé un grabador láser donde el objeto a grabar se colocaba en una plataforma movible, pero para objetos grandes o pesados no valía.
http://seta43.duckdns.org/cncale/cncale.html


Ahora realizo el mismo grabador, pero ahora el objeto se queda fijo,  y el láser se mueve en los 2 ejes, X e Y.


Se imprimen las diferentes partes en PLA.


Como se puede ver en la imagen el objeto se queda fijo, y es el láser el que se mueve.


El que no se quiera complicar mucho, que utilice el programa LaseGRBL .
El que quiera utilizar el programa INKScape, en este caso utilizo la extensión Laser-Tool.
Una vez bajada de su página WEB , deberemos descomprimir los archivos en el directorio donde  se instalan las extensiones.
Por defecto el tamaño del documento que viene en la extensión es de 200x200 , se puede cambiar, de momento cambiaré el tamaño del documento.

Podemos observar que el eje Y soporta el peso de todo el eje X (motor, 2 barras de acero, motor y 5 piezas de PLA) .
Esto implica bastante inercia cuando se aumenta la velocidad, y como consecuencia algún defecto en las líneas.
No hay mucho problema a velocidades inferiores a 1200 mm/S, pero hay que tenerlo en cuenta.
También se debe equilibrarla posición de las barras para que se equilibre el peso.

El acabado no es malo tanto en dibujos como en letras.



El motivo de este proyecto fue grabar los mangos de herramientas, que por sus dimensiones no se podían poner en plataformas deslizantes.


VIDEO



Saludos.
Juan Galaz


Bibliografía:
https://github.com/grbl/grbl
https://lasergrbl.com/
https://lightburnsoftware.com/
http://seta43.duckdns.org/cnca.html
https://winder.github.io/ugs_website/



martes, 12 de marzo de 2024

Corte Láser en Linux


 

 Página principal

Corte Láser
en
Linux

Después de algún tiempo de hacer montajes con el cortador láser:
28/11/2018 - Arduino - Inkscape Laser Tool Plug-in, GRBL, Universal GcodeSender, PARTE 5.  CNCE
12/06/2020 - ARDUINO - CNC Láser y dibujado con Ender 3. ENDER 3
10/06/2022 - Crear circuitos impresos (PCB) con KICAD, FlatCAM, Candle, y CNC 3018.   PCB_CNC_II
Vuelvo a utilizar el láser que viene con la CNC 3018 , no es muy potente 2.5W, apenas corta papel, y en varias pasadas cartón de 1 mm.
Para marcar (quemar) madera funciona bien, pero no se le puede pedir mucho con esta potencia.


En Linux, el intentar hacer funcionar un programa de  hace 4 años, en muchos casos se hace imposible.
Lo que te funcionaba en Debian 10, no te funciona en Debian 12. Esto es debido al cambio de librerías.
En muchos casos suele se el cambio desde Python 2 a python 3, los programados con uno no funcionan en el otro, se debe hacer una pequeña modificación de código, y en muchos casos no se hace. Los complementos de FreeCAD y InkScape en bastantes casos dejan de funcionar bien al estar programados en Python.
También ocurre con con el paso de QT4 a QT5, o en WX con sus diferentes versiones.
Se suele solucionar haciendo programas portables que incorporan sus librerías de trabajo, pero entonces el tamaño de un pequeño programa es de 100Mbytes.
Al final la mejor solución es utilizar las versiones de Windows, que en la mayoría de los casos, los programas de hace 15 años funcionan en las versiones nuevas de Windows. Esto es lo que tiene perdido Linux  frente a Windows, y es una de las cosas pendientes que tiene Linux.
Otra solución que empleo muchas veces, es utilizar maquinas virtuales con distribuciones Debian antiguas, funciona muy bien.

Para el corte con láser la mejor opción es buscar gráficos vectorizados de siluetas, búscalos en esta web:
https://openclipart.org/search/?p=2&query=silueta
Para las fuentes se suelen utilizar las que no cortan completamente las fuentes, y de esta forma no se pierde el circulo de por ejemplo la O, búscalos en esta web:
https://www.1001fonts.com/search.html?search=stenciled

El programa que utilizo es InkScape para generar los Gcode mediante sus complementos.
Si no se pueden añadir automáticamente desde el propio programa, deberás copiarlos manualmente en:
/home/usuario/.config/inkscape/extensions

Las fuentes las tienes que copiar a:
/home/usuario/.local/share/fonts

DEBIAN 10
En las primeras pruebas descubrí que muchos complementos que se utilizan para el láser, solo funcionaban en Debian 10, hay hice mi primera prueba.
Para generar el código Gcode utilizo el complemento LaserTools en InkScape 9.2 .
Debemos ajustar las opciones del complemento para que funcione en nuestra máquina láser.
En el video adjunto se muestra como pruebo los cortes de papel con láser.



DEBIAN 12
La siguiente prueba es en Debian 12, también utilizo el programa InkScape 1.2 , pero como explicamos anteriormente, muchos complementos dejan de funcionar bien, y hay que utilizar otros.
El complemento utilizado es J-Tech-Photonics-Laser-Tool y se puede bajar de:
https://github.com/JTechPhotonics/J-Tech-Photonics-Laser-Tool/releases/tag/v2.5.1
Como en el anterior complemento debemos retocar todas las opciones.



Para lanzar el código Gcode a la máquina láser, en ambos casos, tanto en Debian 10 como en Debian 12, utilizo Universal Gcode Sender , y se baja de:
https://winder.github.io/ugs_website/
Aquí debemos buscar la versión que funciona en nuestra distribución.

Lightburn
Este programa es comercial y se puede comprar por 60€, pero si queremos usarlo en modo TRIAL, se puede utilizar durante 30 días
Es un programa muy fácil de utilizar, y tiene versiones tanto para Windows como para Linux, esto es un lujo.
https://lightburnsoftware.com/


LaserGRBL
Este es un programa sencillo y fácil de utilizar, pero solo funciona en Windows.
Yo lo he ejecutado en una máquina virtual bajo Debian, y funciona perfectamente.
Puede grabar imágenes, generar gráficos vectorizados, lanzar código Gcode, pero no tiene ninguna utilidad para editar.
https://lasergrbl.com/


VIDEO

Ante todo debéis utilizar gafas para no quedaros ciegos, es muy peligroso.

Saludos.
Juan Galaz


Bibliografía:

https://openclipart.org/search/?p=2&query=silueta

https://www.1001fonts.com/search.html?search=stenciled
https://github.com/JTechPhotonics/J-Tech-Photonics-Laser-Tool/releases/tag/v2.5.1
https://winder.github.io/ugs_website/
https://lasergrbl.com/
https://lightburnsoftware.com/

28/11/2018 - Arduino - Inkscape Laser Tool Plug-in, GRBL, Universal GcodeSender, PARTE 5.  CNCE
12/06/2020 - ARDUINO - CNC Láser y dibujado con Ender 3. ENDER 3
10/06/2022 - Crear circuitos impresos (PCB) con KICAD, FlatCAM, Candle, y CNC 3018.   PCB_CNC_II
 

martes, 31 de mayo de 2022

Grabado láser de PCB

He realizado un vídeo donde grabo un circuito impreso con un láser.

El circuito impreso (PCB) utilizado es de baquelita , no he probado con uno de fibra de vidrio.



 

 

Espero que les guste este vídeo.





Saludos.

Juan Galaz

viernes, 12 de junio de 2020

CNC Láser y dibujado con Ender 3

CNC
Láser y dibujado con Ender 3


Hace un par de años había realizado varios montajes de CNC con piezas de DVD recicladas  cnca.html.
Había utilizado una placa controladora que en su momento me costó alrededor de 8€.
La tenía un poco retirada, pero en la mente para hacer otros montajes.

El año pasado había comprado una impresora 3D Ender 3, de la cual estoy bastante satisfecho.
En mi idea de realizar algo más que crear piezas de plástico con la impresora se me vino a la cabeza la placa controladora que tengo en el cajón.
Existe la posibilidad de utilizar la electrónica que tiene la Ender 3, pero requiere abrir la impresora y modificar el firmware, eso no me gusta. Además es mucho más flexible utilizar el programa controlador GRBL , el cual funciona bastante bien en la mayoría de los casos.
Existe un kit con láser para transformar la ender 3 en grabadora laser, este vídeo lo explica.
 https://www.youtube.com/watch?v=K7X78C0qoxc
Para la realización de está práctica solo es necesario conseguir los cables que conecte la placa controladora a los motores de la Ender 3.
Casualmente entre los muchos cables que poseo de piezas recicladas estaban dichos cables, son conectores de 6 pin, de los cuales se utilizan 4 para los motores.
En un principio conecté los cables según la configuración normal que aparece en todos los esquemas.
1-1 , 2-2 , 3-3 , 4-4 . Pero esto no funcionó, hacía como que se activaban los motores pero los motores no se movían.
Después de mirar con el polímetro descubrí que las bobinas de los motores de Ender 3 no correspondían con la conexión normal.
La conexión correcta es 1-1 , 2-3 , 3-2 , 4-4 . Con lo cual los motores giraba perfectamente.

Con el programa Universal Gcode Sender realizamos todas las pruebas.
El principal cambio que debemos hacer para adaptar nuestro CNC es (x, step/mm) y (y, step/mm).
Para ver la configuración del GRBL que se almacena en la EEPROM del arduino debemos teclear la orden :$$
Para el caso de la Ender 3 el ajuste es el siguiente:
$100=5
$101=5
$102=25
Las demás configuraciones debemos cambiarlas dependiendo el tipo de motor paso a paso que tengamos.
Normalmente funciona sin tocar nada mas, pero cambiando algún que otro parámetro veremos como aumenta la velocidad.
Como en mi CNC  no voy a conectar los interruptores de fin de carrera, tengo que ajustar el CNC a la posición inicial X=0 y Y=0. Se puede hacer a mano y luego pulsar en del botón de Reset Zero en el programa del  Universal Gcode Sender.
Unos de los motivos de no conectar los interrupciones de fin de carrera es que utilizamos el Limite de eje Z para la activación del láser.
El láser utilizado se compró en aliexpress LASER , es bastante barato y el kit incluye las gafas que no tengo.
Con la potencia de este láser no se puede pretender mucho, además no creo que llegue a 1W .
Las pruebas me dieron la razón, solo quemaba goma-eva o papel de seda, pero para las primeras experiencias me sirvió.



Conexión del láser a la placa CNC.

Existen varios programas para generar código GCODE desde una imagen o dibujo.
El más fácil es LaserGRBL solo funciona en Windows y es open source, se descarga de http://lasergrbl.com/.

LaserGRBL funcionando


Resultado de las diferentes pruebas.
Como podemos observar el anclaje del láser se realiza mediante un imán, por lo cual el desmontaje es muy fácil.

En Inkscape tenemos el Plug-In GcodeTools para generar código GCODE, es muy versátil, pero también bastante lioso de usar.
Un Plug-In  bastante más fácil de usar es Laser Tool Plug-In y se descarga de https://jtechphotonics.com/?page_id=2012 .
Está hecho para manejar un láser, pero también se puede modificar para realizar dibujos.
La colocación del rotulador es un tanto simple, una goma, lógicamente se puede colocar de otra forma bastante mejor, pero esto es una prueba rápida. Aprovechamos el eje Z para pintar.


En el siguiente vídeo explico la configuración he instalación del Plug-In en Inkscape.
https://youtu.be/R82LHou0MXo
Y como muestra de quemar goma-eva y dibujar muestro este otro vídeo.
https://youtu.be/H3ZqtLJVXoo

Con este láser no se puede quemar mucho, es de poca potencia, pero el montaje es una referencia para colocar un láser de mayor potencia.
Para los que quieran saber lo que puede quemar un láser ver este vídeo. https://www.youtube.com/watch?v=djRRxGXyACY

En la próxima entrega realizaré un circuito impreso con la Ender 3.
El entorno de trabajo ha sido Debian 9, salvo en la utilización del programa LaserGRBL  que solo funciona en Windows.

Saludos.
Juan Galaz


Bibliografía:

https://jtechphotonics.com/?page_id=2012
http://lasergrbl.com/

https://www.youtube.com/watch?v=532k6vX6oyo
https://www.youtube.com/watch?v=K7X78C0qoxc
https://www.youtube.com/watch?v=djRRxGXyACY

28/11/2018 - Arduino - Inkscape Laser Tool Plug-in, GRBL, Universal GcodeSender, PARTE 5.  CNCE
19/11/2018 - Arduino - CNC con piezas de DVD recicladas. GRBL, Inkscape, Gcodetools, UniversalGcodeSender. Parte 4. CNCD
15/11/2018 - Arduino - CNC con piezas de DVD recicladas. Parte 3. Programa Benbox. CNCC
13/11/2018 - Arduino - CNC con piezas de DVD recicladas. Parte 2. Interface realizada con Gambas. CNCB
09/11/2018 - Arduino - CNC con piezas de DVD recicladas. Parte 1 .CNCA

miércoles, 1 de abril de 2020

TACÓMETRO láser con Arduino


ARDUINO

TACÓMETRO


En el anterior artículo había usado un láser y un fototransistor para transmitir datos.
Tenía todo montado y debía de dar otra utilidad para estos componentes,  se me vino la idea de hacer un tacómetro.
La idea es la siguiente, lanzar el rayo láser sobre un motor girando, que depende la superficie donde incida, revota una cantidad de luz que es detectado por un fototransistor.
Se podría colocar cualquier tipo de LCD, pero tenía a mano una pantalla OLED 128x64, SSD1306Z, GM009605 , y la añadí a montaje.

Circuito eléctrico.


Circuito en protoboard.


Prueba del montaje.
Detalle del papel pegado.

Motor girando.


Pantalla indicadora del tacómetro.



PROGRAMA


Saludos.
Juan Galaz


Bibliografía:
  https://aprendiendoarduino.wordpress.com/2016/11/08/entradas-y-salidas-arduino/

domingo, 29 de marzo de 2020

Transmisión de datos, vía láser mediante arduino.


LASER

Arduino

Transmisión de datos


Hace tiempo que quería realizar esta práctica, pero nunca tenía tiempo y ganas.
Con la reclusión debido al coronavirus, he tenido mucho tiempo, y me he puesto a ello.
Mi intensión en esta práctica era la transmisión de datos entre dos placa de arduino mediante un pequeño láser.
Las premisas eran no tener que utilizar ni driver para el láser, ni circuitería externa, solo utilizar componentes pasivos conectados al arduino.
Está claro que utilizar circuitos externos, incluido utilizar algún tipo de portadora, mejoraría bastante la transmisión, pero no era el caso.

En un primer momento a modo de prueba empecé a utilizar una LDR a modo de receptor.
Enseguida me di cuenta que debía tratar la señal de forma analógica para luego pasarla a digital.
Pero el mayor problema era que el cambio del valor de su resistencia era bastante lento.
A partir de los 25 Hz la señal cuadrada se transformaba en señal de diente de sierra.
La utilización de una LDR a modo de receptor, solo se puede utilizar como corte de luz en procesos lentos.

Como no dispongo de un fototransistor para el montaje, me fui a la caja de despiece de aparatos.
En artículos anteriores he explicado mi afición a reciclar aparatos, de donde saco muchas piezas para mis montajes.
De una de las miles de piezas que dispongo, tenía interruptores de luz que se utilizan en impresoras y vídeos antiguos.
Estos pequeños interruptores esta compuestos de un diodo emisor de luz y un diodo receptor de luz, para este montaje utilizo el diodo receptor de luz.
El láser que utilizo es uno pequeño que compré a China. Son muy baratos, 6 unidades por 3€. También se puede utilizar los punteros láser que se suelen ver como llaveros. Comprobar primero que no tienen condensadores, ni ningún tipo de electrónica añadida.

  Láser utilizado, y fotodiodo.


Colocación del láser y fotodiodo para las pruebas.


  Láserfuncionando.

Llegado a este punto, debía se utilizar un protocolo de comunicación unidireccional.
Mirando entre mis anteriores montajes, encontré que había utilizado el protocolo VirtualWire en transmisión de datos de sensores de temperatura y humedad. Para estos montaje el modo de transmisión eran dos pequeños módulos de 433MHz.
La biblioteca VirtualWire se diseño en un principio para transmitir datos en equipos de radioaficionado.
Esta biblioteca tiene CCR16,  detección de errores de código, y una señal de pulsos previa a los datos, muy útil en la radiofrecuencia.
De las pruebas realizadas utilizando virtualWire , he observado que funciona bien hasta los 10000 Bps.

Como no estaba conforme con esto, decidí emplear la comunicación serie de toda la vida.
Como los arduinos que tengo, Nano, no disponen de mas de un puerto serie, he utilizado los puerto serie virtuales por software, utilizando la biblioteca SoftwareSerial.

  Circuito realizado.

Esta biblioteca funciona bien para velocidades bajas, y para pocos datos continuados, el buffer es pequeño y rápidamente se llena.
Para las pruebas se utilizan 50 bytes cada 1 segundo.

Señales del láser emisor y fotodiodo, además del protocolo USART.

En las pruebas realizadas he conseguido 28800 Bps , a velocidades superiores empiezan los errores.
En el osciloscopio se pueden ver que los pulsos cuadrados se transforman en pulsos de diente de sierra.
Esto puede ser debido a que modulo el láser directamente con la señal que procede de pin del arduino, además de utilizar unos fotodiodos que no están diseñados para este fin.

PROGRAMA EMISOR
//  Emisor

#include <SoftwareSerial.h>

int contador;
char VARI[100];

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() 
{

  Serial.begin(9600);
  Serial.println("setup EMISOR");
  mySerial.begin(28800);
}

void loop()
{
  digitalWrite(13, true);
  sprintf(VARI,"PRUEBA DE TRANSMISION  Hola mundo %d  \n",contador);
  mySerial.println(VARI);
  digitalWrite(13, false);
  Serial.print("SEND=");
  Serial.println(contador);
  delay(1000);
  contador++;   
}

PROGRAMA RECEPTOR
// Receptor

#include <SoftwareSerial.h>

int contador;
char VARI[100];

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() 
{

 Serial.begin(9600);
 Serial.println("setup RECEPTOR");
 
  mySerial.begin(28800);
}

void loop() // run over and over
{
   while (mySerial.available() > 0)
   {
      digitalWrite(13, true);
      char c = mySerial.read();
      Serial.print(c);     
   }
   digitalWrite(13, false);
}


Instantánea de la pantalla en las pruebas.

En las siguientes pruebas de distancia, utilice espejos para mandar la señal láser con rebotes, la casa se me hacía pequeña.
Lo mejor es utilizar  espejos con base que se pueden mover en horizontal y vertical,  es difícil enfocar a 12 metros como hacía yo.
El resultado era muy bueno, salvo cuando pasaba gente que interrumpía la señal.

Este experimento es de lo mas entretenido y práctico, lo recomiendo.

Saludos.
Juan Galaz



Bibliografía:
   

    http://www.bolanosdj.com.ar/TEORIA/SENSORESOPTICOS.PDF

miércoles, 29 de julio de 2015

Control de puntero láser mediante 2 servos

Control de puntero láser mediante 2 servos.
Manejados por arduino y controlados mediante PC.
Programación gambas (linux)
xsetaseta@gmail.com


De mi anterior tenia dos servos montados y manejados por una placa arduino nano. Me vino a la cabeza un proyecto que tenía en mente, manejar un puntero láser mediante un ordenador. Solo tenía que realizar un programa que mandase las coordenadas de posicionamiento desde el PC al arduino, y este manejaría los servos.
La realización fue rápida, no me he complicado mucho en el interface del PC, la he realizado en gambas (una especie de Visual Basic) bajo linux.
Toma las coordenadas de una superficie azul de 360x360 , y manda los datos X e Y como valores entre 0 y 179 mediante el interface serie al arduino.
Si se cambia la potencia se manda también con datos entre 0 y 254, que maneja el puntero mediante PWM, me hubiera gustado hacerlo con voltios reales, pero el proyecto debía realizarse rápidamente.
Para poder mover el puntero, se debe pulsar el botón izquierdo del ratón.
Para dar la potencia máxima, se debe pulsar el botón derecho del ratón.
Como los servos están construidos mediante motores, estos producen interferencia en el propio arduino, por lo cual debemos de alimentar los servos desde una fuente externa.


Esquema de conexionado.



Colocación de láser en los servos.


Montaje del circuito con todos los componentes.


El montaje funcionando
 




Vídeo del montaje funcionando

Programa  gambas

Programa arduino





Hasta pronto.
Juan Galaz


BIBLIOGRAFÍA

http://cursos.olimex.cl/tutoriales/
http://www.electroensaimada.com/servomotor.html
http://arduino.cl/servo-motor-con-arduino/