Introduction: How to Correct the Projector Uniformity of the Ember Printer
In the Ember printer the 3D printing process starts with light being emitted from an LED which then passes thru a series of lenses before it goes into the DLP light engine. After it comes back out of the DLP it then goes thru several more lenses before eventually reaching the resin. The resulting image is pretty uniform (see the image above for a representation), but there is room for improvement. Because the Ember print file is just a stack of images, correcting for these deviations is straightforward. The only tools one needs are a micrometer, and Processing. A color sampling tool, and Excel is also useful unless you like doing linear regressions by hand.
Step 1: First We Clean
There is no sense in calibrating in a correction for a fingerprint or smear of resin. First make sure the window on the printer is clean, and then clean the glass window on resin tray (acetone is fine for both). Better yet start with a brand new tray.
Step 2: Measuring Light Intensity
Next we need to figure out how the light intensity varies across the print area.
We could measure the light intensity with a radiometer using a jig with holes in it to precisely position the sensor. However, it is also possible to use the resin as a sensor.
The thickness of the resin layer that forms on the window is related to dose,
thickness = a * ln (Dose/b)
where a and b are parameters unique to a given a resin (see Jacobs, Rapid Prototyping and Manufacturing - Fundamentals of Stereolithography, SOME, 1992). For this experiment we want a resin that has very little UV blocker so the measurement is more sensitive to the deviation in dose. Good resins to use would be Dreve SLE, the DWS digital wax series, or other resins that weakly attenuate UV light. Measuring a and b is currently an exercise left to the reader. It might be tempting to assume that thickness is proportional to the dose; however, if you try that with this data set the results are not great.
The experiment itself is pretty simple. Just remove the build head and put a layer of resin on the window. Expose the above image for a couple of seconds. After washing the film with isopropanol and blotting it dry, giving it a quick (10 s or less) exposure in an inert environment to make the film less tacky and easier to measure. Adjust the exposure time so that the films are 200 to 300 microns thick. If they are too thin they will be difficult to handle, and if they are too thick the film will curl alot causing other deviations and noise. Record the thickness at each full circle, and note the corresponding number.The calculations in the next sheet are based on 3 repeated measurements. It may be possible to use less, but the spreadsheet will need to be modified in places.
Step 3: Calculations - Significance Testing
The next step is figuring out if a correction is needed. In the excel sheet on the "Measurements" tab type in all 75 measurements in the orange boxes. Then add the correct critical dose and penetration depth values for the resin. Its not too important the the critical dose is correct, but the penetration depth needs to be accurate. The spread sheet then does an ANOVA analysis (green cells) to determine the significance of the variation in dose at the 25 different positions. If the p value is between 10 to 0.1 there is alot of noise in the measurements and the variation between all of the measurements is similar to the variation between each position. Either the projector is already pretty uniform, or the resin is not particularly dose sensitive or you cannot use a micrometer consistently. If the p value is less than 0.01, it is definitely worth proceeding thru the rest of the Instructable as there is a statistically significant amount of variation. If it is between 0.1 and 0.01 its not so clear cut.
Step 4: Regression Analysis
Excel has a pretty handy linear regression tool built in. From the purple boxes on the "Measurements" tab copy and pasted the calculated doses to "Regression" tab. I played around with a few different models. The residuals make it very clear that second order terms are needed. I am not sure if the form of this model is general for the Ember printer, so it is probably worth playing around here a bit.
Step 5: Processing Correction
The next step is to use processing to modify the slice images based on the regression model. If your model uses the same form, just cut and past the coefficients (blue box "Regression" tab). If you added other terms to the model, the code will need some slight modifications.
Step 6: Validation
The corrected image now shows a slight gradient in light intensity across the image. Once you have the corrected slice its worth printing the test print and measuring the thickness. If the model worked the ANOVA test will show no significant difference between positions and the root-mean-square error of the new prints will be lower than the initial test prints. In this case the RMS error was reduced 60%s.
The same processing code that was used for generating this slice can be easily modified to mask ember print files, just copy and paste the image stacks into the image stack file, and change the number of slices in the script.