Moai 200 - Measurement and correction of accuracy

#1

Before I print functional parts on the new and nice Moai 200, I readjusted the mechanics and ran the advance moai calibration. After that, I did some measurements of lateral laser accuracy. For this I screwed the build plate arm from the Z axis and put a CCD camera on top of the moai:

The calibration sheet lying on the platform was illuminated from below by the laser. With a corresponding long exposure (up to 10 seconds), the movement of the laser was recorded in an image.

Well you can see the typical distortion in the Y direction. In the corners, the Y-deviation is maximum (up to 4 mm):

A grid gives a good overview of the entire print area:

Here is a good comparison between laser (blue) and target grid (red):

Unfortunately, the XY calibration in Asura 2.2.2 is currently unable to correct the distortion in the corners.

Since the errors are not symmetrical, a bilinear correction in the individual sectors (10x10 mm) and a transformation from the laser coordinates to the nominal grid will be able to correct the distortion.

Initial programming attempts confirm the approach. For this I have adapted the path coordinates in G-code in a post process to the actual laser history.

If I find time to program again, then come some pictures and readings … Until then, the parts are made on the CNC milling machine.

7 Likes

#2

Can you give an estimate what resolution can you get in your correction image?

The first version of the Asura calibration procedure didn’t assume symmetry but was not very user friendly. The current version is simpler but uneffective in the corners.

You maybe want to take a look at OpenFL, it does exactly that (interpolation on a grid, sampling and adapting gcode paths).

0 Likes

#3

The camera maps the 200mm to about 2000 pixels. A pixel has almost 0.1mm. For the calculation of the interpolation values I need the intersections of the lattice lines of the laser and the template (printout of the laser printer). With a little image processing (OpenCV), the coordinates can be calculated in the sub-pixel range (line fitting in the intersection area and their intersection point calculation).

In the image section (10x10 mm) you can see the resolution of the laser and the template:

The difference between the laser grid and the template grid eliminates the distortion of the lens.

Thus, the absolute measurement accuracy depends only on the quality of the template grid. With an ideal template grid, the measurement accuracy could be estimated <0.1mm.

Thanks for the hint. I have not dealt with Form1 and its software yet. Is there someone who has taken a closer look at the calibration algorithm?

0 Likes

#4

That’s pretty good, i need to find a suitable usb camera for this!

The calibration happens at Formlabs before the printer leaves the factory. Each Form1/+ has a unique calibration grid stored in flash memory and sends this grid to the print software for distortion correction. It is a 5x5 grid with x- and y-values in galvo space units (uint_16). These 25 points correspond to a 5x5 grid on the buildplate with 32 mm spacings (-64 mm, 32 mm, 0 mm, 32 mm, 64 mm).
The gcode correction works like this: Straight lines over a threshold length (5mm) get sampled to account for curvature introduced by the correction (sample_line_segment_mm_s function). The mm coordinates then get mapped to galvo space with 2d interpolation on the calibration grid (mm_to_galvo function).

1 Like

#5

Thank you @nbltsgndpfrdbrms for the detailed calibration description of Form1. :slight_smile: :+1:

Due to my raster measurement, I decided to use a 20x20 raster and split straight lines into 2mm segments. More accuracy does not make sense IMO.

On my first try, I set the grid coordinates manually. This is too much work for me with every change to the laser system, which is why I will soon realize the more exact determination by image processing.

When choosing the camera and a corresponding megapixel lens you should make sure that the line resolution is high enough. The camera used here has a sensor size of 2/3 ".

1 Like

#6

So… what your saying is that you’ll never get accurate prints out of the Peopoly Moai 200 unless you stick to the center of the build plate?

0 Likes

#7

just a question to get things clear, is the paper got bended? the laser line shouldn’t just bend like that

0 Likes

#8

Hello @ Perras_Design. The deviations from the laser to the target lattice shows the image with the red-blue grid at the top quite clearly.

The particularly critical areas of my machine I have highlighted here in red:

moai200__2019-02-22_critical%20areas

I acquired the Moai200 to be able to print predominantly larger dimensionally stable objects. After the accuracy measurement, I was forced to perform a correction of the laser movement (see above).

Another problem I’m working on is the extreme adhesion of the print object to the FEP film, but I’ll be opening a new post soon…

1 Like

#9

The paper was definitely completely flat on the FEP film and the glass.

@Zipory wrote a very interesting post about this problem: “Geometric Accuracy”

To understand, I particularly recommend this link: Zamisel

0 Likes

#10

The adhesion of the FEP film can be partially kept in check by speeding up your laser in Cura as well as dialing back the pm motor and z follows considerably. Lowering your laser power may help, also.

0 Likes

#11

this is great, thanks for sharing. Following along

0 Likes

#13

Hello,
I have been wondering about this for a while, so I will ask it clearly today:
where does the pepoly problem come from with the distortions highlighted here and annoying since the beginning of moai?
Does Peopoly have any mathematical difficulties to convert the Cartesian coordinates of the points on the surface of the VAT into angular coordinates of the mirrors?
if not, could you explain to us the origin of the problem of distortions in order to solve it correctly and to definitively end it?
is it due to the fact that you have 2 mirrors? or what esle?

0 Likes

#14

Hello @bilin, thank you for your questions.

Before I try to give answers, I would like to briefly say something about my motivation. I deliberately chose to purchase an SLA printer against Form2. Why did I choose the Moai200?

  1. The Moai200 made a solid technical impression on pictures
  2. There is plenty of room for modifications and extensions
  3. It is a relatively open system with many dedicated users who like to share their knowledge and experience

I realized that the hardware and software of the Moai200 would not be at the level of Form2. However, I am convinced that the Moai200 (and its developers) have the potential to become better.

Until then, I will keep the Moai200 and eliminate the flaws and deficiencies as far as I can, so that I can hopefully be able to work with them soon enough.

Now to your questions.
The Y-directional distortions are in the nature of laser beam deflection over two mirrors (see Zamisel):
galvanometer

Normally, a concave distortion occurs, but the Moai200 produces a convex distortion:

moai200_grid-01
It is likely that a correction has already been made by Moai. What is calculated, but only know the Peopoly developers. The result is currently not enough for me.

Since the firmware for the galvo control is not open, unfortunately I can not say what the cause of the distortion is. The ideal place to correct the XY projection is the firmware. Since I do not get there but I can only try the distortion symptoms to eliminate as best as possible.

I think @peopolysupport, @peopoly or the developers can answer the questions better.

PS: In addition to the Y-distortion, there are many other, albeit less serious, sources of error: The arrangement of the two galvanometers and their mirrors are not ideal, the galvo mechanics is mounted on the less stable bottom plate and a temperature changes to one Lead long-term drift. Thus every moai will paint a different “picture”.

1 Like

#15

Wow
I need this kind of calibration on my 130!
And a way to calibrate Z height.

1 Like

#16

@ad_fontec
Very good job Bernhard :+1:. I hope it will help @peopolysupport

0 Likes