With the PIC32 firmware largely done, I've started working on the Python code running on the Raspberry Pi.
Here's my attempt at drawing five horizontal lines:
This was generated in much the same way as the diamond pattern I had working last month, but with some refactoring of the code, I was able to show what happens when the laser is only turned on for part of the drawing.
For these lines, the laser was on for 120us for the top line, then 240, 360, 480 and finally 600us for the bottom line. The laser is tracing those lines at approximately 0.5mm per us. It's possible to see that the mirror starts slow, then accelerates, before decelerating toward the end.
Note that I've used slightly different movement speed parameters for the second picture compared to the first picture - you can see this most clearly in the starting position for the first of the five lines. In this second picture, the starting line is just about in a the right place, where as in first, it is shifted to the right somewhat.
I wanted to explore the this a little better, so I left the laser light on while the mirrors were moving between the start and end of lines. I got this:
I also X-Y plotted the op-amp X and Y outputs:
This is interesting. The galvo struggles to keep up with some of the movements in the signal. There is definitely something weird happening at the top left, with the X galvo most definitely not tracking the same signal the op-amp is outputting. There might be some weirdness in the differential signal and it definitely bears further investigation.
Surprising to me is that the op-amp signal is not moving as linearly as I thought it would be. I wonder how much of the galvo's curved path is due to this non linearity in signal.
I've been doing more on the mounting and case. Here's the latest prototype of the mounting board. I have a new design coming that is slightly slimmer, and has provision for some cable management, but the overall layout will be the same.