Initial expansion for how the site works

This commit is contained in:
lawgicau
2021-07-14 11:58:25 +10:00
parent 7d680caed2
commit a4eadd10b6
2 changed files with 94 additions and 11 deletions

View File

@ -8,7 +8,7 @@
<div id="header"></div> <div id="header"></div>
<div id="tabs"> <div id="tabs">
<ul> <ul>
<li><a href="#intro">Introduction - read me!</a></li> <li><a href="#intro">Introduction - <span style="color:red;">read me!</span></a></li>
<li><a href="#frame">Frame Check</a></li> <li><a href="#frame">Frame Check</a></li>
<li><a href="#pid">PID Autotune</a></li> <li><a href="#pid">PID Autotune</a></li>
<li><a href="#esteps">Extruder E-steps Calibration</a></li> <li><a href="#esteps">Extruder E-steps Calibration</a></li>
@ -26,27 +26,110 @@
<div id="intro"> <div id="intro">
<h2>Introduction</h2> <h2>Introduction</h2>
<p>This page serves as a companion for this video: <a href="https://www.youtube.com/watch?v=rp3r921DBGI" target="_blank">3D printer calibration revolutionised - Step by step to better print quality</a></p> <p>This page serves as a companion for this video: <a href="https://www.youtube.com/watch?v=rp3r921DBGI" target="_blank">3D printer calibration revolutionised - Step by step to better print quality</a></p>
<p>It has received a major update to bring it up to V2 which is explained in this video: <a href="https://www.youtube.com/watch?v=rp3r921DBGI" target="_blank">3D printer calibration revolutionised - Step by step to better print quality</a></p>
<iframe width="480" height="360" src="https://www.youtube.com/embed/rp3r921DBGI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<iframe width="480" height="360" src="https://www.youtube.com/embed/rp3r921DBGI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <iframe width="480" height="360" src="https://www.youtube.com/embed/rp3r921DBGI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p>It aims to make calibrating your 3D printer as easy as possible. If you find it helps you and you would like to say thank you, here is a donation link: <a href="https://paypal.me/testlawgicau" target="blank">PayPal.me</a></p> <p>It aims to make calibrating your 3D printer as easy as possible. If you find it helps you and you would like to say thank you, here is a donation link: <a href="https://paypal.me/testlawgicau" target="blank">PayPal.me</a></p>
<p>Special thanks to my <a href="http://www.patreon.com/teachingtech" target="_blank">Patrons</a> for suggesting this video, helping define the contents and testing/proofing.</p> <p>Special thanks to my <a href="http://www.patreon.com/teachingtech" target="_blank">Patrons</a> for suggesting this video, helping define the contents and testing/proofing.</p>
<p>Watch the video and then work through each tab. I have created a custom gcode generator to assist in making testing towers. This used to be a laborious process and beyond the skills of many users. Other times pre-sliced gcode was used from the internet, but it is impossible to have gcode available for every printer configuration. <i>Until now!</i></p> <p>Watch the videos and then work through each tab. I have created a custom gcode generator to assist in making testing towers. This used to be a laborious process and beyond the skills of many users. Other times pre-sliced gcode was used from the internet, but it is impossible to have gcode available for every printer configuration. <i>Until now!</i></p>
<div class="warning"> <div class="warning">
<h2>Warning - Read carefully!</h2> <h2>Warning - Read carefully!</h2>
<p>Every attempt has been made to ensure this is safe but ultimately there always is risk in running pre-sliced gcode from the internet. Preview the gcode in your slicer or <a href="http://gcode.ws/" target="_blank">Gcode.ws</a> and <span style="color:red; font-weight: bolder;">print at your own risk.</span></p> <p>Every attempt has been made to ensure this is safe but ultimately there always is risk in running pre-sliced gcode from the internet. Preview the gcode in your slicer or <a href="http://gcode.ws/" target="_blank">Gcode.ws</a> and <span style="color:red; font-weight: bolder;">print at your own risk.</span></p>
<p>Only print this gcode when you are present, alert and capable of stopping the printer in case of emergency.</p> <p>Only print this gcode when you are present, alert and capable of stopping the printer in case of emergency.</p>
<p>Validation has been built into the forms to only allow sensible min and max values, however this is not foolproof.</p> <p>Validation has been built into the forms to only allow sensible min and max values, however this is not foolproof.</p>
<p>The gcode generated by this page has the following general characteristics:</p> </div>
<h4>How this site works</h4>
<p>The gcode generated by this page is originally from Simplify3D. This website then uses Javascript to modify the contents based on user inputs. This site in not a web based slicer, therefore it is limited in some ways.</p>
<p>The aim for the site is to provide compatibility with the majority of 3D printers. It aims to be beginner friendly and as such where possible the interface is kept as minimal as possible. Because of this, some requests for extra functionality will not be accepted. Something that makes the experience better for 1% of users but confuses 40% of others is not worth including.</p>
<h4>Print Settings from the calibration S3D slicer profile</h4>
<p>A 'calibration' slicer profile in S3D is used as the basis of the gcode on this site. S3D offers multiple processes to assist with splitting the towers into segments where the print settings can vary. Apart from this, the only special functionality used is post processing scripts to delete some lines, and to modify others with simple search and replace functions.</p>
<p>The general characteristics of the slicer profile are as follows:</p>
<ul> <ul>
<li>Sliced for Marlin firmware, although in most cases will still be compatible with other firmwares.</li> <li>Sliced for Marlin firmware, although in most cases will still be compatible with other firmwares.</li>
<li>A build volume of 120 x 120 x 250 mm (This site can accommodate anything as small as this and anything larger)</li>
<li>1.75mm filament (However <b>M221 S38</b> for 2.85 mm filament and <b>M221 S34</b> for 3.0 mm filament can be applied in the custom start gcode field as compensation)</b></li> <li>1.75mm filament (However <b>M221 S38</b> for 2.85 mm filament and <b>M221 S34</b> for 3.0 mm filament can be applied in the custom start gcode field as compensation)</b></li>
<li>0.2mm layer height</li> <li>0.4mm nozzle and 0.2mm layer height, although now additional configurations are now possible</li>
<li>0.4mm nozzle</li> <li>0.4mm nozzle</li>
<li>Base feedrate of 60mm/sec, 50% for perimeters, 80% for solid infill, 50% first layer.</li> <li>Defaut feedrate of 60mm/sec, 50% for perimeters, 80% for solid infill, 50% first layer.</li>
<li>Nozzle priming has been turned off to avoid bed clips or problems with deltas</li> <li>Travel moves of 100 mm/sec for X/Y and 20 mm/sec for Z</li>
<li>Flow rate of 0.9. Please see the note on the bottom of the <a href="calibration.html#flow" target="_blank">flow</a> tab for instructions on adapting this to your printer.</li>
<li>Nozzle priming has been turned off to avoid bed clips or problems with deltas. Use the custom start gcode feature to insert the priming dequence from your slicer profile.</li>
<li>A single layer skirt (except on the acceleration test)</li> <li>A single layer skirt (except on the acceleration test)</li>
<li>100% part cooling fan for bridging</li>
<li>First layer height of 100%, width 120%</li>
<li>No minumum layer time, auto part cooling, etc</li>
<li>4 top layers, 3 bottom layers, 3 perimeters</li>
<li>20% rectilinear infill</li>
</ul>
<p>The information above is a summary, but if you wish to see the exact settings, the Simplify3D fff profile is available for download <a href="files/calibration.fff" target="_blank">here</a>.</p>
<p>Please note that non Simplify users can simply open this file in a text editor and everything will be listed.</p>
<p>You will see that there are also values in place for retraction, temperatures, etc. These are modified by post processing scripts and this site to suit user inputs.</p>
<h4>Post processing scripts in Simplify3D</h4>
<p>Unfortunately, there is no official reference for this provided by S3D. Instead, I have relied on <a href="" target="_blank">this forum post</a>.</p>
<p>The scripts in my profile perform the following tasks:</p>
<ul>
<li>Strip out all comments apart from new processes and layers.</li>
<li>Strip out all start and end gcode. This is provided by the site.</li>
<li>Find specific lines relating to retraction and zhop, replacing them with comments this site expects to find and modify further.</li>
</ul>
<pre>
{REPLACE "; process" ";process"}
{REPLACE "; layer" ";layer"}
{STRIP "; "}
{STRIP "M82"}
{STRIP "G90"}
{STRIP "M106 S0"}
{STRIP "M104"}
{STRIP "M109"}
{STRIP "M140"}
{STRIP "M190"}
{STRIP ";layer end"}
{REPLACE "G1 E-5.0000 F2400\n" ";retract1\n"}
{REPLACE "G1 E0.0000 F2400\n" ";unretract1\n"}
{REPLACE "G1 E-5.5000 F2460\n" ";retract2\n"}
{REPLACE "G1 E0.0000 F2460\n" ";unretract2\n"}
{REPLACE "G1 E-6.0000 F2520\n" ";retract3\n"}
{REPLACE "G1 E0.0000 F2520\n" ";unretract3\n"}
{REPLACE "G1 E-6.5000 F2580\n" ";retract4\n"}
{REPLACE "G1 E0.0000 F2580\n" ";unretract4\n"}
{REPLACE "G1 E-7.0000 F2640\n" ";retract5\n"}
{REPLACE "G1 E0.0000 F2640\n" ";unretract5\n"}
{REPLACE "G1 E-7.5000 F2700\n" ";retract6\n"}
{REPLACE "G1 E0.0000 F2700\n" ";unretract6\n"}</pre>
<h4>Changes made per test to the base slicing profile</h4>
<p>The information below is mainly for my reference. However, if you wish to duplicate the tests yourself out of interest or perhaps to develop a new test for the site, then the steps must be followed exactly.</p>
<p>First layer test: No changes, although it should be noted that a single square is included which is then duplicated and positioned by this site. Non uniform scaling of the souce STL needs to occur to suit certain nozzle/layer combinations.</p>
<p>Baseline test: No changes</p>
<p>Retraction test:</p>
<ul>
<li>'Process-1' from 0mm</li>
<li>'Process-2' from 5mm - 5.5 mm retraction at 41 mm/sec</li>
<li>'Process-3' from 10mm - 6.0 mm retraction at 42 mm/sec</li>
<li>'Process-4' from 15mm - 6.5 mm retraction at 43 mm/sec</li>
<li>'Process-5' from 20mm - 7.0 mm retraction at 44 mm/sec</li>
<li>'Process-6' from 25mm - 7.5 mm retraction at 45 mm/sec</li>
</ul>
<p>Temperature test:</p>
<ul>
<li>'Process-1' from 0mm</li>
<li>'Process-2' from 6mm</li>
<li>'Process-3' from 11mm</li>
<li>'Process-4' from 16mm</li>
<li>'Process-5' from 21mm</li>
</ul>
<p>Acceleration test:</p>
<ul>
<li>Skirt off and instead a 5 perimeter wide brim</li>
<li>0% infill</li>
<li>0 top and bottom layers</li>
<li>2 perimeters</li>
<li>Z seam alignment set to 0, 100 mm</li>
<li>'Process-1' from 0mm</li>
<li>'Process-2' from 5mm</li>
<li>'Process-3' from 10mm</li>
<li>'Process-4' from 15mm</li>
<li>'Process-5' from 20mm</li>
</ul> </ul>
<p>To be compatible, your printer should have a miniumum bed size of 100 x 100mm. The largest print is 85 x 95 x 30mm.</p>
</div>
</div> </div>
<div id="frame"> <div id="frame">
@ -147,7 +230,7 @@
<p>Auto bed levelling automates the procedure to some extent. A sensor such as a BLtouch, EZABL, strain gauge or peizo transducer is used to probe the bed in a grid formation. At each location, it measures the vertical height, building up an array of stored values, called a <i>mesh</i>. <a href="https://www.youtube.com/watch?v=vcxM7-VK44k" target="_blank">Manual mesh bed levelling</a> can also be used to probe such a grid, but is still a manual process and hence not considered 'automatic'. Here is a visual representation of a probed mesh, shown with the <a href="https://plugins.octoprint.org/plugins/bedlevelvisualizer/" target="_blank">Bed level visualizer Octprint plugin</a>:</p> <p>Auto bed levelling automates the procedure to some extent. A sensor such as a BLtouch, EZABL, strain gauge or peizo transducer is used to probe the bed in a grid formation. At each location, it measures the vertical height, building up an array of stored values, called a <i>mesh</i>. <a href="https://www.youtube.com/watch?v=vcxM7-VK44k" target="_blank">Manual mesh bed levelling</a> can also be used to probe such a grid, but is still a manual process and hence not considered 'automatic'. Here is a visual representation of a probed mesh, shown with the <a href="https://plugins.octoprint.org/plugins/bedlevelvisualizer/" target="_blank">Bed level visualizer Octprint plugin</a>:</p>
<a href="#" data-featherlight="img/ablmesh.jpg"><img class="thumb" src="img/ablmesh.jpg" /></a> <a href="#" data-featherlight="img/ablmesh.jpg"><img class="thumb" src="img/ablmesh.jpg" /></a>
<p>During printing, the firmware will reference the mesh and compensate for an angled and/or warped bed by raising and lowering the nozzle using Z axis movement. This means the nozzle can travel up and down to match the contours of the bed, ensuring a good first layer.</p> <p>During printing, the firmware will reference the mesh and compensate for an angled and/or warped bed by raising and lowering the nozzle using Z axis movement. This means the nozzle can travel up and down to match the contours of the bed, ensuring a good first layer.</p>
<p>In the printer's bed is perfectly flat, it is reasonable to claim ABL is not needed. Some users may still prefer it for the added convenience. In the event that the bed is warped (very common), it can be impossible to get a good first layer without ABL or manual mesh bed levelling. An example of this situation is shown in the video above.</p> <p>If the printer's bed is perfectly flat, it is reasonable to claim ABL is not needed. Some users may still prefer it for the added convenience. In the event that the bed is warped (very common), it can be impossible to get a good first layer without ABL or manual mesh bed levelling. An example of this situation is shown in the video above.</p>
<p>It's worth noting that you can compensate for a warped bed in other ways, such as shimming the lower portions with a thin and flexible material. You can also use a glass/mirror plate over the top, which are typically quite flat. The downside of this is a longer time required to reach printing tempratures and additional load on the Y stepper (on an i3/'bed slinger' style printer) that may require lower print speed/acceleration.</p> <p>It's worth noting that you can compensate for a warped bed in other ways, such as shimming the lower portions with a thin and flexible material. You can also use a glass/mirror plate over the top, which are typically quite flat. The downside of this is a longer time required to reach printing tempratures and additional load on the Y stepper (on an i3/'bed slinger' style printer) that may require lower print speed/acceleration.</p>
<p>The bed can be probed at the start of the print with a <b>G29</b> command, with the resulting mesh immediately used to compensate as the initial layers are produced. Alternatively, the bed can also be probed some other time (while not printing), the mesh stored in the EEPROM and then restored with <b>M420 S1</b> at the start of a print. In this case the print will start sooner, since we do not need to wait for a new mesh to be probed, although it may not be as accurate if anything has changed since probing. Either of these gcode commands should come after the <b>G28</b> home command in the start gcode.</p> <p>The bed can be probed at the start of the print with a <b>G29</b> command, with the resulting mesh immediately used to compensate as the initial layers are produced. Alternatively, the bed can also be probed some other time (while not printing), the mesh stored in the EEPROM and then restored with <b>M420 S1</b> at the start of a print. In this case the print will start sooner, since we do not need to wait for a new mesh to be probed, although it may not be as accurate if anything has changed since probing. Either of these gcode commands should come after the <b>G28</b> home command in the start gcode.</p>
<p>Although ABL can compensate for a crooked/non-levelled bed, it is still better to attempt to level manually first and get everything in the ballpark.</p> <p>Although ABL can compensate for a crooked/non-levelled bed, it is still better to attempt to level manually first and get everything in the ballpark.</p>

View File

@ -1,5 +1,5 @@
var commonStart =`; G-Code originally generated by Simplify3D(R) Version 4.1.2 var commonStart =`; G-Code originally generated by Simplify3D(R) Version 4.1.2
This calibration test gcode modified by the Teaching Tech Calibration website: https://teachingtechyt.github.io/calibration.html ;This calibration test gcode modified by the Teaching Tech Calibration website: https://teachingtechyt.github.io/calibration.html
;M80 ; power supply on ;M80 ; power supply on
G90 G90
M82 M82
@ -20,4 +20,4 @@ M104 S0 ; turn off extruder
M140 S0 ; turn off bed M140 S0 ; turn off bed
M84 ; disable motors M84 ; disable motors
M501 ; restore previous EEPROM values M501 ; restore previous EEPROM values
;customend` ;customend`;