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

    mesh bed compensation not compensating

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    21
    1.3k
    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.
    • Jaysonundefined
      Jayson
      last edited by Jayson

      I have a custom build core xy with a 500x500 bed.

      the machine will run G29, probe the bed, make a height map then proceed to fail prints.

      It doesn't seam to activate the compensation. the lead screws don't budge and the first layer is good in some spots, doesn't stick in others and grinds the nozzle so hard that plastic wont come out over high spots.

      SIamundefined 1 Reply Last reply Reply Quote 0
      • SIamundefined
        SIam @Jayson
        last edited by

        @jayson please post your config.g and the start G-Code from your slicer

        Hypercube-Evolution-Hybrid, Piezo Orion, Orbiter
        Duet WiFi 1.02 or later + DueX5
        RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.0beta4 (2021-09-27 11:30:36)
        Duet WiFi Server: 1.26
        Duet Web Control 3.4.0beta4 (2021-09-27)

        1 Reply Last reply Reply Quote 0
        • Jaysonundefined
          Jayson
          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.4 on Thu Oct 29 2020 18:46:36 GMT-0600 (Central Standard Time)

          ; General preferences
          G90 ; send absolute coordinates...
          M83 ; ...but relative extruder moves
          M550 P"Jayson" ; set printer name
          M669 K1 ; select CoreXY mode

          ; Network
          M551 P"13thpassword" ; set password
          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
          M569 P1 S0 ; physical drive 1 goes backwards
          M569 P2 S0 ; physical drive 2 goes backwards
          M569 P3 S1 ; physical drive 3 goes forwards
          M569 P4 S1 ; physical drive 4 goes forwards
          M569 P5 S1 ; physical drive 5 goes forwards
          M569 P6 S1 ; physical drive 6 goes forwards
          M584 X0 Y1 Z2 E3:4:5:6 ; set drive mapping
          M350 E16:16:16:16 I1 ; configure microstepping with interpolation
          M350 X16 Y16 Z16 I1
          M92 X80 Y80 Z900 E420.00:1888.21:420.00:420.00 ; set steps per mm
          M566 X500.00 Y500.00 Z3.00 E120.00:40.00:120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
          M203 X24000.00 Y24000.00 Z600.00 E1200.00:1200.00:1200.00:1200.00 ; set maximum speeds (mm/min)
          M201 X3000.00 Y3000.00 Z80.00 E250.00:250.00:250.00:250.00 ; set accelerations (mm/s^2)
          M906 X1500 Y1500 Z750 E800:800:800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
          M84 S120 ; Set idle timeout

          ; Axis Limits
          M208 X-41.1 Y0 Z0 S1 ; set axis minima
          M208 X588 Y567 Z660 S0 ; set axis maxima

          ; Endstops
          M574 X1 S1 P"xstop" ; configure sensorless endstop for low end on X (changed to switch)
          M574 Y2 S1 p"ystop" ; configure sensorless endstop for high end on Y (changed to switch)
          ;M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop
          M574 Z1 S2 ; configure Z-probe endstop for low end on Z

          ; Z-Probe
          M558 P8 C"^zprobe.in" H4 F900 T24000 ; set Z probe type to switch and the dive height + speeds
          G31 P500 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height
          M557 X5:495 Y5:495 S54.4 ; define mesh grid
          M376 H10

          ; Heaters

          M308 S7 P"duex.e4temp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin duex.e4temp
          M950 H6 C"duex.fan4" T7 ; create chamber heater output on duex.fan4 and map it to sensor 0
          M307 H6 B1 S1.00 D60 ; enable bang-bang mode for the chamber heater and set PWM limit
          M141 H6 ; map chamber to heater 6
          M143 H6 S150 ; set temperature limit for heater 6 to 150C

          M308 S0 P"bedtemp" Y"thermistor" T108500 B4092 A"Bedmat" ; configure sensor 0 as thermistor on pin bedtemp
          M308 S6 P"duex.e5temp" Y"thermistor" T100000 B4725 C7.06e-8 A"Bedplate"
          M950 H0 C"e0heat" T6 ; create bed heater output on e0heat and map it to sensor 6
          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 S135 ; set temperature limit for heater 0 to 135C
          M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as thermocouple via CS pin spi.cs1
          M950 H1 C"bedheat" T1 ; create nozzle heater output on bedheat and map it to sensor 1
          M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
          M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 2 as thermocouple via CS pin spi.cs2
          M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
          M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
          M308 S3 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 3 as thermistor on pin e0temp
          M950 H3 C"duex.e2heat" T3 ; create nozzle heater output on duex.e2heat and map it to sensor 3
          M307 H3 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
          M308 S4 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 4 as thermistor on pin e1temp
          M950 H4 C"duex.e3heat" T4 ; create nozzle heater output on duex.e3heat and map it to sensor 4
          M307 H4 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
          M143 H2 S400 ; set max heater temp heater 2

          ; Fans
          M308 S5 P"duex.e6temp" Y"thermistor" T10200 A"WATER TEMP" ;water temp sensor
          M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
          M106 P0 S0 H-1 L1.0 ; 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 H0:2:6 L1.0 T45 ; set fan 1 value. Thermostatic control is turned on
          M950 F2 C"fan2" T5 Q500 ; create fan 2 on pin fan2 and set its frequency
          M106 P2 S1 H5 L1.0 T30 ; set fan 2 value. Thermostatic control is turned on
          M950 F3 C"duex.fan1" Q500 ; create fan 3 on pin duex.fan3 and set its frequency
          M106 P3 S1 H7 L1.0 T30 ; set fan 2 value. Thermostatic control is turned on

          ; Tools
          M563 P0 S"Super volcano" 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
          M563 P1 S"V6" D1 H2 F0 ; define tool 1
          G10 P1 X0 Y-60 Z-11.05 ; set tool 1 axis offsets
          G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
          M563 P2 S"Cyclops" D2 H3 F0 ; define tool 2
          G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets
          G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C

          ; Custom settings are not defined
          M143 H0 P1 T0 A2 S130 C0 ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 130°C. Use Heater monitor 1 for it
          M308 S6 P"duex.e5temp" Y"thermistor" T100000 B4725 C7.06e-8 A"Bedplate"

          ; Miscellaneous
          M575 P1 S1 B57600 ; enable support for PanelDue
          M911 S22 R22 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
          M501 ; USE CONFIG OVERRIDE VALUES

          ; PS_ON relay triggers
          M570 H0 P60 T10 S0 ; Allow a heat bed anomaly to persist for 10 seconds (P10)
          ; on the before raising a heater fault. Allow a 10C
          ; deviation from set point (T10) After 0 minutes of heater
          ; fault cancel the build (S0).

          M570 H1 P20 T10 S0 ; Allow a hot end anomaly to persist for 10 seconds (P10)
          ; on the before raising a heater fault. Allow a
          ; 10C deviation from set point (T10) After 0
          ; minute of heater fault cancel the build (S0).
          M80 ;power on relay

          ;tool change servo

          M950 S0 C"duex.pwm5" Q50
          M572 D1 S0.01

          1 Reply Last reply Reply Quote 0
          • Jaysonundefined
            Jayson
            last edited by

            here is a sample of my start gcode

            ;Generated with Cura_SteamEngine 4.8.0
            T1
            M190 S70
            M104 S240
            M109 S240
            M82 ;absolute extrusion mode
            G28 ;Home
            G29 S0 ; mesh bed compinsation
            G1 Z15.0 F6000 ;Move the platform down 15mm
            ;Prime the extruder
            G92 E0
            G1 F200 E3
            G92 E0
            M141 S0
            M83 ;relative extrusion mode
            G1 F1500 E-0.5
            ;LAYER_COUNT:89
            ;LAYER:-7
            M107
            G0 F18000 X69.373 Y337.319 Z0.36
            ;TYPE:SUPPORT-INTERFACE
            G1 F1500 E0.5
            G3 X98.183 Y344.153 I6.806 J35.452 E5.47936 F675

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

              @jayson

              Post your homing files, please.

              You can use the </> tag to create a scrollable section of code right in your post - like this

              this is line 1
              this is line 2
              this is line 3
              

              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

              Jaysonundefined 1 Reply Last reply Reply Quote 0
              • Jaysonundefined
                Jayson @fcwilt
                last edited by

                @fcwilt look at that. I learnt something new today

                ; homeall.g
                ; called to home all axes
                ;
                ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Oct 29 2020 12:06:14 GMT-0600 (Central Standard Time)
                
                
                
                G91                    ; relative positioning
                G1 H2 Z5 F6000         ; lift Z relative to current position
                G1 H1 X-593 Y616 F10000 ; move quickly to X or Y endstop and stop there (first pass)
                G1 H1 X-593            ; home X axis
                G1 H1 Y616             ; home Y axis
                G1 X5 Y-5 F10000        ; go back a few mm
                G1 H1 X-593 F1000      ; move slowly to X axis endstop once more (second pass)
                G1 H1 Y616             ; then move slowly to Y axis endstop
                G90                    ; absolute positioning
                G1 X5 Y5 F12000       ; go to first bed probe point and home Z
                G30                    ; home Z by probing the bed
                
                ; homex.g
                ; called to home the X axis
                ;
                ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Oct 29 2020 18:46:36 GMT-0600 (Central Standard Time)
                G91               ; relative positioning
                G1 H2 Z5 F6000    ; lift Z relative to current position
                G1 H1 X-593 F10000 ; move quickly to X axis endstop and stop there (first pass)
                G1 X5 F10000       ; go back a few mm
                G1 H1 X-593 F1000 ; move slowly to X axis endstop once more (second pass)
                G1 H2 Z-5 F6000   ; lower Z again
                G90               ; absolute positioning
                
                ; homey.g
                ; called to home the Y axis
                ;
                ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Oct 29 2020 18:46:36 GMT-0600 (Central Standard Time)
                G91              ; relative positioning
                G1 H2 Z5 F6000   ; lift Z relative to current position
                G1 H1 Y616 F10000 ; move quickly to Y axis endstop and stop there (first pass)
                G1 Y-5 F10000      ; go back a few mm
                G1 H1 Y616 F1000  ; move slowly to Y axis endstop once more (second pass)
                G1 H2 Z-5 F6000  ; lower Z again
                G90              ; absolute positioning
                
                ; homez.g
                ; called to home the Z axis
                ;
                ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Oct 28 2020 15:43:06 GMT-0600 (Central Standard Time)
                
                
                G91              ; relative positioning
                G1 H2 Z5 F6000   ; lift Z relative to current position
                G90              ; absolute positioning
                G1 X5 Y5 F12000 ; go to first probe point
                G30              ; home Z by probing the bed
                
                fcwiltundefined 1 Reply Last reply Reply Quote 0
                • fcwiltundefined
                  fcwilt @Jayson
                  last edited by

                  @jayson

                  Thanks.

                  In your config.g file you have this:

                  G31 P500 X0 Y0 Z0 ;

                  What sort of probe do you have? The X, Y and Z values are rather unusual.

                  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

                  Jaysonundefined 2 Replies Last reply Reply Quote 0
                  • Jaysonundefined
                    Jayson @fcwilt
                    last edited by

                    @fcwilt
                    It's just a little micro switch.

                    This is a tool changing machine so I gave the probe 0 offset and apply an individual offset to each tool.

                    It's not all configured yet. I just have one nozzle printing now.

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

                      @fcwilt
                      And I should be the one thanking you.

                      I'm at a loss with this machine. Hopefully someone here can figure out how to make it dance for me

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

                        @jayson said in mesh bed compensation not compensating:

                        @fcwilt
                        It's just a little micro switch.

                        This is a tool changing machine so I gave the probe 0 offset and apply an individual offset to each tool.

                        It's not all configured yet. I just have one nozzle printing now.

                        So the probe actually triggers at exactly Z=0?

                        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

                        Jaysonundefined 1 Reply Last reply Reply Quote 0
                        • Jaysonundefined
                          Jayson @fcwilt
                          last edited by

                          @fcwilt
                          The machine homes and probes without a hot end attached then when it starts printing it picks up a tool from the rack and uses that tools offsets.

                          The nozzle I currently have configured hangs about 11mm below the switch when mounted. So T1 has a -11 mm z offset.

                          I believe that the e3d tool changer uses a similar method

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

                            @jayson said in mesh bed compensation not compensating:

                            about 11mm

                            This is going to need to be quite exact otherwise the nozzle will never touch the bed where you expect. Same goes for the XY offset.

                            Can you post a photo of your heightmap image?

                            M376 H10

                            You might need to eliminate that for now until you get things working and know how quickly you can actually taper off the compensation.

                            Z-Bot CoreXY Build | Thingiverse Profile

                            Jaysonundefined 2 Replies Last reply Reply Quote 1
                            • Jaysonundefined
                              Jayson @Phaedrux
                              last edited by

                              @phaedrux said in mesh bed compensation not compensating:

                              M376 H10

                              It set at 11.2 mm to make a good section of my bed useable.

                              I will take out that M376 and see if that helps.

                              thank you

                              1 Reply Last reply Reply Quote 0
                              • Jaysonundefined
                                Jayson @Phaedrux
                                last edited by

                                @phaedrux
                                my bed is a little warped, needs some work but nothing bed compensation should handle it for now.

                                Number of points: 100
                                Probe area: 2397.1 cm²
                                Maximum deviations: -0.270 / 0.581 mm
                                Mean error: 0.252 mm
                                RMS error: 0.184 mm

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

                                  For such a large bed you may need to increase the point density. 441 is the max number of points and you're only using 100. That can mean a large distance between points where interpolation has to guess what the bed height actually is. Combine that with XYZ offsets that aren't quite accurate and it's going to have a very hard time keeping the nozzle where it's supposed to be.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  Jaysonundefined 1 Reply Last reply Reply Quote 1
                                  • Jaysonundefined
                                    Jayson @Phaedrux
                                    last edited by

                                    @phaedrux I took out that m376 and now it's working 🎉 thank you so much!

                                    Its not great but it is actually usable over my whole bed now.

                                    Things are a bit temporary right now as I plan on changing most of this printer. as soon as it can print its own replacement parts I will rebuild it and maybe double my probing points.
                                    I just don't want to wait that long for it to probe....

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

                                      @jayson said in mesh bed compensation not compensating:

                                      I just don't want to wait that long for it to probe....

                                      Well if the bed is stable and things don't shift around too much you can save a detailed heightmap and load it instead of probing before each print.

                                      G29 S1 to load saved map.

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      Jaysonundefined 1 Reply Last reply Reply Quote 1
                                      • Jaysonundefined
                                        Jayson @Phaedrux
                                        last edited by

                                        @phaedrux I might try G29 S1 but I have a removable magnetic bed. so if I have to take it off I will probably need to re-probe.

                                        Phaedruxundefined fcwiltundefined 2 Replies Last reply Reply Quote 0
                                        • Phaedruxundefined
                                          Phaedrux Moderator @Jayson
                                          last edited by

                                          @jayson said in mesh bed compensation not compensating:

                                          so if I have to take it off I will probably need to re-probe.

                                          Maybe, maybe not. If it registers pretty much the same each time it should be ok. Only one way to find out for sure.

                                          Z-Bot CoreXY Build | Thingiverse Profile

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

                                            @jayson said in mesh bed compensation not compensating:

                                            @phaedrux I might try G29 S1 but I have a removable magnetic bed. so if I have to take it off I will probably need to re-probe.

                                            I have the BuildTak system and I use the same height map.

                                            I do re-create it from time to time.

                                            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

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