Fix temp test error, add support for Prusa Mini ABL

This commit is contained in:
lawgicau
2020-08-13 18:59:57 +10:00
parent 93c101fa8b
commit 70503de0d4
2 changed files with 76 additions and 28 deletions

View File

@ -55,7 +55,7 @@
<li>Base feedrate of 60mm/sec</li>
<li>0.2 - 0.4mm of Z hop</li>
<li>Nozzle priming has been turned off to avoid bed clips or problems with deltas</li>
<li>A single layer skirt</li>
<li>A single layer skirt (except on the acceleration test)</li>
</ul>
<p>To be compatible, your printer should have a miniumum bed size of 100 x 100mm. The largest print is 85x 95 x 30mm</p>
</div>
@ -89,6 +89,8 @@
<p>Ensure all belts are properly alinged and tensioned sufficiently.</p>
<h4>Fans</h4>
<p>Check all fans are spinning freely. This includes but is not limited to: mainboard cooling fan, heat sink fan, part cooling fan, PSU fan. It can be hard to diagose if a fan is performing at less than full capacity. It may be easier to simply replace than repair if you suspect a fan is failing.</p>
Another suitable video for seeing some of these procedures is here:
<div class="videoThumb" data-youtube="https://youtu.be/kAafiApJs9A"></div>
</div>
<div id="pid">
@ -149,6 +151,7 @@
<option value="1">Probe new mesh at the start of print - G29</option>
<option value="2">Restore saved mesh - M420 S1</option>
<option value="3">Prusa MK3 - G28 W followed by M80</option>
<option value="4">Prusa Mini - Only heat nozzle to 170, then G29</option>
</select>
<h4>Retraction</h4>
<p>For intial tests, you can leave the retraction speed at 40 mm/sec. For a bowden tube printer, 6mm is a likely retraction distance. For direct drive, a starting value of 1mm may be suitable.</p>
@ -472,6 +475,7 @@
<option value="1">Probe new mesh at the start of print - G29</option>
<option value="2">Restore saved mesh - M420 S1</option>
<option value="3">Prusa MK3 - G28 W followed by M80</option>
<option value="4">Prusa Mini - Only heat nozzle to 170, then G29</option>
</select>
<h4>Retraction</h4>
<p>For intial tests, you can leave the retraction speed at 40 mm/sec. For a bowden tube printer, 6mm is a likely retraction distance. For direct drive, a starting value of 1mm may be suitable. Vary either side of this for each segment.</p>
@ -577,6 +581,7 @@
<option value="1">Probe new mesh at the start of print - G29</option>
<option value="2">Restore saved mesh - M420 S1</option>
<option value="3">Prusa MK3 - G28 W followed by M80</option>
<option value="4">Prusa Mini - Only heat nozzle to 170, then G29</option>
</select>
<h4>Retraction</h4>
<p>For intial tests, you can leave the retraction speed at 40 mm/sec. For a bowden tube printer, 6mm is a likely retraction distance. For direct drive, a starting value of 1mm may be suitable.</p>
@ -733,9 +738,10 @@
<option value="1">Probe new mesh at the start of print - G29</option>
<option value="2">Restore saved mesh - M420 S1</option>
<option value="3">Prusa MK3 - G28 W followed by M80</option>
<option value="4">Prusa Mini - Only heat nozzle to 170, then G29</option>
</select>
<h4>Retraction</h4>
<p>For intial tests, you can leave the retraction speed at 40 mm/sec. For a bowden tube printer, 6mm is a likely retraction distance. For direct drive, a starting value of 1mm may be suitable.</p>
<p>For intial tests, you can leave the retraction speed at 40 mm/sec. For a bowden tube printer, 6mm is a likely retraction distance. For direct drive, a starting value of 1mm may be suitable. If you are following this guide in order, you shuld already know your ideal retraction values.</p>
<label>Retraction distance (mm): <input type="number" name="retdist" value="5" min="0" max="20"></label>
<label>Retraction speed (mm/sec): <input type="number" name="retspeed" value="40" min="5" max="150"></label><br />
<h4>Base feedrate/speed</h4>

View File

@ -97,6 +97,17 @@ function processBaseline(){
if(pc == 2){
baseline = baseline.replace(/M106 S255/, ";M106 S255");
}
baseline = baseline.replace(/M140 S60/g, "M140 S"+bedTemp);
baseline = baseline.replace(/M190 S60/g, "M190 S"+bedTemp);
if(abl != 4){
baseline = baseline.replace(/M104 S210/g, "M104 S"+hotendTemp);
baseline = baseline.replace(/M109 S210/g, "M109 S"+hotendTemp);
} else {
baseline = baseline.replace(/M104 S210/g, "; Prusa Mini");
baseline = baseline.replace(/M109 S210/g, "; Prusa Mini");
}
baseline = baseline.replace(/G1 E-5.0000 F2400/g, "G1 E-"+retDist+" F"+retSpeed);
baseline = baseline.replace(/G1 E0.0000 F2400/g, "G1 E0.0000 F"+retSpeed);
if(abl == 1){
baseline = baseline.replace(/;G29 ; probe ABL/, "G29 ; probe ABL");
}
@ -104,15 +115,14 @@ function processBaseline(){
baseline = baseline.replace(/;M420 S1 ; restore ABL mesh/, "M420 S1 ; restore ABL mesh");
}
if(abl == 3){
baseline = baseline.replace(/G28 ; home all axes/, "G28 W ; home all without mesh bed level")
baseline = baseline.replace(/;G29 ; probe ABL/, "G80 ; mesh bed leveling")
baseline = baseline.replace(/G28 ; home all axes/, "G28 W ; home all without mesh bed level");
baseline = baseline.replace(/;G29 ; probe ABL/, "G80 ; mesh bed leveling");
}
if(abl == 4){
baseline = baseline.replace(/G28 ; home all axes/, "M109 S170 T0 ; probing temperature\nG28 ; home all");
baseline = baseline.replace(/;G29 ; probe ABL/, "G29 ; probe ABL");
baseline = baseline.replace(/;M420 S1 ; restore ABL mesh/, "M109 S"+hotendTemp+" T0");
}
baseline = baseline.replace(/M140 S60/g, "M140 S"+bedTemp);
baseline = baseline.replace(/M190 S60/g, "M140 S"+bedTemp);
baseline = baseline.replace(/M104 S210/g, "M104 S"+hotendTemp);
baseline = baseline.replace(/M109 S210/g, "M109 S"+hotendTemp);
baseline = baseline.replace(/G1 E-5.0000 F2400/g, "G1 E-"+retDist+" F"+retSpeed);
baseline = baseline.replace(/G1 E0.0000 F2400/g, "G1 E0.0000 F"+retSpeed);
if(centre == true){
var baselineArray = baseline.split(/\n/g);
@ -191,6 +201,15 @@ function processRetraction(){
if(pc == 2){
retraction = retraction.replace(/M106 S255/, ";M106 S255");
}
retraction = retraction.replace(/M140 S60/g, "M140 S"+bedTemp);
retraction = retraction.replace(/M190 S60/g, "M190 S"+bedTemp);
if(abl != 4){
retraction = retraction.replace(/M104 S210/g, "M104 S"+hotendTemp);
retraction = retraction.replace(/M109 S210/g, "M109 S"+hotendTemp);
} else {
retraction = retraction.replace(/M104 S210/g, "; Prusa Mini");
retraction = retraction.replace(/M109 S210/g, "; Prusa Mini");
}
if(abl == 1){
retraction = retraction.replace(/;G29 ; probe ABL/, "G29 ; probe ABL");
}
@ -201,10 +220,12 @@ function processRetraction(){
retraction = retraction.replace(/G28 ; home all axes/, "G28 W ; home all without mesh bed level")
retraction = retraction.replace(/;G29 ; probe ABL/, "G80 ; mesh bed leveling")
}
retraction = retraction.replace(/M140 S60/g, "M140 S"+bedTemp);
retraction = retraction.replace(/M190 S60/g, "M140 S"+bedTemp);
retraction = retraction.replace(/M104 S210/g, "M104 S"+hotendTemp);
retraction = retraction.replace(/M109 S210/g, "M109 S"+hotendTemp);
if(abl == 4){
retraction = retraction.replace(/G28 ; home all axes/, "M109 S170 ; probing temperature\nG28 ; home all");
retraction = retraction.replace(/;G29 ; probe ABL/, "G29 ; probe ABL");
retraction = retraction.replace(/;M420 S1 ; restore ABL mesh/, "M109 S"+hotendTemp+" T0");
}
if(centre == true){
var retractionArray = retraction.split(/\n/g);
var regexp = /X\d+/;
@ -298,8 +319,13 @@ function processTemperature(){
temperature = temperature.replace(/G28 ; home all axes/, "G28 W ; home all without mesh bed level")
temperature = temperature.replace(/;G29 ; probe ABL/, "G80 ; mesh bed leveling")
}
if(abl == 4){
temperature = temperature.replace(/G28 ; home all axes/, "M109 S170 T0 ; probing temperature\nG28 ; home all");
temperature = temperature.replace(/;G29 ; probe ABL/, "G29 ; probe ABL");
temperature = temperature.replace(/;M420 S1 ; restore ABL mesh/, "M109 S500 T0");
}
temperature = temperature.replace(/M140 S60/g, "M140 S"+bedTemp);
temperature = temperature.replace(/M190 S60/g, "M140 S"+bedTemp);
temperature = temperature.replace(/M190 S60/g, "M190 S"+bedTemp);
temperature = temperature.replace(/G1 E-5.0000 F2400/g, "G1 E-"+retDist+" F"+retSpeed);
temperature = temperature.replace(/G1 E0.0000 F2400/g, "G1 E0.0000 F"+retSpeed);
@ -343,13 +369,19 @@ function processTemperature(){
});
temperature = temperatureArray.join("\n");
}
}
temperature = temperature.replace(/M104 S190/g, "M104 S"+a1);
temperature = temperature.replace(/M109 S190/g, "M109 S"+a1);
temperature = temperature.replace(/M109 S195/g, "M109 S"+b1);
temperature = temperature.replace(/M109 S200/g, "M109 S"+c1);
temperature = temperature.replace(/M109 S205/g, "M109 S"+d1);
temperature = temperature.replace(/M109 S210/g, "M109 S"+e1);
}
if(abl != 4){
temperature = temperature.replace(/M104 S190/g, "M104 S"+a1);
temperature = temperature.replace(/M109 S190/g, "M109 S"+a1);
} else {
temperature = temperature.replace(/M104 S190/g, "; Prusa Mini");
temperature = temperature.replace(/M109 S190/g, "; Prusa Mini");
temperature = temperature.replace(/M109 S500/g, "M109 S"+a1);
}
temperature = temperature.replace(/M104 S195/g, "M104 S"+b1);
temperature = temperature.replace(/M104 S200/g, "M104 S"+c1);
temperature = temperature.replace(/M104 S205/g, "M104 S"+d1);
temperature = temperature.replace(/M104 S210/g, "M104 S"+e1);
downloadFile('temperature.gcode', temperature);
}
@ -396,6 +428,17 @@ function processAcceleration(){
if(pc == 2){
acceleration = acceleration.replace(/M106 S255/, ";M106 S255");
}
acceleration = acceleration.replace(/M140 S60/g, "M140 S"+bedTemp);
acceleration = acceleration.replace(/M190 S60/g, "M140 S"+bedTemp);
if(abl != 4){
acceleration = acceleration.replace(/M104 S210/g, "M104 S"+hotendTemp);
acceleration = acceleration.replace(/M109 S210/g, "M109 S"+hotendTemp);
} else {
acceleration = acceleration.replace(/M104 S210/g, "; Prusa Mini");
acceleration = acceleration.replace(/M109 S210/g, "; Prusa Mini");
}
acceleration = acceleration.replace(/G1 E-5.0000 F2400/g, "G1 E-"+retDist+" F"+retSpeed);
acceleration = acceleration.replace(/G1 E0.0000 F2400/g, "G1 E0.0000 F"+retSpeed);
if(abl == 1){
acceleration = acceleration.replace(/;G29 ; probe ABL/, "G29 ; probe ABL");
}
@ -406,12 +449,11 @@ function processAcceleration(){
acceleration = acceleration.replace(/G28 ; home all axes/, "G28 W ; home all without mesh bed level")
acceleration = acceleration.replace(/;G29 ; probe ABL/, "G80 ; mesh bed leveling")
}
acceleration = acceleration.replace(/M140 S60/g, "M140 S"+bedTemp);
acceleration = acceleration.replace(/M190 S60/g, "M140 S"+bedTemp);
acceleration = acceleration.replace(/M104 S210/g, "M104 S"+hotendTemp);
acceleration = acceleration.replace(/M109 S210/g, "M109 S"+hotendTemp);
acceleration = acceleration.replace(/G1 E-5.0000 F2400/g, "G1 E-"+retDist+" F"+retSpeed);
acceleration = acceleration.replace(/G1 E0.0000 F2400/g, "G1 E0.0000 F"+retSpeed);
if(abl == 4){
acceleration = acceleration.replace(/G28 ; home all axes/, "M109 S170 T0 ; probing temperature\nG28 ; home all");
acceleration = acceleration.replace(/;G29 ; probe ABL/, "G29 ; probe ABL");
acceleration = acceleration.replace(/;M420 S1 ; restore ABL mesh/, "M109 S"+hotendTemp+" T0");
}
if(centre == true){
var accelerationArray = acceleration.split(/\n/g);