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

    BLtouch ignores M280 commands

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    2
    6
    870
    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.
    • almightyloafundefined
      almightyloaf
      last edited by

      Hello! I have installed a duet 2 Maestro onto my homemade coreXY machine and have added a BLTouch sensor to it.

      I am currently on RepRap firmware 3.0 and have used the configuration tool to set up my printer settings.

      My current wiring for the probe is as follows:

      BLTouch --- Duet 2 Maestro

      White --- Z probe in
      Brown / Black --- GND
      Orange --- Z probe MOD
      Red --- 3v *

      • when I use 5V, the probe will run its test at startup (extend and retract the pin twice) but then the red light will stay on.
      • when I use 3v, the probe runs the startup sequence but the light turns off.

      My Z probe settings are as follows in the config.g file:

      ; Z-Probe
      M950 S0 C"^!zprobe.mod"                           ; create servo pin 0 for BLTouch
      M558 P9 C"zprobe.in" H5 F120 T6000                ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X0 Y0 Z2.5                               ; set Z probe trigger value, offset and trigger height
      M557 X15:215 Y15:195 S20                          ; define mesh grid
      

      When I send the command M280 P0 S10, which I have read is the deploy command, the probe does nothing. The board says that the command sent properly, but nothing happens. This is the same with M280 P0 S90.

      The probe also does absolutely nothing when I home the Z axis. I have to E-Stop before the bed just blindly crashes into the tool head.

      I have tried switching between the 3v and 5v pins on the zprobe header. I have tried inverting the m558 code using I1, and I have tried changing the S value on M950. I am unsure of what to do next.

      Any help is greatly appreciated. I'm so close to having a functional printer!

      1 Reply Last reply Reply Quote 0
      • almightyloafundefined
        almightyloaf
        last edited by

        ALSO since it may be relevant, this is my config.g file as a whole:

        config.g

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

          First, please upgrade your firmware to 3.1.1

          Try this instead:

          M558 P9 C"^zprobe.in" H5 F120 T6000 
          M950 S0 C"zprobe.mod" 
          

          Then test your M280 commands to deploy and retract. Then test M401 and M402 they should work as well.

          The probe also does absolutely nothing when I home the Z axis. I have to E-Stop before the bed just blindly crashes into the tool head.

          Well yes, the M280 commands must work first otherwise it can't control the pin.

          I have tried inverting the m558 code using I1, and I have tried changing the S value on M950. I am unsure of what to do next.

          I1 doesn't work in RRF3, that's what the ! does, but you don't need to invert anything. The S value in M950 is the servo number. 0 is the first one. The M280 command P0 needs to match that number.

          From your config.g..

          M350 X128 Y128 Z2 E16:16 I1                       ; configure microstepping with interpolation
          M92 X293.40 Y2934.00 Z40.00 E415.00:415.00        ; set steps per mm
          

          3 things.

          Just use x16 with interpolation. Using high microstepping values can lead to some issues.

          x2 microstepping on the Z axis is pretty weird too. Why?

          Your X and Y steps per mm look very mismatched. Double check that.

          And finally

          G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height

          You need to measure the X Y offset of the bltouch from the nozzle. You should also use P25. And you need to measure the trigger height.

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

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 1
          • almightyloafundefined
            almightyloaf
            last edited by

            Alright, I have BLTouch working now and responding to Gcode. I honestly feel pretty silly for why this didn't work.

            As soon as I actually installed 3.1.1 the sensor started working properly. I had messed up the file names on my computer and didn't realize that I was actually just reinstalling 3.0 over and over.

            Also, for the weird steps per mm and microstepping values, my x and y values are way off in that file. I have since fixed them and lowered the microstepping.

            Z axis: I am using a low microstepping on my Z axis as my print bed assembly is pretty heavy, and I have read online that high microstepping can decrease motor torque. I will experiment more with it but so far the Z axis has been working quite well as configured.

            Thank you so much for the input. I am so excited to finally have this machine up and running.

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

              That's a bit of a misunderstanding of how torque in a stepper is created. While it's true that a single micro step will have less torque than a full step, it doesn't account for the fact that the same number of microsteps needed to reach a full step will have the same torque as the full step. It's the angular difference between positions that creates the torque. a smaller angle will have a smaller amount of difference and so less torque. Once the difference is the same, so is the torque.

              Case in point, since the maestro driver support x256 interpolation which you have enabled, the drivers are generating 256 pulses for the motors anyway. The only difference is that you're only generating 2 pulses from the controller to the drivers and artificially lowering your steps per mm.

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 1
              • almightyloafundefined
                almightyloaf
                last edited by

                Thank you for the explanation. I'll probably switch all my drivers to x16 like you said now that you mention the interpolation being on anyways.

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