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

    After Z probing, print head smashing into bed

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    42
    1.5k
    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 @Adam_Sw3
      last edited by

      @Adam_Sw3

      You mentioned that you use an inductance sensor.

      In your probe configuration you have chosen type P1. Does you sensor actually have an analog output like a "smart IR probe"?

      I've used many inductive sensors and I have always specified type P8, since the output of the probe is either "on" or "off".

      I also would like to share with you what steps I perform when starting a print and why I do them.

      But I don't have the time right now - it's 5.00 AM.

      Doing the needed things in the correct order at the start of a print is important.

      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

      Adam_Sw3undefined 1 Reply Last reply Reply Quote 1
      • Adam_Sw3undefined
        Adam_Sw3 @fcwilt
        last edited by

        @fcwilt Hi Fredrick, my inductance sensor is similar to here https://www.aliexpress.com/item/1005004853709100.html?spm=a2g0o.productlist.main.33.60c8l3fwl3fwqS&algo_pvid=6f2ef3f2-1dd9-4b63-a7bd-bb78c1f5cfd8&algo_exp_id=6f2ef3f2-1dd9-4b63-a7bd-bb78c1f5cfd8-16&pdp_npi=4%40dis!GBP!6.68!6.68!!!7.89!!%4021038eda16964986241754812e39f3!12000030753506738!sea!UK!2004704503!&curPageLogUid=BWGfMQ4DwVrl

        it has 3 leads, power is connected to my fan header (always on) so i put my z probe signal to my z probe signal header. what does p8 specify?

        Thank you.

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

          @Adam_Sw3

          It is fairly typical of Chinese units - a bit short on specs. It says it has fast response but I didn't see a frequency spec. Higher frequency normal yields faster response.

          I usually get my units from here:

          Automation Direct

          They have a good selection - for example they list 35 4mm units. And they usually provide full specs. They tend to be more expensive.

          Probe type 8 just specifies that the probe sends an signal that is either ON or OFF, which is what these types of probes typically do.

          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

          Adam_Sw3undefined 1 Reply Last reply Reply Quote 1
          • Adam_Sw3undefined
            Adam_Sw3 @fcwilt
            last edited by

            @fcwilt Hi Frederick,

            Yes that makes sense, So should i change my code to:

            M558 ***P8*** C"!zprobe.in" H10 F240 T6000            ; set Z probe type to unmodulated and the dive height + speeds
            G31 P500 X35 Y0 Z2.47                          ; set Z probe trigger value, offset and trigger height
            M557 X15:525 Y10:400 S50                       ; define mesh grid
            

            What did my P1 previously mean? I am guessing this is frequency specification? As I would be happy for it to work as a switch.

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

              @Adam_Sw3 said in After Z probing, print head smashing into bed:

              @fcwilt Hi Frederick,

              Yes that makes sense, So should i change my code to:

              M558 ***P8*** C"!zprobe.in" H10 F240 T6000            ; set Z probe type to unmodulated and the dive height + speeds
              G31 P500 X35 Y0 Z2.47                          ; set Z probe trigger value, offset and trigger height
              M557 X15:525 Y10:400 S50                       ; define mesh grid
              

              What did my P1 previously mean? I am guessing this is frequency specification? As I would be happy for it to work as a switch.

              From the documentation for M558 here are the probe types:

              P0 indicates that no Z probe is present. Whenever Z probing is commanded, you will be prompted to jog the Z axis until the nozzle is just touching the bed and then signal completion.
              P1 specifies an unmodulated or smart IR probe, or any other probe type that emulates one (probe output is an analog signal that rises with decreasing nozzle height above the bed). If there is a control signal to the probe, it is driven high when the probe type is P1.
              P2 specifies a simple modulated IR probe, where the modulation is commanded directly by the main board firmware using the control signal to the probe.
              P3 is similar to P1 but drives the control signal to the probe low. This may be used to switch between different Z probes.
              P5 selects a switch by default (normally closed) for bed probing between the In and Gnd pins of the IO connector (Duet 3) or Z-probe connector (Duet 2).
              P8 is as P5 but is unfiltered, for faster response time.
              P9 is as P5 but for a BLTouch probe that needs to be retracted and redeployed between probe points.
              P10 means use Z motor stall detection as the Z probe trigger.
              P11 means a scanning Z probe with an analog output (supported from RRF 3.5.0-beta.4). Such probes must be calibrated before use (see M558.1).

              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

              Adam_Sw3undefined 1 Reply Last reply Reply Quote 0
              • Adam_Sw3undefined
                Adam_Sw3 @fcwilt
                last edited by

                @fcwilt thank you, so I will need to go for a P5/P8 command? To then turn this into a switch.

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

                  @Adam_Sw3 said in After Z probing, print head smashing into bed:

                  @fcwilt thank you, so I will need to go for a P5/P8 command? To then turn this into a switch.

                  P8 should work fine.

                  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

                  Adam_Sw3undefined 3 Replies Last reply Reply Quote 0
                  • Adam_Sw3undefined
                    Adam_Sw3 @fcwilt
                    last edited by

                    @fcwilt I will have a go now!

                    1 Reply Last reply Reply Quote 0
                    • Adam_Sw3undefined
                      Adam_Sw3 @fcwilt
                      last edited by Adam_Sw3

                      @fcwilt Hi frederick, That didnt work. i did some googling and it appears i am having the same issue as this guy -> https://forum.duet3d.com/topic/16118/trigger-height-always-changes/9

                      I am also using the LJ18A3-8-Z/BX sensor found here -> https://cdn.awsli.com.br/945/945993/arquivos/14_PROXIMITY_INDUCTIVE_18BY.pdf

                      By the way I know this is frustrating and i am ever so greatful for you taking the time to help me.

                      1 Reply Last reply Reply Quote 0
                      • Adam_Sw3undefined
                        Adam_Sw3 @fcwilt
                        last edited by

                        @fcwilt Okay it is semi solved now, I have re done my homeall & home z command to be in the centre of the build plate now and that seems to be working. Therefore this leads me to believe that my z movements / build plate isnt level in some way.

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

                          @Adam_Sw3 said in After Z probing, print head smashing into bed:

                          I have re done my homeall & home z command to be in the centre of the build plate now

                          That kind of makes it sound like the trigger height of the probe was changing depending on where it was on the build plate.

                          Z-Bot CoreXY Build | Thingiverse Profile

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

                            @Adam_Sw3 said in After Z probing, print head smashing into bed:

                            @fcwilt Okay it is semi solved now, I have re done my homeall & home z command to be in the centre of the build plate now and that seems to be working. Therefore this leads me to believe that my z movements / build plate isnt level in some way.

                            That sensor you linked to seems to be very slow.

                            Take a quick look at this one which has good specs:

                            Example Sensor

                            It is a 8mm diameter unit, has a sensing distance of 4mm and switching frequency of 3kHz. That frequency is in the middle of the ranges you can find.

                            I have tested a few 18mm units but they take up quite a bit of space. I tend to use 8mm for most printers.

                            I need to write up a summary of how my 5 printers are configured. I have never had the problems you are having.

                            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

                            Adam_Sw3undefined 1 Reply Last reply Reply Quote 2
                            • Adam_Sw3undefined
                              Adam_Sw3 @Phaedrux
                              last edited by

                              @Phaedrux Thats exactly what it sounds like, how would you remedy this?

                              1 Reply Last reply Reply Quote 0
                              • Adam_Sw3undefined
                                Adam_Sw3 @fcwilt
                                last edited by

                                @fcwilt HI Frederick, To be honest I dont really understand why i put the 18mm on haha! Yes please do that it would be interesting to see! potentially because mine is about 500mm cubed printing size but even so.

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

                                  @Adam_Sw3 said in After Z probing, print head smashing into bed:

                                  @fcwilt HI Frederick, To be honest I dont really understand why i put the 18mm on haha! Yes please do that it would be interesting to see! potentially because mine is about 500mm cubed printing size but even so.

                                  I will try to post later today with a outline of my setups.

                                  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

                                  Adam_Sw3undefined 1 Reply Last reply Reply Quote 1
                                  • Adam_Sw3undefined
                                    Adam_Sw3 @fcwilt
                                    last edited by

                                    @fcwilt Thanks!

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

                                      @Adam_Sw3 said in After Z probing, print head smashing into bed:

                                      @fcwilt Thanks!

                                      OK here is a brief summary of how my printers are configured - I hope it doesn't spook you. Feel free to ask any and all questions

                                      X and Y limits are set so that X=0 and Y=0 are at the center of the bed. For example: M208 X-150:150 Y-100:100

                                      To set the Z=0 Datum I probe at X=0 Y=0. Some folks like to set the Z=0 Datum at one of the grid points used when creating the height map. I don’t know why.

                                      I use an add-on called BtnCmd which allows me to specify the number of points for X and Y when creating the height map. I also can specify a scaling of X and Y so if I want the maximum 21x21 points but only over 50% of the bed I can achieve that.

                                      For printers that have auto bed leveling I run the code in a while loop looking for move.calibration.initial.deviation < 0.02. The "state variable" move.calibration.initial.deviation is a value set by the firmware and is accessible in g-code.

                                      Auto bed leveling should be followed by setting the Z=0 Datum if you want it to be correct.

                                      I don’t use the “filament material catalog” feature of slicers. I use the “filament catalog” feature of the firmware.

                                      I don’t use the slicer to set bed/extruder temperatures. I do that in the required “filament catalog” code that I create. How to prevent the slicer from trying to control temperatures depends on the slicer.

                                      I configure the slicer to generate as little “setup” code as possible as I handle all of that in my own “print begin” file which I call using the slicer feature for calling user code. How you do this depends on the slicer.

                                      Here is the output from the most recent version of Cura:

                                      ;Generated with Cura_SteamEngine 5.4.0
                                      T0
                                      M109 S0 ; set extruder temp and wait - notice the temp of 0 which I specified in Cura
                                      M82 ; extruder to absolute mode
                                      M98 P"print_begin.g" ; call my code
                                      M82 ; extruder to absolute mode
                                      M83 ; extruder to relative mode
                                      M83 ; extruder to relative mode - Cura seems to have trouble making up it’s mind
                                      G1 F1800 E-1 ; a bit of retract
                                      M107 ; turn off the fan

                                      Notice there is nothing there that will conflict with whatever I do in my code - this is important.

                                      Here is a summary of what my “print begin” code does:

                                      • it loads the height map if that is enabled by a global variable of my creation
                                      • it sets the Z=0 Datum by moving to X=0 Y=0 and doing a G30
                                      • it selects tool 0 by doing T0
                                      • it runs the filament specific config.g file by doing a M703 - I select the desired filament from the Dashboard before starting the print
                                      • it runs a file to do the following - the values used depend on the tool selected and the filament selected
                                        -- activate the bed heater
                                        -- activate the tool heater
                                        -- sets the extruder percentage (usually stays at 100)
                                        -- sets the print speed percentage adjust (usually stays at 100)
                                      • it moves the nozzle to the front-center of the bed and drops the bed by 100mm
                                      • it waits for bed/tool temps to reach their set values
                                      • it then primes the extruder
                                      • it then gives you a chance to verify the bed is clear and the extruder appears to be working - it use M291 with a S3 parameter for this.
                                      • if you don’t cancel when replying to the M291 question it does the following:
                                        -- moves the tool to X=0 Y=0
                                        -- moves the bed to Z=5
                                        -- does a bit of extruder retraction

                                      At the point my code has finished and if all is well printing begins.

                                      I also created the needed code for pausing/resuming/canceling/ending the print.

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

                                      Adam_Sw3undefined 1 Reply Last reply Reply Quote 0
                                      • Adam_Sw3undefined
                                        Adam_Sw3 @fcwilt
                                        last edited by Adam_Sw3

                                        @fcwilt Wow thanks for that Frederick, thats very helpful! I would love to learn more about your code and I was wondering if you have discord or some other application where I could message you directly! I can post my name on here if you do just to avoid your username being out there!

                                        Regarding your code it seems alot better to have your actual control board decide all the variables instead of the slicer as it removes a point of error during the printing proccess.

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

                                          @Adam_Sw3

                                          I don't know what discord is but I will look into it.

                                          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

                                          Adam_Sw3undefined 1 Reply Last reply Reply Quote 0
                                          • Adam_Sw3undefined
                                            Adam_Sw3 @fcwilt
                                            last edited by

                                            @fcwilt Or some other sort of messaging platform if you would be interested? To continue our conversation!

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