3D Printer Bed Leveling: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= What This Wiki Page Is = | |||
This wiki page collects OSE's understanding of bed leveling mechanisms of FFF 3D printers. It is intended for use when assessing other's bed leveling mechanisms as well as serving as a design rationale for various bed leveling mechanism developments (see [[Prusa_i3_Development]], . | |||
= Slide Show used as Meeting Working Document = | |||
<html><iframe src="https://docs.google.com/presentation/d/194yjcF-Nk5P-wWkNLZduG910FuK_HnFIApBTexUDjxo/embed?start=false&loop=false&delayms=3000" frameborder="0" width="960" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe></html> | |||
= Introduction = | = Introduction = | ||
Line 25: | Line 29: | ||
They both had bad sensor placement (fixed to frame, not to bed or print head) and bad sensor fixation (manually placed along smooth rod, held in place by friction alone) made re-calibration a frequent and time consuming issue for these designs. | They both had bad sensor placement (fixed to frame, not to bed or print head) and bad sensor fixation (manually placed along smooth rod, held in place by friction alone) made re-calibration a frequent and time consuming issue for these designs. | ||
== Two Data Points == | |||
This allows compensating for bed tilt around one axis. | |||
No common design does this. | |||
== Three Data Points == | |||
This allows compensating for tilt around two axes. | |||
This is the most common number of data points. Compensation is achieved by applying a rotational matrix either to each individual layer (modifies figures overall shape, rotational error on each layer compared to gcode) or to the complete gcode all at once (preserves 3D figure shape). | This is the most common number of data points. Compensation is achieved by applying a rotational matrix either to each individual layer (modifies figures overall shape, rotational error on each layer compared to gcode) or to the complete gcode all at once (preserves 3D figure shape). | ||
== More Data points == | |||
... | |||
= Researched Sources = | = Researched Sources = |
Revision as of 14:39, 1 February 2016
What This Wiki Page Is
This wiki page collects OSE's understanding of bed leveling mechanisms of FFF 3D printers. It is intended for use when assessing other's bed leveling mechanisms as well as serving as a design rationale for various bed leveling mechanism developments (see Prusa_i3_Development, .
Slide Show used as Meeting Working Document
Introduction
All common FFF 3D printers needs a constant distance between nozzle and print or print bed during all print layers. This is critical when first/bottom layers are put down, since bed adherence is what keeps the figure fixed during print. The printer itself therefore holds a "model" of the print bed in its firmware. All common gcode (move-instructions for printer) assumes a flat print bed in the models XY-plane. This is also the printers default model of the physical print bed, before any compensation sensing or adaption.
Automatic bed leveling/tramming/compensation is a process where the printer detects actual bed height in one or more bed points. Sensed values are used to actively translate gcode moves, compensating for physical bed shape (height, tilt and unevenness) during print in order to achieve as good first layers as possible. Sensor placement, sensor fixation and sensing mechanism limits the possible sensing area and number of sensing points. Number and precision of sensed points sets fixed limits on compensation quality based on simple geometry. Each sensed point allows removing implicit assumptions about physical bed shape. Sensor precision determines compensation repeatability.
Zero Data Points
This means the printer user has to manually set first layer height before print. No common designs does this due to the time consumption of the procedure. For one printer that actually does this, see Clerck.
One Data Point
This allows automatic bed height adaption. The printer's modeled Z-axis and the Z-axis assumed by the gcode will be completely parallel. Early RepRap designs such as Darwin and Mendel used this. They both had bad sensor placement (fixed to frame, not to bed or print head) and bad sensor fixation (manually placed along smooth rod, held in place by friction alone) made re-calibration a frequent and time consuming issue for these designs.
Two Data Points
This allows compensating for bed tilt around one axis. No common design does this.
Three Data Points
This allows compensating for tilt around two axes. This is the most common number of data points. Compensation is achieved by applying a rotational matrix either to each individual layer (modifies figures overall shape, rotational error on each layer compared to gcode) or to the complete gcode all at once (preserves 3D figure shape).
More Data points
...
Researched Sources
http://www.protoparadigm.com/news-updates/3screw-bed-leveling-and-the-importance-of-a-level-print-bed-on-a-3d-printer/ | |
http://www.tridimake.com/2015/12/bed-leveling-tramming-sensors.html | Steps through entire state of the art/tech tree of choices. Ends up recommending using three Force Sensing Resistors. |
http://www.tridimake.com/2015/12/tribed-fully-automatic-bed-leveling-and-z-offset-adjustment.html | |
http://forums.reprap.org/read.php?14,605317 | Forum thread announcing load cell z-probe design. |
http://www.instructables.com/id/Reprap-Load-Cell-Z-Probe/ | Instructable for load cell based bed level system announced in above link. |
http://hackaday.com/2014/04/15/automated-bed-leveling-for-3d-printers-is-now-solved/ | |
http://www.instructables.com/id/Mach3-Zero-Probe-Tool/ |