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

    BLTouch Only Descends Halfway on G29/G32

    Scheduled Pinned Locked Moved
    General Discussion
    3
    27
    3.2k
    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.
    • Zerbobundefined
      Zerbob
      last edited by

      Hello Duet3D Forum

      We're a student group working on a large 3D printer as part of an engineering capstone project. We've got just about everything working, but we're encountering an odd behavior with a BLTouch on a Duet WiFi. We are currently controlling the printer via USB and Printrun as we can't connect the Duet via the school WiFi (it requires a log in).

      We have a BLTouch connected to the Heater 3 pin of the expansion port, and the ZProbe pins.

      The probe works correctly with a G28 Z move. However on a G29 we get some oddness. It will probe the first point correctly, however when it moves to the second point the probe will only descend about halfway, then a "Z probe not triggered on probing move" error is reported. An image is shown below to illustrate:

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

        Can you post your config.g, homez.g, homeall.g?

        Did you follow this? https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_BLTouch
        and this? https://betrue3d.dk/bltouch-on-duet-wifi-configuratio-and-usage/

        You can circumvent requiring the school wifi by setting it up in access point mode where you then connect your laptop/phone/whatever to a wifi network created by the Duet and can access the DWC that way. That will probably make your lives a bit easier.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • Zerbobundefined
          Zerbob
          last edited by

          I have tried to get the Duet direct method working, but must be doing the code wrong. With our deadline looming it was shelved for later. We're not using home all at the moment as what we're printing is a lot smaller than our total build volume (plus we haven't wired the X & Y endstops yet).

          [[language]]
          ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool on Sat Mar 31 2018 08:48:41 GMT-0400 (Eastern Daylight Time)
          
          ; General preferences
          G90                                     ; Send absolute coordinates...
          M83                                     ; ...but relative extruder moves
          M555 P1                                 ; Set firmware compatibility to look like RepRapFirmare
          
          ; Network
          
          ; Drives
          M569 P0 S1                              ; Drive 0 goes forwards
          M569 P1 S1                              ; Drive 1 goes forwards
          M569 P2 S1                              ; Drive 2 goes forwards
          M569 P3 S0                             ; Drive 3 goes forwards
          M569 P5 S1 R0 T2.5:2.5:5:0				;Settings for external Z driver
          M584 X0 Y1 Z5 E3                        ; Apply custom drive mapping
          M350 X16 Y16 Z16 E16 I1                 ; Configure microstepping with interpolation
          M92 X100 Y100 Z3909.340 E645             ; Set steps per mm
          M566 X1800 Y1800 Z30 E120               ; Set maximum instantaneous speed changes (mm/min)
          M203 X30000 Y30000 Z300 E6000           ; Set maximum speeds (mm/min)
          M201 X4500 Y4500 Z250 E250              ; Set accelerations (mm/s^2)
          M906 X800 Y2000 Z100 E800 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 X1400 Y1400 Z1800 S0               ; Set axis maxima
          
          ; Endstops
          ;M574 X1 Y2 S3                           ; Set endstops controlled by motor load detection
          M574 X0 Y0
          ;M915 X Y S5 R0							; Set motor drivers for stall detection
          
          ; Z-Probe
          M307 H3 A-1 C-1 D-1						; Disable Heater 3 to be used for probe
          M307 H2 A-1 C-1 D-1
          M574 Z1 S2                              ; Set endstops controlled by probe
          M558 P9 H20 F300 T6000                   ; Set Z probe type to switch and the dive height + speeds
          G31 P250 X0 Y0 Z-0.15                     ; Set Z probe trigger value, offset and trigger height
          M557 X0:1000 Y0:1000 S100               ; Define mesh grid
          
          ; Heaters
          M305 P0 X100          ; Set thermistor + ADC parameters for heater 0
          M143 H0 S100                            ; Set temperature limit for heater 0 to 100C
          M305 P1 T98640 B4633 C9.486166e-8 R4700 ; Set thermistor + ADC parameters for heater 1
          M143 H1 S280                            ; Set temperature limit for heater 1 to 280C
          
          ; Fans
          M106 P0 S1 I0 F500 H1 T45               ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
          M106 P1 S1 I0 F500 H-1                  ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
          M106 P2 S1 I0 F500 H-1                  ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
          
          ; Tools
          M563 P0 D0 H1                           ; Define tool 0
          G10 P0 X22.5 Y-24 Z0                  ; Set tool 0 axis offsets
          G10 P0 R0 S0                            ; Set initial tool 0 active and standby temperatures to 0C
          
          ; Automatic saving after power loss is not enabled
          
          ; Custom settings are not configured
          
          
          [[language]]
          ; homez.g
          ; called to home the Z axis
          ;
          ; generated by RepRapFirmware Configuration Tool on Sat Mar 31 2018 08:48:41 GMT-0400 (Eastern Daylight Time)
          ;G91                ; relative positioning
          ;G1 Z5 F6000 S2     ; lift Z relative to current position
          ;G90;
          G1 X0 Y0 F9000;
          G30
          ;G1 S1 Z-1805 F1800 ; move Z down until the switch triggers
          ;G92 Z0.2           ; set Z position to trigger height
          
          ; Uncomment the following lines to lift Z after probing
          ;G91               ; relative positioning
          G1 Z5 F100 S2     ; lift Z relative to current position
          ;G90               ; absolute positioning
          
          
          1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            What command are you sending in the deployprobe.g and retractprobe.g files?

            Does the probe respond when you send it the commands to deploy, retract, self-test, and release alarm?

            If you set it to run self-test does it continue dropping and raising the pin non-stop until you manually trigger it or does it self-trigger? If it self-triggers you might have a sticky pin. In which case the pin can be removed by removing the set screw on the top of the unit.

            Your dive height is a little high and fast. Maybe try M558 H5 F100. And in the G31 command try P25 instead of P250.

            Here's how I have my BLTouch configured on my CoreXY

            [c]M574 X1 Y2 S0 ; Set active-low switches, low end endstop for X, high end endstop for Y, add Z2 for Zmax
            M574 Z1 S2 ; Use zprobe and home to min
            M307 H3 A-1 C-1 D-1 ; Unbind heater 3 pins for probe use.
            M558 P9 X0 Y0 Z1 H5 F100 T4000 A10 R0.5 S0.008 ; P9 for BLTouch, dive height 5mm, probe at 100mm/s, travel 4000mm/s, up to 10 probes, pause 0.5s
            G31 X-42.5 Y-2.2 Z1.8 P25 ; probe offset from nozzle, p is trigger value, set low for bltouch, set Z=0 for testing
            ; (z height is 1.8006 after calibration March 29th)
            M557 X20:310 Y2:282 S14 ; Define mesh grid
            M376 H20 ; Taper off compensation over 20mm of height
            M375 ; Load heightmap.csv[/c]

            For access point mode use M552 S2 and check your wifi networks for the Duet.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • Zerbobundefined
              Zerbob
              last edited by

              I've tried your settings but still get this weird behaviour. Video: https://drive.google.com/file/d/1pSdNuHWDPTvjjOFv8BxW1zxDio94YLGC/view?usp=sharing

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

                Your Z speeds are pretty slow. What type of mechanics are you using?

                I also just noticed that your trigger height is negative. How did you calibrate that?

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • Zerbobundefined
                  Zerbob
                  last edited by

                  Tried changing the Z trigger height to positive. Might have been a mistake. It did not solve the issue.

                  For the Z axis we are using M12 threaded rods. Our gantry is about 1.5mx1.5m and is carrying about 10kg of weight. We can't go much faster or else we get vibration build up. The Z axis is about 2m tall. Future work is to upgrade them to lead screws but we were limited by cost and lead time.

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

                    Sounds like a very cool project. Hopefully you'll share the completed build in the example forum.

                    As for your homing issue, can you follow the steps here?
                    https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe

                    Is the BLTouch wiring running alongside any untwisted stepper wiring? Do you have a heater running during the probe? Can you test the probe with the wiring separated from the rest of the bundle? I'm starting to suspect possible interference.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • Zerbobundefined
                      Zerbob
                      last edited by

                      I'll give that a try tomorrow. It is running as part of a bundle of wires which contains multiple steppers, a heating element, and a fan. The steppers and heater are in shielded wire, but the lengths are long enough we could even get interference from fluorescent lights (which I've experienced with telephone wires).

                      Maybe I'll try a small capacitor and playing with the trigger value. We have been testing with the heaters off for now.

                      What confuses me is that M401 and M402 both work. G28 Z works. But when we go to G29 it doesn't behave correctly. We even noticed this when we swapped the BLTouch for an inductive sensor I had on hand.

                      I'll also be sure to put the build up on the forum. We're focused on finishing the project right now, but afterwards will be hitting up some of the various 3D printer sites and communities.

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

                        Further settings for the access point mode by the way.

                        M589: Configure access point parameters
                        Parameters:

                        S"ccc" The SSID that the WiFi interface should use when it is commanded to run as an access point
                        P"ccc" The WiFi password
                        Inn.nn.nn.nn The IP address to use
                        Cnn The WiFi channel to use (optional)
                        Note: WPA2 security will be used by default.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        1 Reply Last reply Reply Quote 0
                        • Zerbobundefined
                          Zerbob
                          last edited by

                          Could you actually provide a more detailed example of M589? I tried doing that but kept getting an error stating incorrect parameters.

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

                            Try adding this to your config.g. Remove your existing M552 entry or put it after it.

                            [c]
                            M550 PBigPrinter ; give the printer a name to show up in URL http://BigPrinter.local
                            M552 S0 ; disable wifi so we can add a network
                            M587 S"BigPrinterWifi" P"PRINT" I192.168.0.1 ; create entry in remembered networks for access point SSID
                            M552 P"BigPrinterWifi" S2 . ; Specify SSID and set access point mode
                            M589 S"BigPrinterWiFi" P"PRINT" I192.168.0.1 . ; configure access point parameters
                            [/c]

                            Now on your device find wifi network called BigPrinterWifi and connect using password PRINT.
                            Then in your browser go to http://BigPrinter.local or 192.168.0.1

                            Hopefully that would load up the DWC.

                            Z-Bot CoreXY Build | Thingiverse Profile

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

                              It's better to put those commands in a macro and run that, because the network module remains disabled until config.g has completed.

                              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
                              • Zerbobundefined
                                Zerbob
                                last edited by

                                Is there a way to trigger that macro to run on boot?

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

                                  It should work if you set up a trigger on an unused endstop (e.g. E7) using M581, then use M582 to sample it. Running the macro will be deferred until after config.g has completed. Use a G4 S5 command at the start of the macro, to give the network module time to start up.

                                  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
                                  • Zerbobundefined
                                    Zerbob
                                    last edited by

                                    Thank you.

                                    Do you have any thoughts to the issue above relating to probing? It's a very odd situation and I have been unable to find others with the same issue even.

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

                                      It's an odd problem. Are you certain that your Z axis can do 300mm/sec speed and 250mm/sec^2 acceleration without skipping steps, both up and down? My Cartesian printer has 4000 steps/mm, almost the same as yours does, and I have to limit the speed to 250 and the acceleration to 20.

                                      Try reducing both the M203 Z parameter and M558 F parameter to 100, and the M201 Z parameter to 20, and see if that makes a difference.

                                      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
                                      • Zerbobundefined
                                        Zerbob
                                        last edited by

                                        I'd be very surprised if it was skipping steps. The Z axis is driven by two Nema 23's on an external high power driver (DM860AC). We have run the Z axis on big moves vertically and it does them correctly at 300 mm/min. We have run the motors to the point where they start to skip and do not see/hear skipping steps. We have run the Z axis up to 500 mm/min but slowed them down due to vibrations.

                                        It will also probe correctly on the first attempt. Even if we set M558 A >1 it will probe it once correctly, then fail to probe close to the same distance on the second attempt. This can be seen in the linked video above.

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

                                          Nevertheless, your Z acceleration looks very large to me, given the high steps/mm. Does the bed move in your printer, or the gantry? Have you tried moving Z up and down repeatedly by 10mm @ 300mm/min, and checking that the Z height doesn't drift?

                                          Another thing to try is placing the probe about 10mm above the bed, then repeatedly execute G30 S-1 and G1 Z10 F300, to see whether you get the same problem.

                                          Also make sure you don't have any M586 axis skew compensation configured in config.g.

                                          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
                                          • Zerbobundefined
                                            Zerbob
                                            last edited by

                                            It is a moving gantry. Our bed weighs about 110kg and consists of a metal sheet on a galvanized steel pallet. Moving the bed was not feasible.

                                            The Z axis consists of 2 threaded rods but the motion itself is on precision linear rails.

                                            I'll try turning the Z acceleration down and report back with the results tomorrow.

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