Hacker News new | past | comments | ask | show | jobs | submit login
Final Project: Vector Laser Projector (2019) (cornell.edu)
64 points by codezero on April 8, 2021 | hide | past | favorite | 17 comments



Of 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.


In my physics degree we took an electronics course based off that book and I still crack it open for reference once in a while.


The 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.


Yes 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.


My "suggestion" is not quite a suggestion. It is actually how galvos for big laser projectors are driven! I'm told that the position feedback is not really something you can get away without, though I haven't tried myself.

Galvos are not quite predictable enough devices that you can usefully model them. The resonant frequencies to be filtered out have to be tuned individually for each one. (At least, for the projector I'm familiar with, which is one of the very big, very nice, very expensive ones. They're low-volume and hand-tuned.)


Yes, here's what optical bench quality galvos look like and cost. [1]

My comment on the drive electronics was simply about how to fix the drive circuit cheaply so it had enough current capacity to not overheat and burn out.

[1] https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=37...


Didn't know this about the prepackaged projectors. My experience is with low-end, cobble-it-together-yourself galvos where the highest quality output is not a factor.

Thanks.


This 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/m...


When 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_.


A 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-pr...


Wow this is great work, thanks for sharing it here!


This 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.


Regarding 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.


> 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.



This 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.


In 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 :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: