Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Use of G30 Z0 and precision nozzle probing for perfect first layer!

    General Discussion
    4
    17
    3161
    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.
    • DjDemonD
      DjDemonD last edited by

      Okay so recent issues getting my corexy printing a consistent first layer with new re-arm board and learning smoothieware for the first time (full details here http://forums.reprap.org/read.php?13,735351,749662,page=2#msg-749662)) and it was suggested to me (by sdavi - genius) to do grid levelling and then go to bed centre (although assuming levelling grid is working it doesn't matter where on the bed) and then do G30 Z0. This sets the nozzle (since I am using a piezo hotend probe which is nozzle based and very accurate) at exactly z=0. Then just print with correct first layer height i.e. actually 0.3mm for a 0.3mm first layer rather than 0.3mm+thickness of paper etc.. You will get exactly a 0.3mm first layer. It is the equivalent of doing a grid probe and then homing z afterwards, which I did not assume was possible as this would clear reset the grid.

      All I can say is this is a really clever way of doing away with all that messing around trying to get a good first layer, you know - paper tests, feeler gauges, raising and lowering the head and calculating the distance, nozzle offsets (there is no probe offset) etc… This renders babystepping pointless and since not all firmwares have it this is a good thing. I accept it is only possible with a probe that uses the nozzle and is so sensitive that z=0 is z=0 rather than compliance in the probing method generating an offset. But it seems to work, I can print an even first layer at any point on the bed (which is not very flat or level) and its all automatic.

      This seems to work with RRF as well, but I haven't tried it with Marlin/repetier.

      Does everyone know about this already or did I just miss z-probing 101? Or has it previously not been that useful as a very precise nozzle based probe wasn't available?

      Simon. Precision Piezo Z-Probe Technology
      www.precisionpiezo.co.uk
      PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

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

        There is no need to do G30 Z0, it just tells the firmware that the nozzle height error is 0 at that point in preparation for 3, 4 or 5-point levelling, which you are not using. So in your context, it does nothing.

        Homing Z does not reset the grid. However, it will reset the Z=0 height. The only time this should make a difference is if you are homing using the Z probe and the XY point you choose for Z homing does not correspond with one of the points on the grid. Then the height at that point calculated from interpolating the nearest grid point may not be quite the same as the height measured at that point by the probe, resulting in a small shift. To avoid this, choose your XY homing position to coincide with one of the points on the grid.

        The only time I mess around with paper under the nozzle is when I have changed something about the hot end and I need to re-measure the Z probe trigger height. I never allow for the thickness of the paper, I assume the elasticity in the print head mechanism more or less cancels it out.

        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

        1 Reply Last reply Reply Quote 0
        • DjDemonD
          DjDemonD last edited by

          Okay, I tried this:
          homed and autocalibrated my delta. Sent nozzle to z=5 at bed centre. Then sent G92 Z6 to simulate a nozzle 1mm higher than it ought to be. Then I sent G30 Z0, the nozzle touched the bed the probe triggered and the coordinate read Z=0.01.

          So what's happening there if not the effect I describe? I know you understand this better than anyone, but it has the practical effect I describe and it's very useful used this way.

          I tried it with the nozzle short so moved the nozzle to z=10 then send G92 Z8, then G30 Z0, once the probe triggers on contact the coordinates are reset to z=0.01.

          I'm not saying that on a very precise machine it has much application, on my kossel XL its not needed. But on a lot of other machines like one I have, where after each grid level the precise nozzle to bed gap varies compared to the last probing, or as you change nozzle temps and get variation due to thermal expansion, its a much easier and fully automatic way of resetting the z level (like homing to z-min, but it works on deltas too) after calibration/levelling and then printing a perfect first layer. No babystepping, no paper tests, no cancelling the print that isn't sticking or over-squashing the first layer. It will however only work universally with a precise nozzle contact probe.

          Simon. Precision Piezo Z-Probe Technology
          www.precisionpiezo.co.uk
          PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

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

            I was wrong about G30 Z0 in my previous message. I just checked the code, and if there is no P parameter then any XYZ parameters are ignored. Only the H parameter is used, if it is present. So G30 Z0 does exactly the same as G30 - and G30 is the command used to home Z if you are homing using a Z probe. My previous comment applies: make sure you do the G30 at an XY position that corresponds to a grid point, or the G30 command may cause a small shift in the Z=0 position.

            Unless a user wants to run G29 to re-probe the bed every time, I recommend using G29 S1 to load the existing bed map, followed by home Z or G30 to establish the Z=0 position - preferably with the nozzle and bed up to temperature.

            I am implementing babystepping in firmware 1.18 because a number of users have asked for it, not because I have any need for it.

            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

            1 Reply Last reply Reply Quote 0
            • DjDemonD
              DjDemonD last edited by

              I was one of the people who asked for it and one of its greatest proponents, until earlier today, now I couldn't honestly see a purpose for it personally, though it is still the fastest way to set the nozzle to bed gap when commissioning/tuning a machine or where your machine is mechanically sub-optimal.

              The idea that with a precise nozzle based probe and working grid levelling (or plane correction and a perfectly flat bed) all it takes is one simple g-code to get exactly the right nozzle to bed gap every time, is very satisfying.

              "Unless a user wants to run G29 to re-probe the bed every time, I recommend using G29 S1 to load the existing bed map, followed by home Z or G30 to establish the Z=0 position - preferably with the nozzle and bed up to temperature." DC42

              +1 for loading the grid, unless you have changed something related to the mechanics of the machine that works. Though I would say if using the piezo probe system get the bed to operating temp, and nozzle to as close to below ooze-temperature as you can i.e. 160 for ABS etc.. then probe. This is to avoid filament being on the nozzle tip. The thermal expansion effect from say 160 to 235 is very small, even if we assumed the entire hot end was heated, an e3d v6 would go from 62.40345mm @ 160 deg C to 62.46092mm @ 235 deg C so only 0.06mm and that's if the whole thing was hot. In reality the heaterblock and heatbreak up to the heatsink is 19.5mm, so the change is only 0.02mm. If you probed with hotend cold you would be expecting 0.06mm change in dimension from 20-235 deg C.

              Simon. Precision Piezo Z-Probe Technology
              www.precisionpiezo.co.uk
              PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

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

                That all sounds good to me. Probing the bed with the nozzle at full operating temperature would be too hot for some bed materials.

                Are you really able to use a G31 Z parameter of zero? I would have thought you would need a negative trigger height of a few tens of microns at least, especially when probing a bed with a soft surface such as PEI.

                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

                1 Reply Last reply Reply Quote 0
                • DjDemonD
                  DjDemonD last edited by

                  I haven't tried it on PEI but yes that's certainly likely, with printbite I'm using -0.1 but doing it in slic3r as 0.1mm z offset, but that's a "measure once and set" thing to do. I suspect onto glass it would be as near to 0 as it was possible to be.

                  Simon. Precision Piezo Z-Probe Technology
                  www.precisionpiezo.co.uk
                  PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                  1 Reply Last reply Reply Quote 0
                  • deckingman
                    deckingman last edited by

                    Hi DJ and Congrats on getting it working - you are obviously excited about it. I seem to be missing something though. Why is it important to you that the trigger height is 0? It's a set once and forget thing thing with any sensor, especially if ones bed is flat and
                    level, so as long as it's repeatable, so why does why does it matter that it's zero rather than 0.1 or even 2mm? Cheers. Ian

                    Ian
                    https://somei3deas.wordpress.com/
                    https://www.youtube.com/@deckingman

                    1 Reply Last reply Reply Quote 0
                    • DjDemonD
                      DjDemonD last edited by

                      Thanks Ian, no nozzle z offset, doesn't matter once its set for a surface it's set. it's just this idea of using G30 means you always get the first layer right automatically rather than when setting up/tuning having to trial and error your way there. Also if your machine is less reproducible than is ideal you lose the headaches with first layer height.

                      It's one of these things that for some is not an issue for others it's the bane of their lives. I see it like auto delta calibration, if you could manually calibrate a delta before it was as skill, you enjoyed it, you can't see the point of auto calibration, if you couldn't figure it out or it took hours, then it's vital and is the difference between it working and not.

                      To make a consumer 3d printer cheap there has to be a way to always have a perfect first layer automatically. This along with many other small ideas is a step in the right direction.

                      Simon. Precision Piezo Z-Probe Technology
                      www.precisionpiezo.co.uk
                      PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                      1 Reply Last reply Reply Quote 0
                      • deckingman
                        deckingman last edited by

                        Ahhh, got you. Yes it really is satisfying when you can just "Home and Go" by whatever route you take to get there.

                        Ian
                        https://somei3deas.wordpress.com/
                        https://www.youtube.com/@deckingman

                        1 Reply Last reply Reply Quote 0
                        • Sniffle
                          Sniffle last edited by

                          just makes me wonder how a piezo sensor could be implemented with a titan extruder and hotend combo in the direct feed stup instead of bowden. because being able to home and go is a big goal for my setup since i have small children.

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

                            I have been doing "Home and go" on my Duet-powered Ormerod ever since I fitted it with a good IR sensor and levelled the bed mechanically nearly three years ago. And "Autocalibrate and go" on my delta. You can do both using any good Z probe.

                            As I see I, the advantage of nozzle-based probing that is being discussed here is primarily applicable to delta printers. Unless you get most aspects of the geometry perfect, you will have some varying effector tilt, and that will change the effective trigger height of any Z probe that is displaced from the nozzle. For auto calibration purposes you can correct for this in the bed.g file, although measuring the trigger height at every probe point is tedious. But you can't easily correct for variation in trigger height if you need to use mesh bed compensation to iron out residual height errors.

                            I had been wanting to incorporate a FSR into the hot end mount for some time, but I hadn't worked out a way of doing it that didn't involve hinging the hot end. Using a piezo plate instead and drilling a hole in it for the Bowden tube is a really innovative step that solves the basic mechanical problem.

                            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

                            1 Reply Last reply Reply Quote 0
                            • DjDemonD
                              DjDemonD last edited by

                              @Sniffle:

                              just makes me wonder how a piezo sensor could be implemented with a titan extruder and hotend combo in the direct feed stup instead of bowden. because being able to home and go is a big goal for my setup since i have small children.

                              Okay so this isn't too tricky. All you need is to incorporate a titan bracket which positions the titan above the piezo sensor assembly and use a ptfe filament guide tube (so you have a bowden tube essentially but its only 5cm) down into the hotend. It doesn't matter if its not secured to a bowden coupler on the hotend as its too short to matter but if you do secure it it will work even better.

                              What we are going to do next is try smaller piezo's see it if works with a smaller unit, and design one for i3 style printers etc…

                              Simon. Precision Piezo Z-Probe Technology
                              www.precisionpiezo.co.uk
                              PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                              1 Reply Last reply Reply Quote 0
                              • deckingman
                                deckingman last edited by

                                @dc42:

                                I have been doing "Home and go" on my Duet-powered Ormerod ever since I fitted it with a good IR sensor and levelled the bed mechanically nearly three years ago. And "Autocalibrate and go" on my delta. You can do both using any good Z probe.

                                As I see I, the advantage of nozzle-based probing that is being discussed here is primarily applicable to delta printers. Unless you get most aspects of the geometry perfect, you will have some varying effector tilt, and that will change the effective trigger height of any Z probe that is displaced from the nozzle. For auto calibration purposes you can correct for this in the bed.g file, although measuring the trigger height at every probe point is tedious. But you can't easily correct for variation in trigger height if you need to use mesh bed compensation to iron out residual height errors.

                                I had been wanting to incorporate a FSR into the hot end mount for some time, but I hadn't worked out a way of doing it that didn't involve hinging the hot end. Using a piezo plate instead and drilling a hole in it for the Bowden tube is a really innovative step that solves the basic mechanical problem.

                                Like you, I do "Home and Go" (have I just coined another phrase?) without any form of bed compensation because my bed is flat and level and I'm not using Delta geometry. However, I can see another situation where nozzle based probing might be advantageous. That is where the bed isn't completely flat or level, and it isn't possible to get an IR probe close to the nozzle. I'm thinking of the Diamond hot end and similar, with it's great big lump of brass and 3 heat sinks sticking out at 28 degrees.

                                Also, because I choose to use 3dlac, the surface reflectivity can change so I home the Z axis over a piece of black paper stuck to one corner of the bed. That's fine as long as the bed stays flat and level but on a 400mm x 400mm bed, I'm homing a long way away from where I'm printing so the engineer in me is screaming that it's not a good idea. However I have a plan B….........

                                Ian
                                https://somei3deas.wordpress.com/
                                https://www.youtube.com/@deckingman

                                1 Reply Last reply Reply Quote 0
                                • DjDemonD
                                  DjDemonD last edited by

                                  Offset probes are pretty good for delta calibration as long as they can be close enough to the nozzle to be able to reach almost to the edges of the bed and reduce effect of tilt. But not perfect, especially for levelling as they cannot reach everywhere (unless your printer is really under-utilising it's potential build volume and has axes much bigger than the bed). Surfaces are always an issue, either reflectivity or conductivity depending on the probe etc… They only surface that nozzle contact probes might struggle with is a very soft surface, I will test a few soft materials and see what happens.

                                  Simon. Precision Piezo Z-Probe Technology
                                  www.precisionpiezo.co.uk
                                  PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                                  1 Reply Last reply Reply Quote 0
                                  • deckingman
                                    deckingman last edited by

                                    Yes, blue painters tape is quite common and I'd have thought a bit "squishy".

                                    Ian
                                    https://somei3deas.wordpress.com/
                                    https://www.youtube.com/@deckingman

                                    1 Reply Last reply Reply Quote 0
                                    • DjDemonD
                                      DjDemonD last edited by

                                      Okay so I did a few tests.
                                      Jeweller's scales on the bed G30 - 15g required to trigger the piezo probe. So not a heavy hit.

                                      I don't have blue painters tape but I have got some white masking tape and I read there is no real difference except blue tape can be removed after it has been attached for longer than white/cream masking tape. It was the first time I have ever printed onto tape, or onto a cold bed! I've always had machines with heated beds.

                                      I had to add 0.2mm z offset in slic3r (so thats G31 Z-0.2 in duet config.g if you prefer to do it that way) to get a perfect first layer with the tape. But I had to use the same offset without the tape printing onto relatively hard print bite.

                                      I used G30 after autocalibration, with the bed at 0 with the tape and 80 deg C with printbite. The nozzle was at 130 deg C for probing both times.

                                      So either the bed temperature change is having the effect of compensating for the thickness of the tape or the tape isn't really making much difference to the probing.
                                      I measured the thickness of the brim in both models I set a 0.36mm first layer height its was 0.35mm for tape, and 0.35mm for no tape.

                                      Simon. Precision Piezo Z-Probe Technology
                                      www.precisionpiezo.co.uk
                                      PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

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