Icestorm meets Hexastorm

A project log for open hardware fast high resolution LASER

bringing additive manufacturing to the next level

HexastormHexastorm 11/17/2020 at 16:225 Comments

Finished new controller board for laser scanner and can now stream data via a ringbuffer to prism scanner. No more micro-controllers from now on but only FPGAs :-). Thanks to Claire Wolf, Migen and Litex team. Code can be found here.


Hexastorm wrote 12/22/2020 at 16:24 point

There are two sort of scan errors; orthogonal and  parallel to scanline. The parallel ones can be fixed via things such as an interpolation table. The orthogonal ones are much harder. They cannot be fixed by an interpolation table as you cannot guarantee your spot will be "everywhere", this might result in non-uniform dosage. A rotating prism or mirror is than used in combination with a galvo or an additional lens system which minimizes the orthogonal error.
I am redoing the optical alignment at the moment,  will post a video which shows the current fix. This issue might be less an issue in combination with multi patterning.

  Are you sure? yes | no

Gravis wrote 12/22/2020 at 22:49 point

Concerning orthogonal errors, if they are consistent then you could opt to record the errors and then integrate that information into a higher level of the machine.  This is not a perfect solution but it can significantly reduce the cost of manufacturing then it may be worth considering.  With flawed polygons you have precision but it's possible to make up for a lack of accuracy.  Proceed as you will, it's just an idea, possibly a stupid idea.

  Are you sure? yes | no

Hexastorm wrote 12/24/2020 at 08:58 point

The problem with orthogonal errors is that part of the substrate simply does not get exposed. With parallel errors you can change the timing and wait longer or shorter.. You will reach each point of the substrate with your laser For orthogonal errors, one thing you can do is move back the scanhead but this would require extreme fast movement. That's why people combine a rotating mirror with a galvo. This is out of budget at the moment. Another possibility is multiple exposures, if you expose each line four times or decrease spacing between lines; it will start to average away. This is a fix I currently use. Finally, you can also make a good optical system. A spot size of 25 micron is very large, There are companies which go below 400 nm with a blue ray laser diode.

  Are you sure? yes | no

Gravis wrote 12/25/2020 at 02:58 point

"The problem with orthogonal errors is that part of the substrate simply does not get exposed."

If you move a scanline with orthogonal errors over the length of the target + the size of the largest negative and positive orthogonal errors then you will cover the entirety of the target.  The only difference is that the areas of the scanline with orthogonal errors will be hit before or after the rest of the scanline.  I'm suggesting that you factor in the orthogonal errors in at a higher level so that the desired pattern is still produced with the use of the flawed scanline.  The orthogonal and parallel errors are different for each side of the polygon which is why I suggested keeping track of the rotation of the polygon.

  Are you sure? yes | no

Gravis wrote 12/18/2020 at 18:20 point

So I had some thoughts on improving the accuracy using the FPGA.  I don't know much about the issues at play so do tell me if I'm off base.  It occurs to me that sending light through different sides of the facet results in ever so slightly varied planer output.  Therefore, adding slight delays for the laser pulse may be able to compensate and result in a more uniform output.  You could use a photointerrupter to keep track of the rotational position of the polygon though identifying the initial position would require calibration testing.  Using an FPGA would allow you to add a circuit to hold all the varying laser pulse delays and use the photointerrupter to switch between sets of delays.

  Are you sure? yes | no