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

    Bed Leveling Challenges Duet 2 Wifi + BLTouch

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    4
    20
    1.2k
    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.
    • elliundefined
      elli
      last edited by

      I purchased this Taz Workhorse last summer secondhand and have been chasing a solid bed leveling process and result ever since. I find that regardless of what process or environmental conditions I change, I am unable to get a consistent first layer.

      Things I've done:

      • Tested the repeatability of my bltouch, and the deviation is within .001.
      • Moved the printer from a tabletop to a flat concrete floor.
      • Experimented with various bed leveling flows.
      • Swapped out the borosilicate bed.
      • Tried printing on different parts of the bed.
      • Recalibrating the probe offset.

      This is my current setup -

      config.g

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sat Jun 13 2020 22:43:12 GMT-0500 (Central Daylight Time)
      
      ; General preferences
      G90                                                    ; send absolute coordinates...
      M83                                                    ; ...but relative extruder moves
      M550 P"Gertie the Workhorse"                                  ; set printer name
      M308 S11 P"mcu-temp" Y"mcu-temp" A"Duet Board"         ; Configure MCU sensor
      
      ; 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 X goes backwards
      M569 P1 S0                                             ; physical drive Y goes backwards
      M569 P2 S1                                             ; physical drive Z1 goes forwards
      M569 P3 S1                                             ; physical drive E0 goes backwards (2.85 - P3 S0) (1.75 - P3 S1)
      M569 P4 S0                                             ; physical drive Z2 goes backwards
      
      ; Dual Z Axis
      M584 X0 Y1 Z2:4 E3                                     ; two Z motors connected to driver outputs Z and E1
      M671 X-100:400 Y150:150 S4                             ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
      
      ; Motor settings
      M350 X32 Y32 Z32:32 E32 I0                             ; configure microstepping without interpolation
      M92 X200.00 Y200.00 Z1000.00 E819.2                    ; set steps per mm
      M566 X480.00 Y480.00 Z300.00 E12000                    ; set maximum instantaneous speed changes (mm/min)
      M203 X12000.00 Y12000.00 Z3000.00 E1500.00             ; set maximum speeds (mm/min)
      M201 X4500.00 Y4500.00 Z50.00 E10000.00                ; set accelerations (mm/s^2)
      M906 X1000 Y1000 Z1250 E850 I30                        ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                                ; Set idle timeout
      
      ; Axis Limits
      M208 X-50 Y-20 Z-5 S1                                  ; set axis minima
      M208 X300 Y315 Z300 S0                                 ; set axis maxima
      
      ; 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
      
      M558 P9 C"^zprobe.in" H3 A3 F60 T3000                   ; BLTouch connected to Z probe IN pin.
      														; Height - 3mm, probe each point 3 times, Feed rate 60, travel rate 6000
      M950 S0 C"exp.heater3"                                  ; create servo/gpio 0 on heater 3 pin on expansion connector
      M280 P0 S10                                             ; send control signal to BLTouch through servo/gpio 0
      G31 P500 X-4.15 Y-57.4 Z4.665  								; set Z probe trigger value, offset and trigger height (2.85 Z.98) (1.75 Z4.665)
                                                              ; For offset, + is towards bed, - is away from bed.
      M557 X20:260 Y20:250 P21:21                             ; define mesh grid
      
      ; Heaters
      M308 S11 P"mcu-temp" Y"mcu-temp" A"Duet Board"         ; Configure MCU sensor
      M308 S0 P"bedtemp" Y"thermistor" T100000 B3974         ; 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 B0 S1.00                                       ; 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
      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
      M143 H1 S300                                           ; Set temperature limit for extruder to 300C
      M141 H2                                                ; Assign chamber heater to heater 2
      M307 H2 B1                                             ; chamber heater operates in bang-bang mode
      M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin e1temp
      M950 H2 C"e1heat" T2                                   ; create chamber heater output on e0heat and map it to sensor 2
      M143 H2 S70                                            ; Set temperature limit for chamber to 60C
      
      
      ; Fans
      M950 F0 C"fan0" Q500                                   ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S0 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 S0 H11 T38                                     ; set fan 1 value. Thermostatic control is turned on
      
      ; Tools
      M563 P0 S"Extruder" 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
      
      ; Miscellaneous
      
      M575 P1 B57600 S1
      
      
      M501                                                   ; load saved parameters from non-volatile memory
      T0                                                     ; select first tool
      
      G28
      G29 S1                                                 ;Activate saved Mesh
      

      bed.g

      ; bed.g
      ; called to perform automatic bed compensation via G32
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.3 on Thu Jun 11 2020 21:09:00 GMT-0500 (Central Daylight Time)
      M561									 ; turns off mesh compensation
      G28                                      ; home
      
      M190 S60 								 ; heat bed to target temp for filament (60 -> PLA, 80 -> PETG)
      G4 S60									 ; Wait 1 minute for bed warping to settle
      
      ; The below set of commands alternates between probing the left and right leadscrews to calibrate the dual z axis and level the gantry.
      
      G30 P0 X10 Y130 Z-99999
      G30 P1 X270 Y130 Z-99999 S2 ; Cycle 1
      G30 P0 X10 Y130 Z-99999
      G30 P1 X270 Y130 Z-99999 S2 ; Cycle 2
      G30 P0 X10 Y130 Z-99999
      G30 P1 X270 Y130 Z-99999 S2 ; Cycle 3
      G30 P0 X10 Y130 Z-99999
      G30 P1 X270 Y130 Z-99999 S2 ; Cycle 4
      G30 P0 X10 Y130 Z-99999
      G30 P1 X270 Y130 Z-99999 S2 ; Cycle 5
      G30 P0 X10 Y130 Z-99999
      G30 P1 X270 Y130 Z-99999 S2 ; Cycle 6
      G30 P0 X10 Y130 Z-99999
      G30 P1 X270 Y130 Z-99999 S2 ; Cycle 7
      G30 P0 X10 Y130 Z-99999
      G30 P1 X270 Y130 Z-99999 S2 ; Cycle 8
      G30 P0 X10 Y130 Z-99999
      G30 P1 X270 Y130 Z-99999 S2 ; Cycle 9
      G30 P0 X10 Y130 Z-99999
      G30 P1 X270 Y130 Z-99999 S2 ; Cycle 10
      
      G29
      
      M140 S0
      

      PrusaSlic3r Start Gcode:

      M107
      G28
      M104 R175
      M190 S60 ; bed heating up
      G1 X20 Y0 Z3 F3000
      M109 R235
      G1 E1 F75 ; prime tiny bit of filament into the nozzle
      G1 X20 Z0.5 E5 F500 ; start purge line
      G1 X50 E15 Z0.5 F500 ; finish purge line
      G21 ; set units to millimeters
      G90 ; use absolute coordinates
      M82 ; use absolute distances for extrusion
      G92 E0
      

      Here is my heightmap from the above bed.g execution:

      height_map

      I run bed.g once, if the printer has been moved. Then, I don't perform any more bed leveling of any kind unless it's moved again. The printer also has an acrylic enlcosure.

      When a first layer executes, there are portions of the print that are entirely too far away, with obvious gaps between extrusion lines, while in other portions of the print, the nozzle will be scraping through filament.

      I'm a little bit at my wit's end, and am considering replacing the BLTouch with an EZABL probe in an attempt to further diagnose the problem. My current projects all rely on having thin wide bases (organizational boxes, etc), and need to be watertight typically, so these problems show much more prominently, when otherwise I could get away with it a little bit.

      Here is an image of a print I ran last night on Bed #2:

      bad print

      Here's the Gcode for the print:
      https://drive.google.com/file/d/10Lu78eWjkoxvBVS09FSDkBMp7wWSq3_W/view?usp=sharing

      It was printed in the rear left region of the print bed, with the rippling oriented towards the rear left of the bed. This seems especially confounding given that the issues with the print don't seem to line up with the heightmap.

      At this stage, I'm really at a loss of what else to do to diagnose this issue. I'm worried that somehow my gantry/frame is subtly warped, and that putting a new probe on it will be a further waste of time and money. Any suggestions on how to further diagnose and hopefully fix this issue would be greatly appreciated.

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

        @elli said in Bed Leveling Challenges Duet 2 Wifi + BLTouch:

        G28 G29 S1 ;Activate saved Mesh

        You've got G28 and G29 S1 in your config.g should probably remove those. initiating movement on powerup is a bit of a no-no. Plus if you're planning on doing independent Z tilt correct you shouldn't be loading or creating a heightmap until that correction is performed. Though based on your bed.g any corrections applied at startup should be removed anyway.

        Can you please post your homeall?

        Based on your heightmap it appears you're homing Z in the corner of the bed?

        @elli said in Bed Leveling Challenges Duet 2 Wifi + BLTouch:

        I'm worried that somehow my gantry/frame is subtly warped

        Possibly. How are you doing manual leveling of the bed?

        Instead of getting a new probe to test with you could switch to manual probing temporarily to eliminate the bltouch from the equation. Change to M558 P0 and then use G28 and G32 as normal and you'll be prompted to manually jog the z axis to touch the nozzle to the bed when required. It's a little slow, but is good for troubleshooting.

        Z-Bot CoreXY Build | Thingiverse Profile

        elliundefined 1 Reply Last reply Reply Quote 0
        • elliundefined
          elli @Phaedrux
          last edited by

          @phaedrux

          My homeall.g -

          G91                                 ; relative positioning
          G1 H2 Z15 F6000                     ; lift Z relative to current position
          G1 H1 X-345 Y-340 F4000             ; move quickly to X and Y axis endstops and stop there (first pass)
          G1 H2 X5 Y5 F6000                   ; go back a few mm
          G1 H1 X-345 Y-340 F2000             ; move slowly to X and Y axis endstops once more (second pass)
          G90                                 ; absolute positioning
          G1 X150 Y190   F6000                  ; go to first bed probe point and home Z
          G30                                 ; home Z by probing the bed
          
          ; Uncomment the following lines to lift Z after probing
          ;G91                                ; relative positioning
          ;G1 Z5 F100                         ; lift Z relative to current position
          ;G90                                ; absolute positioning
          

          I've removed the G28 and G29 params from my config.g as well.

          I am homing z in the center of the bed currently - what gives you the impression I am doing it in the corner?

          I'm not currently doing any manual leveling of my bed - the Taz workhorse as I have it uses the bed leveling washers in the for corners, but the bed fits under the washers in a way in which they don't actually level the bed at all, simply hold it in place. I have been skeptical of this, but the person I purchased the printer from informed me that it did not need manual leveling because of the probe... although I have found that unlikely, I haven't been able to figure out how to get the bed leveling washers to work in it's current setup.

          elliundefined 1 Reply Last reply Reply Quote 0
          • elliundefined
            elli @elli
            last edited by

            @Phaedrux

            I haven't gone through a manual leveling process yet, but I did try swapping the bltouch on the printer for another one I have and recalibrated the probe and did a new batch of bed leveling.

            I am still seeing the same results, in which the nozzle is entirely too close to the bed in the front right corner, yet too far away in the rear left corner of the bed.

            Is there still value to be had in manual leveling everything?

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

              Is the wiring loom pulling on the print head at all when it's in the front left and right corners? Those spots seem artificially low compared to the rest of the bed.

              @elli said in Bed Leveling Challenges Duet 2 Wifi + BLTouch:

              I am homing z in the center of the bed currently - what gives you the impression I am doing it in the corner?

              The Z0 point would appear to be at the front left corner based on the heightmap. Usually if the Z0 was set in the center I'd expect the heightmap to show that as 0 but in your map it's all raised.

              The only other thing that is a bit odd is the trigger height you have set for your bltouch. nearly 5mm is pretty high compared to the expected 2mm. Can you shim the bltouch a bit to lower your trigger height? Antclabs recommends the base of the probe be ~8mm above the nozzle tip.

              Z-Bot CoreXY Build | Thingiverse Profile

              elliundefined sebkritikelundefined 2 Replies Last reply Reply Quote 0
              • elliundefined
                elli @Phaedrux
                last edited by

                @phaedrux I've checked the squareness of my printer's frame and there is definitely some twist in it, the diagonals are off by about 3mm from each other.

                I don't believe the wiring loom is tugging on the gantry, it seems to have plenty of slack. I will work on adjusting the height of the BLTouch. Thank you for all the help!

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

                  @elli said in Bed Leveling Challenges Duet 2 Wifi + BLTouch:

                  there is definitely some twist in it

                  This is likely the problem. If there is some twist that changes the angle of the BLtouch from vertical to slightly off then the trigger height can vary depending on the XY location. You can test that by measuring the trigger height at different locations.

                  If you can't get the frame squared up, you could theoretically edit the heightmap.csv file to adjust the points that are off if you know approximately by how much they are off by. This is where using the manual probing can come in handy.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  elliundefined 1 Reply Last reply Reply Quote 0
                  • elliundefined
                    elli @Phaedrux
                    last edited by

                    @phaedrux

                    Over the weekend I spent a lot of time tinkering with my printer. Some of my findings, and changes include:

                    1. Placing a printer on a flat piece of granite and squaring the frame.
                    2. Updating my config.g, including the location of the leadscrews (these were off significantly), and the offset of the BLTouch.
                    3. Modifying the mounting height of the BLTouch.
                    4. Reviewing this guide and making changes to my config, home files, and startup gcode.

                    Unfortunately, I'm still seeing first layer inconsistencies, with my first layer varying in height by about .1 mm across the bed. I'm going to try a manual bed leveling next, but any other advice would be greatly appreciated.

                    Here are my updated config files:

                    config.g

                    ; Configuration file for Duet WiFi (firmware version 3)
                    ; executed by the firmware on start-up
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sat Jun 13 2020 22:43:12 GMT-0500 (Central Daylight Time)
                    
                    ; General preferences
                    G90                                                    ; send absolute coordinates...
                    M83                                                    ; ...but relative extruder moves
                    M550 P"Gertie the Workhorse"                                  ; set printer name
                    M308 S11 P"mcu-temp" Y"mcu-temp" A"Duet Board"         ; Configure MCU sensor
                    
                    ; 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 X goes backwards
                    M569 P1 S0                                             ; physical drive Y goes backwards
                    M569 P2 S1                                             ; physical drive Z1 goes forwards
                    M569 P3 S1                                             ; physical drive E0 goes backwards (2.85 - P3 S0) (1.75 - P3 S1)
                    M569 P4 S0                                             ; physical drive Z2 goes backwards
                    
                    ; Dual Z Axis
                    M584 X0 Y1 Z2:4 E3                                     ; two Z motors connected to driver outputs Z and E1
                    M671 X-141:366.5 Y48:48 S4                             ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                    
                    ; Motor settings
                    M350 X32 Y32 Z32:32 E32 I0                             ; configure microstepping without interpolation
                    M92 X200.00 Y200.00 Z1000.00 E819.2                    ; set steps per mm
                    M566 X480.00 Y480.00 Z300.00 E12000                    ; set maximum instantaneous speed changes (mm/min)
                    M203 X12000.00 Y12000.00 Z3000.00 E1500.00             ; set maximum speeds (mm/min)
                    M201 X4500.00 Y4500.00 Z50.00 E10000.00                ; set accelerations (mm/s^2)
                    M906 X1000 Y1000 Z1250 E850 I30                        ; set motor currents (mA) and motor idle factor in per cent
                    M84 S30                                                ; Set idle timeout
                    
                    ; Axis Limits
                    M208 X-50 Y-20 Z-5 S1                                  ; set axis minima
                    M208 X300 Y315 Z300 S0                                 ; set axis maxima
                    
                    ; 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
                    
                    ; BLTouch
                    M558 P9 C"^zprobe.in" H3 A3 F180 T3000                   ; BLTouch connected to Z probe IN pin.
                    														; Height - 3mm, probe each point 3 times, Feed rate 60, travel rate 6000
                    M950 S0 C"exp.heater3"                                  ; create servo/gpio 0 on heater 3 pin on expansion connector
                    M280 P0 S10                                             ; send control signal to BLTouch through servo/gpio 0
                    G31 P500 X-5.3 Y-59 Z1.775 								; set Z probe trigger value, offset and trigger height (2.85 Z.98) (1.75 Z1.775)
                                                                            ; For offset, + is towards bed, - is away from bed.
                    M557 X0:280 Y0:250 P21:21                               ; define mesh grid - also defines printable area
                    
                    ; Heaters
                    M308 S11 P"mcu-temp" Y"mcu-temp" A"Duet Board"         ; Configure MCU sensor
                    M308 S0 P"bedtemp" Y"thermistor" T100000 B3974         ; 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 B0 S1.00                                       ; 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
                    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
                    M143 H1 S300                                           ; Set temperature limit for extruder to 300C
                    M141 H2                                                ; Assign chamber heater to heater 2
                    M307 H2 B1                                             ; chamber heater operates in bang-bang mode
                    M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin e1temp
                    M950 H2 C"e1heat" T2                                   ; create chamber heater output on e0heat and map it to sensor 2
                    M143 H2 S70                                            ; Set temperature limit for chamber to 60C
                    
                    
                    ; Fans
                    M950 F0 C"fan0" Q500                                   ; create fan 0 on pin fan0 and set its frequency
                    M106 P0 S0 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 S0 H11 T38                                     ; set fan 1 value. Thermostatic control is turned on
                    
                    ; Tools
                    M563 P0 S"Extruder" 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
                    
                    ; Miscellaneous
                    
                    M575 P1 B57600 S1
                    
                    
                    M501                                                   ; load saved parameters from non-volatile memory
                    T0                                                     ; select first tool
                    

                    bed.g -

                    ; bed.g
                    ; called to perform automatic bed compensation via G32
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Thu Jun 11 2020 21:09:00 GMT-0500 (Central Daylight Time)
                    M561									 ; turns off mesh compensation
                    G29 S2
                    
                    M190 S60 								 ; heat bed to target temp for filament (60 -> PLA, 80 -> PETG)
                    G4 S60									 ; Wait 1 minute for bed warping to settle
                    
                    G28                                      ; home
                    
                    ; The below set of commands alternates between probing the left and right leadscrews to calibrate the dual z axis and level the gantry.
                    
                    G30 P0 X10 Y130 Z-99999
                    G30 P1 X270 Y130 Z-99999 S2 ; Cycle 1
                    G30 P0 X10 Y130 Z-99999
                    G30 P1 X270 Y130 Z-99999 S2 ; Cycle 2
                    G30 P0 X10 Y130 Z-99999
                    G30 P1 X270 Y130 Z-99999 S2 ; Cycle 3
                    G30 P0 X10 Y130 Z-99999
                    G30 P1 X270 Y130 Z-99999 S2 ; Cycle 4
                    G30 P0 X10 Y130 Z-99999
                    G30 P1 X270 Y130 Z-99999 S2 ; Cycle 5
                    G30 P0 X10 Y130 Z-99999
                    G30 P1 X270 Y130 Z-99999 S2 ; Cycle 6
                    G30 P0 X10 Y130 Z-99999
                    G30 P1 X270 Y130 Z-99999 S2 ; Cycle 7
                    G30 P0 X10 Y130 Z-99999
                    G30 P1 X270 Y130 Z-99999 S2 ; Cycle 8
                    G30 P0 X10 Y130 Z-99999
                    G30 P1 X270 Y130 Z-99999 S2 ; Cycle 9
                    G30 P0 X10 Y130 Z-99999
                    G30 P1 X270 Y130 Z-99999 S2 ; Cycle 10
                    
                    G29
                    
                    M140 S0
                    

                    start gcode:

                    G28 XY
                    M561 ; Clear any bed transform that might be in place
                    G1 X150 Y190 ; Move Probe to middle of bed
                    G30 ; Do a single probe
                    G29 S1
                    M104 R175
                    M190 S60 ; bed heating up
                    G1 X20 Y0 Z3 F3000
                    M109 R235
                    

                    Some thoughts I have regarding possible issues:

                    The z stepper motors that are currently installed are 1 amp nema 17's. Their voltage in config.g is set to 1 amp. The person I purchased it from had upped them to 1250 - is there any possibility because these are 1 amp, and not 2 amp steppers that they are not providing enough power for the micro adjustments necessary?

                    Could you help me understand why my z0 point does not seem to align with where I am running my g30 at the center of the bed? My heightmap does not seem to make a lot of sense to me.

                    Thanks again for all your help!

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

                      @elli said in Bed Leveling Challenges Duet 2 Wifi + BLTouch:

                      Could you help me understand why my z0 point does not seem to align with where I am running my g30 at the center of the bed? My heightmap does not seem to make a lot of sense to me.

                      In your bed.g after all those tilt correction cycles you should re-establish Z0 with a single G30 at the same location that you use to homez with before creating the mesh.

                      How often do you use G32?

                      Is 10 cycles really needed? Are you still seeing variance between runs that isn't just bouncing around in the noise?

                      @elli said in Bed Leveling Challenges Duet 2 Wifi + BLTouch:

                      M350 X32 Y32 Z32:32 E32 I0

                      For the linear axis you don't need to specify values for each motor/driver, just for the axis itself. It's only with extruders that you need to specify them individually. So instead of Z32:32 just use Z32.

                      @elli said in Bed Leveling Challenges Duet 2 Wifi + BLTouch:

                      The z stepper motors that are currently installed are 1 amp nema 17's. Their voltage in config.g is set to 1 amp. The person I purchased it from had upped them to 1250 - is there any possibility because these are 1 amp, and not 2 amp steppers that they are not providing enough power for the micro adjustments necessary?

                      If the motors are rated at 1amp I wouldn't want to run them at 1250a. They are likely to get very hot. 60-85% of the rated max is recommended. So try 800ma.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • elliundefined
                        elli
                        last edited by

                        Changes made, fingers crossed for some good results. My intention is that g32 only gets run once in a very blue moon, maybe once a week/month or if the printer is ever moved.

                        elliundefined 1 Reply Last reply Reply Quote 0
                        • elliundefined
                          elli @elli
                          last edited by

                          @Phaedrux I think I've found the problem. For whatever reason, the BLTouch is causing some flex in the bed platform as it touches the bed in the x min and max. Is there a way to decrease the amount of force the BLTouch exhibits on the bed through the M558 or G31 commands?

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

                            @elli said in Bed Leveling Challenges Duet 2 Wifi + BLTouch:

                            @Phaedrux I think I've found the problem. For whatever reason, the BLTouch is causing some flex in the bed platform as it touches the bed in the x min and max. Is there a way to decrease the amount of force the BLTouch exhibits on the bed through the M558 or G31 commands?

                            It takes very little force to cause the pin on the BLTouch to retract.

                            If probing the bed is causing the bed to flex there is something else wrong with your setup.

                            Frederick

                            Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                            1 Reply Last reply Reply Quote 0
                            • sebkritikelundefined
                              sebkritikel @Phaedrux
                              last edited by sebkritikel

                              This post is deleted!
                              sebkritikelundefined 1 Reply Last reply Reply Quote 0
                              • sebkritikelundefined
                                sebkritikel @sebkritikel
                                last edited by

                                This post is deleted!
                                fcwiltundefined 1 Reply Last reply Reply Quote 0
                                • fcwiltundefined
                                  fcwilt @sebkritikel
                                  last edited by

                                  @sebkritikel

                                  Why do you think you need to set the Z=0 datum by homing a point on the grid
                                  as opposed to the center of the bed?

                                  Thanks.

                                  Frederick

                                  Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                  sebkritikelundefined 1 Reply Last reply Reply Quote 0
                                  • sebkritikelundefined
                                    sebkritikel @fcwilt
                                    last edited by

                                    @fcwilt It has been my understanding that homing to a probe point (when using mesh compensation) has been the suggested guidance - now of course, saying that, I don't have any links on hand to back that up (although if you google "go to first bed probe point and home Z" you'll find of loads of results that are likely from the configurator)

                                    If one were to home explicitly to the center of the bed, that homing point could be in between (and not coincident with) two probe points. I guess in theory when full bed probing is done we should have knowledge of our Z=0 datum (even if the physical location - center of the bed for example - not being probed during the height map creation). Perhaps I'm only spinning myself around in circles...

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

                                      @sebkritikel said in Bed Leveling Challenges Duet 2 Wifi + BLTouch:

                                      (although if you google "go to first bed probe point and home Z" you'll find of loads of results that are likely from the configurator)

                                      IMO, the configurator should not be considered a reference on the best way to do things. I've never used it but have seen posts showing it generating some "wonky" code.

                                      If one were to home explicitly to the center of the bed, that homing point could be in between (and not coincident with) two probe points. I guess in theory when full bed probing is done we should have knowledge of our Z=0 datum (even if the physical location - center of the bed for example - not being probed during the height map creation).

                                      To my way of thinking the Z=0 datum point is a "characteristic" of the physical printer independent of the process of creating a heightmap.

                                      From time to time I generate height maps with differing numbers of points. If I was required to always use a grid point the Z=0 datum would likely not be in a fixed location.

                                      I have always used the center of the build area for setting the Z=0 datum and have never found a reason to do something different.

                                      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

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

                                        @sebkritikel said in Bed Leveling Challenges Duet 2 Wifi + BLTouch:

                                        It has been my understanding that homing to a probe point (when using mesh compensation) has been the suggested guidance - now of course, saying that, I don't have any links on hand to back that up (although if you google "go to first bed probe point and home Z" you'll find of loads of results that are likely from the configurator)

                                        Yes that has been recommended, but it isn't necessarily critical to getting good results. The benefit of having a matching point is that it removes the need for relying on correct interpolation between points. So on a very sparse grid and a bed that has some waves it might matter. On a flat bed with a higher density of points it matters less.

                                        It also assumes that the bed is relatively flat to begin with, and properly manually leveled, that the probe is relatively accurate and repeatable and mounted correctly without tilt. That the XYZ offset between nozzle and probe is accurate. That the Z0 is set with G30 before mesh creation rather than an endstop (though that can work too if the Z offset is correct.). That the probing speed is slow enough to allow for accurate stopping positioning. That the Z axis resolution is fine enough to stop at a stable point of travel. Etc

                                        All those things matter much more than using the G30 on a mesh probe point.

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        elliundefined 1 Reply Last reply Reply Quote 1
                                        • elliundefined
                                          elli @Phaedrux
                                          last edited by

                                          @phaedrux Closing the loop on this. Thank you for your advice and guidance on this. In the end, the final piece was finding that my right z axis belt was off center and grinding hard on the sides of the top bearing guides. I can see significant wear on the belt and will need to replace it soon, but after a morning of balancing the set screws, the printer is now operating the best I've ever seen it. I found lots of little mistakes and learned a lot about the duet framework and my printer in the process. Thank y'all so much!

                                          sebkritikelundefined 1 Reply Last reply Reply Quote 1
                                          • sebkritikelundefined
                                            sebkritikel @elli
                                            last edited by

                                            @elli Glad you got it sorted! My appologies for hijacking your thread at the end there.

                                            @Phaedrux and @fcwilt thanks for setting me straight, I got this totally twisted setup stuck in my head and you both got be back on the right track with the correct approach.

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