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

    Weird first layer inconsistency and probe repeatability issue

    Scheduled Pinned Locked Moved
    General Discussion
    3
    12
    365
    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.
    • equanimity8undefined
      equanimity8
      last edited by

      Hi all, I'm trying to set up a custom CoreXY that runs a Precision Piezo for Z homing and probing on the latest RRF2.05 release.

      The issue is that my first layer is inconsistent.
      The symptoms are that a probe repeatability macro in the same X and Y position shows the probe to be in line with the manufacturer's documentation (st. dev. of about 7 microns) but when I run a probe repeatability macro in different X and Y positions across the print volume I get st. dev of about 330 microns. The trigger heights on my repeatability macros match the trigger heights recorded in my height map. Turning mesh compensation on and off (G29 S1/G29 S2) has no effect on what I described above but I can visually confirm that when mesh compensation is on my Z axis moves up and down.

      I'm out of ideas what it might be since my probe appears repeatable enough.

      Best

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

        The Piezo is a contact probe, so the bed has to be stiff enough that when the nozzle touches the bed it can register in the same way. It sounds like your bed may not be well supported or large enough to have move give to it farther away from the mounting bolts.

        That's my theory based on your description anyway. Without seeing more about your printer and setup, that's all I've got.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • equanimity8undefined
          equanimity8
          last edited by

          The machine is something I cobbled together during lockdown because I was itching to build something and was a great excuse to use up the remaining spools I had lying around as well as a bunch of components. The concept is an amalgamation of the V-King and RailCore printers.

          I use Mellow's take on Gates pulleys, idlers, and belt on the X and Y and a triple leadscrew with anti-backlash delrin nuts setup on Z joined by a closed loop belt with a single stepper. As a result of the triple Z, the build plate is very stable and when I ran a probe compensation macro on the "least supported" corners I get a st.dev. of 7 and 4 microns in the far left and far right corners, respectively. As I don't have a more appropriate bed surface at this time I run a reduced build size on a piece of glass with a sheet of builtak, secured by clamps.

          Here's a LINK to a couple of pictures. Please excuse the color scheme and wire management.

          engikeneerundefined 1 Reply Last reply Reply Quote 0
          • engikeneerundefined
            engikeneer @equanimity8
            last edited by

            @equanimity8 guessing you've done this, but make sure your nozzle is clean before probing. I have to manually pull off the excess cold ooze before starting a print. I then heat it to 130C so any remaining filament on the nozzle is soft, then do a few test probes to flatten any remaining, before moving to the centre of the bed for the actual Z home

            E3D TC with D3Mini and Toolboards.
            Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
            i3 clone with a bunch of mods

            1 Reply Last reply Reply Quote 0
            • equanimity8undefined
              equanimity8
              last edited by

              Thanks for mentioning that and, indeed, the nozzle is clean. Further, I've done tests at room temp, at 130C, and at 220C and there is no difference in output besides what is expected due to thermal expansion.

              engikeneerundefined 1 Reply Last reply Reply Quote 0
              • engikeneerundefined
                engikeneer @equanimity8
                last edited by

                @equanimity8 hmm... now you've got me stumped.

                Can you describe how it is inconsistent? As in layer height varies across the print, or one print is high whilst the next is low?

                Have you tried doing the paper test to find the z-offset at different parts of the bed? That might show if there are issues there.

                Random thought dump time (apologies if you've already covered these....) Any chance the z axis is losing position/skipping steps? Are you using 256u stepping or 16 with interpolation? What are your z accel/jerk/current? Do you change these during homing? (And are you changing them back?) I had issues where I lost steps when dropping the current but not the acceleration/speed. Have you accidentally set an XY offset on your z-probe?

                E3D TC with D3Mini and Toolboards.
                Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
                i3 clone with a bunch of mods

                1 Reply Last reply Reply Quote 1
                • equanimity8undefined
                  equanimity8
                  last edited by equanimity8

                  Repeatability is inconsistent in the sense that when I probe a single point I get excellent st. dev. (usually around 5-7 microns) but when I probe multiple points the st. dev. shoots up to about 300 microns. I realise that my bed isn't perfectly flat since I've used 3d printed brackets that aren't as rigid as blind joints can be but mesh compensation is supposed to correct for that, right? I have inspected the motion system for any sort of mechanical irregularity or backlash but nothing suggests that it could produce an error of that magnitude. As a result, when I print a bed level test for the entire size of the bed I get nice adhesion on the tracks in the middle but overextrusion in the corners.

                  To answer the point that you mentioned, paper test shows that mesh compensation does something but the gap in the far right corner is smaller than the gap in the close left corner; z axis doesn't seem to skip steps or bind as it runs smoothly and quietly, I ran the bed fully up and down and tested the offset between the nozzle with a piece of paper and it's fine, I also backed the current just a bit so the motor doesn't get hot as it did before; I use 16 microsteps with interpolation; my jerk/acc is 1/250 mm/min and current is 1100mA@1.8A motor; I don't change these during homing or similar; there is no XY offset on the probe, only Z-1.5, otherwise the traks of my first layer don't adhere well to each other.

                  I've been bogged down on that for some time now and I really hope that I'm not overlooking something obvious...

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

                    Post your M558 and G31 lines. Or full config and homeall for good measure.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • equanimity8undefined
                      equanimity8
                      last edited by equanimity8

                      Here is config.g

                      ; General preferences
                      G90                            ; Send absolute coordinates...
                      M83                            ; ...but relative extruder moves
                      
                      M667 S1                        ; Select CoreXY mode
                      
                      ; Network
                      M550 PPrinter Extrusions	;machine name
                      M552 S1				;start wifi module
                      
                      ; Drives
                      M569 P0 S1                     ; Drive 0 goes forwards
                      M569 P1 S1                     ; 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 Z2133.33 E456         ; Set steps per mm
                      M566 X900 Y900 Z1 E120        ; Set maximum instantaneous speed changes (mm/min)
                      M203 X9000 Y9000 Z720 E1200    ; Set maximum speeds (mm/min)
                      M201 X500 Y500 Z250 E250        ; Set accelerations (mm/s^2)
                      M906 X1200 Y1200 Z1100 E1100 I30   ; Set motor currents (mA) and motor idle factor in per cent
                      M84 S30                        ; Set idle timeout
                      
                      ; Axis Limits
                      M208 X0 Y0 Z0 S1               ; Set axis minima
                      M208 X210 Y150 Z170 S0         ; Set axis maxima
                      
                      ; Endstops
                      M574 X1 Y1 Z0 S0
                      
                      ; Z-Probe
                      M558 P8 H10 I1 R1 F600 X0 Y0 Z1
                      G31 X0 Y0 Z-0.15 P600
                      
                      ; Heaters
                      M140 H-1                       ; Disable heated bed
                      M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
                      M143 H1 S280                   ; Set temperature limit for heater 1 to 280C
                      
                      ; Fans
                      M106 P0 H-1			; set fan 1 to be gcode controlled
                      M106 P2 S1 I0 T45 H1            ; 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
                      

                      ...and homeall.g

                      ;Home X and Y
                      G91                     	; relative positioning
                      G1 Z5 F420 S2        		; Lower bed 5mm to ensure it is below the switch trigger height
                      G1 S1 X-375 Y-305 F600   	; course home X or Y
                      G1 S1 X-375 F600              	; course home X
                      G1 S1 Y-305 F600              	; course home Y
                      G1 X5 Y5 F600             	; move away from the endstops
                      G1 S1 X-10 F200           	; fine home X
                      G1 S1 Y-10 F200               	; fine home Y
                      G1 X5 Y5 F600  			; go to origin
                      
                      ;Home Z
                      G90              ; absolute positioning
                      G1 X30 Y30 F600  ; go to first probe point
                      G30              ; home Z by probing the bed
                      G91              ; relative positioning
                      G1 Z5 F420       ; lift Z relative to current position
                      G90              ; absolute positioning
                      
                      ;Load height map
                      G29 S1
                      
                      engikeneerundefined 1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        @equanimity8 said in Weird first layer inconsistency and probe repeatability issue:

                        M558 P8 H10 I1 R1 F600 X0 Y0 Z1

                        X0 Y0 Z1 has been deprecated for a while. So you can remove that. Not that it would have an impact here I don't think.

                        You're also missing a T parameter for travel speed between points. Usually T6000. Also probably isn't an issue here.

                        You may want to consider adding an A parameter to increase the number of probes carried out until 2 match within a tolerance. A10 for example. Tolerance is defined with S. This can help reject out of spec probe results.

                        https://duet3d.dozuki.com/Wiki/Gcode#Section_M558_Set_Z_probe_type

                        You can also try lowering the G31 P value a bit to make the trigger sensitivity a bit lower. 400-500 maybe.

                        Your dive speed looks ok.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        1 Reply Last reply Reply Quote 0
                        • engikeneerundefined
                          engikeneer @equanimity8
                          last edited by

                          @equanimity8 You're z-jerk seems quite low. I might be wrong, but by my maths, if you're probing at 600mm/s, the bed won't stop until 0.2mm after the probe is triggered and the duet responded. Just wondering if that means you're hitting the bed a bit hard and it's upsetting things?

                          Increased J zerk might also make the mesh compensation work better? I'm wondering if that is affecting the XY motion nearer the edges leading to inconsistent extrusion? I might be talking out of my **** though...

                          E3D TC with D3Mini and Toolboards.
                          Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
                          i3 clone with a bunch of mods

                          1 Reply Last reply Reply Quote 0
                          • equanimity8undefined
                            equanimity8
                            last edited by

                            Thanks for the suggestions. I will implement them and report back in a day or two when I get back to the printer.

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