Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Independent Z axis Homing using BL Touch

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    6
    29
    1.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Gost101undefined
      Gost101
      last edited by

      @fcwilt @Phaedrux @droftarts this is the new thread,

      After the changes recommended I tried executing homeall and it would keep repeating home all instead of after homeall was complete run bed g.
      config:

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
      
      ; General preferences
      G90                                                ; send absolute coordinates...
      M83                                                ; ...but relative extruder moves 
      M550 P"A.C.E."                                     ; set printer name
      M918 P1 E4 F2000000                                ; configure direct-connect display
      
      ; Network
      M551 P"SpaceForceHu2020!!"                         ; set password
      M552 S1                                            ; enable network
      M586 P0 S1                                         ; enable HTTP
      M586 P1 S0                                         ; disable FTP
      M586 P2 S0                                         ; disable Telnet
      
      ; Drives
      M569 P0 S1                                         ; X physical drive 0 goes backwards
      M569 P1 S1                                         ; Y physical drive 1 goes backwards
      M569 P2 S0                                         ; Z One physical drive 2 goes forwards
      M569 P3 S0                                         ; E physical drive 3 goes backwards
      M569 P4 S0                                         ; Z Two physical drive 2 goes forwards
      M584 X0 Y1 Z2:4 E3                                 ; set drive mapping
      M671 X-23:523 Y0:0 S0.5;
      M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z400.00 E415.00                  ; set steps per mm
      M566 X1200.00 Y1200.00 Z24.00 E300.00              ; set maximum instantaneous speed changes (mm/min)
      M203 X9000.00 Y9000.00 Z180.00 E6000.00            ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z100.00 E5000.00              ; set accelerations (mm/s^2)
      M906 X800 Y1500 Z800 E1000 I50                     ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                            ; Set idle timeout
      
      ; Axis Limits
      ;M208 X30:470 Y0:250                               ; X carriage moves from 30 to 470, Y bed goes from 0 to 250
      M208 X0:500 Y0:500 Z0:500                          ; set axis minima
      ;M208 X500 Y500 Z500 S0                            ; set axis maxima
      
      ;Filiment Out Sensor
      M591 D0 P1 C"e0stop" S1                            ; filiment out sensor
      
      
      ; Endstops
      M574 X1 S1 P"xstop"                                ; configure active-high endstop for low end on X via pin xstop
      M574 Y1 S1 P"ystop"                                ; configure active-high endstop for low end on Y via pin ystop
      M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
      
      ; Z-Probe
      M950 S0 C"exp.heater7"                             ; create servo pin 0 for BLTouch
      M558 P9 C"^zprobe.in" H5 F600 T9000                ; set Z probe type to bltouch and the dive height + speeds
      G31 P25 X37 Y0 Z2.150                              ; set Z probe trigger value, offset and trigger height
      M557 X30:470 Y30:470 S25                           ; define mesh grid
      
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B4092     ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
      M307 H0 A340.0 C140.0 D600 S1.00 B1                ; enable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                            ; map heated bed to heater 0
      M143 H0 S72                                        ; set temperature limit for heater 0 to 72C
      M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8   ; configure sensor 1 as thermistor on pin e0temp
      M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
      M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
      
      ; Fans
      M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S1 H-1                                     ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 and set its frequency
      M106 P1 S1 H1 T45                                  ; set fan 1 value. Thermostatic control is turned on
      M950 F2 C"fan2" Q500                               ; create fan 2 on pin fan2 and set its frequency
      M106 P2 S1 H1:0 T45                                ; set fan 2 value. Thermostatic control is turned on
      
      ; Tools
      M563 P0 S"Hot end" H1 D0 F1:2                      ; define tool 1
      G10 P0 X0 Y0 Z0                                    ; set tool 1 axis offsets
      G10 P0 R0 S0                                       ; set initial tool 1 active and standby temperatures to 0C
      
      
      ; Custom settings are not defined
      
      ; Miscellaneous
      M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
      

      bed:

      ; bed.g
      ; called to perform automatic bed compensation via G32
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
      M561                      ; clear any bed transform
      ;G29 S2                     probe the bed and enable compensation
      G28                       ; home all
      G30 P0 X40 Y250 Z-505     ; probe near a leadscrew, half way along Y axis
      G30 P1 X450 Y250 Z-505 S2 ; probe near a leadscrew and calibrate 2 motors
      G29                       ; or G29 S1 - create or load bed compensation mesh 
      

      home all:

      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
      G91                      ; relative positioning
      G1 H2 Z5 F9000           ; lift Z relative to current position
      G1 H1 X-505 Y-505 F21600 ; move quickly to X and Y axis endstops and stop there (first pass)
      G1 H2 X5 Y5 F9000        ; go back a few mm
      G1 H1 X-505 Y-505 F7200  ; move slowly to X and Y axis endstops once more (second pass)
      G90                      ; absolute positioning                     
      G1 X213 Y250 F9000       ; go to first bed probe point and home Z
      G30                      ; home Z by probing the bed
      G1 Z10                   ; raise Z 10mm
      G32                      ; bed.g
      
      
      ; Uncomment the following lines to lift Z after probing
      ;G91                     ; relative positioning
      ;G1 Z5 F150              ; lift Z relative to current position
      ;G90                     ; absolute positioning
      

      home z:

      ; homez.g
      ; called to home the Z axis
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
      G91              ; relative positioning
      G1 H2 Z5 F9000   ; lift Z relative to current position
      G90              ; absolute positioning
      G1 X213 Y250 F9000 ; go to first probe point
      G30              ; home Z by probing the bed
      
      ; Uncomment the following lines to lift Z after probing
      ;G91             ; relative positioning
      ;G1 Z5 F150      ; lift Z relative to current position
      ;G90             ; absolute positioning
      
      1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt
        last edited by fcwilt

        Notice that in your bed.g file you have a G28 which runs the homeall.g file.

        In your homeall.g file you have G32 which runs the bed.g file.

        So round and round you go.


        If you really want to always run bed.g when you home all then don't use G28 in your bed.g file. Rely on the bed being homed in the homeall.g file


        Also in your config.g file you have this M557 X30:470 Y30:470 S25 which is not going to work since the probe has a X offset of 37.

        Change the 30 to 40 and it should work fine.

        Frederick

        1 Reply Last reply Reply Quote 0
        • fcwiltundefined
          fcwilt
          last edited by fcwilt

          You might want to consider creating a homeall.g file that works a bit differently than the approach spit out by the configuration tool.

          My homeall.g file looks like this:

          M98 P"homeZ.g"
          M98 P"homeX.g"
          M98 P"homeY.g"
          

          Then if you wanted to level the bed only when doing a home all you could add G32 to the end of the file

          M98 P"homeZ.g"
          M98 P"homeX.g"
          M98 P"homeY.g"
          G32
          

          Keep in mind the bed leveling will likely change the Z=0 datum so you probabley should add the following to the end of your bed.g file

          G1 X213 Y250
          G30
          
          1 Reply Last reply Reply Quote 0
          • fcwiltundefined
            fcwilt
            last edited by fcwilt

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • Gost101undefined
              Gost101
              last edited by

              @fcwilt bed g will not execute the independent axis homing and instead skip past them. In addition i get this error when running home all:

              	G28
              Error: Some computed corrections exceed configured limit of 0.50mm: -505.000 -505.000
              
              fcwiltundefined 1 Reply Last reply Reply Quote 0
              • fcwiltundefined
                fcwilt @Gost101
                last edited by

                @Gost101 said in Independent Z axis Homing using BL Touch:

                @fcwilt bed g will not execute the independent axis homing and instead skip past them. In addition i get this error when running home all:

                	G28
                Error: Some computed corrections exceed configured limit of 0.50mm: -505.000 -505.000
                

                Hi,

                To repeat, you have a G28 near the start of your bed.g file.

                This invokes homeall.g.

                And homeall.g ends with G32 which invokes bed.g again.

                Which invokes homeall.g again, which invokes bed.g again - forever.

                I have no idea what this does to the attempt to actually level the bed. Do the Z steppers appear to be trying to level the bed?

                Frederick

                1 Reply Last reply Reply Quote 0
                • Gost101undefined
                  Gost101
                  last edited by Gost101

                  @fcwilt The stepper motors do not attempt to level z. here is my code:
                  config:

                  
                  A.C.E.
                  Send code...
                  Status
                  Busy
                  Mode: FFF
                  Tool Position
                  X
                  53.0
                  Y
                  90.0
                  Z
                  0.97
                  Extruder Drives
                  Drive 0
                  0.0
                  Speeds
                  Requested Speed
                  3 mm/s
                  Top Speed
                  3 mm/s
                  Sensors
                  Vin
                  12.1 V
                  MCU Temperature
                  37.9 C
                  Z-Probe
                  1000
                   Tools
                   Extra
                   Control All
                  Tool	Heater	Current	Active	Standby
                  Hot end
                  T0 - Load Filament	Heater 1
                  off	22.9 C	
                  0
                  0
                  Bed	Heater 0
                  off	24.3 C	
                  0
                  0
                  Temperature Chart
                  System Directory
                  0:/sys/config.g
                  ; Configuration file for Duet WiFi (firmware version 3)
                  ; executed by the firmware on start-up
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
                  
                  ; General preferences
                  G90                                                ; send absolute coordinates...
                  M83                                                ; ...but relative extruder moves 
                  M550 P"A.C.E."                                     ; set printer name
                  M918 P1 E4 F2000000                                ; configure direct-connect display
                  
                  ; Network
                  M551 P"SpaceForceHu2020!!"                         ; set password
                  M552 S1                                            ; enable network
                  M586 P0 S1                                         ; enable HTTP
                  M586 P1 S0                                         ; disable FTP
                  M586 P2 S0                                         ; disable Telnet
                  
                  ; Drives
                  M569 P0 S1                                         ; X physical drive 0 goes backwards
                  M569 P1 S1                                         ; Y physical drive 1 goes backwards
                  M569 P2 S0                                         ; Z One physical drive 2 goes forwards
                  M569 P3 S0                                         ; E physical drive 3 goes backwards
                  M569 P4 S0                                         ; Z Two physical drive 2 goes forwards
                  M584 X0 Y1 Z2:4 E3                                 ; set drive mapping
                  M671 X-23:523 Y0:0 S0.5;
                  M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
                  M92 X80.00 Y80.00 Z400.00 E415.00                  ; set steps per mm
                  M566 X1200.00 Y1200.00 Z24.00 E300.00              ; set maximum instantaneous speed changes (mm/min)
                  M203 X9000.00 Y9000.00 Z180.00 E6000.00            ; set maximum speeds (mm/min)
                  M201 X500.00 Y500.00 Z100.00 E5000.00              ; set accelerations (mm/s^2)
                  M906 X800 Y1500 Z800 E1000 I50                     ; set motor currents (mA) and motor idle factor in per cent
                  M84 S30                                            ; Set idle timeout
                  
                  ; Axis Limits
                  ;M208 X30:470 Y0:250                               ; X carriage moves from 30 to 470, Y bed goes from 0 to 250
                  M208 X0:500 Y0:500 Z0:500                          ; set axis minima
                  ;M208 X500 Y500 Z500 S0                            ; set axis maxima
                  
                  ;Filiment Out Sensor
                  M591 D0 P1 C"e0stop" S1                            ; filiment out sensor
                  
                  
                  ; Endstops
                  M574 X1 S1 P"xstop"                                ; configure active-high endstop for low end on X via pin xstop
                  M574 Y1 S1 P"ystop"                                ; configure active-high endstop for low end on Y via pin ystop
                  M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
                  
                  ; Z-Probe
                  M950 S0 C"exp.heater7"                             ; create servo pin 0 for BLTouch
                  M558 P9 C"^zprobe.in" H5 F600 T9000                ; set Z probe type to bltouch and the dive height + speeds
                  G31 P25 X37 Y0 Z2.150                              ; set Z probe trigger value, offset and trigger height
                  M557 X40:470 Y40:470 S25                           ; define mesh grid
                  
                  ; Heaters
                  M308 S0 P"bedtemp" Y"thermistor" T100000 B4092     ; configure sensor 0 as thermistor on pin bedtemp
                  M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
                  M307 H0 A340.0 C140.0 D600 S1.00 B1                ; enable bang-bang mode for the bed heater and set PWM limit
                  M140 H0                                            ; map heated bed to heater 0
                  M143 H0 S72                                        ; set temperature limit for heater 0 to 72C
                  M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8   ; configure sensor 1 as thermistor on pin e0temp
                  M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
                  M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
                  
                  ; Fans
                  M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
                  M106 P0 S1 H-1                                     ; set fan 0 value. Thermostatic control is turned off
                  M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 and set its frequency
                  M106 P1 S1 H1 T45                                  ; set fan 1 value. Thermostatic control is turned on
                  M950 F2 C"fan2" Q500                               ; create fan 2 on pin fan2 and set its frequency
                  M106 P2 S1 H1:0 T45                                ; set fan 2 value. Thermostatic control is turned on
                  
                  ; Tools
                  M563 P0 S"Hot end" H1 D0 F1:2                      ; define tool 1
                  G10 P0 X0 Y0 Z0                                    ; set tool 1 axis offsets
                  G10 P0 R0 S0                                       ; set initial tool 1 active and standby temperatures to 0C
                  
                  
                  ; Custom settings are not defined
                  
                  ; Miscellaneous
                  M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
                  

                  bed:

                  ; bed.g
                  ;
                  M561                      ; clear any bed transform
                  G30 P0 X40 Y250 Z-505     ; probe near a leadscrew, half way along Y axis
                  G30 P1 X450 Y250 Z-505 S2 ; probe near a leadscrew and calibrate 2 motors
                  G29                       ; or G29 S1 - create or load bed compensation mesh 
                  G1 X213 Y250
                  G30
                  

                  home all:

                  ; homeall.g
                  ;
                  M98 P"homeX.g"      ; executes home X Axis
                  M98 P"homeY.g"      ; executes home Y Axis
                  M98 P"homeZ.g"      ; executes home Z Axis
                  G32
                  

                  home x:

                  ; homex.g
                  ; called to home the X axis
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
                  G91                ; relative positioning
                  G1 H2 Z5 F9000     ; lift Z relative to current position
                  G1 H1 X-505 F6000 ; move quickly to X axis endstop and stop there (first pass)
                  G1 H2 X5 F3600     ; go back a few mm
                  G1 H1 X-505 F1200  ; move slowly to X axis endstop once more (second pass)
                  G90                ; absolute positioning 
                  

                  home y:

                  ; homey.g
                  ; called to home the Y axis
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
                  G91                ; relative positioning
                  G1 H2 Z5 F9000     ; lift Z relative to current position
                  G1 H1 Y-505 F6000 ; move quickly to Y axis endstop and stop there (first pass)
                  G1 H2 Y5 F3600     ; go back a few mm
                  G1 H1 Y-505 F1200  ; move slowly to Y axis endstop once more (second pass)
                  G90                ; absolute positioning
                  

                  home z:

                  ; homez.g
                  ; called to home the Z axis
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
                  G91              ; relative positioning
                  G1 H2 Z5 F9000   ; lift Z relative to current position
                  G90              ; absolute positioning
                  G1 X213 Y250 F9000 ; go to first probe point
                  G30              ; home Z by probing the bed        
                  

                  And I still get this error after removine the g28:

                  	G28
                  Error: Some computed corrections exceed configured limit of 0.50mm: -505.000 -505.000
                  
                  Gost101undefined 1 Reply Last reply Reply Quote 0
                  • Gost101undefined
                    Gost101 @Gost101
                    last edited by

                    @fcwilt the mesh bed calibration will run but I do not see it ever move to calibrate the x axis being level using the independent z axis.

                    1 Reply Last reply Reply Quote 0
                    • Thaliosundefined
                      Thalios
                      last edited by

                      might want to increase the maximum compensation.

                      Mine is set as 15mm. check your config.g

                      ;Leadscrew locations
                      M671 X-10:-10:333  Y22.5:277.5:150 S15  ;Front left, Rear Left, Right  S15 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew
                      

                      Railcore II 300ZL with lots of upgrades (Duet 3 6HC)
                      Heavily modified Ender 3 Pro (Duet 3 6HC)
                      Heavily modified Tronxy X5SA-500 Pro with Chimera+ and dual bondtech (Duet 3 6HC)
                      CR-10S Pro V2 (Duet 3 Mini 5+)
                      and a bunch of SLA printers..

                      1 Reply Last reply Reply Quote 0
                      • fcwiltundefined
                        fcwilt
                        last edited by fcwilt

                        Hi,

                        OK less see...

                        In your config.g file you have this M671 X-23:523 Y0:0 S0.5;

                        That command is related to bed leveling being done in bed.g so you might as well put it there to keep things together.

                        The S parameter, which defaults to 1, sets the maximum correction to 0.5.

                        Move the M671 command from config.g to the beginning of bed.g and change the S parameter to 1.

                        If that fails you can change the parameter to a larger value OR you can call G32 multiple times in the homeall.g file.

                        Below G32 is called three time - two may be enough - three may be too little - just experiment until it works.

                        M98 P"homeX.g"      ; executes home X Axis
                        M98 P"homeY.g"      ; executes home Y Axis
                        M98 P"homeZ.g"      ; executes home Z Axis
                        G32
                        G32
                        G32
                        

                        In your bed.g file you have these commands:

                        G30 P0 X40 Y250 Z-505
                        G30 P1 X450 Y250 Z-505 S2

                        The Z parameters need to be Z-99999

                        Frederick

                        1 Reply Last reply Reply Quote 0
                        • Gost101undefined
                          Gost101
                          last edited by

                          @fcwilt @Thalios
                          So now the Z axis are being independently homed. At least they move to the locations and for z after the center bed z probe. It will then run the mesh bed calibration.

                          However I'm still getting:

                          G28
                          Error: Some computed corrections exceed configured limit of 1.00mm: -2.040 2.318
                          

                          Where is this coming from?

                          config:

                          ; Configuration file for Duet WiFi (firmware version 3)
                          ; executed by the firmware on start-up
                          ;
                          ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
                          
                          ; General preferences
                          G90                                                ; send absolute coordinates...
                          M83                                                ; ...but relative extruder moves 
                          M550 P"A.C.E."                                     ; set printer name
                          M918 P1 E4 F2000000                                ; configure direct-connect display
                          
                          ; Network
                          M551 P"SpaceForceHu2020!!"                         ; set password
                          M552 S1                                            ; enable network
                          M586 P0 S1                                         ; enable HTTP
                          M586 P1 S0                                         ; disable FTP
                          M586 P2 S0                                         ; disable Telnet
                          
                          ; Drives
                          M569 P0 S1                                         ; X physical drive 0 goes backwards
                          M569 P1 S1                                         ; Y physical drive 1 goes backwards
                          M569 P2 S0                                         ; Z One physical drive 2 goes forwards
                          M569 P3 S0                                         ; E physical drive 3 goes backwards
                          M569 P4 S0                                         ; Z Two physical drive 2 goes forwards
                          M584 X0 Y1 Z2:4 E3                                 ; set drive mapping
                          M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
                          M92 X80.00 Y80.00 Z400.00 E415.00                  ; set steps per mm
                          M566 X1200.00 Y1200.00 Z24.00 E300.00              ; set maximum instantaneous speed changes (mm/min)
                          M203 X9000.00 Y9000.00 Z180.00 E6000.00            ; set maximum speeds (mm/min)
                          M201 X500.00 Y500.00 Z100.00 E5000.00              ; set accelerations (mm/s^2)
                          M906 X800 Y1500 Z800 E1000 I50                     ; set motor currents (mA) and motor idle factor in per cent
                          M84 S30                                            ; Set idle timeout
                          
                          ; Axis Limits
                          ;M208 X30:470 Y0:250                               ; X carriage moves from 30 to 470, Y bed goes from 0 to 250
                          M208 X0:500 Y0:500 Z0:500                          ; set axis minima
                          ;M208 X500 Y500 Z500 S0                            ; set axis maxima
                          
                          ;Filiment Out Sensor
                          M591 D0 P1 C"e0stop" S1                            ; filiment out sensor
                          
                          
                          ; Endstops
                          M574 X1 S1 P"xstop"                                ; configure active-high endstop for low end on X via pin xstop
                          M574 Y1 S1 P"ystop"                                ; configure active-high endstop for low end on Y via pin ystop
                          M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
                          
                          ; Z-Probe
                          M950 S0 C"exp.heater7"                             ; create servo pin 0 for BLTouch
                          M558 P9 C"^zprobe.in" H5 F600 T9000                ; set Z probe type to bltouch and the dive height + speeds
                          G31 P25 X37 Y0 Z2.150                              ; set Z probe trigger value, offset and trigger height
                          M557 X40:470 Y40:470 S25                           ; define mesh grid
                          
                          ; Heaters
                          M308 S0 P"bedtemp" Y"thermistor" T100000 B4092     ; configure sensor 0 as thermistor on pin bedtemp
                          M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
                          M307 H0 A340.0 C140.0 D600 S1.00 B1                ; enable bang-bang mode for the bed heater and set PWM limit
                          M140 H0                                            ; map heated bed to heater 0
                          M143 H0 S72                                        ; set temperature limit for heater 0 to 72C
                          M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8   ; configure sensor 1 as thermistor on pin e0temp
                          M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
                          M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
                          
                          ; Fans
                          M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
                          M106 P0 S1 H-1                                     ; set fan 0 value. Thermostatic control is turned off
                          M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 and set its frequency
                          M106 P1 S1 H1 T45                                  ; set fan 1 value. Thermostatic control is turned on
                          M950 F2 C"fan2" Q500                               ; create fan 2 on pin fan2 and set its frequency
                          M106 P2 S1 H1:0 T45                                ; set fan 2 value. Thermostatic control is turned on
                          
                          ; Tools
                          M563 P0 S"Hot end" H1 D0 F1:2                      ; define tool 1
                          G10 P0 X0 Y0 Z0                                    ; set tool 1 axis offsets
                          G10 P0 R0 S0                                       ; set initial tool 1 active and standby temperatures to 0C
                          
                          
                          ; Custom settings are not defined
                          
                          ; Miscellaneous
                          M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
                          
                          
                          

                          bed:

                          ; bed.g
                          ;
                          M671 X-23:523 Y0:0 S1       ; Z axis lead screw locations
                          M561                        ; clear any bed transform
                          G30 P0 X40 Y250 Z-99999     ; probe near a leadscrew, half way along Y axis
                          G30 P1 X450 Y250 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
                          G29                         ; or G29 S1 - create or load bed compensation mesh 
                          G1 X213 Y250
                          G30
                          

                          home all:

                          ; homeall.g
                          ;
                          M98 P"homeX.g"      ; executes home X Axis
                          M98 P"homeY.g"      ; executes home Y Axis
                          M98 P"homeZ.g"      ; executes home Z Axis
                          G32
                          G32
                          G32
                          

                          home z:

                          ; homez.g
                          ; called to home the Z axis
                          ;
                          ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
                          G91                ; relative positioning
                          G1 H2 Z5 F9000     ; lift Z relative to current position
                          G90                ; absolute positioning
                          G1 X213 Y250 F9000 ; go to first probe point
                          G30                ; home Z by probing the bed         
                          
                          droftartsundefined 1 Reply Last reply Reply Quote 0
                          • Thaliosundefined
                            Thalios
                            last edited by

                            As I said you need to increase the S value in your M671. You have it set at 1mm. Your G32 says you have -2.xx to +2.xx, so a total of 4.5 to 5mm difference. Make it 6mm and be done with it.

                            Railcore II 300ZL with lots of upgrades (Duet 3 6HC)
                            Heavily modified Ender 3 Pro (Duet 3 6HC)
                            Heavily modified Tronxy X5SA-500 Pro with Chimera+ and dual bondtech (Duet 3 6HC)
                            CR-10S Pro V2 (Duet 3 Mini 5+)
                            and a bunch of SLA printers..

                            1 Reply Last reply Reply Quote 1
                            • droftartsundefined
                              droftarts administrators @Gost101
                              last edited by

                              @Gost101 said in Independent Z axis Homing using BL Touch:

                              However I'm still getting:

                              G28
                              Error: Some computed corrections exceed configured limit of 1.00mm: -2.040 2.318
                              Where is this coming from?

                              Increase the S value in M671 X-23:523 Y0:0 S1 to something like S5.

                              Make sure that the Z axis motors are connected as they are defined by M584 and the leadscrew positions (M671), or the correction will go the wrong way. Currently you have:

                              M584 X0 Y1 Z2:4 E3
                              M671 X-23:523 Y0:0 S1

                              So the motor plugged into motor driver 2 (the Z driver) should be driving the left hand side leadscrew at X-23, and the motor plugged into driver 4 (the E1 driver) should be driving the right hand side leadscrew at X523.

                              Ian

                              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                              1 Reply Last reply Reply Quote 1
                              • Gost101undefined
                                Gost101
                                last edited by Gost101

                                @droftarts said in Independent Z axis Homing using BL Touch:

                                M584

                                @droftarts The Z axis motor at X 523 will go down while the other goes up. How would I correct this? I did increase the S value to 5.
                                bed g

                                ; bed.g
                                ;
                                M671 X-23:523 Y0:0 S5       ; Z axis lead screw locations
                                M561                        ; clear any bed transform
                                G30 P0 X40 Y250 Z-99999     ; probe near a leadscrew, half way along Y axis
                                G30 P1 X450 Y250 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
                                G29                         ; or G29 S1 - create or load bed compensation mesh 
                                G1 X213 Y250
                                G30
                                

                                config:

                                ; Configuration file for Duet WiFi (firmware version 3)
                                ; executed by the firmware on start-up
                                ;
                                ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Sep 28 2020 07:45:49 GMT-0600 (Mountain Daylight Time)
                                
                                ; General preferences
                                G90                                                ; send absolute coordinates...
                                M83                                                ; ...but relative extruder moves 
                                M550 P"A.C.E."                                     ; set printer name
                                M918 P1 E4 F2000000                                ; configure direct-connect display
                                
                                ; Network
                                M551 P"SpaceForceHu2020!!"                         ; set password
                                M552 S1                                            ; enable network
                                M586 P0 S1                                         ; enable HTTP
                                M586 P1 S0                                         ; disable FTP
                                M586 P2 S0                                         ; disable Telnet
                                
                                ; Drives
                                M569 P0 S1                                         ; X physical drive 0 goes backwards
                                M569 P1 S1                                         ; Y physical drive 1 goes backwards
                                M569 P2 S0                                         ; Z One physical drive 2 goes forwards
                                M569 P3 S0                                         ; E physical drive 3 goes backwards
                                M569 P4 S0                                         ; Z Two physical drive 2 goes forwards
                                M584 X0 Y1 Z2:4 E3                                 ; set drive mapping
                                M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
                                M92 X80.00 Y80.00 Z400.00 E415.00                  ; set steps per mm
                                M566 X1200.00 Y1200.00 Z24.00 E300.00              ; set maximum instantaneous speed changes (mm/min)
                                M203 X9000.00 Y9000.00 Z180.00 E6000.00            ; set maximum speeds (mm/min)
                                M201 X500.00 Y500.00 Z100.00 E5000.00              ; set accelerations (mm/s^2)
                                M906 X800 Y1500 Z800 E1000 I50                     ; set motor currents (mA) and motor idle factor in per cent
                                M84 S30                                            ; Set idle timeout
                                
                                ; Axis Limits
                                ;M208 X30:470 Y0:250                               ; X carriage moves from 30 to 470, Y bed goes from 0 to 250
                                M208 X0:500 Y0:500 Z0:500                          ; set axis minima
                                ;M208 X500 Y500 Z500 S0                            ; set axis maxima
                                
                                ;Filiment Out Sensor
                                M591 D0 P1 C"e0stop" S1                            ; filiment out sensor
                                
                                
                                ; Endstops
                                M574 X1 S1 P"xstop"                                ; configure active-high endstop for low end on X via pin xstop
                                M574 Y1 S1 P"ystop"                                ; configure active-high endstop for low end on Y via pin ystop
                                M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
                                
                                ; Z-Probe
                                M950 S0 C"exp.heater7"                             ; create servo pin 0 for BLTouch
                                M558 P9 C"^zprobe.in" H5 F600 T9000                ; set Z probe type to bltouch and the dive height + speeds
                                G31 P25 X37 Y0 Z2.150                              ; set Z probe trigger value, offset and trigger height
                                M557 X40:470 Y40:470 S25                           ; define mesh grid
                                
                                ; Heaters
                                M308 S0 P"bedtemp" Y"thermistor" T100000 B4092     ; configure sensor 0 as thermistor on pin bedtemp
                                M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
                                M307 H0 A340.0 C140.0 D600 S1.00 B1                ; enable bang-bang mode for the bed heater and set PWM limit
                                M140 H0                                            ; map heated bed to heater 0
                                M143 H0 S72                                        ; set temperature limit for heater 0 to 72C
                                M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8   ; configure sensor 1 as thermistor on pin e0temp
                                M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
                                M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
                                
                                ; Fans
                                M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
                                M106 P0 S1 H-1                                     ; set fan 0 value. Thermostatic control is turned off
                                M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 and set its frequency
                                M106 P1 S1 H1 T45                                  ; set fan 1 value. Thermostatic control is turned on
                                M950 F2 C"fan2" Q500                               ; create fan 2 on pin fan2 and set its frequency
                                M106 P2 S1 H1:0 T45                                ; set fan 2 value. Thermostatic control is turned on
                                
                                ; Tools
                                M563 P0 S"Hot end" H1 D0 F1:2                      ; define tool 1
                                G10 P0 X0 Y0 Z0                                    ; set tool 1 axis offsets
                                G10 P0 R0 S0                                       ; set initial tool 1 active and standby temperatures to 0C
                                
                                
                                ; Custom settings are not defined
                                
                                ; Miscellaneous
                                M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
                                
                                1 Reply Last reply Reply Quote 0
                                • Phaedruxundefined
                                  Phaedrux Moderator
                                  last edited by

                                  @Gost101 said in Independent Z axis Homing using BL Touch:

                                  M584 X0 Y1 Z2:4 E3

                                  Which motor is connected to driver 2 and which to driver 4?

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  1 Reply Last reply Reply Quote 0
                                  • Gost101undefined
                                    Gost101
                                    last edited by

                                    @Phaedrux that would be the motor that goes down.

                                    droftartsundefined 1 Reply Last reply Reply Quote 0
                                    • droftartsundefined
                                      droftarts administrators @Gost101
                                      last edited by

                                      @Gost101 said in Independent Z axis Homing using BL Touch:

                                      @Phaedrux that would be the motor that goes down.

                                      That answer makes NO sense. We can’t see what you’re seeing, so you need to answer questions clearly, or we end up with another 100+ post thread.

                                      If the motors are moving the wrong way during levelling ie it gets worse not better, either swap the Z motor connections, or change M584 to

                                      M584 X0 Y1 Z4:2 E3 
                                      

                                      Mapping the correct motor to the correct leadscrew is fundamental to bed levelling, and is clearly covered in the documentation. Please read and follow documentation more carefully, it’ll save you a lot of time and unnecessary questions.

                                      Ian

                                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                      1 Reply Last reply Reply Quote 1
                                      • Gost101undefined
                                        Gost101
                                        last edited by

                                        @droftarts @Phaedrux Both z axis work fine going up and down during all other aspects of the calibration eg, home z, manually going up and down. Only when the x axis is trying to be leveled via the z axis does the motor 2 z axis move so far down that the x axis becomes uneven to the bed.

                                        droftartsundefined 1 Reply Last reply Reply Quote 0
                                        • droftartsundefined
                                          droftarts administrators @Gost101
                                          last edited by

                                          @Gost101 the bed levelling rotates around X0, so one side (should be the right side, at X523) will move much more than the other side. If the left side is moving a large amount, and as I’ve told you three times now, swap the Z motors connections at the Duet over!

                                          Ian

                                          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                          1 Reply Last reply Reply Quote 0
                                          • Gost101undefined
                                            Gost101
                                            last edited by

                                            @droftarts I understand now. I had a brain fart right then. It's all fixed. It works very well now. Now for some reason the height map is very weird compared to what it used to be. This is what I see. So I have to do anything to my slicer Cura to use the mesh bed?

                                            droftartsundefined 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA