Introduction: Ember Printer: Measuring Horizontal Resolution
The Air Force resolution test chart immediately above is often used to measure the resolution of an imaging system such as a camera or microscope. The smallest triplet of lines that can be distinguished (i.e. resolved) as separate lines indicates the limit of resolution of that system in each of the X & Y dimensions (in line pairs per mm, lp/mm, given by a function of that triplet’s numeric labels). I wanted a similar pattern that could be used to measure the resolution of the Ember 3D printer in a horizontal plane.
Ember uses a digital image to define each layer of its prints. Those images each have a resolution of 1280x800 pixels, and are projected to an area of ~64x40 mm, such that each pixel is nominally a 0.05 mm square. Thus the maximum possible resolution of the Ember in the X and Y dimensions is 10 lp/mm. (The resolution in the vertical (Z) dimension is determined by the layer thickness, which can be as low as 0.01 mm, suggesting a maximum possible vertical resolution of 50 lp/mm.) For comparison, a 2D printer capable of 600 dpi (dots per inch) could print 300 line pairs per inch, or about 12 lp/mm.
Whether or not that resolution can be realized in actual prints depends on many factors, including the model geometry, the resin, and the exposure settings. It is also limited by the fact that the array of square pixels in the input images are filtered and resampled by the projector inside the Ember, for display on its DMD that uses a diamond pixel array (see TI DLP® “Diamond” Pixel).
It should also be noted that this is just one of many ways to characterize Ember’s resolution. It may be useful in some applications where e.g. fine detail in embossed text is significant. For other applications, the smoothness of curved surfaces, or the ability to create small holes or filaments, could be more important than the ability to resolve adjacent lines. Andreas Bastian finds it useful in 3D printing to distinguish between the resolution for "positive" features (e.g bosses, extrusions, webs, and ridges) and "negative" features (e.g. holes, slots, and cavities). Indeed, Ember tends to fill in negative spaces, by enlarging the surrounding positive features, as we shall see here.
Step 1: Test Pattern Print Data
The test pattern image above was created in Microsoft Paint and saved as a PNG. In this case the numeric labels just give the width and separation, in pixels, of the lines in each set. (For the lines at 45°, the widths and separations are only approximate.)
A 1.5 mm tall rectangular base, chamfered at the bottom to ease its removal from the build platform, was modeled in Inventor and exported as the attached "test pattern base.stl". It was then sliced at emberprinter.com using the default settings for Standard Clear Prototyping resin (PR48), including a layer thickness of 0.025 mm.
The attached test_pattern_4.tar.gz was created by adding 20 copies of the test pattern image to those in the print data file generated by the slicer. (See Achieving Layered Geometries with PNG Stacks for a description of the process used to create an Ember print data file from a stack of images.) The test pattern image was first flipped horizontally, because it represents a view of the print from below, while the pattern is placed on top of the base and viewed from above. Twenty copies at 0.025 mm corresponds to an additional 0.5 mm in height of the print. However, since it's difficult to print very fine features at such a (relatively) large height, parts of each test pattern slice after the first two were removed, making the nominal height of each bar equal to its width. Thus, the single pixel wide lines appear in only two layers, making them ideally 0.05 x 0.05 mm in cross-section, the two-pixel wide lines appear in just four layers, and so on. Only the 10-pixel wide lines (and all the numeric labels) appear in all 20 slices.
Step 2: 3D Printed Test Pattern
The first completed print of the Ember test pattern is shown above. Note that the 1-pixel wide horizontal and vertical lines in the upper left corner appear to be coarser than the 2-pixel lines to their right. That apparent coarseness (about the same periodicity as the 7-pixel bars below and to the right of them) is a pattern of beats between the input 1-pixel lines and the sampling used for the diamond pixels in the DMD, as may be seen in the next step. Note too that almost nothing appears where the 1-pixel diagonals should be.
However, all the other patterns of lines (2-pixels wide and above) appear to be resolved. Thus this print suggests that Ember's horizontal resolution is 1/((2 pixel line + 2 pixel space) x ~0.05 mm/pixel) or ~5 lp/mm.
Step 3: 1-Pixel Lines
The first image above shows the beat patterns more clearly in the 1-pixel wide lines in both directions. Although individual 1-pixel lines may be seen, looking like a string of pearls, there is a brightness variation, probably corresponding to a depth/height variation, about every 7 strings.
Compare this image to Fig. 4 in Karl Guttag's article cited previously. The projected images of the 1-pixel wide lines in his test patterns show the same beat patterns. They are aliasing artifacts of the filtering and re-sampling used to translate the square pixels in the input image to the diamond pixels in the projector.
If you look to the left of the lines, where nothing but the flat base was printed, you can see diagonal structures that correspond to the projector's diamond pixels. To the right of the Y bars, a few faint diagonal lines are barely visible, running at 90 degrees to the direction of the diamond pixels. Below them, to the right of the X lines, the diagonal lines that would have been running parallel to the diamond pixels are virtually invisible. Both sets of diagonal lines have been almost completed filtered out of the projected images, and therefore out of the print.
The diamond pixels are clearly visible in the more magnified second image above, in which the brightest "pearls" appear to be the tallest ones, and each one corresponds to a single diamond pixel. Another copy of the print (more yellowish because it was post-cured for a longer time) was scored on its back and snapped off perpendicular to the vertical lines. The view of its edge shows little or no height variation (though it's also possible that the fracture went around rather than through the individual "pearls"). The scale shows how ideal single pixel lines would have appeared in cross section. However, the vertical height of all the lines was compressed, for reasons discussed in the step 5.
Step 4: 2-Pixel Lines
The 2-pixel lines show much less evidence of beating against the diamond pixels. But these lines are also clearly much wider than the spaces between them, even though they are the same width in the input images. These positive features have been made larger at the expense of the negative "valleys" between them. Also note how their square ends have been rounded. In both cases, this is presumably due to the filtering needed for the diamond pixels.
Though the height of each line relative to the valleys is much less than the ideal shown in the scale, distinct lines are indeed visible, indicating a resolution of at least 0.1 mm or 5 lp/mm. See the next step for an explanation for the low heights.
Step 5: 5-Pixel Lines
All of the lines with widths of more than 2 pixels were also resolved by Ember. However, the spaces between the lines are still to some degree narrower than the lines themselves at all widths.
Again the final height of the lines is much less than the 0.25 mm that would be expected for printing 10 layers at 0.025 mm per layer. That is because the initial layers were thicker than they should have been, probably due to the flexible window in the resin tray being pushed down by the build head, with extra resin trapped under it that was not allowed to escape before the exposures began. Since the total height is limited by the travel of the build head itself provided by the lead screw, this extra initial thickness reduced the thickness of the final layers in the print. The base ended up being 2.25 mm thick, instead of the intended 1.5 mm, and the thickest parts of the test pattern (shown in detail in the next step) added only 0.15 mm to that, instead of the intended 0.5 mm.
There may also have been some filling in of the spaces between the lines in the vertical (Z) direction. Note that there appear to be some early layers where the lines were being printed that are now below the level of the valleys between them.
Step 6: 10-Pixel Lines
The diamond pixels are also evident in the top image of the 10-pixel lines. At this size, the printed lines are still somewhat wider than the spaces between them, though the effects of filtering and re-sampling are proportionately less than they were on the narrower bars. The projected images of the white lines may also be slightly blurred, due to imperfect focus, which would make them cure a larger area, as well as rounding their corners.
The cross section again shows that the height of the lines is much less than would be expected, in this case for printing 20 layers at 0.025 mm per layer. See the previous step for an explanation of this discrepancy.
Step 7: Improved Print
A better print, shown above, was produced by adding a 1 s delay before exposing each layer, to address the issue noted in step 5. The print data file with those settings is attached to this step. (Some delay was also added before the first exposure by opening Ember's door when the build head was moving down at the start of the print, and not closing it until several seconds after the build head had reached the bottom.)
This print shows better definition of all the lines. The magnified image of the 1-pixel lines shows that it is possible to distinguish all 48 verticals, though again, there is a strong beat pattern with the diamond pixels, and no height difference could be discerned in a cross section. The beat patterns in the diagonal 1-pixel lines are also much clearer. This print therefore indicates that Ember can achieve the maximum possible resolution of 10 lp/mm, at least for lines in some directions, and with their heights dependent on their positions with respect to the underlying diamond pixels.
The cross section of the 10-pixel lines shows that they are somewhat taller and sharper than in the previous print, though their "verticals" are still angled and the lines are still far from the expected 0.5 mm height. Increasing the delays before each exposure might improve the line heights.