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

    BL Touch

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    8
    126
    6.9k
    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

      @droftarts Is there a way to ignore the safety's and allow the bed to heat up to 70*C?

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

        @Gost101 It's going to be very difficult to tune the bed to the maximum temperature it can achieve, because sometimes it gets there, and sometimes it doesn't. There isn't anyway to disable the heater warning, because that would be unsafe. Try tuning to 60C.

        Also, have you changed the thermistor setting in config.g to what they actually are? I've just checked the Creality CR10 S5 Marlin firmware source code. Your bed thermistor should be a 100k EPCOS, and so is your hotend as standard. For the hot end, you linked an E3D heater cartridge, not the thermistor! Are you still using the stock thermistor? If so, it's also a 100k EPCOS thermistor. If they are both standard, change these lines in config.g for (slightly) more accurate temperatures:

        M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp
        ...
        M308 S1 P"e0temp" Y"thermistor" T100000 B4092  ; configure sensor 1 as thermistor on pin e0temp
        

        If you've changed the hot end thermistor, post what it is. Perhaps also post your current config.g.

        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

          I'm using this e3D thermistor for the hotend and the stock one for the bed. Granted I need to buy a higher temp one for the hotend. link text alt text

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

            @Gost101 Okay, so that's a Semitec 104NT (a drop-in replacement for the discontinued Semitec 104GT). Change config.g to:

            M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
            

            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 Tunning for the bed failed again.

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

                @droftarts Is there a way to increase the time before the heater faults for rising to slowly?

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

                  ; 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 P2 S0                                         ; Z One physical drive 2 goes forwards
                  M569 P3 S0                                         ; E physical drive 3 goes backwards
                  M584 X0 Y1 Z2 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 Y800 Z800 E1000 I50                      ; set motor currents (mA) and motor idle factor in per cent
                  M84 S30                                            ; Set idle timeout
                  
                  ; Axis Limits
                  M208 X0 Y0 Z0 S1                                   ; 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 P500 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 V0.0 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
                  • fcwiltundefined
                    fcwilt @Gost101
                    last edited by

                    @Gost101 said in BL Touch:

                    @droftarts Is there a way to increase the time before the heater faults for rising to slowly?

                    From the docs:

                    If auto tuning fails with a message that the temperature is not rising fast enough, this indicates that either you are using too low a P value in the M303 command, or the dead time in the existing model is much too low for your heater. You can increase the dead time using the M307 command. For example, sending M307 H0 D30 will increase the dead time to 30 seconds. The actual dead time will be known after a successful auto tuning.

                    Frederick

                    Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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

                      @peter247 @droftarts @fcwilt @Phaedrux @jay_s_uk @dc42 @Veti Everything works now. Here is the files for them: !!Update I'm unable to upload anything to this form for some reason so the code will be here instead!!
                      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 P2 S0                                         ; Z One physical drive 2 goes forwards
                      M569 P3 S0                                         ; E physical drive 3 goes backwards
                      M584 X0 Y1 Z2 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 Y1200 Z800 E1000 I50                      ; set motor currents (mA) and motor idle factor in per cent
                      M84 S30                                            ; Set idle timeout
                      
                      ; Axis Limits
                      M208 X0 Y0 Z0 S1                                   ; 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 P500 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:

                      ![0_1601478305928_be382bf7-6196-4141-a7b8-e83585cb6c91-image.png](Uploading 100%) code_text
                      

                      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 X250 Y250 F9000       ; go to first bed probe point and home Z
                      G30                      ; home Z by probing the bed
                      G1 Z10                   ; raise Z 10mm
                      
                      ; 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 X15 Y15 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
                      

                      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 F21600 ; move quickly to X axis endstop and stop there (first pass)
                      G1 H2 X5 F9000     ; go back a few mm
                      G1 H1 X-505 F7200  ; move slowly to X axis endstop once more (second pass)
                      G1 H2 Z-5 F9000    ; lower Z again
                      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 F21600 ; move quickly to Y axis endstop and stop there (first pass)
                      G1 H2 Y5 F9000     ; go back a few mm
                      G1 H1 Y-505 F7200  ; move slowly to Y axis endstop once more (second pass)
                      G1 H2 Z-5 F9000    ; lower Z again
                      G90                ; absolute positioning
                      

                      Time to break it more lol. I'm now trying to use both z axis independent of each other to calibrate them with a BL Tocuh.
                      I have read this: Bed levelling using multiple independent Z motors and the following code is what I have created for it. However the printer will home all as it would before. How do I level each axis via the BL Touch not only as part of Home All & Home Z but also as just a macro to level it.
                      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 Y1200 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 Y0 Z0 S1                                   ; 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 P500 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  ; probe the bed and enable compensation
                      G30 P0 X30 Y250 Z-505 ; probe near a leadscrew, half way along Y axis
                      G30 P1 X470 Y250 Z-505 S2 ; probe near a leadscrew and calibrate 2 motors
                      
                      

                      I've read older topic on this. The z axis lead screws are located at about -23 and 530. However if a leveling is performed it would be best to do it at 30 and 470 while the bed is centered at 250.

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

                        Hi,

                        Going from the docs I think you want to remove the G29 and add a G28.

                        On my printer, instead of using homing, I just set the Z=0 datum using G1 to move to the center of the bed and G30 to probe.

                        Frederick

                        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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

                          @fcwilt tried what you said didn't do what it was supposed to do. I think there is a lot more code that is involved in this.

                          fcwiltundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
                          • fcwiltundefined
                            fcwilt @Gost101
                            last edited by

                            @Gost101 said in BL Touch:

                            @fcwilt tried what you said didn't do what it was supposed to do. I think there is a lot more code that is involved in this.

                            Hi,

                            Here is my bed.g:

                            M98 P"probez.g"       ; set Z=0 datum (see below)
                            
                            ; specify where bed leveling adjustment screws are located
                            
                            M671 X-160:-160:160  Y-160:160:0 ; positions for adjusting screws 1,2,3
                            
                            ; probe near each adjusting screw and compute results
                            
                            G30 P2 X-140 Y-140 Z-99999   ; probe near an adjusting screw #1
                            G30 P0 X-140 Y140  Z-99999   ; probe near an adjusting screw #2
                            G30 P1 X140  Y0    Z-99999 S3; probe near an adjusting screw #3 and compute results
                            

                            Here is my probez.g:

                            M950 S0 C"duex.pwm5"                                ; create servo pin 0 for BLTouch
                            M558 P9 C"^zprobe.in" H2 F120 T12000 R0.2 A5 S0.01  ; set type for BLtouch and set parameters
                            G31 P25 X0 Y24.5 Z2.500                             ; set trigger value, offset and trigger height (larger = closer)
                            
                            G29 S2                  ; cancel mesh bed compensation
                            M290 R0 S0              ; cancel baby stepping
                            
                            G1 X0 Y-24.5            ; position for probing
                            G30                     ; do single probe - sets Z to probe trigger height
                            
                            

                            Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                            1 Reply Last reply Reply Quote 0
                            • Phaedruxundefined
                              Phaedrux Moderator @Gost101
                              last edited by

                              @Gost101 said in BL Touch:

                              I think there is a lot more code that is involved in this.

                              You're also going to need an M671 in your config.g to define the location of the lead screws. Review the independent z axis leveling doc again.

                              Z-Bot CoreXY Build | Thingiverse Profile

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

                                @Phaedrux said in BL Touch:

                                You're also going to need an M671 in your config.g to define the location of the lead screws. Review the independent z axis leveling doc again.

                                He's got one, config.g line 27:

                                M671 X-23:523. Y0:0 S0.5;

                                @Gost101 Though delete the trailing '.' after '523'. And this is odd, line 36 config.g

                                M208 X30:470 Y0:250

                                It has two M208 commands following it, which will supersede it, so delete it. Though I thought that X homes off the bed? Or did you move the microswitch so it doesn't?

                                Re bed.g, the G29 should probably be G29 S2 to clear the bed mesh, rather than create a bed mesh. You want home (G28) first, then do the bed levelling (the G30 commands), then create (G29) or apply a saved (G29 S1) bed mesh. So try:

                                ; 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  ; disable mesh compensation
                                G28 ; home all
                                G30 P0 X30 Y250 Z-505 ; probe near a leadscrew, half way along Y axis
                                G30 P1 X470 Y250 Z-505 S2 ; probe near a leadscrew and calibrate 2 motors
                                G29 ; or G29 S1 - create or load bed compensation mesh
                                

                                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

                                fcwiltundefined 1 Reply Last reply Reply Quote 1
                                • fcwiltundefined
                                  fcwilt @droftarts
                                  last edited by

                                  @droftarts said in BL Touch:

                                  M208 X30:470 Y0:250

                                  That is an alternate form for M208.

                                  The number before the : is the min, after the : is the max.

                                  His line is missing the Z values but if they were added it would be perfectly valid - it is the form I use.

                                  Frederick

                                  Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                                  Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                  • Phaedruxundefined
                                    Phaedrux Moderator @fcwilt
                                    last edited by

                                    @fcwilt Yes it's a valid form, but it's being over written with additional commands so isn't taking effect.

                                    ; Axis Limits
                                    M208 X30:470 Y0:250                                ; X carriage moves from 30 to 470, Y bed goes from 0 to 250
                                    M208 X0 Y0 Z0 S1                                   ; set axis minima
                                    M208 X500 Y500 Z500 S0                             ; set axis maxima
                                    

                                    Z-Bot CoreXY Build | Thingiverse Profile

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

                                      @Phaedrux said in BL Touch:

                                      @fcwilt Yes it's a valid form, but it's being over written with additional commands so isn't taking effect.

                                      Yes, I see that. But I just wanted to make sure that @Gost101 understood about the two forms.

                                      Frederick

                                      Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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

                                        @droftarts said in BL Touch:

                                        ; or G29 S1 - create or load bed compensation mesh

                                        So then how do I do the independent leveling? Here is my 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 Y1200 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 P500 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 X30 Y250 Z-505     ; probe near a leadscrew, half way along Y axis
                                        G30 P1 X470 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 X250 Y250 F9000       ; go to first bed probe point and home Z
                                        G30                      ; home Z by probing the bed
                                        G1 Z10                   ; raise Z 10mm
                                        
                                        ; 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 X15 Y15 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
                                        
                                        droftartsundefined 2 Replies Last reply Reply Quote 0
                                        • Gost101undefined
                                          Gost101
                                          last edited by

                                          There is a x limit switch at 0, a y limit switch at 0, and the z porbe as the 0.

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

                                            @Gost101 said in BL Touch:

                                            So then how do I do the independent leveling?

                                            First, understand the difference between 'bed (plane) levelling' and 'Bed mesh compensation'. Levelling the bed plane to the nozzle is trying to get the bed square to the XY axis, and has to be done mechanically; using the independent levelling takes some of the hassle out of this, by doing it automatically. However, mesh bed compensation is NOT levelling; it's to account for anomalies in the bed, though it can be used to show that the bed (or X axis) is not level.

                                            As you have a 'bed slinger', with bed moving in Y, and X mounted on Z (rather than any other layout eg CoreXY or Cartesian with bed moving in Z, eg Ultimaker), you actually need to do five things to get everything square:

                                            1. Build the machine square, so that XY, XZ and YZ linear rails are perpendicular with each other (three degrees of freedom - axis skew), and any dual linear rails (X, Y and Z) are parallel (three more degrees of freedom - rotation around axis). This, in itself, is so important and often overlooked. There are some good videos online.

                                            2. Level the X gantry to the frame: you need to do this at least once, so you can reference the bed from the frame.

                                            3. Mechanically level the bed to the nozzle: I expect your bed has levelling screws at the corners, so you have to do this manually. There is a method to do this with the Z probe, or you can do this manually by moving the nozzle to various points on the bed and adjusting the bed adjusters, like everybody did in the 'old' days.

                                            4. Create a bed mesh to account for anomalies in the bed.

                                            5. If printed parts are still not orthogonal (square), see M556, though you've probably not done step 1 right.

                                            You can swap 2 and 3 around, and level the bed to the frame, then level the X axis to the bed, though it's generally more accurate to level the X gantry to the frame.

                                            Steps 1, 2 and 3 should be your initial commissioning, and once done, shouldn't need redoing too often if you don't move the printer. Be aware you really want the printer on something flat, so it doesn't twist the frame. Steps 4 should only need redoing if you're using a different temperature, or you want to check the bed is still level. Step 5 would be if you moved the printer, and didn't want to go back to step 1 again!

                                            Then, each time you turn the printer on:

                                            1. With the bed square to the frame, you can use the independent levelling of the X gantry each time you turn on the printer, to make sure it stays level with the bed.

                                            2. Load the saved bed mesh.

                                            Well, that's the process I use anyway, though rarely even bother with the bed mesh as I have a small bed with 4mm glass on it.

                                            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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA