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

    Piezo-Probe to auto-adjust offset after Nozzle change

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    5
    12
    662
    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.
    • kuhnikuehnastundefined
      kuhnikuehnast
      last edited by

      Hi there,
      I am using a BL-Touch. I had the idea to auto-adjust the offset after a nozzle change by using a Piezo-Disc that could be laid on the bed.

      1. probe the nozzle like 5-6 times (to get a median- value)
      2. relative move to the BL-Touch position
      3. probe another 5-6 times
      4. calculate the offset between 1. and 3. and saves it as G31 Z...

      What do you think?
      First problem- where do I get this specific "piezo" board? Delivery from uk to germany is no option at the moment due to brexit rules...

      greetings kuhni

      1 Reply Last reply Reply Quote 0
      • Marcossfundefined
        Marcossf
        last edited by

        I'm sure there's a bunch websites in Germany or electronic shops that sells that part.

        An example on random Spain webshop search:
        https://tienda.bricogeek.com/sensores/345-transductor-piezo.html?search_query=piezo&results=10

        Not bad idea for validating Z offset, but i suspect the measurement wouldn't be accurate and repeatable. I think could be more precise doing it within electric contact, but this aproach need to be done with a absolutely clean nozzle. My CNC XYZ tool probe/edge finder does that way, its repeatable and precise.

        1 Reply Last reply Reply Quote 0
        • kuhnikuehnastundefined
          kuhnikuehnast
          last edited by

          The Piezo Disc itself is easy to get! But it is always used with a special "converter board". This is hard to get- and I don't know exactly what this baord is doing?

          Phaedruxundefined Dougal1957undefined 2 Replies Last reply Reply Quote 1
          • Phaedruxundefined
            Phaedrux Moderator @kuhnikuehnast
            last edited by

            @kuhnikuehnast said in Piezo-Probe to auto-adjust offset after Nozzle change:

            I don't know exactly what this baord is doing?

            Amplification I believe. The piezo creates a very very small electrical current. It needs to be amplified to be meaningful.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • leadinglightsundefined
              leadinglights
              last edited by

              There are several possibilities, even including connecting the disk directly to an analog input of your controller (protective diodes may be advisable). The output of a piezo disk is actually very high, see the first entry in https://reprap.org/forum/read.php?1,635075 where an output of 8V was obtained from a 27mm piezo disk. The conditioning circuits are more to clean up the signal to get a reliable and consistent detection of a contact event.
              It sounds like you want to use a puck-type detector which can be used to get the Z probe offset from the BLTouch device. There is a puck probe called the BIQU marketed by Aliexpress which they used to call a piezo probe - I have heard nothing either good or bad about it though.
              I hope to put the 4th generation of my piezo conditioning board on GitHub in the near future. The older one was left in a pretty incomplete state but my latest software (the hardware is unchanged) seems to be pretty bulletproof.

              Mike

              1 Reply Last reply Reply Quote 0
              • kuhnikuehnastundefined
                kuhnikuehnast
                last edited by

                So, I now got a Piezo-Board 🙂 But I am still struggling to get it to work properly...

                Here is the code I want to use:

                ; ////////// Messung Nr. 1 //////////
                G92 Z50													; define Z=50 to move outside boundaries
                M118 P3 S"Messung Nr. 1" L3								; print "Messung Nr. 1"
                M558 P5 C"!zstop" F60 T3000  							; define Z probe connected to Z endstop input (Precision Piezo)
                M950 S0 C"nil"											; free So (former BLTouch input)
                G30														; Probe bed at current position. When the probe is triggered, set the Z-coordinate to the probe trigger height.
                G31 Z0													; set Z-offset to 0
                G91														; Set to Relative Positioning
                G1 X-21.000 Y-19.285 Z+10								; move to position of BLTouch and Z+10
                G90														; absolute Positioning
                M558 P9 C"^zprobe.in" F180 T15000						; Define to use BLTouch (Set Z probe type/mode 9. H=Dive Height. F=Speed the bed moves)
                M950 S0 C"exp.heater3"									; Create Servo S0 mapped to exp.heater3 (used for BLTOuch)
                M564 S0 H1												; Allow movement outside boundaris, denie movement of axes that not have been homed
                G30 S-1													; Measure Z and only report the parameter
                G91														; relative Positioning
                G1 X+21.000 Y+19.285 Z+10								; go back to nozzle point Z+10
                G90														; relative Positioning
                

                My problem at the moment: It seems like the Piezo is triggered like "randomly"... (if I look at the nozzle, there is still an offset between nozzle and the piezo-disk when it triggers...)

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

                  @kuhnikuehnast Does the piezo board have a tuning pot?

                  G30 ; Probe bed at current position. When the probe is triggered, set the Z-coordinate to the probe trigger height.
                  G31 Z0 ; set Z-offset to 0
                  G91 ; Set to Relative Positioning

                  How are you setting the Z0 position first before sending G30 S-1 to measure the offset?

                  You need to set the nozzle height to a known position before you can accurately measure the trigger height. Usually this would be touching the nozzle to the bed and sending G92 Z0.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  kuhnikuehnastundefined 1 Reply Last reply Reply Quote 0
                  • kuhnikuehnastundefined
                    kuhnikuehnast @Phaedrux
                    last edited by

                    @Phaedrux said in Piezo-Probe to auto-adjust offset after Nozzle change:

                    @kuhnikuehnast Does the piezo board have a tuning pot?

                    G30 ; Probe bed at current position. When the probe is triggered, set the Z-coordinate to the probe trigger height.
                    G31 Z0 ; set Z-offset to 0
                    G91 ; Set to Relative Positioning

                    How are you setting the Z0 position first before sending G30 S-1 to measure the offset?

                    You need to set the nozzle height to a known position before you can accurately measure the trigger height. Usually this would be touching the nozzle to the bed and sending G92 Z0.

                    I drew a scheme:

                    scheme_Piezo_Probe.JPG

                    At first, I home the printer with the normal routine, using the BL-Touch. Then I lift the z-axis ~30mm and place the Piezo-Puck und the nozzle.

                    Then I run the "auto-offset-routine"

                    I'm getting fairly consistent results now.- But there is still a strange "error" I didn't get the clue yet:

                    3 Setups:

                    1. Measure the offset of the BLTouch the "ordinary" way (Paper sheet under the nozzle, then measuring the offset) Results are:
                    0.564 mm
                    0.574 mm
                    0.584 mm
                    
                    1. First probe the Piezo Puck with the Nozzle and set this as Zero, Second Move XY to the BLTouch and Measure the Offset. Results are:
                    1.310 mm
                    1.302 mm
                    1.296 mm
                    
                    1. The other way round: First Probe the BLTouch at the PiezoPuck (Piezo-Puck therefore disabled and only used as a bare block to test on) and Second Move XY to the same Point, enable PiezoPuck and Probe the Nozzle. Results are:
                    0.119 mm
                    0.117 mm
                    0.116 mm
                    

                    The results are somewhat different from each other....? But I didn't get a clue where my error is? Is there maybe an individual "probe error"? The most interesting way would be to measure both probes the same time whether one probe triggers first. But I think this is not possible with a duetwifi?

                    1 Reply Last reply Reply Quote 0
                    • kuhnikuehnastundefined
                      kuhnikuehnast
                      last edited by

                      Here a picture of the setup 🙂

                      20210308_132105.jpg

                      1 Reply Last reply Reply Quote 1
                      • Dougal1957undefined
                        Dougal1957 @kuhnikuehnast
                        last edited by

                        @kuhnikuehnast said in Piezo-Probe to auto-adjust offset after Nozzle change:

                        The Piezo Disc itself is easy to get! But it is always used with a special "converter board". This is hard to get- and I don't know exactly what this baord is doing?

                        have a look at https://pyroballpcbs.com

                        kuhnikuehnastundefined 1 Reply Last reply Reply Quote 1
                        • kuhnikuehnastundefined
                          kuhnikuehnast @Dougal1957
                          last edited by

                          @Dougal1957 said in Piezo-Probe to auto-adjust offset after Nozzle change:

                          @kuhnikuehnast said in Piezo-Probe to auto-adjust offset after Nozzle change:

                          The Piezo Disc itself is easy to get! But it is always used with a special "converter board". This is hard to get- and I don't know exactly what this baord is doing?

                          have a look at https://pyroballpcbs.com

                          thanks Dougal1957 - I already got one- ordered from alieexpress 🙂

                          1 Reply Last reply Reply Quote 0
                          • kuhnikuehnastundefined
                            kuhnikuehnast
                            last edited by

                            I am still having problems with the measurement results of the different samples.
                            Is it due to a fallacy or are the measurement methods really different?
                            Or is there a problem with the firmware in the end?
                            Maybe one of the mods is able to help me here? ( @dc42 )

                            greetings and hoping for help!

                            kuhni

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