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

    Mesh grid compensation - Setup on Initial Gcode

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    5
    51
    2.5k
    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.
    • fcwiltundefined
      fcwilt @FelixH
      last edited by

      @FelixH said in Mesh grid compensation - Setup on Initial Gcode:

      @Phaedrux said in Mesh grid compensation - Setup on Initial Gcode:

      Since your probe isn't exactly convenient for doing a G30 before each print, perhaps consider temporarily switching to the manual probe type (M558 P0) which would prompt you to jog the nozzle down until it touches the bed and then sets Z0 based on that.

      I get what you mean, but it would be really inconvenient, don't you think?. The probe I use is a really common type, I'd assume.

      Using a removable probe is fine for things like the delta cal process because it is done infrequently.

      It is not a probe that lends itself to setting the Z=0 datum which should be done before each print.

      Use the nozzle as a probe would allow you do set the Z=0 datum with hotend/bed at working temps.

      Post the two lines of gcode that you are executing to configure your probe AND post your most recent heightmap.

      Please and thanks.

      Frederick

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

      FelixHundefined 1 Reply Last reply Reply Quote 0
      • FelixHundefined
        FelixH @fcwilt
        last edited by

        @fcwilt said in Mesh grid compensation - Setup on Initial Gcode:

        Post the two lines of gcode that you are executing to configure your probe AND post your most recent heightmap.

        Please and thanks.

        Frederick

        The lines of code I use for the setup are on my initial post, if that's is what you mean. I will try to post the bed map, later this afternoon. But it looks quite ok, to be honest.

        What I cannot wrap my head around of, is why it is necessary to set this Z=0 datum thing every single time before printing. What does it change from print to print? Everything is static except for the effector...

        fcwiltundefined 1 Reply Last reply Reply Quote 0
        • jens55undefined
          jens55
          last edited by

          I think the issue is more one of 'if holding current was removed from the motors'.
          In that case a minor position change is pretty much guaranteed.
          I have set up holding current and I have removed the automatic 'shut down the motors' command from my start/end scripts so as long as I don't switch off the power or reset the duet I only do an initial z zero run.

          FelixHundefined 1 Reply Last reply Reply Quote 0
          • FelixHundefined
            FelixH @jens55
            last edited by

            @jens55 said in Mesh grid compensation - Setup on Initial Gcode:

            I think the issue is more one of 'if holding current was removed from the motors'.
            In that case a minor position change is pretty much guaranteed.
            I have set up holding current and I have removed the automatic 'shut down the motors' command from my start/end scripts so as long as I don't switch off the power or reset the duet I only do an initial z zero run.

            Yeah, I have something similar on my config.g. Would you mind sharing the script you use? Also, which kind of probe do you use?

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

              @FelixH said in Mesh grid compensation - Setup on Initial Gcode:

              The lines of code I use for the setup are on my initial post, if that's is what you mean. I will try to post the bed map, later this afternoon. But it looks quite ok, to be honest.

              Sorry but I do not see the two lines that configure a Z probe.

              What I cannot wrap my head around of, is why it is necessary to set this Z=0 datum thing every single time before printing. What does it change from print to print? Everything is static except for the effector...

              The heating of the hotend/bed can cause a change in the nozzle-to-bed spacing.

              On my printer my bed is a 5 mm piece of aluminum plate with a 3 mm piece of glass. The bed thermistor is part of the silicone heater and thus the bed appears to be up to temp before the temp of the entire mass has stabilized.

              Frederick

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

              FelixHundefined 1 Reply Last reply Reply Quote 0
              • FelixHundefined
                FelixH @fcwilt
                last edited by

                @fcwilt said in Mesh grid compensation - Setup on Initial Gcode:

                Sorry but I do not see the two lines that configure a Z probe.

                Sorry, did you mean on my config.g?

                ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
                ; executed by the firmware on start-up
                ;
                ; generated by RepRapFirmware Configuration Tool on Thu Jul 12 2018 20:54:00 GMT-0500 (Central Daylight Time)
                
                ; General preferences
                G90                                                ; Send absolute coordinates...
                M83                                                ; ...but relative extruder moves
                
                ; After G32 auto-calibrate, copied from config-override.g
                ; Note: G31 Z (below) affects M665 H, and this is NOT yet calibrated.
                
                M665 L267.0 R132.382 H301.20 B106.0 X-0.174 Y0.096 Z0.0      ; Set delta radius, diagonal rod length, printable radius and homed height
                M666 X-0.14 Y-0.16 Z0.30 A0.00 B0.00                      ; Put your endstop adjustments here, or let auto calibration find them
                
                
                ; Network
                M550 P"Kossel"                                     ; Set machine name
                M552 S1                                            ; Enable network
                ;*** Access point is configured manually via M587
                M586 P0 S1                                         ; Enable HTTP
                M586 P1 S0                                         ; Disable FTP
                M586 P2 S0                                         ; Disable Telnet
                
                ; Drives
                M569 P0 S0                                         ; Drive 0 goes forwards
                M569 P1 S0                                         ; Drive 1 goes forwards
                M569 P2 S0                                         ; Drive 2 goes forwards
                M569 P3 S1                                         ; Drive 3 goes forwards
                M350 X16 Y16 Z16 E16 I1                            ; Configure microstepping with interpolation
                M92 X80 Y80 Z80 E96                                ; Set steps per mm
                M566 X300 Y300 Z300 E300                           ; Set maximum instantaneous speed changes (mm/min)
                M203 X12000 Y12000 Z12000 E12000                   ; Set maximum speeds (mm/min)
                M201 X3000 Y3000 Z3000 E3000                       ; Set accelerations (mm/s^2)
                M906 X1000 Y1000 Z1000 E1000 I50                   ; Set motor currents (mA) and motor idle factor in per cent
                M84 S30                                            ; Set idle timeout
                
                ; Axis Limits
                M208 Z0 S1                                         ; Set minimum Z
                
                ; Endstops
                M574 X2 Y2 Z2 S1                                   ; Set active high endstops
                
                ; Z-Probe
                M558 P4 H5 F120 T6000                              ; Set Z probe type to switch and the dive height + speeds
                G31 P1000 X0 Y0 Z16.10                             ; Set Z probe trigger value, offset and trigger height
                M557 R105 S20                                      ; Define mesh grid
                
                ; Heaters
                M307 H0 B0 S1.00                                   ; Disable bang-bang mode for the bed heater and set PWM limit
                M305 P0 T100000 B4267 C0 R4700                     ; Set thermistor + ADC parameters for heater 0
                M143 H0 S95                                        ; Set temperature limit for heater 0 to 120C
                
                M305 P1 T100000 B4267 C0 R4700                     ; Set thermistor + ADC parameters for heater 1
                M143 H1 S280                                       ; Set temperature limit for heater 1 to 280C
                
                M307 H1 A452.1 C123.2 D7.5 V12.5 B0                ;Hotend Autotune  //Changed
                M307 H0 A158.1 C 741.8 D0.7 V12.3 B0               ;Bed Autotune //Changed
                
                ; Fans
                M106 P0 S0 I0 F500 H-1                             ; PART FAN   -  Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                M106 P1 S1 I0 F500 H1 T45                          ; HOTEND FAN -  Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                M106 P2 S0.20 I0 F500 H-1                          ; ELECTRONICS FAN - Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
                
                ; Tools
                M563 P0 D0 H1                                      ; 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
                
                ; Automatic power saving
                M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
                
                ; Custom settings are not configured
                
                
                
                1 Reply Last reply Reply Quote 0
                • FelixHundefined
                  FelixH
                  last edited by

                  I just run a G30 command followed by a "Run Mesh Grid" on the Machine Control tab of the web interface. I'm attaching a picture of how it looks like.

                  Screenshot_2019-12-11 Kossel.png

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

                    Hi,

                    OK I see the lines for configuring the z probe and they look ok.

                    The height map looks pretty good too.

                    Have you verified that after doing a G30 that at Z=0 the nozzle is just touching the bed?

                    Frederick

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

                    FelixHundefined 1 Reply Last reply Reply Quote 0
                    • FelixHundefined
                      FelixH @fcwilt
                      last edited by FelixH

                      @fcwilt said in Mesh grid compensation - Setup on Initial Gcode:

                      Have you verified that after doing a G30 that at Z=0 the nozzle is just touching the bed?

                      Frederick

                      Well, it seems ok at the beginning, but tomorrow I will check it with a gauge or a sheet of paper. However, today after I did the G30 followed by the Mesh Calibration, I tried to print the model again and, aside from failing again, it also gave me the same error:

                      Warning: the height map was loaded when the current Z=0 datum was not determined probing. This may result in a height offset.
                      
                      fcwiltundefined 1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        Well the warning is telling you exactly what it says. At the point in time that the heightmap was loaded, the Z0 point wasn't defined by a G30 probe, so there could potentially be an offset between the actual bed surface is and where the Z0 is currently assumed to be based on endstop homing.

                        Now if your homed height is perfectly correct, Z0 should touch the bed and the warning is just a warning. If your homed height is off, then Z0 will not be touching the bed and your heightmap won't be effective because of the offset.

                        Z-Bot CoreXY Build | Thingiverse Profile

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

                          @FelixH said in Mesh grid compensation - Setup on Initial Gcode:

                          Well, it seems ok at the beginning, but tomorrow I will check it with a gauge or a sheet of paper. However, today after I did the G30 followed by the Mesh Calibration, I tried to print the model again and, aside from failing again, it also gave me the same error:

                          Warning: the height map was loaded when the current Z=0 datum was not determined probing. This may result in a height offset.
                          

                          Perhaps the height map is being load somewhere else before you are doing the G30?

                          Frederick

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

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

                            @FelixH said in Mesh grid compensation - Setup on Initial Gcode:

                            G28 ; home all axes

                            G1 Z15. ; go close to to the surface
                            G30 ; Z=0 datum thing
                            G1 Z75 ; go up a bit
                            M291 P"Remove probe" R"Warning" S3 ; warning message

                            G29 S1 ;use mesh grid to compensate
                            G92 E0
                            G1 F1200 E10
                            G92 E0

                            Can you post your homeall/homedelta?

                            Z-Bot CoreXY Build | Thingiverse Profile

                            FelixHundefined 1 Reply Last reply Reply Quote 0
                            • FelixHundefined
                              FelixH @fcwilt
                              last edited by

                              @fcwilt said in Mesh grid compensation - Setup on Initial Gcode:

                              Perhaps the height map is being load somewhere else before you are doing the G30?

                              Frederick

                              this is my initial Gcode, set on the Slicer. Clearly the G30 command is sent before the G29 S1

                              G28 ; home all axes
                              
                              G1 Z15.  ; go close to to the surface
                              G30        ; Z=0 datum thing
                              G1 Z75    ; go up a bit
                              M291 P"Remove probe" R"Warning" S3   ; warning message
                              
                              G29 S1  ;use mesh grid to compensate
                              G92 E0
                              G1 F1200 E10
                              G92 E0
                              
                              Phaedruxundefined 1 Reply Last reply Reply Quote 0
                              • FelixHundefined
                                FelixH @Phaedrux
                                last edited by

                                @Phaedrux said in Mesh grid compensation - Setup on Initial Gcode:

                                Can you post your homeall/homedelta?

                                ; homedelta.g

                                ; called to home all towers on a delta printer
                                ;
                                ; generated by RepRapFirmware Configuration Tool on Thu Jul 12 2018 20:54:00 GMT-0500 (Central Daylight Time)
                                G91                        ; relative positioning
                                G1 S1 X355 Y355 Z355 F1800 ; move all towers to the high end stopping at the endstops (first pass)
                                G1 X-5 Y-5 Z-5 F1800 S2    ; go down a few mm
                                G1 S1 X10 Y10 Z10 F360     ; move all towers up once more (second pass)
                                G1 Z-5 F6000               ; move down a few mm so that the nozzle can be centred
                                G90                        ; absolute positioning
                                G1 X0 Y0 F6000             ; move X+Y to the centre
                                

                                I don't have any homeall.g on my sys folder

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

                                  @FelixH said in Mesh grid compensation - Setup on Initial Gcode:

                                  @fcwilt said in Mesh grid compensation - Setup on Initial Gcode:

                                  Perhaps the height map is being load somewhere else before you are doing the G30?

                                  Frederick

                                  this is my initial Gcode, set on the Slicer. Clearly the G30 command is sent before the G29 S1

                                  G28 ; home all axes
                                  
                                  G1 Z15.  ; go close to to the surface
                                  G30        ; Z=0 datum thing
                                  G1 Z75    ; go up a bit
                                  M291 P"Remove probe" R"Warning" S3   ; warning message
                                  
                                  G29 S1  ;use mesh grid to compensate
                                  G92 E0
                                  G1 F1200 E10
                                  G92 E0
                                  

                                  Yeah I'm not sure why it would still be giving you the warning about not establishing Z0 with a probe result when that's what your gcode order is doing.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  FelixHundefined 1 Reply Last reply Reply Quote 0
                                  • FelixHundefined
                                    FelixH @Phaedrux
                                    last edited by

                                    @Phaedrux said in Mesh grid compensation - Setup on Initial Gcode:

                                    Yeah I'm not sure why it would still be giving you the warning about not establishing Z0 with a probe result when that's what your gcode order is doing.

                                    That's what I was hoping somebody could help me with...

                                    1 Reply Last reply Reply Quote 0
                                    • FelixHundefined
                                      FelixH
                                      last edited by

                                      Hi all,

                                      I've been brainstorming by myself for a couple of days again about it and I'm still on the same place... could it have something to do with the absence of homeall.g? When I tap on the "Home all" icon, it homes all the axes just fine...

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

                                        @FelixH well you have a delta so homedelta is your homeall far as I know.

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        1 Reply Last reply Reply Quote 0
                                        • FelixHundefined
                                          FelixH
                                          last edited by

                                          that was my thought as well, but given it still does not work as it should...

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

                                            For the sake of taking another fresh run at this, can you please provide your current config.g, bed.g, homedelta.g, your start gcode, a picture of your mesh heightmap, and a summary of the problem as it currently is?

                                            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