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

    Another BL touch config question: Y-offset this time

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    35
    2.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.
    • Phaedruxundefined
      Phaedrux Moderator @jallen810
      last edited by

      @jallen810 said in Another BL touch config question: Y-offset this time:

      I had the yellow wire plugged into the z_probe_mod pin and P9 selected.

      Follow this wiring setup for the Duet Wifi

      https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Duet_2_WiFi_Ethernet_without_a_Duex_2_or_Duex_5_expansion_board

      alt text

      G31 X58 Y-36 sounds correct for your offset (58mm to the right, and 36mm in front of the nozzle). There is no S1 for G31. The Z offset must be measured as described in the previous link.

      @jallen810 said in Another BL touch config question: Y-offset this time:

      What I did with homeall.g and homez.g to tackle homing z-probe on bed. Is that correct?

      G90                     ; absolute positioning
      G1 X15 Y50 F6000        ; go to first bed probe point and home Z (modified Y=15 to Y=50 so Z-axis will home on build plate)
      G30                     ; home Z by probing the bed
      

      I would change the G1 X15 Y50 to whatever coordinates are needed to move the nozzle such that the probe is in the center of the bed. For example, if the bed is 300x300 then 150,150 would be the center, and if the probe offset is x58 Y-36, then you'd have to take that into account. so if you moved the nozzle to G1 X92 Y186 that should move the probe to the center point.

      Z-Bot CoreXY Build | Thingiverse Profile

      1 Reply Last reply Reply Quote 0
      • jallen810undefined
        jallen810
        last edited by

        Okay that clears that up, i will try running the wiring that way and modifying my G31.
        Will i need to tell my slicer's that "Home" is now in the center of the bed?
        For example, S3D Homing Direction & Origin Offset.JPG S3D, see screen shot, is that done by changing Homing Direction from X=Max and Y=Min to X=Center Y=Center, and using the same S3D Origin Offsets in S3D as i use in G31 X=92, Y=186?

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

          No no, 0,0 isn't the center of the bed. That's not what I was getting at. 0,0 is still the front left corner. What the homeall is doing is just moving the probe to the center of the bed, since that's the best place to measure the Z height.

          Z-Bot CoreXY Build | Thingiverse Profile

          jallen810undefined 1 Reply Last reply Reply Quote 0
          • jallen810undefined
            jallen810 @Phaedrux
            last edited by

            @Phaedrux I see so G31 sets bed capability, and Homeall.g just tells m/c to go "here" and say i'm there and ready to do stuff.
            I am assuming the same would be true for the HomeZ.g file as well?
            Sorry for the laymans terms but that sounds like what i am after.

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

              Yes, homeall and homez are generally quite similar when using a probe because the probe must be placed in X and Y for probing, unlike a Z endstop which is in a fixed location, so even in homez you usually will be homing X and Y. If you don't do that, and you try and homez without the X and Y axis being homed first, the homez will fail.

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • jallen810undefined
                jallen810 @Phaedrux
                last edited by

                @Phaedrux said in Another BL touch config question: Y-offset this time:

                                                                                                                                            M558 A1 F400			; Set single probing at faster feed rate                                                                                                                                                                            G30 				; Do a single probe to home our Z axis                                                                                                                                                                            M558 A10 F100			; Set multi probing at slower feed rate                                                                                                                                                                            G30				; Probe again to get a more accurate position                                            
                

                Phaedruex,
                Where do I call these 4 lines of code you mentioned? in my config.g or in the start of my Starting Code for slicer?
                Also, you and @droftarts both refer to G30 alot rather than G29 or G32, which BeTrue3D did in his setup guide for BLtouch, am I missing something? I thought G30 is just to calibrate BLtouch, not for using to do a mesh bed level.
                G29's take a long time at F50-150 for a 300x300 bed. Can I get solid, consistent results with a G30 pair with a "historical" G29 mapping or a simple G32?

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

                  Those lines go in your homeall to replace the single G30 that's already in there.

                  G30 is used to call the probe and use it to find Z0.

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

                  Mesh bed leveling is done by calling G29.

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

                  G32 just calls the macro bed.g in the /sys/ folder. It doesn't do anything on it's own anymore. Inside bed.g you can script up some more advanced things like independent motor tramming of the bed.

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

                  If G29 takes a long time to run, you can either reduce the spacing of the points probed to reduce the detail in case your bed is very flat. Or you can simply load the saved heightmap at print time rather than probing the whole thing over again. G29 S1 loads the saved map. G29 will save the heightmap automatically.

                  It's all laid out in the Mesh compensation link: https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation

                  Z-Bot CoreXY Build | Thingiverse Profile

                  jallen810undefined 2 Replies Last reply Reply Quote 0
                  • jallen810undefined
                    jallen810 @Phaedrux
                    last edited by

                    @Phaedrux Okay I've update my config.g and the G31 X0 Y0 Z(offset value)
                    I think has worked.

                    I am pulling ground (both black and brown) from the z-probe ground like you see [here] (https://d17kynu4zpq5hy.cloudfront.net/igi/duet3d/BJKPq1sdZcJNUmP4.full)
                    and I have wired the yellow wire like you suggested to the #8 pin labeled "Heater3" on Duet Pinout sheet like you see here
                    I made these changes to my config.g so they now read:
                    M307 H3 A-1 C-1 D-1
                    M558 P9 H5 F120 T16000

                    I also adjust Homeall and HomeZ to X=92 and Y=186, that worked now like it should

                    Lastly, adjusted my Deploy/Retract probes to:
                    M280 P3 S10
                    and I also tried M280 P64 S10 I1

                    Here is where I run into the same problem I had originally, when I home my Z the probe doesn't deploy and it gives me an error about the servo not being called or correct... something to that effect.
                    I have also tried hooking up the yellow cable to the Z_probe_mod pin on Duet Board and change M280 to P64/65 and neither of those work either...
                    Any suggestions?

                    Phaedruxundefined dc42undefined 2 Replies Last reply Reply Quote 0
                    • jallen810undefined
                      jallen810 @Phaedrux
                      last edited by

                      @Phaedrux said in Another BL touch config question: Y-offset this time:

                      Those lines go in your homeall to replace the single G30 that's already in there.

                      G30 is used to call the probe and use it to find Z0.

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

                      Mesh bed leveling is done by calling G29.

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

                      G32 just calls the macro bed.g in the /sys/ folder. It doesn't do anything on it's own anymore. Inside bed.g you can script up some more advanced things like independent motor tramming of the bed.

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

                      If G29 takes a long time to run, you can either reduce the spacing of the points probed to reduce the detail in case your bed is very flat. Or you can simply load the saved heightmap at print time rather than probing the whole thing over again. G29 S1 loads the saved map. G29 will save the heightmap automatically.

                      It's all laid out in the Mesh compensation link: https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation

                      THIS^ YOU NEED TO PUBLISH THIS on these two pages, so poor saps like me don't run around in circles like chickens minus heads!!!
                      Page 1
                      Page 2

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

                        @jallen810 said in Another BL touch config question: Y-offset this time:

                        I am pulling ground (both black and brown) from the z-probe ground like you see [here] (https://d17kynu4zpq5hy.cloudfront.net/igi/duet3d/BJKPq1sdZcJNUmP4.full)

                        This is the diagram for the Maestro board. Don't use this one.

                        @jallen810 said in Another BL touch config question: Y-offset this time:

                        and I have wired the yellow wire like you suggested to the #8 pin labeled "Heater3" on Duet Pinout sheet like you see here

                        This is the Duet Wifi diagram, which you said you had, so use this one as shown.

                        @jallen810 said in Another BL touch config question: Y-offset this time:

                        and I also tried M280 P64 S10 I1

                        That's for the maestro, don't use that one.

                        If you are using reprapfirmware 2 and the wifi, you should use M280 P3 S10 I1. P3 for the heater pin 3, and I1 to invert it.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        jallen810undefined 1 Reply Last reply Reply Quote 0
                        • jallen810undefined
                          jallen810 @Phaedrux
                          last edited by jallen810

                          @Phaedrux Yes I have a Duet2 WiFi model, but power is power and ground is ground as long as all the grounds lead to a main ground somewhere on the board. So where I get power and ground from should not matter?

                          I just tried M280 P3 S10 I1 and that doesn't work still. I will swap the wiring and try again..

                          EDIT I just wired like this as you said, and now my BLtouch powers on but doesn't do it's startup sequence of 2 self-test cycles. This is what was happening when I originally tried to wire it this way

                          jallen810undefined 1 Reply Last reply Reply Quote 0
                          • jallen810undefined
                            jallen810 @jallen810
                            last edited by

                            @Phaedrux any ideas why the Duet3D method Of wiring would not work?
                            And what other options do I have for setting a probe offset?

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

                              @jallen810 said in Another BL touch config question: Y-offset this time:

                              I followed the link you suggested but then found BeTru3D’s guide more intuitive.

                              Unfortunately, that guide is out of date.

                              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
                              • dc42undefined
                                dc42 administrators @jallen810
                                last edited by dc42

                                @jallen810 said in Another BL touch config question: Y-offset this time:

                                Lastly, adjusted my Deploy/Retract probes to:
                                M280 P3 S10
                                and I also tried M280 P64 S10 I1

                                The correct command for a Duet WiFi or Duet Ethernet running RRF2 without an attached DueX board is: M280 P3 S10 I1

                                (that's uppercase-letter-i followed by digit-1 at the end). M280 P64 S10 I1 is for the Duet Maestro.

                                Can you provide a photo showing how you have connected the BLTouch to the Duet?

                                If you have a config-override.g file in your /sys folder, check that there is no M307 H3 command in 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

                                jallen810undefined 1 Reply Last reply Reply Quote 0
                                • jallen810undefined
                                  jallen810 @dc42
                                  last edited by jallen810

                                  @dc42 @Phaedrux I took 2 pictures for you guys.
                                  The first is how I got the BLtouch to actually probe using P5 mode.FunctionalBLtouch.jpg

                                  And the second I wired up and attempt to use but BLtouch won't do self-test. But I can get it to manually deploy/retract with M280 P3 S10/90 I1 commands.
                                  Duet3DRecommendBLtouch.jpg

                                  I checked my config.override and did find and H3 and commented it out, that did NOT solve the issue. Any other suggestions?

                                  Lastly, how can I solve this bed boundary misalignment? Is there a G-code to tell the bed where the probe offset is?

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

                                    @jallen810 said in Another BL touch config question: Y-offset this time:

                                    And the second I wired up and attempt to use but BLtouch won't do self-test. But I can get it to manually deploy/retract with M280 P3 S10/90 I1 commands.

                                    In your first picture it doesn't look like you have any servo wires connected, so it's not going to be able to control the pin like that.

                                    The second photo looks more correct for the Duet Wifi, and you say you're able to control the pin, so that's a good start.

                                    How are you trying to do the self-test? Does it do a self test at power up?

                                    Have you tried testing it's operation yet?

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

                                    Can you post your current config.g, homeall.g, homez.g, bed.g, deployprobe.g, retractprobe.g, config-override.g files please for verification?

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    1 Reply Last reply Reply Quote 0
                                    • jallen810undefined
                                      jallen810
                                      last edited by

                                      @Phaedrux @dc42 The first picture works by running P5 on pin 7 but I want to do it "right" via P9 as you are suggesting.
                                      My biggest concern at the moment is not being able to use all of my bed.
                                      I am attaching all of my sys files in a GoogleDrive folder for you. I very much appreciate all of the deep dive troubleshooting! This is an amazing community!

                                      https://drive.google.com/drive/folders/16hlgYO5NkJfsM0njdcNSuSkMSUl3Cbbw?usp=sharing

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

                                        I'll go through your configs and point out anything that seems off.

                                        In config.g your Z axis max speed seems a bit high. If it's set too high it may bind/stall/skip steps. So be sure to test it to see if it's actually a safe speed. 600mm/min (10mm/s) is probably a more reasonable value.

                                        M203 X6000.00 Y6000.00 Z1500.00 E3000.00 ; set maximum speeds (mm/min)

                                        On the flip side of that, your Z and E axis jerk values are a bit on the low side which may cause you some issues with mesh compensation and pressure advance, respectively.

                                        M566 X800.00 Y980.00 Z12.00 E180.00 ; set maximum instantaneous speed changes (mm/min)

                                        I would recommend Z60 and E2500

                                        For the BLtouch

                                        M558 P9 H5 F100 T16000  ; (Duet3D method) P=Select Z-probe mode=9 BLtouch. H=DiveHeight abv bed(mm), F=Speed bed moves, T=TravelSpeed btwn pts 
                                        G31 P500 X0 Y0 Z0.59               ; P=Z probe trigger value,X&Y=offset for mount relative to nozzle (mm), Z=trigger height "Z-offset"(mm)
                                        

                                        M558 T16000 for the travel speed between probe points is higher than your XY axis max speed. It will be limited to 6000mm/min.

                                        Your G31 still doesn't have your probe/nozzle offsets. Based on what you mentioned in your first post it should be X58 Y-36. Without those values the heightmap will be applied incorrectly.

                                        Change G31 P500 to G31 P25

                                        And your trigger height of 0.59mm seems quite low. When the BLTouch is mounted correctly based on the Antclabs manual the base of the probe body should be ~8mm above the nozzle tip which will give a trigger height of ~2mm.

                                        For the mesh grid, in order to maximize the probe points and reachable area we need to account for the probe offset. If you take the axis limits from M208 and subtract the offsets you get the reachable area. Round up or down a bit and then choose a spacing that divides into the range evenly.

                                        M557 X0:225 Y45:300 S45 would become M557 X60:300 Y0:260 S20

                                        Then when you use G29 it should map the entire reachable area of the bed with a 20mm spacing.

                                        For your fan arrangement, it's recommended to use Fan0 as the part cooling fan because the slicers generally don't allow you to choose a fan number. So it makes sense as the default. Plus, the Duet defaults to using the Fan1 port as the heatsink and it will spin up the fan immediately at power on just in case you did a reset with the hotend hot, it can help prevent jams from heat creep.

                                        M106 P1 C"PartCool_FAN0" S0 I0 F500 H-1              ; set fan 1 name, value, PWM signal inversion and frequency. Thermostatic control is turned on
                                        M106 P0 C"HeatSink_FAN1" S1 I0 F500 H1 T45            ; set fan 2 name, value, PWM signal inversion and frequency. Thermostatic control is turned off
                                        

                                        To change it to match the expected defaults just swap the fan ports and change then swap P1 and P0 in config.

                                        This also makes more sense because your current tool definition selects fan0 as the tool fan.

                                        M563 P0 S"HOTEND0" D0 H1 F0

                                        The rest of your config looks ok.

                                        As for the BLTouch, answer my previous questions as I'm not sure what is or isn't working.

                                        @Phaedrux said in Another BL touch config question: Y-offset this time:

                                        How are you trying to do the self-test? Does it do a self test at power up?
                                        Have you tried testing it's operation yet?
                                        https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#main

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        1 Reply Last reply Reply Quote 0
                                        • jallen810undefined
                                          jallen810
                                          last edited by

                                          @Phaedrux i will make these changes tomorrow. In the meantime to answer your question about BL self-test, I mean the power up sequence that the BLtouch does when m/c is powered on. It will cycle the probe 2-3 times then retract and give a solid red light, if wired correctly. If I wire it as you recommend, this does not happen. If I try to do a G30, the probe will not extend and thus will plunge into bed.
                                          But if I wire it like BeTrue3D recommends, it works fine.

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

                                            You can use any free heater pin on the expansion connector to connect the servo wire, you just need to specify which one in the P parameter of the M280 commands in deployprobe.g and retractprobe.g. So try connecting the servo control wire as in the your first photo, and the other BLTouch wires as in the second. If that gives you the self test at power up, then change the M307 and M280 commands to refer to the correct heater pin (M307 H parameter, and M280 P parameter). I think that is Heater 7 for that alternative servo wire connection.

                                            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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA