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

    Am I missing something obvious here with BLTouch?

    Scheduled Pinned Locked Moved Solved
    RepRapFirmware on other controllers
    3
    8
    443
    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.
    • re_tourundefined
      re_tour
      last edited by re_tour

      Hey guys. With the help of some great people here on the forum I was able to set up my reprap code so that my Ender 3 could work properly with BL Touch. I've printed many things by now, however, I think I'm missing something quite obvious.

      My BLTouch doesn't seem to work. After running the G29 command it maps the bed, but thats it. It doesn't do anything with that information, just gives me a fancy graphic interpretation of the bed setting.

      Maybe I misunderstood the goal of bltouch, but shouldn't it work in a way that after it does the mapping it uses the offsets of to even out the print so that my printed layers don't float or get scraped into the bed itself?

      I could be missing the obvious here, but I really don't know if I should do something with those offsets manually, like put it into every gcode or something.

      Could someone help me out?

      Creality Ender 3 | BIGTREETECH E3 RRF V1.1 Wifi | BLTouch | RepRap 3.3.0_11

      alankilianundefined re_tourundefined 2 Replies Last reply Reply Quote 0
      • alankilianundefined
        alankilian @re_tour
        last edited by alankilian

        @re_tour

        HERE'S a page talking a LOT about how mesh bed compensation works and what GCODE commands you need to use it.

        After you get the bed mapped and in use, the GCODE command M122 and you should see mesh bed compensation in use.:

        === Move ===
        DMs created 83, segments created 5, maxWait 1438872ms, bed compensation in use: mesh, comp offset 0.000
        

        SeemeCNC Rostock Max V3 converted to V3.2 with a Duet2 Ethernet Firmware 3.2 and SE300

        1 Reply Last reply Reply Quote 0
        • re_tourundefined
          re_tour @re_tour
          last edited by

          @re_tour I got this after running G29:

          === Move ===
          DMs created 83, maxWait 47806ms, bed compensation in use: mesh, comp offset 0.000
          

          However, my nozzle doesn't seem to do anything with the mesh at all. It doesn't compensate despite me setting everything well and square, be it offset or trigger height.

          Creality Ender 3 | BIGTREETECH E3 RRF V1.1 Wifi | BLTouch | RepRap 3.3.0_11

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

            Please post your full config.g and homing files. Bed.g and your slicer start gcode. Also include the results of M122 and M98 P"config.g"

            Z-Bot CoreXY Build | Thingiverse Profile

            re_tourundefined 2 Replies Last reply Reply Quote 0
            • re_tourundefined
              re_tour @Phaedrux
              last edited by

              @phaedrux
              My config.g:

              ; Configuration file for SKR-RFF-E3-v1.1 (firmware version 3)
              ; executed by the firmware on start-up
              ;
              ; generated by RepRapFirmware Configuration Tool v3.3.1-LPC-STM32+2 on Tue Dec 28 2021 01:07:55 GMT+0100 (közép-európai téli idő)
              
              ; General preferences
              G90                                            ; send absolute coordinates...
              M83                                            ; ...but relative extruder moves
              M550 P"Ender3"                                 ; set printer name
              
              ; Network
              M552 S1                                        ; enable network
              M586 P0 S1                                     ; enable HTTP
              M586 P1 S0                                     ; disable FTP
              M586 P2 S0                                     ; disable Telnet
              
              ; Drives
              M569 P0 S0                                     ; physical drive 0 goes backwards using TMC2209 driver timings
              M569 P1 S0                                     ; physical drive 1 goes backwards using TMC2209 driver timings
              M569 P2 S1                                     ; physical drive 2 goes forwards using TMC2209 driver timings
              M569 P3 S0                                     ; physical drive 3 goes forwards using TMC2209 driver timings
              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 E93.00               ; set steps per mm
              M566 X1200.00 Y1200.00 Z60.00 E360.00          ; set maximum instantaneous speed changes (mm/min)
              M203 X9000.00 Y9000.00 Z1800.00 E6000.00       ; set maximum speeds (mm/min)
              M201 X500.00 Y500.00 Z100.00 E5000.00          ; set accelerations (mm/s^2)
              M906 X1000 Y1000 Z1000 E1000 I30               ; 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 X235 Y235 Z260 S0                         ; set axis maxima
              
              ; Endstops
              M574 X1 S1 P"xstop"                            ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
              M574 Y1 S1 P"ystop"                            ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
              
              ; Z-Probe
              M950 S0 C"servo0"                              ; create servo pin 0 for BLTouch
              M558 P9 C"^probe" H5 F300:120 A3 T6000         ; set Z probe type to bltouch and the dive height + speeds,the F300:120 first speed 300 second 120
              G31 P500 X-44 Y-17 Z2.15                           ; set Z probe trigger value, offset and trigger height
              M557 X15:205 Y15:205 S15                       ; define mesh grid
              
              ; Heaters
              M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp
              M950 H0 C"bed" T0                              ; create bed heater output on bed and map it to sensor 0
              M307 H0 B0 R0.365 C296.6 D3.97 S1.00 V24.0                               ; disable bang-bang mode for the bed heater and set PWM limit
              M140 H0                                        ; map heated bed to heater 0
              M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
              M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
              M308 S1 P"e0temp" Y"thermistor" T100000 B4092  ; 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 R2.845 C121.4:119.4 D5.71 S1.00 V24.0                               ; disable bang-bang mode for heater  and set PWM limit
              M143 H1 S245                                   ; set temperature limit for heater 1 to 245C
              
              ; Fans
              M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
              M106 P0 C"Part Cooling Fan" S0 H-1             ; set fan 0 name and value. Thermostatic control is turned off
              M950 F1 C"fan1" Q500                           ; create fan 1 on pin fan1 and set its frequency
              M106 P1 C"Hotend Fan" S0.01 H1 T45             ; set fan 1 name and value. Thermostatic control is turned on
              
              ; Tools
              M563 P0 D0 H1 F0                               ; define tool 0
              G10 P0 X0 Y0 Z0                                ; set tool 0 axis offsets
              G10 P0 R0 S0                                   ; set initial tool 0 active and standby temperatures to 0C
              
              ; Custom settings are not defined
              
              M918 P1 E4 E1000000
              

              bed.g:

              ; bed.g
              ; called to perform automatic bed compensation via G32
              ;
              ; generated by RepRapFirmware Configuration Tool v3.3.1-LPC-STM32+2 on Tue Dec 28 2021 01:07:55 GMT+0100 (közép-európai téli idő)
              M561 ; clear any bed transform
              G29  ; probe the bed and enable compensation
              

              homex:

              ; homex.g
              ; called to home the X axis
              ;
              G91
              
              if !move.axes[1].homed
              	; raise Z a bit
              	G1 H2 Z5 
              
              G1 H2 Z5 F6000    ; lift Z relative to current position
              G1 H1 X-240 F3000 ; move quickly to X axis endstop and stop there (first pass)
              G1 H2 X5 F6000    ; go back a few mm
              G1 H1 X-240 F240  ; move slowly to X axis endstop once more (second pass)
              G90               ; absolute positioning
              

              homey:

              ; homey.g
              ; called to home the Y axis
              ;
              G91
               
              if !move.axes[0].homed
              	; raise Z a bit
              	G1 H2 Z5 
              	
              G1 H1 Y-240 F3000 ; move quickly to Y axis endstop and stop there (first pass)
              G1 H2 Y5 F6000    ; go back a few mm
              G1 H1 Y-240 F240  ; move slowly to Y axis endstop once more (second pass)
              G90               ; absolute positioning
              

              homez:

              ; homez.g
              ; called to home the Z axis
              
              ; do nothing if XY is not homed yet
              if !move.axes[0].homed || !move.axes[1].homed
                  echo "XY are not homed yet. Aborting"
                  abort
              ;end if
              
              G91
              G1 H2 Z5 F6000
              
              G90
              G1 X117.5 Y117.5 F6000
              
              G30 K0 Z-99999						    ; Probe the Z pin at the back
              
              G1 Z10 F9000
              

              homeall:

              ; homeall.g
              ; called to home all axes
              ;
              M98 P"/sys/homex.g"
              M98 P"/sys/homey.g"
              M98 P"/sys/homez.g"
              

              Creality Ender 3 | BIGTREETECH E3 RRF V1.1 Wifi | BLTouch | RepRap 3.3.0_11

              1 Reply Last reply Reply Quote 0
              • re_tourundefined
                re_tour @Phaedrux
                last edited by

                @phaedrux and my slicer start code:

                ; Ender 3 Custom Start G-code
                G92 E0 ; Reset Extruder
                G28 ; Home all axes
                G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
                G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
                G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
                G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
                G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
                G92 E0 ; Reset Extruder
                G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
                G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
                

                Creality Ender 3 | BIGTREETECH E3 RRF V1.1 Wifi | BLTouch | RepRap 3.3.0_11

                1 Reply Last reply Reply Quote 0
                • Phaedruxundefined Phaedrux moved this topic from Tuning and tweaking
                • Phaedruxundefined
                  Phaedrux Moderator
                  last edited by

                  You don't seem to have anywhere that the mesh is actually loaded other than in bed.g where G29 is called to create it.

                  If you are running G32/bed.g before each print then it will be active.

                  Otherwise you will need to add a G29 S1 to your slicer start gcode after the G28 in order to load the saved heightmap.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  re_tourundefined 1 Reply Last reply Reply Quote 1
                  • re_tourundefined
                    re_tour @Phaedrux
                    last edited by

                    @phaedrux Ah yes thank you very much, adding g29 s1 to the cura start code seems to have solved the issue!

                    Creality Ender 3 | BIGTREETECH E3 RRF V1.1 Wifi | BLTouch | RepRap 3.3.0_11

                    1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined Phaedrux marked this topic as a question
                    • Phaedruxundefined Phaedrux has marked this topic as solved
                    • First post
                      Last post
                    Unless otherwise noted, all forum content is licensed under CC-BY-SA