Scanner laser XY à 10€ !
The goal is to build a very low cost X Y scanner for a laser pointer, this X Y scanner must be able, from a PC, to display fixed or animated simple pictures or some characters.
Problem is, of course, to build very fast actuators. Ultra fast galvo are very expensive. Here are the solutions I tested:
CD player actuator :
I take an old CD player: the lens coil actuator is used to set the distance between focal lens and CD. I remove the lens, glue it again but with the axis of the lens perpendicular to actuator motion. Then I dispose a second lens : the same as the first one, on the same axis, at a few mm from the first but fixed. When the actuator move in X or Y direction, laser beam is deflected.
Le but est de construire un scanner X Y à très faible coût pour un pointeur laser, ce scanner X Y doit être capable, depuis un PC, d'afficher des images simples fixes ou animées ou certains personnages.
Le problème est bien sûr de construire des actionneurs très rapides. Les galvo ultra rapides coûtent très cher. Voici les solutions que j'ai testées :
Actionneur lecteur CD :
Je prends un vieux lecteur CD : l'actionneur de bobine d'objectif sert à régler la distance entre la lentille focale et le CD. J'enlève la lentille, la recolle mais avec l'axe de la lentille perpendiculaire au mouvement de l'actionneur. Ensuite je dispose un deuxième objectif : le même que le premier, sur le même axe, à quelques mm du premier mais fixe. Lorsque l'actionneur se déplace dans la direction X ou Y, le faisceau laser est dévié.
Then I built 2 low cost 4 bits DAC with 8 resistors : 40 k, 20 k, 10 k, 5 kohms, with an operational amplifier connected to the actuator coil. The 8 bits are connected to the PC LPT1 // output port.
J'ai ensuite construit 2 DAC 4 bits low cost avec 8 résistances : 40 k, 20 k, 10 k, 5 kohms, avec un amplificateur opérationnel connecté à la bobine de l'actionneur. Les 8 bits sont connectés au port de sortie PC LPT1 //.
It works but frequency limit is about 10 Hz and distance between lens must be adjusted depending from distance between scanner and target.(focus adjust)
Piezo buzzer :
I took 2 low cost standard piezo (about 20 mm diameter, 0.3 mm thin metalled piezo disk) and I sold the piezo 2 on the piezo 1. Then on the piezo 1, I glue a CD player lens in front of another fixed CD player lens.
It works : at 3 m, spot can be moved on a few cm but a lot of inertia.
I improved the system attaching the first lens on the first X piezo and the second lens on the 2nd Y piezo : better but maximum frequency is still a few Hz.
Cela fonctionne mais la limite de fréquence est d'environ 10 Hz et la distance entre l'objectif doit être ajustée en fonction de la distance entre le scanner et la cible. (réglage de la mise au point)
Buzzer piézo :
J'ai pris 2 piézo standards low cost (environ 20 mm de diamètre, disque piézo métallisé de 0,3 mm d'épaisseur) et j'ai sougé le piézo 2 sur le piézo 1. Puis sur le piézo 1, je colle une lentille de lecteur CD devant un autre lecteur CD fixe lentille.
Ça marche : à 3 m, le spot peut être déplacé de quelques cm mais beaucoup d'inertie.
J'ai amélioré le système de fixation de la première lentille sur le premier piézo X et de la deuxième lentille sur le 2ème piézo Y : mieux mais la fréquence maximale reste de quelques Hz.
8 Mirrors drum :
I didn't realise it but we can perhaps install 8 mirrors on a cylinder (not very far from laser printer): every 360/8 °. First mirror is perpendicular 90° from axis, 2nd is 91°....8th is 98°. So when the cylinder rotate : drum scan 8 // lines and is able to write characters. It works like a TV receiver, but with only 8 lines in vertical resolution.
Problem : it's a dot system (compared with previous vector systems) and laser spend a lot of time "OFF" : for the same display, total light will be less than for a vector system... But drum can rotate as fast as we want...
Hard disk head actuators :
Hard disk are very well made components very easy to get free. Hard disk head must rotate very quickly with angle like +-20°. Exactly like scanners! Using the hard disk electronic is really very difficult. We power the hard disk coil with a little audio power amplifier IC. We remove hard disk heads and corresponding piece of metal (to decrease inertia) and we glue a about 10 x 10 x 5 mm mirror (from an old photocopier) on the axis. In fact we glue it upper on the axis in such a way, mirror surface where Laser beam is reflected is aligned with axis : we can use very little mirror. On an hard disk, there is no medium position we must add a spring. First we add 2 coil springs but coils vibrate so we replace coil spring with "flat" spring.
Well, it works well but again it's hard to be better than a few Hz maximum frequency
Tambour 8 miroirs :
Je ne m'en suis pas rendu compte mais on peut peut-être installer 8 miroirs sur un cylindre (pas très loin de l'imprimante laser) : tous les 360/8°. Le premier miroir est perpendiculaire à 90° de l'axe, le 2ème est à 91°... le 8ème est à 98°. Ainsi, lorsque le cylindre tourne : le tambour scanne 8 // lignes et est capable d'écrire des caractères. Il fonctionne comme un récepteur TV, mais avec seulement 8 lignes en résolution verticale.
Problème : c'est un système à points (par rapport aux systèmes vectoriels précédents) et le laser passe beaucoup de temps "OFF" : pour un même affichage, la lumière totale sera moindre que pour un système vectoriel... Mais le tambour peut tourner aussi vite que nous le voulons...
Actionneurs de tête de disque dur :
Les disques durs sont des composants très bien conçus et très faciles à obtenir gratuitement. La tête du disque dur doit tourner très rapidement avec un angle de +-20°. Exactement comme les scanners ! Utiliser l'électronique du disque dur est vraiment très difficile. Nous alimentons la bobine du disque dur avec un petit circuit intégré d’amplificateur de puissance audio. On enlève les têtes de disque dur et la pièce métallique correspondante (pour diminuer l'inertie) et on colle un miroir d'environ 10 x 10 x 5 mm (provenant d'un vieux photocopieur) sur l'axe. En fait, nous le collons en haut sur l'axe de manière à ce que la surface du miroir où le faisceau laser est réfléchi soit alignée avec l'axe : nous pouvons utiliser un très petit miroir. Sur un disque dur, il n'y a pas de position médiane il faut rajouter un ressort. Nous ajoutons d'abord 2 ressorts hélicoïdaux mais les bobines vibrent donc nous remplaçons le ressort hélicoïdal par un ressort "plat".
Bon, ça marche bien mais encore une fois, difficile de faire mieux que quelques Hz de fréquence maximale.
Loudspeakers :
Here is my today best solution :
I use 2 very common little loudspeakers (diameter is 80mm). On each one, on the radius of the loudspeaker, I dispose a first little piece of wood (a match ;-) (50 mm long perpendicular to loudspeaker axis), glued on the diameter and glued on the centre of loudspeaker (through another little piece of wood 10 mm long on the loudspeaker axis). Then I glued a little mirror on the 1st piece of wood, near the diameter of loudspeaker. When the loudspeaker vibrate, the first piece of wood rotate and the mirror too.
Haut-parleurs :
Voici ma meilleure solution :
J'utilise 2 petits haut-parleurs très courants (le diamètre est de 80 mm). Sur chacun, sur le rayon du haut-parleur, je dispose un premier petit morceau de bois (une allumette ;-) (50 mm de long perpendiculairement à l'axe de l'enceinte), collé sur le diamètre et collé au centre de l'enceinte (à travers un autre petit morceau de bois de 10 mm de long sur l'axe du haut-parleur). Ensuite j'ai collé un petit miroir sur le 1er morceau de bois, proche du diamètre du haut-parleur. Lorsque le haut-parleur vibre, le premier morceau de bois tourne et le miroir aussi.
I then install the 2 mirrors in front together but loudspeaker 90° decay.
J'installe ensuite les 2 miroirs face à face mais les haut-parleurs sont décalés à 90°.
I install my laser (red 30 mW) (simulated beam):
J'installe mon laser (rouge 30 mW) (faisceau simulé) :
I build 2 x 4 bits DAC with 100 k, 200 k, 400 k, 820 k resistors with 4 x LM386 little power audio amplifiers (bridged).
Je construis un DAC 2 x 4 bits avec des résistances 100 k, 200 k, 400 k, 820 k avec 4 x petits amplificateurs audio de puissance LM386 (en pont).
Then, a little C software: biosprint(0,17,0); or outport(0x378,17); and I am able to display simple characters !
Ensuite, un petit logiciel en C : biosprint(0,17,0); ou outport(0x378,17); et je suis capable d'afficher des caractères simples !
By night, I use it to display a phone number, 2 figures at a time, on a stone wall 100 m far away!
Last Christmas, I also displayed a red animated running Santa Clauss...(Father Christmas)
4 bits wasn't enough: I modify electronic to have 6 bits and to be able to light on and off the laser.
La nuit, je m'en sers pour afficher un numéro de téléphone, 2 chiffres à la fois, sur un mur de pierre à 100 m de là !
À Noël, j'ai également affiché un Père Noël animé rouge en train de courir...
4 bits ce n'était pas suffisant : je modifie l'électronique pour avoir 6 bits et pouvoir allumer et éteindre le laser.
In the program, care should be taken with delays for each point to prevent overshoot : When a line must be displayed, you can't simply send Datas to scanner : go from 0,0 to 20,0. You must go to 0,0, then wait 1 ms, then go to 1,0, wait 1 ms...A good trick : when delays are correct and overshoot minimum, loudspeaker produces minimum noise, you can hardly hear it, making a sort of "buzz".
Vu-meter :
Vu-meter or galvo used to measure mA or uA technology looks like real fast Laser galvo. A little copper coil around a big magnet. They are cheap. We use different models without a lot of success. We add a strong spring to make it faster. Again, it works but not as fast as a loudspeaker.
DC motor :
I used also fast DC motors: those where there is no iron in the moving part: just elliptical copper coils. I also suppress the collector and add a spring : still not as fast as loudspeaker.
Comments :
We speak about loudspeaker but comment is the same for all other DC motors.
If 1 V in the loudspeaker move it 1 mm, 2 V move it about 2 mm. Moving is proportional to the tension. Is that right? not exactly. When you send a 20 Hz 10 V signal in a big boomer you can see it moving: a few mm. If you send a 20 kHz 10 V signal to a big tweeter, you can't see it moving, even if you apply the same power: moving is far less than 1 mm. To simplify, power required is about the product of the tension by the frequency. For a galvo scanner application, we are not interested in the power apply to the loudspeaker or other DC motor but only to its displacement. That means that, if we want to be very fast:
- We need powerful loudspeaker and powerful amplifiers (and corresponding noise for loudspeaker)
- We need to correct the signal (tension) apply to the loudspeaker: we must remote it with electronic current control (is it enough?)
Dans le programme, il faut faire attention aux délais pour chaque point afin d'éviter un dépassement : Lorsqu'une ligne doit être affichée, vous ne pouvez pas simplement envoyer des données au scanner : passer de 0,0 à 20,0. Il faut passer à 0,0, puis attendre 1 ms, puis passer à 1,0, attendre 1 ms...Une bonne astuce : lorsque les délais sont corrects et dépassent le minimum, le haut-parleur produit un minimum de bruit, on l'entend à peine, ce qui rend une sorte de "buzz".
Vu-mètre :
Le vu-mètre ou galvo utilisé pour mesurer la technologie mA ou uA ressemble à un galvo laser très rapide. Une petite bobine de cuivre autour d'un gros aimant. Ils ne coûtent pas cher. Nous utilisons différents modèles sans grand succès. Nous ajoutons un ressort solide pour le rendre plus rapide. Encore une fois, cela fonctionne mais pas aussi vite qu'un haut-parleur.
Moteur à courant continu :
J'ai également utilisé des moteurs à courant continu rapides : ceux où il n'y a pas de fer dans la partie mobile : juste des bobines de cuivre elliptiques. Je supprime également le collecteur et ajoute un ressort : toujours pas aussi rapide que le haut-parleur.
Commentaires :
On parle de haut-parleur mais le commentaire est le même pour tous les autres moteurs DC.
Si 1 V dans le haut-parleur le déplace de 1 mm, 2 V le déplace d'environ 2 mm. Le mouvement est proportionnel à la tension. Est-ce correct? pas exactement. Quand vous envoyez un signal 20 Hz 10 V dans un gros boomer vous pouvez le voir bouger : quelques mm. Si vous envoyez un signal 20 kHz 10 V à un gros tweeter, vous ne pouvez pas le voir bouger, même si vous appliquez la même puissance : le déplacement est bien inférieur à 1 mm. Pour simplifier, la puissance requise correspond au produit de la tension par la fréquence. Pour une application de scanner galvo, nous ne nous intéressons pas à la puissance appliquée au haut-parleur ou autre moteur DC mais uniquement à son déplacement. Cela signifie que, si l'on veut être très rapide :
- Nous avons besoin d'un haut-parleur puissant et d'amplificateurs puissants (et du bruit correspondant pour le haut-parleur)
- Il faut corriger le signal (tension) appliqué au haut-parleur : il faut le commander avec un contrôle électronique du courant (est-ce suffisant ?)
09/12/2023