Calibration

It's amazing how much more productive we can be, now that we aren't spending most of our time shuffling boxes through our various living rooms and garages.

Matthew Wilson, Chris Gilroy, Mike Ziomkowski and I have been working towards refining the calibration and auto levelling accuracy of the printer.  We've made some good progress, but we aren't quite ready to release the mods to the world just yet.

This "Millennium Falcon Windshield" part is a custom calibration part that I drew up really quick in Solidworks.  The outer circle is 225mm - which brings it pretty close to the very edge of a 250mm glass plate.  (The skirt from this barely snags the bed clamps with the K-Head).  It is a single layer thick print, and after the glass cool it just popped and lifted off in one piece.

We think we've root caused some of the delta motion geometry issues.  There is a slight difference in width of the plastics at the ball rail carriage and at the end effector; nominal CAD is 41mm.  While the carriages are pretty much dead nuts on (after installing the metal standoff and tightening everything down), the end effector's mounting surfaces measures approximately 41.2mm apart on newer plastics.  This is a random error - we have to measure more parts to confirm.  My personal test machine, built from first run injection molded parts, show a much smaller difference - my end effector's mounting surfaces are much closer to the 41mm nominal than later manufactured parts.

Now, 0.2mm (0.008") is pretty close to allowable manufacturing tolerances.  But apparently for delta geometry, even over a 250mm rod swing, this 0.1% deviation is enough to cause things to go haywire.

Our current fix is to punch, from shim stock, shim washers, to correct the ball rail carriage's mounting surfaces to match the end effector's mounting surface distance.  Because the error is random, it would explain why some people have more issues with bed levelling than others.  We were able to induce an error, and make it go away by applying the shims.

Shimming drastically improves auto levelling accuracy, but there is still a little bit of tilt.  (Across the bed, the variance on the test part is about 0.1mm - usable for sure, but could be better).  

To fully understand, and fix the accuracy approach, I believe this is going to require a 4 prong approach:

1)  Make sure all the delta rod arms are the same length (we already do this with ZT-KIT-00255s by pre-gluing the arms on a machined fixture; we'll soon gain the ability to really measure with dial test indicator the true deviation from arm to arm by means of special test fixtures).

2)  Make sure that the mounting faces are as closely matched in distance as possible.  We'll have to release instructions on measuring the flange-to-flange distances and how to apply the shims as well as getting shims laser cut.

3)  Micro adjustment on the end stop switches.  Chris Gilroy have been playing with doing this in firmware's EEPROM.  The current thinking is releasing a calibration object that users can print and measure and use to dial in the EEPROM setting.

4)  Make sure that the ball joints are actually tucked in against the mounting frame.  This will likely take the form of a set of printable parts and a tension spring / elastic band to pull the arms in physically.

Anyway, this is great news for everyone out there with a printer; and we'll update in the next week or two on what progress we've made on getting this update / patch out to people.

-=- Terence