4 ms·
Final Project: Vector Laser Projector (2019)
- news_to_me 5y agoThis is awesome! I knew something like galvo motors must exist but I never looked deeply into it. I'm going to have to use something like this to build a better automatic cat laser.
- dreamcompiler 5y agoThis is an impressive project, but it uses an FPGA which is completely unnecessary. With modern processors there's no reason you can't do all the requisite computations in software, provided you use realtime programming techniques. I know this because I built a laser vector projector in the 80s driven by 8-bit processors of that era. It didn't use SVG as input; that definitely needs more cycles, but with a modern processor it should be easy. Galvo motors are S-L-O-W compared to CPUs.
- codezero 5y agoIn fairness, the course was a course in FPGAs, so it was part of the requirement, but I take your point. I happened to find the project when looking for some FPGA resources and thought it was pretty awesome :)
- portillo 5y agoReminds me of OpenLASE: - https://github.com/marcan/openlase https://github.com/marcan/openlase - https://www.youtube.com/watch?v=hoWCNKhZCbk https://www.youtube.com/watch?v=hoWCNKhZCbk
- ChuckMcM 5y agoThis is a fun project! I think they might to work a bit on their linearity :-). Some laser pointer sources allow for gate control (turning them on and off with a logic signal) which might help. Steve Ciarcia had a project[1] in BYTE for doing a vector display on an oscilloscope which ported well to lasers. [1] https://archive.org/details/byte-magazine-1976-11/page/n79/mode/2up https://archive.org/details/byte-magazine-1976-11/page/n79/m...
- codezero 5y agoWhen I got to the point about powering the laser I was (only a little) hoping they would use a mechanical shutter of some sort, I bet that would work fine enough as long as it doesn't cycle on and off _toooo fast_.
- neetdeth 5y agoRegarding the distortion observed in the output, I believe this is due to the inherent physical properties of the galvo system, specifically that the actuators have momentum. A more sophisticated controller would either slow down the beam when entering a corner, or deliberately overshoot and add connecting moves where the beam is turned off. There's also evidence of some ringing in the output, which might indicate an underdamped PID controller in the servo itself.
- exmadscientist 5y ago> A more sophisticated controller would either slow down the beam when entering a corner This isn't really possible in an analog controller; since the X and Y axes are driven independently, it's hard to know when you're at a corner. The galvo driver that I have seen just uses damping factors for LF and HF portions of the signal.
- Animats 5y agoOf course the drive circuit is overheating. An LF353 op-amp is not a power device. Maximum continuous total power dissipation for that part is 500 mW. Driving a motor hard requires an output power transistor with more current handling capacity. Since there's already an op-amp with feedback, that op-amp can be used to take the feedback signal from after the power transistor, so you'll still have closed-loop following and the output voltage will track the input properly. One power transistor in a TO-220 case (about US$0.59 each) per channel should give you about 10 or more watts, rather than 500mW. That ought to be enough. The Art of Electronics is good for designing things like this. And LTSpice helps.
- codezero 5y agoIn my physics degree we took an electronics course based off that book and I still crack it open for reference once in a while.
- exmadscientist 5y agoThe main difficulty with this circuit is actually dealing with the galvo itself. Feedback alone is not sufficient to linearize the thing to get an excellent image. You need to get position feedback from the galvo and then drive an error amp with it.
- dreamcompiler 5y agoYes but... Galvos have predictable responses. They have measurable slew rates and measurable resonant frequencies and Q factors. If you can characterize them along those dimensions (which might have already been done and described in the galvo data sheet) you can build a software model of them and use the model for feedback. It's not as perfect as your suggestion but much easier than putting shaft encoders on galvos. Another idea is to use a high-speed video camera to watch the flying dot on the screen as the galvos move it and take feedback from that. You don't even need to do this during performance; you could use this setup only once to get a very accurate characterization for the galvo model.
- 5y ago
- krastanov 5y agoA few years ago I played with a similar project. If you do not mind doing some calibration and making only simple shapes, you can do this with extremely cheap materials (control coils for RC planes) https://blog.krastanov.org/2016/08/09/simple-analog-laser-projector/ https://blog.krastanov.org/2016/08/09/simple-analog-laser-pr...
- codezero 5y agoWow this is great work, thanks for sharing it here!