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

    Taz Workhorse + Duet Wifi -> Mesh Bed Leveling Issues?

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    2
    12
    579
    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 a taz workhorse second-hand that had been upgraded with a duet wifi and PanelDue. This is my first printer with duet control, and I'm inclined to believe I'm doing something wrong, but I've ran through the gcode/config/etc and am at a loss. It appears that mesh bed leveling is not being applied to the first layer. Any help would be greatly appreciated!

      I have verified that the heightmap is successfully being saved and updated each time I run a G29. However, these are my results using the settings I have listed below:

      Left Closeup Full Bed Right Closeup
      left full bed right

      Here is my config.g:

      G90                                                    ; send absolute coordinates...
      M83                                                    ; ...but relative extruder moves
      M550 P"Taz 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 S0                                             ; physical drive E0 goes backwards
      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.20                   ; 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
      
      ; Z-Probe
      M950 S0 C"exp.heater3"                                 ; create servo pin 0 for BLTouch
      M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000          ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X-4.15 Y-57.4 Z1.70                           ; set Z probe trigger value, offset and trigger height
      M557 X20:260 Y20:250 P3:3                              ; 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
      

      Here is my start gcode in Slic3r PE:

      ;M141  S{first_layer_bed_temperature[0]-45}
      M104 R{first_layer_temperature[0]-60}
      M190 S{first_layer_bed_temperature[0]} ; bed heating up
      G28
      ;G1 X150 Y150 Z10
      ;G1 E-2
      G32
      G29
      G28 XY
      G1 X20 Y0 Z3 F3000
      M109 R{first_layer_temperature[0]}
      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
      

      My bed.g gcode looks like such:

      M561
      G28                                      ; home
      
      G30 P1 X10 Y130 Z-99999                 ; probe near a leadscrew, half way along Y axis
      G30 P0 X270 Y130 Z-99999 S2             ; probe near a leadscrew and calibrate 2 motors
      
      G30 P1 X10 Y130 Z-99999                 ; probe near a leadscrew, half way along Y axis
      G30 P0 X270 Y130 Z-99999 S2             ; probe near a leadscrew and calibrate 2 motors
      
      G30 P1 X10 Y130 Z-99999                 ; probe near a leadscrew, half way along Y axis
      G30 P0 X270 Y130 Z-99999 S2             ; probe near a leadscrew and calibrate 2 motors
      

      Thank you for any help you might be able to provide!

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

        What is in your homeall?

        Does it appear to be doing the tilt correction correctly?

        It's usually a good idea to do a single G30 at the center of the bed (same place you probe during homeall) to readjust the Z0 position since it will have changed slightly from the tilt correction.

        Z-Bot CoreXY Build | Thingiverse Profile

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

          @Phaedrux Thanks for the quick reply.

          Here is my homeall:

          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
          

          Regarding your comment of running the G30, I should just be able to invoke G28 without the XY params, which should run the homeall script, correct? Instead of just homing x and y?

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

            @elli said in Taz Workhorse + Duet Wifi -> Mesh Bed Leveling Issues?:

            Regarding your comment of running the G30, I should just be able to invoke G28 without the XY params, which should run the homeall script, correct? Instead of just homing x and y?

            Yes, but if you do that move the G29 to after the G28.

            Or just add this to the end of your bed.g

            G90                                 ; absolute positioning
            G1 X150 Y190   F6000                  ; go to first bed probe point and home Z
            G30                                 ; home Z by probing the bed
            

            Z-Bot CoreXY Build | Thingiverse Profile

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

              Thank you for the help! Going to go experiment!

              PS hyper light drifter is one of my favorites.

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

                @elli said in Taz Workhorse + Duet Wifi -> Mesh Bed Leveling Issues?:

                M557 X20:260 Y20:250 P3:3 ; define mesh grid

                Your grid is also only using 3x3 points, which is quite sparse. Try increasing the number of points to get a more detailed mesh.

                If the bed is stable you can load the saved heightmap with G29 S1 rather than creating a new one each time. That way you can do a very detailed heightmap once and not have to re-probe every time.

                Z-Bot CoreXY Build | Thingiverse Profile

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

                  Foolish of me to make two changes at once. I updated the grid to be 4x4 and also added the gcode to bed.g. Now however, my bltouch is reporting 1000 in the console and i'm getting an error stating that it is already deployed. Not sure what I broke 😞

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

                    Post your current config.g

                    It can also be useful to send M98 P"config.g" to see if there are any syntax errors in your config.

                    Z-Bot CoreXY Build | Thingiverse Profile

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

                      ; 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"Taz 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 S0                                             ; physical drive E0 goes backwards
                      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.20                   ; 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
                      
                      ; Z-Probe
                      M950 S0 C"exp.heater3"                                 ; create servo pin 0 for BLTouch
                      M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000          ; set Z probe type to bltouch and the dive height + speeds
                      G31 P500 X-4.15 Y-57.4 Z1.70                           ; set Z probe trigger value, offset and trigger height
                      M557 X20:260 Y20:250 P4:4                              ; 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
                      

                      Only modification here was the M557 P3:3 -> P4:4

                      Output of M98 P"config.g":

                      M98 P"config.g"
                      HTTP is enabled on port 80
                      FTP is disabled
                      TELNET is disabled
                      Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
                      Warning: Heater 2 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
                      
                      1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        Try changing your M558 to this: M558 P9 C"^zprobe.in" H5 F120 T6000

                        Z-Bot CoreXY Build | Thingiverse Profile

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

                          Welp. That got the probe to start working again. Not Running a test print to check if it's respecting bed leveling. Are there any resources you could point to as to why the M558 command that you provided worked, and why a problem arose then?

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

                            The only real difference between mine and yours is that mine has the ^ to enable the pullup resistor. The +zprobe.mod on yours was superfluous and likely just ignored anyway.

                            Without the pullup resistor it may only work occasionally? That's the best I got.

                            Z-Bot CoreXY Build | Thingiverse Profile

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