Faire un projecteur laser de texte bricolage

Découvrons comment fabriquer un projecteur laser assez simple à partir d'électronique que vous pouvez trouver à la maison.



Présentation


Il existe deux façons de créer une image avec un balayage laser - vectoriel et tramé.

Pendant le balayage vectoriel, le laser se déplace le long des contours de l'image, s'éteignant uniquement lors du passage d'un contour au suivant. Cela signifie que le laser est allumé la plupart du temps, ce qui donne une image résultante plutôt lumineuse.

Cette méthode est le plus souvent utilisée dans les projecteurs laser industriels à grande échelle, mais elle nécessite l'utilisation d'un appareil électromécanique assez complexe - le galvanomètre - pour déplacer le laser rapidement. Les prix commencent à partir de 80 $ la paire et il est très difficile ( mais possible ) de faire à la maison.

La deuxième méthode est la numérisation raster . Là, le faisceau laser se déplace d'un côté à l'autre, dessinant l'image ligne par ligne. C'est la méthode utilisée dans les anciens téléviseurs et moniteurs CRT.

Étant donné que les mouvements verticaux et horizontaux sont effectués à plusieurs reprises, il nécessite une configuration mécanique beaucoup plus simple que le balayage vectoriel. De plus, puisque l'image est divisée en éléments séparés, il est beaucoup plus facile de programmer.

Le principal inconvénient du balayage raster est que le faisceau traverse tous les éléments de l'image, même ceux qui n'ont pas besoin d'être éclairés, ce qui fait que l'image est plus sombre. Mais, en raison de la simplicité, c'est la méthode que j'ai choisie pour mon projecteur laser.

Pour déplacer le faisceau laser le long d'une ligne (horizontalement), il existe une technique très pratique: utiliser un miroir tournant à vitesse constante. La rotation étant continue, vous pouvez déplacer le faisceau assez rapidement. Mais déplacer le faisceau vers une autre ligne est plus difficile.

L'option la plus simple consiste à utiliser plusieurs lasers pointés vers le miroir rotatif. L'inconvénient est que le nombre de lignes affichées serait déterminé par le nombre de lasers utilisés, ce qui rend la configuration plus compliquée, et vous auriez besoin d'un miroir assez élevé. Mais il y a aussi des avantages - la seule partie mobile de tout le système est le miroir (moins de choses à casser), et l'utilisation de plusieurs lasers peut rendre l'image plus lumineuse. Voici un exemple de projecteur construit de cette façon.

Une autre méthode de numérisation, souvent trouvée sur Internet, combine des numérisations verticales et horizontales en utilisant un tambour à miroir rotatif, où des «facettes» distinctes sont placées à différents angles par rapport à l'axe de rotation. Cette configuration de miroir fait que le faisceau laser se reflète dans différents angles verticaux lorsque le miroir tourne, créant un balayage vertical.

Même si le projecteur résultant est assez simple par essence (vous n'avez besoin que d'un laser, d'un miroir avec un moteur et d'un capteur de synchronisation), cette méthode a un gros inconvénient - il est très difficile de construire un miroir à multiples facettes à la maison. Habituellement, l'inclinaison des «facettes» doit être parfaitement ajustée pendant la construction, et le niveau de précision requis est incroyablement élevé.

Voici un exemple d'un tel projecteur.

Pour me faciliter la tâche, j'ai utilisé une autre méthode de balayage - un miroir en rotation constante pour former le balayage horizontal et un miroir oscillant périodiquement pour le balayage vertical.

Réalisation


Balayage horizontal


Où pouvez-vous trouver un miroir à rotation rapide? Dans une vieille imprimante laser, bien sûr! Les imprimantes laser utilisent un miroir polygonal, placé au-dessus d'un moteur sans balais pour balayer le faisceau laser le long du papier. Le moteur est généralement placé au-dessus du PCB qui le contrôle.

J'avais déjà un module miroir d'une vieille imprimante:



Je n'ai pas pu trouver de documentation pour le module ou la puce à l'intérieur, donc pour déterminer la disposition des broches du module, j'ai dû le rétroconcevoir. Les lignes électriques sont faciles à localiser - elles sont connectées au seul condensateur électrolytique du PCB. Mais il ne suffit pas d'alimenter le moteur pour le faire tourner - vous devez également fournir un signal de synchronisation pour régler la vitesse de rotation. Le signal est un simple méandre de la fréquence de 20 à 500-1000 Hz.

Pour trouver la bonne ligne, j'ai saisi un générateur d'impulsions configuré pour 100 Hz et je l'ai connecté (via une résistance) à chaque ligne disponible du port du module laser. Une fois le signal envoyé à la bonne ligne, le moteur commence à tourner. Le miroir tourne très rapidement pour nos besoins - comme mesuré plus tard, il tourne à une vitesse supérieure à 250 tr / min. Mais malheureusement, la rotation du moteur l'a rendu assez bruyant. Ce n'est pas un problème pour mes expériences, mais serait certainement perceptible lorsque le projecteur est terminé et fonctionne. Peut-être que cela pourrait être atténué en utilisant un module miroir plus récent ou en mettant simplement le module dans une boîte.

Laser


Pour les tests préliminaires, j'ai utilisé un laser à partir d'un pointeur laser bon marché. Le module doit être configuré de manière à avoir plusieurs degrés de liberté - pour diriger correctement le laser vers le miroir.



Étant donné que nous utilisons la numérisation raster, la lumière laser est distribuée sur toute la zone de l'image, ce qui rend l'image assez sombre - elle n'est visible que dans l'obscurité.

Donc, beaucoup plus tard, après avoir réussi à dessiner une image, j'ai remplacé le module laser par un module plus puissant - la diode laser d'un lecteur DVD.
Attention: les lasers DVD sont très dangereux et peuvent vous aveugler! Lorsque vous travaillez avec le laser, utilisez des lunettes de protection à tout moment!

Le laser et les modules de miroir polygonal étaient placés sur une petite planche de bois. Après avoir fourni le signal d'horloge au moteur et l'alimentation au laser, vous devez pointer le laser de telle sorte que le faisceau frappe les bords du miroir. Par conséquent, pendant que le miroir tourne, vous obtenez une longue ligne horizontale.

Photocapteur de synchronisation


Pour permettre au microcontrôleur de suivre la position d'un faisceau laser en mouvement, nous avons besoin d'un photocapteur. Mais à cet effet, j'ai utilisé une photodiode obstruée avec un morceau de carton avec un petit trou au milieu. Il est nécessaire de suivre plus précisément le moment où le faisceau frappe la photodiode.

Voici le système de montage de la photodiode (sans le carton):



Pendant le fonctionnement normal, le faisceau laser réfléchi doit d'abord frapper la photodiode, puis seulement - le miroir à balayage vertical.

Après avoir installé le capteur, je l'ai testé en fournissant une tension à travers la résistance et en observant le signal avec un oscilloscope - son amplitude était suffisante pour connecter le capteur directement à l'entrée GPIO du microcontrôleur.

Balayage vertical


Comme je l'ai mentionné plus tôt, j'ai utilisé un miroir oscillant périodiquement pour former le balayage vertical. Comment conduisez-vous? La façon la plus simple est d'utiliser un électro-aimant. Parfois, les gens montent simplement les miroirs sur les haut-parleurs de l'ordinateur, mais ce n'est pas une option particulièrement souhaitable (les résultats sont incohérents, trop difficiles à calibrer).

Dans ma version, j'ai utilisé le moteur BLDC d'un lecteur DVD pour contrôler le miroir de balayage vertical. Étant donné que le projecteur était destiné à la sortie de texte, il n'y avait pas beaucoup de lignes à dessiner, ce qui signifiait que le miroir ne devait être que légèrement incliné.

Le moteur BLDC se compose de trois bobines, qui forment ensemble un stator. Si l'une des bobines est connectée à une source d'alimentation chargée positivement et que les deux autres sont connectées alternativement à la source chargée négativement, le rotor du moteur oscillerait. Le balayage angulaire maximum est déterminé par la configuration du moteur, en particulier - le nombre de pôles. Pour un moteur DVD, il ne dépasse pas 30 degrés. Étant donné que ce moteur est assez puissant et facile à contrôler (seulement deux touches sont nécessaires), ce moteur s'adapte très bien à notre objectif de construire un projecteur laser de texte.

Voilà à quoi ressemble le moteur avec un miroir connecté:



Notez que la surface réfléchissante du miroir doit être sur le devant, ce qui signifie qu'il n'est pas obstrué par du verre.

Présentation


Voilà à quoi ressemble le projecteur assemblé:



Le module de projection de près:



Le miroir polygonal se déplace dans le sens horaire, de sorte que le faisceau laser se déplace de gauche à droite.

La puissante diode laser DVD est déjà installée (à l'intérieur du collimateur). Le miroir à balayage vertical est configuré de manière à ce que l'image projetée soit dirigée vers le haut - dans mon cas, jusqu'au plafond de ma chambre.

Comme vous pouvez le voir sur l'image, le laser et les pièces mécaniques du projecteur sont contrôlés par le microcontrôleur STM32F103 installé sur une petite carte de débogage (Blue Pill). Cette carte est installée dans la planche à pain.

Schéma de l'appareil:



Comme je l'ai mentionné plus tôt, pour contrôler le moteur du miroir polygonal, nous avons besoin d'un seul signal - le signal d'horloge (POLY_CLOCK) produit par l'un des temporisateurs du STM32 fonctionnant en mode PWM. Sa fréquence et son rapport cyclique sont inchangés lorsque le projecteur fonctionne. Pour alimenter le moteur, j'utilise une alimentation 12V séparée.

Les deux signaux PWM pour contrôler le miroir de balayage vertical sont générés par une autre minuterie du microcontrôleur. Ces signaux sont transmis via une puce ULN2003A qui contrôle le moteur du DVD. Ainsi, en définissant des taux de service différents pour les canaux PWM de cette époque, nous pouvons changer l'angle de rotation du moteur.

Malheureusement, la version actuelle du projecteur ne fournit pas de rétroaction sur l'emplacement du miroir. Cela signifie que le microcontrôleur peut entraîner les miroirs, mais il ne "sait" pas sa position actuelle. L'inertie du rotor et l'inductance des bobines entraînent des retards dans le changement du sens de rotation.

Grâce à tout cela, il y a deux conséquences principales:

  • La densité de ligne n'est pas constante, car la vitesse de rotation du miroir ne peut pas être contrôlée;
  • Beaucoup de lignes ne sont pas opérationnelles. Le miroir à balayage vertical vacille en cycles, de sorte que certaines des lignes peuvent être émises à l'envers et l'autre - à l'envers. En conséquence, comme nous ne pouvons pas suivre la position, les lignes ne peuvent être affichées que lorsque le moteur tourne d'une manière particulière. Étant donné que seulement la moitié des lignes sont affichées, la luminosité de l'image est réduite de moitié.

Néanmoins, le manque de rétroaction rend l'appareil assez facile à construire.

Le processus de formation de l'image est également assez simple:

  • Chaque fois que le faisceau laser frappe la photodiode, le microcontrôleur génère une interruption. À cette interruption, la vitesse de balayage horizontal actuelle est calculée par MCU. Après cela, la minuterie de synchronisation spéciale est réinitialisée.
  • Ce temporisateur de synchronisation génère ses propres interruptions à des moments particuliers pendant le balayage horizontal.
  • En particulier, un certain temps après la synchronisation, le signal de commande laser doit être formé. Mon appareil le forme avec un combo DMA + SPI. Essentiellement, ces modules transmettent une ligne de l'image sur la sortie MOSI SPI au bon moment, un bit à la fois.
  • Une fois la sortie d'image terminée, le laser doit être rallumé, afin que la photodiode puisse à nouveau accepter son faisceau.

La modulation laser se fait via l'une des clés de la puce ULN2003A. La résistance R3 est nécessaire pour protéger la diode laser contre les surintensités. Il est installé juste à l'extrémité du câble laser, isolé. Pour alimenter le laser, j'ai utilisé une alimentation hors-bord. Il est important de contrôler la consommation de courant du laser et de s'assurer qu'il se situe dans la plage acceptable pour la diode laser particulière.

Exemple d'image (8 lignes de haut):



Le texte est quelque peu disproportionné car le projecteur pointe vers un mur en biais. Actuellement, chaque cycle de balayage vertical dure 32 étapes (1 étape signifie tourner le miroir polygonal d'un bord).

Le projecteur peut afficher 14 lignes distinctes: tout ce qui suit commence à se mélanger avec d'autres lignes, corrompant l'image.

La photo au début utilise également une police de 8 lignes, ce qui permet d'afficher un peu même deux lignes de texte.

Les polices 11x7 et 6x4 sont également prises en charge dans le code:



Exemple de «texte en cours d'exécution»:


La vidéo fait scintiller l'image verticalement, mais elle n'est pas visible en réalité.

Projet sur GitHub.

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


All Articles