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

    Verifying mesh levelling

    Scheduled Pinned Locked Moved
    General Discussion
    6
    71
    4.6k
    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.
    • BStumpundefined
      BStump @fcwilt
      last edited by

      @fcwilt said in Verifying mesh levelling:

      @bstump

      I use cast tool plate for the beds of my printers which from my supplier is spec'd to be flat within 0.4 mm but is usually much better.

      I have found that bed adhesion is affected by many factors but these are what work for me:

      • use the best cast tool plate you can find
      • get the bed level within 0.005mm
      • use 400 point mesh compensation
      • use a first layer printing speed 10%-20% of the normal print speed
      • turn off the part cooling fan for the first layer

      Frederick

      Here is the height map from my modified FT5 printer:

      Always 400 point mesh.

      The first layer speed is typically ~50% of the other layer speed.

      We have 0% fans for the first 10 layers to improve bed adhesion and reduce warping.

      Our bed is made from three rectangular Aluminum plate. And on that are three PEI sheets. The overall bed if 1010 x 1010, and suffers for bubbles in the attachment of the PEI sheet to the bed.

      1dd006f4-5ae4-4084-82ca-ff054f8319c2-image.png

      1 Reply Last reply Reply Quote 0
      • BStumpundefined
        BStump
        last edited by

        I am very intrigued by this post where several made scripts for Curs, S3D, and Slicr to probe only the area under the actual print. Not being a coder I need to modify moth the Cura and Simplified #d ones to keep the number of probe points under 400 and not probe less than about 10mm spacing.

        I think this may solve our issues. Not sure how this would be applied when you have a multi part print where ideally it probes under each individually.

        https://forum.duet3d.com/topic/15302/cura-script-to-automatically-probe-only-printed-area

        1 Reply Last reply Reply Quote 0
        • BStumpundefined
          BStump @Phaedrux
          last edited by

          @phaedrux said in Verifying mesh levelling:

          With a bed like that I'd probably leave taper off entirely unless you're more concerned about wear and tear on the z axis. Otherwise try 50mm

          Take a look at this to see if it might fit into your work flow.

          https://forum.duet3d.com/topic/15302/cura-script-to-automatically-probe-only-printed-area

          This way you could maximize the 440 points into the exact area you're printing on, with the downside of needing to probe before each print. Though if the area is smaller you could probably get away with fewer than the full 441.

          Can you also post your config.g again? I can't seem to find it scrolling up. There are potentially improvements we can make to the probing settings.

          Thanks on that, I found it also. Very intriguing. See my comment above.

          1 Reply Last reply Reply Quote 0
          • BStumpundefined
            BStump @Phaedrux
            last edited by

            @phaedrux said in Verifying mesh levelling:

            With a bed like that I'd probably leave taper off entirely unless you're more concerned about wear and tear on the z axis. Otherwise try 50mm

            Take a look at this to see if it might fit into your work flow.

            https://forum.duet3d.com/topic/15302/cura-script-to-automatically-probe-only-printed-area

            This way you could maximize the 440 points into the exact area you're printing on, with the downside of needing to probe before each print. Though if the area is smaller you could probably get away with fewer than the full 441.

            Can you also post your config.g again? I can't seem to find it scrolling up. There are potentially improvements we can make to the probing settings.

            ; Configuration file for Duet WiFi (firmware version 3)
            ; executed by the firmware on start-up
            ; 
            ; generated by RepRapFirmware Configuration Tool v3.2.3 on Thu Jun 24 2021 09:31:20 GMT-0600 (Central Standard Time)
            
            ; General preferences
            G90                                                      ; send absolute coordinates...
            M83                                                      ; ...but relative extruder moves
            M550 P"modix_big_meter"                                  ; set printer name
            
            ; Network
            M552 P0.0.0.0 S1                                         ; enable network and acquire dynamic address via DHCP
            M586 P0 S1                                               ; enable HTTP
            M586 P1 S0                                               ; disable FTP
            M586 P2 S0                                               ; disable Telnet
            
            ; Drives
            M569 P0 S0                                               ; physical drive 0	X1				reverse
            M569 P1 S1                                               ; physical drive 1	X2				forward
            M569 P2 R-1                                              ; Physical drive 2	not used
            M569 P3 S1                                               ; physical drive 3	E0				forward
            M569 P4 S0                                               ; physical drive 4	E1				reverse
            ; additional drives on duex5 expansion board
            M569 P5 S0                                               ; Physical drive 5	Y				reverse
            M569 P6 S0                                               ; Physical drive 6	Z1 (0,1000)		reverse 
            M569 P7 S0                                               ; Physical drive 7	Z2 (0,0) 		reverse 
            M569 P8 S0                                               ; Physical drive 8	Z3 (1000,0)		reverse  
            M569 P9 S0                                               ; Physical drive 9	Z4 (1000,1000)	reverse  
            
            
            M584 X0:1 Y5 Z6:7:8:9 E3:4 P3							 ; map motors to axis
            M671 X-181:-181:1049:1049 Y1066:-58:-58:1066 S10	  	 ; CCW positions of Z motors
            
            M350 X16 Y16 Z16 E16 U16 I1								 ; Configure microstepping with interpolation
            M92 X100.00 Y100.00 Z2000.00 E412.32 U100.00			 ; Set steps per mm
            ;M566 X240 Y360 Z30.00 E120.00 U240 P1					 ; Set maximum instantaneous speed changes (mm/min)
            M566 X120 Y360 Z30.00 E120.00 U240 P1					 ; Set maximum instantaneous speed changes (mm/min)
            M203 X9000.00 Y9000.00 Z200.00 E1200.00 U9000.00		 ; Set maximum speeds (mm/min)
            ;M201 X1000 Y1000 Z120.00 E250.00 U1000					 ; Set accelerations (mm/s^2)
            M201 X500 Y1000 Z120.00 E250.00 U1000					 ; Set accelerations (mm/s^2)
            M204 P500 T1000											 ; Set print and travel accelerations  (mm/s^2)
            M906 X1800 Y1800.00 E1000.00 U1800 I30 					 ; Set motor currents (mA) and motor idle factor in per cent
            M906 Z1800.00 I50 										 ; Set motor currents (mA) and motor idle factor in per cent
            M84 S60 X Y U E0 E1										 ; Set idle timeout - one minute
            
            ; Axis Limits
            M208 X0 Y0 Z0 U0 S1										 ; set axis minima
            M208 X1000 Y1000 Z1000 U1000 S0						     ; set axis maxima
            
            ; Endstops
            ; X1 = X end stop low end
            ; Y2 = Y end stop high end
            ; U1 = U end stop low end (U is second X)
            ; S1 = all active high
            ; no Z end stop
            
            M574 X1 S1 P"xstop+e0stop" ; combined X axis endstops
            M574 Y2 S1 P"ystop" 
            
            ; Z-Probe
            M950 S0 C"duex.e6heat"                                  ; create servo pin 0 for BLTouch
            M558 P9 C"^zprobe.in" H5 F120 T9000 R0.7                ; set Z probe type to bltouch and the dive height + speeds
            ; heater 7 output used for PWM of BL touch (e6 heat)
            G31 P500 X-14 Y21 Z1.000                    		    ; Set Z probe trigger value, offset and trigger height(Z-offset)
            M557 X-14:974 Y21:1009 S52 		                        ; Define mesh grid. 400 Points
            ;M376 H10			                    				; Height (mm) over which to taper off the bed compensation
            M376 H0			                    					; compensation taper disabled TEST
            
            ; Heaters
            M140 H-1                                                ; disable heated bed (overrides default heater mapping)
            ; tool 0 heater
            M308 S0 P"spi.cs1" Y"rtd-max31865" R395 F60
            M950 H1 C"e0heat" T0          							; heater 0 uses the e0_heat pin and sensor 1
            M307 H1 B0 S1.00                                        ; disable bang-bang mode for heater  and set PWM limit
            M143 H1 S285                                            ; set temperature limit for heater 0 to 285C
            ; tool 1 heater
            M308 S1 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8  ; configure sensor 1 as thermistor on pin e1temp
            M950 H2 C"e1heat" T1                                    ; create nozzle heater output on e1heat and map it to sensor 1
            M307 H2 B0 S1.00                                        ; disable bang-bang mode for heater  and set PWM limit
            M143 H2 S285                                            ; set temperature limit for heater 1 to 285C
            
            ; Fans
            M950 F0 C"fan0" Q500      ; T0                          ; 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      ; T1                          ; create fan 1 on pin fan1 and set its frequency
            M106 P1 S0 H-1                                          ; set fan 1 value. Thermostatic control is turned off
            M950 F2 C"fan2" Q500                                    ; create fan 2 on pin fan2 and set its frequency
            M106 P2 S0 H-1                                          ; set fan 2 value. Thermostatic control is turned off
            M950 F3 C"duex.fan3" Q500                               ; create fan 3 on pin duex.fan3 and set its frequency
            M106 P3 I-1                                             ; set fan 3 value. Thermostatic control is turned off
            M950 F4 C"duex.fan4" Q500                               ; create fan 4 on pin duex.fan4 and set its frequency
            M106 P4 I-1                                             ; set fan 4 value. Thermostatic control is turned off
            M950 F5 C"duex.fan5" Q500                               ; create fan 5 on pin duex.fan5 and set its frequency
            M106 P5 S1 H0 T46                                       ; extruder 0           ; set fan 5 value. Thermostatic control is turned on
            M950 F6 C"duex.fan6" Q500                               ; create fan 6 on pin duex.fan6 and set its frequency
            M106 P6 S1 H1 T46                                       ; extruder 1           ; set fan 6 value. Thermostatic control is turned on
            ; apparently these disabled defines still seize the IO; don't define so we can use for LED later
            ;M950 F7 C"duex.fan7" Q500                              ; create fan 7 on pin duex.fan7 and set its frequency
            ;M106 P7 I-1                                            ; set fan 7 value. Thermostatic control is turned off
            M950 F8 C"duex.fan8" Q500                               ; create fan 8 on pin duex.fan8 and set its frequency
            M106 P8 I-1                                             ; set fan 8 value. Thermostatic control is turned off
            
            ; Tools
            M563 P0 S"E0 Primary" D0 H1 F0                          ; define tool 0, E0 drive, heater 1, fan 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"E1 SEcondary" D1 H2 F1                        ; define tool 1
            G10 P1 X-0.2 Y52.5 Z0                                   ; set tool 1 axis offsets
            G10 P1 R0 S0                                            ; set initial tool 1 active and standby temperatures to 0C
            
            ; Miscellaneous
            M575 P1 S1 B57600                                       ; enable support for PanelDue
            M501                                                    ; load saved parameters from non-volatile memory
            
            ; Automatic power saving____________________________________________
            M911 S22.5 R29.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"   ; Set voltage thresholds and actions to run on power loss. Power Failure Pause
            	
            ;M591 D0:1 P1 C4 S1		   			       	    		 ; Regular filament sensor for E0 and E1
            ; disabled, fixme
            
            
            ; _______________GPIOs____________________
            ; LED strip on GPIO 'P1', duex fan7 output
            M950 P1 C"duex.fan7" Q500
            
            Phaedruxundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator @BStump
              last edited by

              @bstump Try adding these bits to your M558

              A10 S0.005

              That force it to probe each point at least twice and will tighten the tolerance between consecutive probings and if they aren't within 0.005mm of each other it will probe again until two probe results are up to 10 times.

              You can also reduce your dice height from 5mm to 3mm and save some probing time.

              Also try changing G31 P500 to G31 P25

              Z-Bot CoreXY Build | Thingiverse Profile

              BStumpundefined 1 Reply Last reply Reply Quote 0
              • BStumpundefined
                BStump @Phaedrux
                last edited by

                @phaedrux said in Verifying mesh levelling:

                @bstump Try adding these bits to your M558

                A10 S0.005

                That force it to probe each point at least twice and will tighten the tolerance between consecutive probings and if they aren't within 0.005mm of each other it will probe again until two probe results are up to 10 times.

                You can also reduce your dice height from 5mm to 3mm and save some probing time.

                Also try changing G31 P500 to G31 P25

                Dice height?

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

                  @bstump said in Verifying mesh levelling:

                  Dice height?

                  Yes - how high off the table the dice are when you release them - it improves your chances of winning.

                  😉

                  Dice -> Dive

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

                  BStumpundefined 1 Reply Last reply Reply Quote 0
                  • BStumpundefined
                    BStump @fcwilt
                    last edited by

                    @fcwilt said in Verifying mesh levelling:

                    @bstump said in Verifying mesh levelling:

                    Dice height?

                    Yes - how high off the table the dice are when you release them - it improves your chances of winning.

                    😉

                    Dice -> Dive

                    I kind of figured that but need to figure out where it is set. ATM I am digging in how to modify the locig in that python sript to set the x and y spaying and keep the number of points below 441

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

                      Sorry, dive height. M558 H

                      Z-Bot CoreXY Build | Thingiverse Profile

                      BStumpundefined 1 Reply Last reply Reply Quote 0
                      • BStumpundefined
                        BStump @Phaedrux
                        last edited by

                        @phaedrux
                        Yes, anything to improve the time is probing would be good. take near 45 mins now to do 400 points

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

                          @bstump Your max Z speed is set to 200. You could probably probe at that speed reliably especially if you're double probing each point. You already have a dwell time between probe moves to allow it to settle.

                          The dive height just needs to be high enough for the pin to reliably drop and the z axis reach steady motion before it triggers.

                          Your trigger height is 1.0mm which seems too perfect. Have you actually measured it?

                          https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Section_Calibrate_the_Z_probe_trigger_height

                          Z-Bot CoreXY Build | Thingiverse Profile

                          BStumpundefined 1 Reply Last reply Reply Quote 1
                          • BStumpundefined
                            BStump @Phaedrux
                            last edited by

                            @phaedrux said in Verifying mesh levelling:

                            @bstump Your max Z speed is set to 200. You could probably probe at that speed reliably especially if you're double probing each point. You already have a dwell time between probe moves to allow it to settle.

                            The dive height just needs to be high enough for the pin to reliably drop and the z axis reach steady motion before it triggers.

                            Your trigger height is 1.0mm which seems too perfect. Have you actually measured it?

                            https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Section_Calibrate_the_Z_probe_trigger_height

                            I do not know if the guys have verified the trigger height or not.

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

                              @bstump said in Verifying mesh levelling:

                              @phaedrux
                              Yes, anything to improve the time is probing would be good. take near 45 mins now to do 400 points

                              There is little to do to drastically improve the time.

                              The biggest "timesaver" would find a way to create and install a bed so flat that mesh compensation isn't needed.

                              If you solve that problem let me know - I could use a totally flat bed.

                              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

                              Phaedruxundefined dc42undefined 2 Replies Last reply Reply Quote 0
                              • Phaedruxundefined
                                Phaedrux Moderator @fcwilt
                                last edited by

                                @fcwilt said in Verifying mesh levelling:

                                I could use a totally flat bed.

                                I'm still waiting for someone to try the self leveling concrete bed. At 1 sq meter it might be practical... just saying.

                                Z-Bot CoreXY Build | Thingiverse Profile

                                BStumpundefined 1 Reply Last reply Reply Quote 1
                                • BStumpundefined
                                  BStump @Phaedrux
                                  last edited by

                                  @phaedrux said in Verifying mesh levelling:

                                  @fcwilt said in Verifying mesh levelling:

                                  I could use a totally flat bed.

                                  I'm still waiting for someone to try the self leveling concrete bed. At 1 sq meter it might be practical... just saying.

                                  That would be a bitch to heat up and nasty with regards to spalling.

                                  1 Reply Last reply Reply Quote 0
                                  • dc42undefined
                                    dc42 administrators @fcwilt
                                    last edited by

                                    @fcwilt said in Verifying mesh levelling:

                                    @bstump said in Verifying mesh levelling:

                                    @phaedrux
                                    Yes, anything to improve the time is probing would be good. take near 45 mins now to do 400 points

                                    There is little to do to drastically improve the time.

                                    The biggest "timesaver" would find a way to create and install a bed so flat that mesh compensation isn't needed.

                                    If you solve that problem let me know - I could use a totally flat bed.

                                    Frederick

                                    You would also need a gantry with negligible sag, which is also not easy when spanning 1m.

                                    Duet WiFi hardware designer and firmware engineer
                                    Please do not ask me for Duet support via PM or email, use the forum
                                    http://www.escher3d.com, https://miscsolutions.wordpress.com

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

                                      @dc42 said in Verifying mesh levelling:

                                      You would also need a gantry with negligible sag, which is also not easy when spanning 1m.

                                      Indeed - I would never tackle trying to build such a large printer - I have trouble getting a satisfactorily flat bed on a 300x300 printer.

                                      Wish I had a nice large mill but mine is too small to handle 300x300.

                                      Sigh.

                                      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

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

                                        According to the config file it's a Modix Big Meter.

                                        https://www.modix3d.com/tech-spec/

                                        Should be fairly sturdy.

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        1 Reply Last reply Reply Quote 1
                                        • BStumpundefined
                                          BStump @fcwilt
                                          last edited by

                                          @fcwilt said in Verifying mesh levelling:

                                          @dc42 said in Verifying mesh levelling:

                                          You would also need a gantry with negligible sag, which is also not easy when spanning 1m.

                                          Indeed - I would never tackle trying to build such a large printer - I have trouble getting a satisfactorily flat bed on a 300x300 printer.

                                          Wish I had a nice large mill but mine is too small to handle 300x300.

                                          Sigh.

                                          Frederick

                                          The bed of the Modix is made from this

                                          https://www.howardprecision.com/aluminum/aluminum-cast-tool-jig-plate-stock-list/mic-6-aluminum/

                                          Sadly Modix only provides grub leveling screws on the underside middle supports and not the perimeter ones. We may have to add them to the perimeter.

                                          Grub Screw Leveling.png

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

                                            @bstump

                                            Adjusting that many grub screws is not going to be any fun at all.

                                            I have just four and even that is tedious.

                                            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