Hacer un proyector l√°ser de texto DIY

Averig√ľemos c√≥mo hacer un proyector l√°ser lo suficientemente simple con componentes electr√≥nicos que pueda encontrar en casa.



Introduccion


Hay dos formas de crear una imagen con un l√°ser: escaneo vectorial y escaneo de trama.

Durante el escaneo vectorial, el l√°ser se mueve a lo largo de los contornos de la imagen, solo se apaga mientras se mueve de un contorno a otro. Eso significa que el l√°ser est√° encendido la mayor parte del tiempo, lo que genera una imagen resultante bastante brillante.

Ese método se usa con mayor frecuencia en proyectores láser industriales a gran escala, pero requiere el uso de un dispositivo electromecánico bastante complejo, el galvanómetro, para mover el láser rápidamente. Los precios comienzan desde $ 80 por par y es muy poco práctico ( aunque posible ) hacer en casa.

El segundo método es el escaneo de trama . Allí, el rayo láser se mueve de lado a lado, dibujando la imagen línea por línea. Ese es el método utilizado en los viejos televisores y monitores CRT.

Dado que los movimientos verticales y horizontales se realizan repetidamente, se requiere una configuración mecánica mucho más simple que el escaneo vectorial. Además, dado que la imagen se divide en elementos separados, es mucho más fácil de programar.

El principal inconveniente del escaneo de trama es que el haz pasa sobre cada elemento de la imagen, incluso aquellos que no necesitan ser iluminados, lo que hace que la imagen sea más tenue. Pero, debido a la simplicidad, ese es el método que elegí para mi proyector láser.

Para mover el rayo láser a lo largo de una línea (horizontalmente), hay una técnica muy conveniente: utilizar un espejo que gira a una velocidad constante. Como la rotación es continua, puede mover la viga bastante rápido. Pero mover el rayo a otra línea es más difícil.

La opci√≥n m√°s f√°cil es usar m√ļltiples l√°seres apuntando al espejo giratorio. La desventaja es que el n√ļmero de l√≠neas mostradas estar√≠a determinado por el n√ļmero de l√°seres utilizados, lo que hace que la configuraci√≥n sea m√°s complicada, adem√°s de que necesitar√≠a un espejo bastante alto. Pero tambi√©n hay ventajas: la √ļnica parte m√≥vil de todo el sistema es el espejo (menos elementos para romper), y el uso de m√ļltiples l√°seres puede hacer que la imagen sea m√°s brillante. Aqu√≠ hay un ejemplo de un proyector construido de esa manera.

Otro método de escaneo, que a menudo se encuentra en Internet, es combinar escaneos verticales y horizontales mediante el uso de un tambor de espejo giratorio, donde se colocan "facetas" separadas en diferentes ángulos con respecto al eje de rotación. Esa configuración de espejo hace que el rayo láser se refleje en diferentes ángulos verticales cuando el espejo gira, creando un escaneo vertical.

Aunque el proyector resultante es bastante simple en esencia (solo necesita un láser, un espejo con un motor y un sensor de sincronización), este método tiene un gran inconveniente: es muy difícil construir un espejo multifacético en casa. Por lo general, la inclinación de las "facetas" debe ajustarse perfectamente durante la construcción, y el nivel de precisión requerido es increíblemente alto.

Aquí hay un ejemplo de tal proyector.

Para hacerlo más fácil, utilicé otro método de escaneo: un espejo que gira constantemente para formar el escaneo horizontal y un espejo que oscila periódicamente para el escaneo vertical.

Realización


Escaneo horizontal


¬ŅD√≥nde puedes encontrar un espejo de rotaci√≥n r√°pida? ¬°En una vieja impresora l√°ser, por supuesto! Las impresoras l√°ser utilizan un espejo poligonal, colocado encima de un motor sin escobillas para escanear el rayo l√°ser a lo largo del papel. El motor generalmente se encuentra en la parte superior de la PCB que lo controla.

Ya tenía un módulo espejo de una impresora vieja:



No pude encontrar documentaci√≥n para el m√≥dulo o el chip dentro de √©l, as√≠ que para determinar el dise√Īo del pin del m√≥dulo tuve que realizar ingenier√≠a inversa. Las l√≠neas de alimentaci√≥n son f√°ciles de ubicar: est√°n conectadas al √ļnico condensador electrol√≠tico en la PCB. Pero simplemente obtener energ√≠a para el motor no es suficiente para hacerlo girar; tambi√©n debe proporcionar una se√Īal de sincronizaci√≥n para establecer la velocidad de rotaci√≥n. La se√Īal es un simple meandro de la frecuencia de 20 a 500-1000 Hz.

Para encontrar la l√≠nea correcta, tom√© un generador de impulsos configurado para 100 Hz, y lo conect√© (a trav√©s de una resistencia) a cada l√≠nea disponible del puerto del m√≥dulo l√°ser. Una vez que la se√Īal se suministra a la l√≠nea correcta, el motor comienza a girar. El espejo gira bastante r√°pido para nuestros prop√≥sitos: como se midi√≥ m√°s tarde, gira a una velocidad superior a 250 RPS. Pero desafortunadamente, la rotaci√≥n del motor lo hizo bastante ruidoso. No es un problema para mis experimentos, pero sin duda ser√≠a notable cuando el proyector est√© completo y funcionando. Tal vez podr√≠a mitigarse utilizando un m√≥dulo espejo m√°s nuevo o simplemente colocando el m√≥dulo en una caja.

Laser


Para las pruebas preliminares utilic√© un l√°ser de un puntero l√°ser barato. El m√≥dulo debe configurarse de modo que tenga m√ļltiples grados de libertad para apuntar correctamente el l√°ser al espejo.



Como utilizamos el escaneo de trama, la luz l√°ser se distribuye a lo largo de toda el √°rea de la imagen, lo que hace que la imagen sea bastante tenue, solo es visible en la oscuridad.

Entonces, mucho más tarde, después de dibujar con éxito una imagen, reemplacé el módulo láser por uno más potente: el diodo láser de un reproductor de DVD.
Advertencia: ¬°los l√°seres de DVD son muy peligrosos y pueden cegarlo! ¬°Mientras trabaja con el l√°ser, use gafas protectoras en todo momento!

Tanto el l√°ser como los m√≥dulos de espejo poligonal se colocaron encima de una peque√Īa tabla de madera. Despu√©s de suministrar la se√Īal de reloj al motor y la potencia al l√°ser, debe apuntar el l√°ser de tal manera que el rayo golpee los bordes del espejo. Como resultado, mientras el espejo gira, obtienes una larga l√≠nea horizontal.

Fotosensor de sincronización


Para permitir que el microcontrolador rastree la posici√≥n de un rayo l√°ser en movimiento, necesitamos un fotosensor. Pero para ese prop√≥sito utilic√© un fotodiodo obstruido con un trozo de cart√≥n con un peque√Īo agujero en el medio. Es necesario para rastrear el momento en que el rayo golpea el fotodiodo con mayor precisi√≥n.

Aquí está el sistema de montaje para el fotodiodo (sin el cartón):



Durante el funcionamiento normal, el rayo láser reflejado debe golpear primero el fotodiodo, y solo entonces, el espejo de exploración vertical.

Despu√©s de instalar el sensor, lo prob√© suministrando voltaje a trav√©s de la resistencia y observando la se√Īal con un osciloscopio; su amplitud fue suficiente para conectar el sensor directamente a la entrada GPIO del microcontrolador.

Escaneo vertical


Como mencion√© anteriormente, utilic√© un espejo oscilante peri√≥dicamente para formar el escaneo vertical. ¬ŅC√≥mo lo manejas? La forma m√°s f√°cil es usar un electroim√°n. A veces las personas simplemente montan los espejos en la parte superior de los altavoces de la computadora, pero no es una opci√≥n particularmente deseable (los resultados son inconsistentes, demasiado dif√≠ciles de calibrar).

En mi construcción utilicé el motor BLDC de un reproductor de DVD para controlar el espejo de exploración vertical. Dado que el proyector estaba destinado a generar texto, no había muchas líneas para dibujar, lo que significaba que el espejo solo debía estar ligeramente inclinado.

El motor BLDC consta de tres bobinas, que juntas forman un estator. Si una de las bobinas est√° conectada a una fuente de energ√≠a con carga positiva, y las otras dos est√°n conectadas alternativamente a la fuente con carga negativa, el rotor del motor se tambalear√°. El barrido angular m√°ximo est√° determinado por la configuraci√≥n del motor, espec√≠ficamente, el n√ļmero de polos. Para un motor de DVD no supera los 30 grados. Dado que este motor es bastante potente y f√°cil de controlar (solo se requieren dos teclas), este motor encaja muy bien para nuestro prop√≥sito de construir un proyector l√°ser de texto.

Así es como se ve el motor con un espejo conectado:



Tenga en cuenta que la superficie reflectante del espejo debe estar en la parte delantera, lo que significa que no est√° obstruida por el vidrio.

Resumen


Así es como se ve el proyector montado:



El módulo de proyección de cerca:



El espejo poligonal se mueve en sentido horario, por lo que el rayo l√°ser se mueve de izquierda a derecha.

El potente diodo láser de DVD ya está instalado (dentro del colimador). El espejo de exploración vertical está configurado de tal manera que la imagen proyectada apunta hacia arriba, en mi caso, al techo de mi habitación.

Como puede ver en la imagen, el microcontrolador STM32F103 instalado en una peque√Īa placa de depuraci√≥n (Blue Pill) controla el l√°ser y las partes mec√°nicas del proyector. Esta placa est√° instalada en la placa de pruebas.

Esquema del dispositivo:



Como mencion√© anteriormente, para controlar el motor de espejo poligonal solo necesitamos una se√Īal: la se√Īal de sincronizaci√≥n (POLY_CLOCK) producida por uno de los temporizadores de STM32 que funcionan en modo PWM. Su frecuencia y relaci√≥n de trabajo no cambian mientras el proyector est√° funcionando. Para alimentar el motor, uso una fuente de alimentaci√≥n de 12V separada.

Las dos se√Īales PWM para controlar el espejo de exploraci√≥n vertical son generadas por otro temporizador del microcontrolador. Estas se√Īales pasan por un chip ULN2003A que controla el motor del DVD. Entonces, al establecer diferentes relaciones de trabajo para los canales PWM de esos tiempos, podemos cambiar el √°ngulo de giro del motor.

Desafortunadamente, la versión actual del proyector no proporciona comentarios sobre la ubicación del espejo. Significa que el microcontrolador puede conducir los espejos, pero no "sabe" su posición actual. La inercia del rotor y la inductancia de las bobinas producen algunos retrasos al cambiar la dirección de rotación.

Gracias a todo esto, hay dos consecuencias principales:

  • La densidad de l√≠nea no es constante, porque la velocidad de rotaci√≥n del espejo no se puede controlar;
  • Muchas l√≠neas no est√°n operativas. El espejo de exploraci√≥n vertical oscila en ciclos, por lo que algunas de las l√≠neas podr√≠an salir hacia abajo y la otra hacia abajo. Como resultado, dado que no podemos rastrear la posici√≥n, las l√≠neas solo se pueden mostrar mientras el motor gira de una manera particular. Como solo se muestra la mitad de las l√≠neas, el brillo de la imagen se reduce a la mitad.

Sin embargo, la falta de comentarios hace que el dispositivo sea bastante f√°cil de construir.

El proceso de formación de la imagen también es bastante simple:

  • Cada vez que el rayo l√°ser golpea el fotodiodo, el microcontrolador genera una interrupci√≥n. En esta interrupci√≥n, la MCU calcula la velocidad de exploraci√≥n horizontal actual. Despu√©s de eso, el temporizador de sincronizaci√≥n especial se reinicia.
  • Este temporizador de sincronizaci√≥n genera sus propias interrupciones en momentos particulares durante la exploraci√≥n horizontal.
  • En particular, alg√ļn tiempo despu√©s de la sincronizaci√≥n, se debe formar la se√Īal de control del l√°ser. Mi dispositivo lo forma con un combo DMA + SPI. Esencialmente, estos m√≥dulos transmiten una l√≠nea de la imagen en la salida MOSI SPI en el momento correcto, un bit a la vez.
  • Una vez finalizada la salida de la imagen, el l√°ser debe volver a encenderse para que el fotodiodo pueda volver a aceptar su haz.

La modulación láser se realiza a través de una de las claves del chip ULN2003A. La resistencia R3 es necesaria para proteger el diodo láser de sobrecorriente. Está instalado justo al final del cable láser, aislado. Para alimentar el láser, utilicé una fuente de alimentación externa. Es importante controlar el consumo de corriente del láser y asegurarse de que esté dentro del rango aceptable para el diodo láser en particular.

Ejemplo de una imagen (8 líneas de alto):



El texto está algo desproporcionado porque el proyector apunta a una pared en ángulo. Actualmente, cada ciclo de exploración vertical tiene una longitud de 32 pasos (1 paso significa girar el espejo poligonal en 1 borde).

El proyector puede mostrar 14 líneas distintas: todo después de eso comienza a mezclarse con otras líneas, corrompiendo la imagen.

La foto al principio también usa una fuente de 8 líneas, lo que hace posible mostrar incluso dos líneas de texto algo bien.

Las fuentes 11x7 y 6x4 también son compatibles con el código:



Ejemplo de "texto en ejecución":


El video hace que la imagen parpadee verticalmente, pero en realidad no es visible.

Proyecto en GitHub.

Source: https://habr.com/ru/post/438618/


All Articles