Top-Down SLA Printer Bulging Issue I have designed and built a top-down SLA 3D printer that uses a 405 nm 500 mW laser along with some galvanometers. I filled the vat with glycerin and then topped it off with about 2.5 cm of resin. I designed a wiper system for creating an even layer of resin quickly even on layers with large surface area. In my tests I have been dunking the build plate into the resin and then raising it to wipe the excess off to get a quick even layer (I raise it slightly above the level of the resin to be safe).
The problem I am having is that after the wiper wipes and the laser cures the layer, after a couple of layers the wiper will begin physically hitting the top of the part. The part continues to get higher and higher than the wiper level, which doesn't make sense because the wiper wipes all the excess off, and I am printing above the level of the resin so no extra resin is flowing onto the layer from the sides. This eventually stalls the wiper motor and the print fails.
I have a theory that the resin's surface tension might be pulling the layer of resin to the edges of the layer, causing the layer of resin to &quot;bulge&quot; up a little which would explain why the layer is curing higher than the wiper level. If this is the case does anyone know of any remedies to this? Do I have to heat the resin to lower its surface tension maybe?
Have any of you guys ever had this issue? Does anyone have any other theories? I am really stumped here and can't wait to start printing some cool models but I cannot continue experimentation until this is solved.
Thanks so much in advance for any help!
(I should mention I am using Anycubic Plant-Based Eco UV Resin in translucent green)
Let's look at the problem mathematically:

The bed has a 0 that puts the surface some distance $d_0$ above the surface of the resin, the wiper does put the first layer on that height.
after curing, the printer moves down distance $d_d$ to coat the top surface.
afterwards, the bed lowers back up to $d_0+d_l$ - a thickness of 1 layer lower, or in other terms, it moves $-(d_d-d_l)$

Now, how is it implemented in your G-code? check that!