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

    Correction of heightmap is not really working

    Scheduled Pinned Locked Moved
    General Discussion
    5
    126
    6.9k
    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 @Sculpt Fabricator
      last edited by

      @sculpt-fabricator

      Where are you executing the G30 at the center of the bed to set the Z=0 Datum?

      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

      Sculpt Fabricatorundefined 1 Reply Last reply Reply Quote 0
      • Sculpt Fabricatorundefined
        Sculpt Fabricator @fcwilt
        last edited by

        @fcwilt
        Yes, that is where we are executing it from, the center of the bed.

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

          @sculpt-fabricator said in Correction of heightmap is not really working:

          @fcwilt
          Yes, that is where we are executing it from, the center of the bed.

          Sorry I wasn't clear. In your post I didn't see you mention that you were executing a G30.

          When are you doing that?

          In what bit of code are you doing that?

          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

          Sculpt Fabricatorundefined 2 Replies Last reply Reply Quote 0
          • Sculpt Fabricatorundefined
            Sculpt Fabricator @Sculpt Fabricator
            last edited by

            @sculpt-fabricator
            config.g

              ;Generated by Modix - 2.0
            ;Modix Big-60, Duex Expansion, Dual Printhead
            ; Configuration file for Duet WiFi (firmware version 3.3)
            
            
            ; General preferences_________________________________________________________
            G21 														; dimentions in mm
            G90                                             			; for X,Y,Z     use absolute coordinate values
            M83                                             			; for E0,E1,etc use relative coordinate values
            M111 S0 													; Debug off
            M555 P2 													; Set output to look like Marlin
            M575 P0 B57600 S2              								; communication parameters for USB serial
            M575 P1 B57600 S1											; Set auxiliary serial port baud rate and require checksum (for PanelDue)
            
            ; Network_____________________________________________________________________
            M550 P"Big 60"                         						; set printer name
            M552 S1                                        				; enable (S1) networking (WiFi)
            M586 S1 P1 ;T0                 								; enable (S1) FTP    (P1) Disable TLS (T0)
            M586 S1 P2 ;T0                								; enable (S1) Telnet (P2) Disable TLS (T0)
            
            ; mode control variables _____________________________________________________
            global g_probe_z_trigger = 1.752                            ; default - set as appropriate for the Z probe 
            global g_z_home            = 5                  ; can be used to always move Z to known height
            global g_z_datum_set       = false              ; can be used to prevent unneeded setting of Z=0 datum
             
            global g_map_mode          = "300 point"        ; determines which kind of height map is created/loaded
            global g_probe_mode        = "two consecutive"  ; determines if z proving used consecutive or averaging
            global g_level_mode        = "4 point"          ; determines if 3 or 4 points are used for leveling
             
            global g_print_beg_prime   = 10                 ; default - set desired in filament config.g
            global g_print_beg_retract = 0                  ; default - set desired in filament config.g
             
            global g_print_end_retract = 0                  ; default - set desired in filament config.g
            global g_print_end_mode    = "heat off"         ; determines if heaters are turned off when print is done
             
            
            ; Drives_________________________________________________________________________
            
            ;Main board______________________________________________________________________
            M569 P0 S0                                                          ; Physical drive 0 . X1
            M569 P1 S1                                                          ; Physical drive 1 . X2
            M569 P3 S1                                                       	; Physical drive 3 . Main Extruder
            M569 P4 S0                                                       	; Physical drive 4 . Secondary Extruder									
            ;Duex5 board_____________________________________________________________________
            M569 P5 S0                                                       	; Physical drive 5 . Y
            M569 P6 S0                                                       	; Physical drive 6 . Z1 (-190 , 664) 
            M569 P7 S0                                                       	; Physical drive 7 . Z2 (-190, -64) 
            M569 P8 S0                                                       	; Physical drive 8 . Z3 (680 , -64) 
            M569 P9 S0                                                       	; Physical drive 9 . Z4 (680 , 664) 
            
            ;Settings_________________________________________________________
            M584 X0:1 Y5 Z6:7:8:9  E3:4 P3								   	    ; Driver mapping                                                 
            
            
            ;___________________________________________________________________
            M350 X16 Y16 I1  		                            				; Configure microstepping with interpolation                     
            M350 Z16 E16:16 I0              		                			; Configure microstepping without interpolation
            
            M92 X100.00 Y100.00 Z2000.00 E686:700       				        ; Set steps per mm                                                
            
            M566 X300 Y500 Z100.00 E120.00:120.00  P1               		    ; Set maximum instantaneous speed changes (mm/min)                
            M203 X18000.00 Y18000.00 Z300.00 E1200.00:1200.00           		; Set maximum speeds (mm/min)                                     
            M201 X1000 Y1000 Z120.00 E250.00:250.00                  			; Set accelerations (mm/s^2)                                      
            M204 P500                                     			            ; Set print and travel accelerations  (mm/s^2)
            M906 X1800 Y1800.00 E1270:1270  I40 					        	; Set motor currents (mA) and motor idle factor in per cent (E1270 per dyze)   
            M906 Z1800.00 I50 													; Set motor currents (mA) and motor idle factor in per cent
            M84 S100                                          					; Set idle timeout - 100 seconds
            
            ; Axis Limits
            
            M208 X0 Y0 Z-0.5 S1                               			 	    ; set axis minima
            M208 X580 Y545 Z630 S0                          					; set axis maxima 580;580
            
            ; Endstops
            
            M574 X1 S1 P"xstop + e0stop"                            	; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
            M574 Y2 S1 P"ystop"                            				; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
            
            
            ; Z-Probe
            
            
            ;M558 P9 C"^zprobe.in" H5 F120 T6000 A1 R1  					; set Z probe type to bltouch and the dive height + speeds
            ;M950 S0 C"duex.pwm5"										; set probe pin
            M98 P"config_probe.g"
            M556 S50 X0 Y0 Z0		                               		; set orthogonal axis compensation parameters woher kommt der test wie wurde der Winkel bestimmt Unklar!
            M376 H10													; stop z-leveling after 10 layers
            
            ; Heaters___________________________________________________________
            M140 H-1                                       				; disable heated bed (overrides default heater mapping)
            
            
            

            macro/g_probe_z_trigger

            set global.g_probe_z_trigger = 1.752 ; set the variable
             
            M98 P"config_probe.g"              ; configure the probe using the new value
             
            ; I put this G31 here just to show the current settings - it is optional
            ; You can provide visual feedback some other way, say, using an M291 command
             
            G31
            

            mesh.g

            M98 P"config_probe.g"        ; insure probe is using most recent configuration values
             
            G29 S2                       ; cancel mesh bed compensation
            M290 R0 S0                   ; cancel baby stepping
             
            G90                          ; absolute moves
             
            							 ; --- set Z=0 datum which is needed for creating a heightmap
             
            G1 Z5 F99999                 ; insure Z starting position is high enough to avoid probing errors
             
            G1 X270 Y270                 ; move probe to center of bed - set values aaa and bbb as appropriate
            G30                          ; do single probe which sets Z to trigger height of Z probe
             
            M557 X0:580 Y0:510 S29:25.5       ; define mesh grid 420 points S58       			
            G28
            G29 S0                       ; probe bed and create height map
            

            homeall.g

            ; homeall.g
            ; called to home all axes
            
            G91                    					; relative positioning
            
            
            G1 H2 Z5 F200          		            ; lift Z relative to current position
            G1 H1 X-605 Y605 F3000 		            ; move quickly to X and Y axis endstops and stop there (first pass)     
            G1 H2 X5 Y-5 F600      		            ; go back a few mm
            G1 H1 X-605 Y605 F600  		            ; move slowly to X and Y axis endstops once more (second pass)           
                                                                  
            G90                    		            ; absolute positioning
            M98 P"config_probe.g"
            G30                    		            ; home Z by probing the bed
            G1
            
            

            macro/z-offset calibration

            ; Z-setup Macro
            ; setup Z distance
            
            M300 S666 P666               ; beeo
             
            M291 S3 R"Test Z Probe Trigger Height" P"Press OK to continue, or CANCEL to abort"
             
            G28                          ; home all
             
            G29 S2                       ; cancel mesh bed compensation
            M290 R0 S0                   ; cancel baby stepping
             
            G90                          ; absolute movements
             
            ; this complicated looking command computes the X and Y parameters needed to move the probe to the center of the bed
             
            G1 X{((move.axes[0].max + move.axes[0].min) / 2) - sensors.probes[0].offsets[0]}, Y{((move.axes[1].max + move.axes[1].min) / 2) - sensors.probes[0].offsets[1]}, F1800
             
            M300 S1111 P666              ; beep
             
            M564 H1 S0                   ; ignore axis limits
             
            M291 S2 R"Test Z Probe Trigger Height - Step 1" P"Place a paper sheet under the nozzle and raise the bed until slight friction can be noticed" Z1 ;
             
            G92 Z0                       ; the nozzle should now be just touching the bed so set the logical Z position to match the physical Z position
             
            M300 S666 P666               ; beep
             
            M291 S2 R"Test Z Probe Trigger Height - Step 2" P"Please remove the paper sheet and wait for the bed-probing to begin" ;
             
            G1 Z5 F200                   ; insure Z position will allow for probing
             
            G30 S-1                      ; probe the bed and report the Z probe trigger height
             
            M564 S1 H1                   ; respect axis limits
             
            M291 S2 R"Test Z Probe Trigger Height - Step 3" P"Copy the reported height value on the G-Code console and paste it into the config_probe.g file"
            
            
            1 Reply Last reply Reply Quote 0
            • Sculpt Fabricatorundefined
              Sculpt Fabricator @fcwilt
              last edited by

              @fcwilt

              We are running the G30 in the
              macro/z-offset Calibration

              ; Z-setup Macro
              ; setup Z distance
              
              M300 S666 P666               ; beeo
               
              M291 S3 R"Test Z Probe Trigger Height" P"Press OK to continue, or CANCEL to abort"
               
              G28                          ; home all
               
              G29 S2                       ; cancel mesh bed compensation
              M290 R0 S0                   ; cancel baby stepping
               
              G90                          ; absolute movements
               
              ; this complicated looking command computes the X and Y parameters needed to move the probe to the center of the bed
               
              G1 X{((move.axes[0].max + move.axes[0].min) / 2) - sensors.probes[0].offsets[0]}, Y{((move.axes[1].max + move.axes[1].min) / 2) - sensors.probes[0].offsets[1]}, F1800
               
              M300 S1111 P666              ; beep
               
              M564 H1 S0                   ; ignore axis limits
               
              M291 S2 R"Test Z Probe Trigger Height - Step 1" P"Place a paper sheet under the nozzle and raise the bed until slight friction can be noticed" Z1 ;
               
              G92 Z0                       ; the nozzle should now be just touching the bed so set the logical Z position to match the physical Z position
               
              M300 S666 P666               ; beep
               
              M291 S2 R"Test Z Probe Trigger Height - Step 2" P"Please remove the paper sheet and wait for the bed-probing to begin" ;
               
              G1 Z5 F200                   ; insure Z position will allow for probing
               
              G30 S-1                      ; probe the bed and report the Z probe trigger height
               
              M564 S1 H1                   ; respect axis limits
               
              M291 S2 R"Test Z Probe Trigger Height - Step 3" P"Copy the reported height value on the G-Code console and paste it into the config_probe.g file"
              
              
              fcwiltundefined 1 Reply Last reply Reply Quote 0
              • Sculpt Fabricatorundefined
                Sculpt Fabricator @fcwilt
                last edited by

                @fcwilt
                We are running the z-offset calibration with the G30 in it
                after we run the z probe calibration

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

                  @sculpt-fabricator

                  OK I see now.

                  A few things to mention:

                  • For the other person I had shown how to use a variable to set the G31 Z Trigger Height setting. You have created the variable but I don't see that you are using it in config_probe.g.
                    Using the variable is optional. If you are not going to use it in config_probe.g then you can remove any other code referencing the variable.

                  • You mention using the formula to move to the center of the bed with Z0 added. But you show it after the F parameter without a comma separating from the F parameter. I don't believe it actual does anything without the comma. What was the intent of executing this command?

                  • Anytime you change anything in your config_probe.g file you need to be sure it is executed before you attempt to use the new setting(s) in the file.

                  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

                  Sculpt Fabricatorundefined 1 Reply Last reply Reply Quote 0
                  • Sculpt Fabricatorundefined
                    Sculpt Fabricator @fcwilt
                    last edited by

                    @fcwilt
                    So I don't switch out build plates, Just run a lot of the same material.
                    I know he wanted that extra part to change out plates.
                    So how do I need to change that.

                    1 Reply Last reply Reply Quote 0
                    • Sculpt Fabricatorundefined
                      Sculpt Fabricator @fcwilt
                      last edited by

                      @fcwilt

                      So I need change my config_probe.g Z setting back to
                      global.g_probe_z_trigger
                      like this

                      ; config_probe.g
                      ; config the probe and call the other files.g
                       
                      M558 P9 C"^zprobe.in" H5 F120 T6000 A1 R1
                      M950 S0 C"duex.pwm5"
                      G31 P25 X0 Y-30 Z{global.g_probe_z_trigger} ; set Z probe trigger value, offset and trigger height (larger value is closer)G31 P500 X0 Y-30 Z1.73
                      
                      fcwiltundefined 1 Reply Last reply Reply Quote 0
                      • fcwiltundefined
                        fcwilt @Sculpt Fabricator
                        last edited by fcwilt

                        @sculpt-fabricator

                        You don't need to use the variable I all. I don't use one. I just have the constant value for the Z Trigger Height parameter in my config_probe.g file.

                        If you want to use the variable then make the change you show to your config_probe.g file.

                        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
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA