From d931f49b67776c03a6a1dc7ae1d4040cf66f607f Mon Sep 17 00:00:00 2001 From: pedro Date: Wed, 2 Feb 2022 23:19:54 +0000 Subject: [PATCH] Tune homing and bed parameters --- bed.g | 18 +++++++---- config.g | 56 +++++++++++++++------------------ homeall.g | 26 +++++++-------- homex.g | 17 +++++----- homey.g | 14 +++++---- homez.g | 12 +++---- reprapfirmware_3.3.0-1_all.deb | Bin 0 -> 1033830 bytes resurrect.g | 39 +++++++++++++++++++++++ 8 files changed, 110 insertions(+), 72 deletions(-) create mode 100644 reprapfirmware_3.3.0-1_all.deb create mode 100644 resurrect.g diff --git a/bed.g b/bed.g index 7da0fad..a778789 100644 --- a/bed.g +++ b/bed.g @@ -5,10 +5,16 @@ M561 ; clear any bed transform -G30 P5 X65 Y0 Z-99999 ; probe near a leadscrew -G30 P1 X252.5 Y450 Z-99999 ; probe near a leadscrew -G30 P2 X450 Y0 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors - -M280 P0 S160 ; clear and reset BL touch -;G29 ; probe the bed and enable compensation +G30 P0 X5 Y5 Z-99999 ; probe near a leadscrew +G30 P1 X5 Y20 Z-99999 ; probe near a leadscrew +G30 P2 X20 Y5 Z-99999 ; probe near a leadscrew +G30 P3 X230 Y470 Z-99999 ; probe near a leadscrew +G30 P4 X250 Y470 Z-99999 ; probe near a leadscrew +G30 P5 X250 Y450 Z-99999 ; probe near a leadscrew +G30 P6 X270 Y470 Z-99999 ; probe near a leadscrew +G30 P7 X470 Y20 Z-99999 ; probe near a leadscrew +G30 P8 X470 Y5 Z-99999 ; probe near a leadscrew +G30 P9 X450 Y5 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors +M280 P0 S160 ; clear and reset BL touch +G29 S1 ; probe the bed and enable compensation diff --git a/config.g b/config.g index b9eea23..2481be7 100644 --- a/config.g +++ b/config.g @@ -1,4 +1,4 @@ -; Configuration file for Duet 3 (firmware version 3) and RatRig VCore3 500^3 +; Configuration file for Duet 3 (firmware version 3) and RatRig V\Core3 500^3 ; executed by the firmware on start-up ; @@ -9,41 +9,38 @@ M550 P"vcore3" ; set printer name fqdn: vcor M669 K1 ; select CoreXY mode ; Drives -M569 P0.0 S0 D3 H50 V50 ; physical drive 0.0 goes backwards -M569 P0.1 S0 D3 H50 V50 ; physical drive 0.1 goes backwards -M569 P0.2 S0 D3 H50 V50 ; physical drive 0.2 goes backwards -M569 P0.3 S1 D3 H50 V50 ; physical drive 0.3 goes forwards -M569 P0.4 S1 D3 H50 V50 ; physical drive 0.4 goes forwards -M569 P0.5 S0 D3 H50 V50 ; physical drive 0.5 goes backwards -M584 X0.3 Y0.4 Z0.0:0.1:0.2 E0.5 ; set drive mapping -M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation - -M92 X80.00 Y80.00 Z1600.00 E835 ; set steps per mm -M566 X400.00 Y400.00 Z6.00 E120.00 P1 ; set maximum instantaneous speed changes (mm/min) -M203 X20800.00 Y20800.00 Z1000.00 E3600.00 ; set maximum speeds (mm/min) -M201 X6000.00 Y6000.00 Z3000.00 E3600.00 ; set accelerations (mm/s^2) -M906 X2000 Y2000 Z1200 E800 I20 ; set motor currents (mA) and motor idle factor in per cent -M84 S30 ; Set idle timeout +M569 P0.0 S0 D3 H50 V50 ; physical drive 0.0 goes backwards +M569 P0.1 S0 D3 H50 V50 ; physical drive 0.1 goes backwards +M569 P0.2 S0 D3 H50 V50 ; physical drive 0.2 goes backwards +M569 P0.3 S1 D3 H50 V50 ; physical drive 0.3 goes forwards +M569 P0.4 S1 D3 H50 V50 ; physical drive 0.4 goes forwards +M569 P0.5 S0 D3 H50 V50 ; physical drive 0.5 goes backwards +M584 X0.3 Y0.4 Z0.2:0.1:0.0 E0.5 ; set drive mapping +M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation +M92 X80.00 Y80.00 Z1600.00 E835 ; set steps per mm +M566 X400.00 Y400.00 Z6.00 E120.00 P1 ; set maximum instantaneous speed changes (mm/min) +M203 X20800.00 Y20800.00 Z1000.00 E3600.00 ; set maximum speeds (mm/min) +M201 X6000.00 Y6000.00 Z3000.00 E3600.00 ; set accelerations (mm/s^2) +M906 X2000 Y2000 Z1200 E800 I20 ; set motor currents (mA) and motor idle factor in per cent +M84 S30 ; Set idle timeout ; Axis Limits -M208 X5 Y5 Z0 S1 ; set axis minima -M208 X500 Y500 Z500 S0 ; set axis maxima +M208 X0 Y0 Z0 S1 ; set axis minima +M208 X500 Y500 Z500 S0 ; set axis maxima ; Endstops -M574 X1 S1 P"io2.in" ; configure active-high endstop -M574 Y2 S1 P"io1.in" ; configure active-high endstop - +M574 X1 S1 P"io2.in" ; configure active-high endstop +M574 Y2 S1 P"io1.in" ; configure active-high endstop ; Z-Probe -M950 S0 C"io7.out" ; create servo pin 0 for BLTouch -M558 P9 C"^io7.in" H3 F250 T12000 A3 ; set Z probe type to bltouch and the dive height + speeds, run probing 3x +M950 S0 C"io7.out" ; create servo pin 0 for BLTouch +M558 P9 C"^io7.in" H2 F200 T10000 A5 ; set Z probe type to bltouch and the dive height + speeds, run probing 5x ;; Pay special attention to the values bellow on G31, the Z value needs to be validated for your printer ;; Start with something like 0.5 ;; Documentation available: https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe -G31 P500 X-30 Y-0.5 Z2.1 ; set Z probe trigger value, offset and trigger height -;; -M671 X-12.5:250:506.5 Y-12.5:508.5:-12.5 S6 ; define positions of Z leadscrews or bed levelling screws -M557 X30:470 Y30:470 P11 ; define 11x11 mesh grid +G31 P500 X-35 Y-0.5 Z3.175 ; set Z probe trigger value, offset and trigger height +M671 X-6:250:503 Y0:511:0 S5 ; define positions of Z leadscrews or bed levelling screws +M557 X5:465 Y5:465 P20 ; define 20x20 mesh grid ; Heaters ;; BED @@ -66,7 +63,6 @@ M950 F1 C"out4" Q20 ; create fan 1 on pin out4 ;M950 F1 C"!out4+out4.tach" Q25000 ; create fan 1 on pin out4 pwm fan (4 wires) M106 P1 C"Layer fan" S0 H-1 -L255 ; set fan 1 value. Thermostatic control is turned off - ; Lights M950 P2 C"out8" ; create output for lighning via DC DC SSR @@ -75,10 +71,8 @@ M563 P0 D0 H1 F1 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C -; Custom settings are not defined - ; Filament sensor - Duet3D laser filament monitor -M591 D0 P5 C"0.io4.in" R40:120 E3.0 S1 ; Duet3D laser sensor for extruder drive 0, connected to endstop input 4 (E0), tolerance 40 to 120%, 3mm comparison length, enabled filament monitoring +M591 D0 P5 C"io3.in" R40:120 E3.0 S1 ; Duet3D laser sensor for extruder drive 0, connected to endstop input 4 (E0), tolerance 40 to 120%, 3mm comparison length, enabled filament monitoring ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue diff --git a/homeall.g b/homeall.g index 36e083d..53587d8 100644 --- a/homeall.g +++ b/homeall.g @@ -6,31 +6,29 @@ M280 P0 S160 ; Precautionary alarm release M280 P0 S90 ; Ensure the pin is raised +M201 X500.00 Y500.00 ; Reduce acceleration for homing moves G91 ; relative positioning -G1 H2 Z2 F10800 ; lift Z relative to current position -G1 H1 X-625 F10800 ; move quickly to X axis endstop and stop there (first pass) -G1 H2 X10 F6000 ; go back a few mm +G1 H2 Z10 F10800 ; lift Z relative to current position +G1 H1 X-625 F3600 ; move quickly to X axis endstop and stop there (first pass) +G1 H2 X20 F3000 ; go back a few mm G1 H1 X-625 F256 ; move slowly to X axis endstop once more (second pass) +M201 X3000 Y3000 ; Return to full acceleration G90 ; absolute positioning -G1 X10 F6000 ; move forward 10mm +M201 X500.00 Y500.00 ; Reduce acceleration for homing moves G91 ; relative positioning -G1 H2 Z2 F10800 ; lift Z relative to current position -G1 H1 Y625 F10800 ; move quickly to Y axis endstop and stop there (first pass) -G1 Y-10 F6000 ; go back a few mm +G1 H1 Y625 F3600 ; move quickly to Y axis endstop and stop there (first pass) +G1 Y-20 F3000 ; go back a few mm G1 H1 Y625 F256 ; move slowly to Y axis endstop once more (second pass) -G90 ; absolute positioning -G1 Y10 F6000 ; move forward 10 mm +M201 X3000 Y3000 ; Return to full acceleration -G91 ; relative positioning -G1 H2 Z5 F10800 ; lift Z relative to current position G90 ; absolute positioning -G1 X275 Y250 F10800 ; go to first probe point +G1 X250 Y250 F3600 ; go to first probe point G30 ; home Z by probing the bed - +G29 S1 ; enable compensation +G91 ; Relative positioning G1 Z10 F100 ; lift Z relative to current position G90 ; absolute positioning -G29 S1 P"heightmap.csv" ; load weightmap diff --git a/homex.g b/homex.g index b9fdca2..08ee580 100644 --- a/homex.g +++ b/homex.g @@ -1,12 +1,13 @@ ; homex.g ; called to home the X axis ; +M201 X500.00 Y500.00 ; Reduce acceleration for homing moves +G91 ; relative positioning +G1 H2 Z10 F8000 ; lift Z relative to current position +G1 H1 X-625 F3600 ; move quickly to X axis endstop and stop there (first pass) +G1 X20 F3000 ; go back a few mm +G1 H1 X-625 F256 ; move slowly to X axis endstop once more (second pass) +M201 X3000 Y3000 ; Return to full acceleration +G1 H2 Z-10 F8000 ; lower Z again +G90 ; absolute positioning -G91 ; relative positioning -G1 H2 Z2 F10800 ; lift Z relative to current position -G1 H1 X-625 F10800 ; move quickly to X axis endstop and stop there (first pass) -G1 H2 X5 F6000 ; go back a few mm -G1 H1 X-625 F256 ; move slowly to X axis endstop once more (second pass) -;G1 H2 Z-2 F10800 ; lower Z again -G90 ; absolute positioning -G1 X10 F10800 ; move forward 10mm diff --git a/homey.g b/homey.g index 53438fe..b62a689 100644 --- a/homey.g +++ b/homey.g @@ -1,12 +1,14 @@ ; homey.g ; called to home the Y axis ; - +M201 X500.00 Y500.00 ; Reduce acceleration for homing moves G91 ; relative positioning -G1 H2 Z2 F10800 ; lift Z relative to current position -G1 H1 Y625 F10800 ; move quickly to Y axis endstop and stop there (first pass) -G1 Y-10 F6000 ; go back a few mm +G1 H2 Z10 F8000 ; lift Z relative to current position +G1 H1 Y625 F3600 ; move quickly to Y axis endstop and stop there (first pass) +G1 Y-20 F3000 ; go back a few mm G1 H1 Y625 F256 ; move slowly to Y axis endstop once more (second pass) -;G1 H2 Z-2 F10800 ; lower Z again +G1 Y10 F10800 ; move forward 10 mm +M201 X3000 Y3000 ; Return to full accelerationG1 H2 Z-10 F10800 +G1 H2 Z-10 F8000 ; Lower Z relative to current position G90 ; absolute positioning -G1 Y10 F10800 ; move forward 10 mm + diff --git a/homez.g b/homez.g index 09220f8..bd591ec 100644 --- a/homez.g +++ b/homez.g @@ -6,12 +6,10 @@ M280 P0 S160 ; Reset probe G91 ; relative positioning G1 H2 Z5 F10800 ; lift Z relative to current position G90 ; absolute positioning -G1 X275 Y250 F10800 ; go to first probe point +G1 X250 Y250 F10800 ; go to first probe point G30 ; home Z by probing the bed +G29 S1 ; probe the bed and enable compensation +G91 ; relative positioning +G1 Z10 F100 ; lift Z relative to current position +G90 ; absolute positioning -; Uncomment the following lines to lift Z after probing -G91 ; relative positioning -G1 Z5 F100 ; lift Z relative to current position -G90 ; absolute positioning - -G29 S1 P"heightmap.csv" ; Load saved height map diff --git a/reprapfirmware_3.3.0-1_all.deb b/reprapfirmware_3.3.0-1_all.deb new file mode 100644 index 0000000000000000000000000000000000000000..df7c38e156abc29773380ce6eee2ce3cb51e56bb GIT binary patch literal 1033830 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