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

    Revo Voron PZ Probe firmware configuration?

    Scheduled Pinned Locked Moved
    General Discussion
    2
    15
    297
    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.
    • SpeedyDadundefined
      SpeedyDad
      last edited by SpeedyDad

      I'm trying to install this on my Duet powered big Voron but no matter what I do, it either gives me errors or just doesn't work. It used to use a BLTough but I wanted to see if I could get more precise. Has anyone out there got it to work with reprap and, if so, how did you configure the firmware? I want to use it as an endstop for Z homing and as a probe for Mesh compensation. Figured I'd ask if anyone else has done it first before posting all I have tried.

      In case no one else has, here is the current setup.
      Duet Mini 5+ with Revo Roto Toolboard. Mini is running 3.5.4.

      Probe is wired to the IO 0 port on the Roto Toolboard as follows: Red to +5v. Brown to GND. Yellow (signal) to io0.in.

      FIrmware:
      ; Endstops
      M574 X2 S1 P"121.io2.in"
      M574 Y2 S1 P"io2.in"

      ; Z-Probe
      M558 P8 C"121.io0.in" H10 F700 T16000
      G31 P500 X0 Y0 Z0

      Checking endstop status always shows "Z: at min stop, Z probe: at min stop"

      I have tried using the "I" parameter in M558 but it makes no difference.

      Update: I shut the printer off for a while to step away from this issue and now, enstop status says "Z: no endstop, Z probe: at min stop". I didn't change anything.

      Additional data in case it helps. When I try to home it, it can't home Z because it says the probe is already deployed.

      crpalmerundefined 2 Replies Last reply Reply Quote 0
      • crpalmerundefined
        crpalmer @SpeedyDad
        last edited by

        @SpeedyDad Your M558 looks like the problem. Mine (just wired to the mini 5+ board on this printer) is:

        M558 K0 P8 C"^!io1.in" R1.0 H5 F400 A5 T24000
        

        Note the "^!" to both enable the pullup register and invert the signal direction.

        I believe E3D recommends R0.5 and A3 and the T (travel speed) is printer dependent. I gave it a slightly high R (rest before probing) because at least one of my printers generates a lot of vibrations in the toolhead at 24,000 mm/min and I figured it wouldn't hurt. I increased A when I first starting using it to make sure it was giving me valid readings and never changed back because it was working fine. You can choose to values that work for you.

        Mine are connected to 3.3V (not 5V) but that shouldn't be a problem. I have setting #4 (filtering enabled) which gives ME the most consistent triggering. YMMV.

        SpeedyDadundefined 2 Replies Last reply Reply Quote 0
        • SpeedyDadundefined
          SpeedyDad @crpalmer
          last edited by

          @crpalmer said in Revo Voron PZ Probe firmware configuration?:

          @SpeedyDad Your M558 looks like the problem. Mine (just wired to the mini 5+ board on this printer) is:

          M558 K0 P8 C"^!io1.in" R1.0 H5 F400 A5 T24000
          

          Note the "^!" to both enable the pullup register and invert the signal direction.

          I believe E3D recommends R0.5 and A3 and the T (travel speed) is printer dependent. I gave it a slightly high R (rest before probing) because at least one of my printers generates a lot of vibrations in the toolhead at 24,000 mm/min and I figured it wouldn't hurt. I increased A when I first starting using it to make sure it was giving me valid readings and never changed back because it was working fine. You can choose to values that work for you.

          Mine are connected to 3.3V (not 5V) but that shouldn't be a problem. I have setting #4 (filtering enabled) which gives ME the most consistent triggering. YMMV.

          Thanks. That halfway worked. Now, it at least is reading the proper endstop status but it doesn't actually stop when triggered. I can see the flash on the PZ board but no stop on the printer. Maybe it's because I'm on io0 (yes, I changed it to that in your example). I'll try it on io1 and see if that changes anything.

          1 Reply Last reply Reply Quote 0
          • SpeedyDadundefined
            SpeedyDad @crpalmer
            last edited by SpeedyDad

            @crpalmer said in Revo Voron PZ Probe firmware configuration?:

            @SpeedyDad Your M558 looks like the problem...

            Nope. Switching to io1.in did not help. Still will not trigger the endstop. I have tried it with and without the "M574 Z1 S2" in the endstop section. At least with the M574 Z1 S2, it recognizes that I have a probe and an endstop.

            This is what it says in the E3D duet configuration page:
            ; From Duet 3.6.0 onwards

            ; Z Probe - Piezo

            M574 Z1 P"nil" ; For Duet 2 with RRF3 only, free up z-probe before reassigning it.
            M558 P8 C"^!zstop" R0.5 F400 B1 A2 H5 ; analogue mode, 0.5 sec delay, 400mm/min dive speed, turn off heater during probing, two probes per point, 5mm Dive Height.
            G31 X0 Y0 Z0 P100 ; Set probe offset from XYZ to Zero
            M575 P1 B9600 S7 ; Set baudrate on paneldue connector (where Piezo is connected) and set into device mode

            ; Commands can be sent as follows:
            ; Write: M260.2 P1 S"STATUS\n" ; Use the commands as shown in the PZ-Probe documentation. \n is required at the end of the command.
            ; Read: M261.2 P1 B10 ; Only a set number of bytes (B) can be read at anytimes, so the command will need to be repeated several times and the B value may have to be changed to read the whole data packet recieved. The values returned are in Hex, so these will need to be converted to ASCII to read the data.

            Does this not work unless connected to the PanelDue connector on the mainboard? Not sure what to do with the stuff in the Commands section. BTW - this did not appear before when I went to their page. There was no link. I sent them an email asking for config info. Maybe my email caused them to fix that. Anyways, does this mean it will only work in 3.6.0?

            crpalmerundefined 1 Reply Last reply Reply Quote 0
            • crpalmerundefined
              crpalmer @SpeedyDad
              last edited by

              @SpeedyDad I wasn't suggesting that you change the input pin (it depends on where you have the pz probe connected). Your original M558 was:

              M558 P8 C"121.io0.in" H10 F700 T16000
              

              and I was suggesting that you could change it to something like:

              M558 K0 P8 C"^!121.io0.in" H10 F700 T16000
              M558 K0 P8 C"^!121.io0.in" R0.5 H5 F400 A2 T24000
              M558 K0 P8 C"^!121.io0.in" R1.0 H5 F400 A5 T24000
              

              E3D is also suggesting that you turn off the heaters (the B1) but I don't do that and it has been working well for me.

              All that said, if you have the correct pin in the M558 command with ^! and it shows not triggered when idle but when you tap the hotend the www interface doesn't show the z probe triggered then you have a problem. You can post your config.g and maybe I (or someone) can suggest a problem. Also, are you sure your crimps are good?

              The "commands section" is for non-standard usage of the probe or to reprogram the settings. You can ignore that until you find you want to do one of those things.

              SpeedyDadundefined 1 Reply Last reply Reply Quote 0
              • SpeedyDadundefined
                SpeedyDad @crpalmer
                last edited by SpeedyDad

                @crpalmer said in Revo Voron PZ Probe firmware configuration?:

                @SpeedyDad I wasn't suggesting that you change the input pin (it depends on where you have the pz probe connected). Your original M558 was:

                M558 P8 C"121.io0.in" H10 F700 T16000
                

                and I was suggesting that you could change it to something like:

                M558 K0 P8 C"^!121.io0.in" H10 F700 T16000
                M558 K0 P8 C"^!121.io0.in" R0.5 H5 F400 A2 T24000
                M558 K0 P8 C"^!121.io0.in" R1.0 H5 F400 A5 T24000
                

                E3D is also suggesting that you turn off the heaters (the B1) but I don't do that and it has been working well for me.

                All that said, if you have the correct pin in the M558 command with ^! and it shows not triggered when idle but when you tap the hotend the www interface doesn't show the z probe triggered then you have a problem. You can post your config.g and maybe I (or someone) can suggest a problem. Also, are you sure your crimps are good?

                The "commands section" is for non-standard usage of the probe or to reprogram the settings. You can ignore that until you find you want to do one of those things.

                Yeah, I understood what you were saying. The changing the pin was just in case it didn't like the io0 input. I tried your example and theirs. Is yours up and running?

                crpalmerundefined 1 Reply Last reply Reply Quote 0
                • crpalmerundefined
                  crpalmer @SpeedyDad
                  last edited by

                  @SpeedyDad Yes, I have a PZ Probe connected to a (regular, not roto) Toolboard, two running on an IDEX printer with a 3HCL expansion board (I use them to calibrate the tool offsets when starting a multi-material/colour print) and one on another printer just plugged into the regular control board. All of them are working great and I have plans to install more of them.

                  SpeedyDadundefined 1 Reply Last reply Reply Quote 0
                  • SpeedyDadundefined
                    SpeedyDad @crpalmer
                    last edited by

                    @crpalmer said in Revo Voron PZ Probe firmware configuration?:

                    @SpeedyDad Yes, I have a PZ Probe connected to a (regular, not roto) Toolboard, two running on an IDEX printer with a 3HCL expansion board (I use them to calibrate the tool offsets when starting a multi-material/colour print) and one on another printer just plugged into the regular control board. All of them are working great and I have plans to install more of them.

                    What firmware version are you running?

                    crpalmerundefined 1 Reply Last reply Reply Quote 0
                    • crpalmerundefined
                      crpalmer @SpeedyDad
                      last edited by

                      @SpeedyDad Two of the machines are running the latest stable (3.5.4?) and the idex printer is running 3.6.0-rc2+2 (for a bug fix needed to calibrate the tool offsets).

                      it sounds like you're not getting anywhere. I would suggest that you do the following:

                      • post your full config.g
                      • try to get a good picture of the wire connections at the pz probe pcb and the toolboard pcb to show how it is wired (and post it here)
                      • verify that when you tap the nozzle, the triggered light on the pz probe flashes
                      • verify that when everything is idle that the probe status shows 0
                      • verify that when you tap the nozzle, the probe status flashes to 1000

                      If one of those things don't work, that's the first problem you need to fix.

                      if all that works, then I would manually (or via a G92 Z0 G1 Zxx) make sure that you have a large space between your nozzle and your print bed and then run G30 S-1. Let the probe run a for a couple of seconds to make sure it isn't false triggering and then tap the nozzle. If it doesn't stop, hit emergency stop.

                      If you want to try those steps and report back along with your full config.g, I (or someone else) may have a suggestion.

                      SpeedyDadundefined 1 Reply Last reply Reply Quote 0
                      • crpalmerundefined
                        crpalmer @SpeedyDad
                        last edited by

                        @SpeedyDad I just changed from a klicky probe to a PZ Probe on another printer this morning. The only config changes I had to make were to change:

                        M558 P5 C"^io1.in" H5 F200 T24000
                        G31 X0 Y22 Z3.625 P25
                        

                        to

                        M558 P8 C"!^io1.in" A5 R1 H5 F400 T24000
                        G31 X0 Y0 Z0 P100
                        
                        1 Reply Last reply Reply Quote 0
                        • SpeedyDadundefined
                          SpeedyDad
                          last edited by

                          Sorry all. Got a little busy with other things. I'll work on this with the above suggestions in the AM. I appreciate the help.

                          1 Reply Last reply Reply Quote 0
                          • SpeedyDadundefined
                            SpeedyDad @crpalmer
                            last edited by SpeedyDad

                            @crpalmer said in Revo Voron PZ Probe firmware configuration?:

                            @SpeedyDad Two of the machines are running the latest stable (3.5.4?) and the idex printer is running 3.6.0-rc2+2 (for a bug fix needed to calibrate the tool offsets).

                            it sounds like you're not getting anywhere. I would suggest that you do the following:

                            • post your full config.g
                            • try to get a good picture of the wire connections at the pz probe pcb and the toolboard pcb to show how it is wired (and post it here)
                            • verify that when you tap the nozzle, the triggered light on the pz probe flashes
                            • verify that when everything is idle that the probe status shows 0
                            • verify that when you tap the nozzle, the probe status flashes to 1000

                            If one of those things don't work, that's the first problem you need to fix.

                            if all that works, then I would manually (or via a G92 Z0 G1 Zxx) make sure that you have a large space between your nozzle and your print bed and then run G30 S-1. Let the probe run a for a couple of seconds to make sure it isn't false triggering and then tap the nozzle. If it doesn't stop, hit emergency stop.

                            If you want to try those steps and report back along with your full config.g, I (or someone else) may have a suggestion.

                            OK, Here are the results of above:
                            My connections to the Roto toolboard are as follows. Red from the PZ Board = io1 +3.3v. Orange from PZ Board = io1.in. Brown from PZ Board = GND. I have verified continuity at both ends of the signal wire.
                            IMG_1344.jpg
                            IMG_1347.jpg
                            I get a power LED on the PZ Board.
                            I get a flash of the amber LED when I tout the nozzle end.
                            Probe shows as 0 on the panel when idle.
                            Probe does not flash to 1000 during trigger
                            Running a G30 S-1 and tapping the probe does nothing.

                            My config.g
                            ; Configuration file for Duet 3 Mini 5+ (firmware version 3.3)
                            ; executed by the firmware on start-up
                            ;
                            ; generated by RepRapFirmware Configuration Tool v3.4.1 on Sat Aug 17 2024 21:55:35 GMT-0700 (Mountain Standard Time)

                            ; General preferences
                            M575 P1 S1 B57600 ; enable support for PanelDue
                            G90 ; send absolute coordinates...
                            M83 ; ...but relative extruder moves
                            M550 P"Voron" ; set printer name
                            M669 K1 ; select CoreXY mode

                            ; Wait a moment for the CAN expansion boards to start
                            G4 S2

                            ; Network
                            M552 S1 ; enable network
                            M586 P0 S1 ; enable HTTP
                            M586 P1 S0 ; disable FTP
                            M586 P2 S0 ; disable Telnet

                            ; Accelerometers
                            M955 P121.0 I20 ; configure accelerometer on board #20

                            ; Drives
                            M569 P0.0 S0 D2 ; driver 0.0 goes backwards (X axis)
                            M569 P0.1 S0 D2 ; driver 0.1 goes backwards (Y axis)
                            M569 P0.2 S0 D2 ; driver 0.2 goes backwards (Z axis)
                            M569 P0.3 S1 D2 ; driver 0.3 goes forwards (Z axis)
                            M569 P0.4 S0 D2 ; driver 0.4 goes backwards (Z axis)
                            M569 P0.5 S1 D2 ; driver 0.5 goes forwards (Z axis)
                            M569 P121.0 S0 D2 ; driver 20.0 goes backwards (extruder 0)

                            ; Axes
                            M584 X0.0 Y0.1 Z0.2:0.3:0.4:0.5 ; set axis mapping
                            M671 X-70:-70:470:470 Y20:455:455:20 S10 ; position of leadscrew/bed pivot point at front left, rear left, rear right and front right
                            M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
                            M906 X1700 Y1700 Z1700 ; set axis driver currents
                            M92 X80 Y80 Z400 ; configure steps per mm
                            M208 X-15:400 Y0:390 Z0:400 ; set minimum and maximum axis limits
                            M566 X100 Y100 Z60
                            M203 X20000 Y20000 Z3600 ; set maximum speeds (mm/min)
                            M201 X8000 Y8000 Z30

                            ; Extruders
                            M584 E121.0 ; set extruder mapping
                            M350 E16 I1 ; configure microstepping with interpolation
                            M906 E1000 ; set extruder driver currents
                            M92 E397 ; configure steps per mm
                            M566 E150 ; set maximum instantaneous speed changes (mm/min)
                            M203 E3600 ; set maximum speeds (mm/min)
                            M201 E1500 ; set accelerations (mm/s^2)

                            ; Motor Idle Current Reduction
                            M906 I30 ; set motor current idle factor
                            M84 S30 ; set motor current idle timeout

                            ; Endstops
                            M574 X2 S1 P"121.io2.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin io0.in
                            M574 Y2 S1 P"io2.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io2.in
                            M574 Z1 S2

                            ; Z-Probe
                            ;M950 S0 C"121.io0.out" ; create servo pin 0 for BLTouch
                            ;M558 K0 P8 C"^!io1.in" R1.0 H5 F400 A5 T24000
                            ;G31 P500 X0 Y0 Z0 ; set Z probe trigger value, More Z = Closer
                            M558 P8 C"!^io1.in" A5 R1 H5 F400 T24000
                            G31 X0 Y0 Z0 P100
                            M575 P1 B9600 S7

                            ; Mesh Bed Compensation
                            M557 X20:400 Y30:380 S40 ; define mesh grid

                            ; Heaters
                            ;Bed
                            M308 S0 P"temp0" Y"thermistor" T100000 B4550 C0 A"Bed" ; configure sensor 0 as thermistor on pin temp0
                            M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
                            M307 H0 R0.203 K0.232:0.000 D2.45 E1.35 S1.00 B0
                            M140 H0 ; map heated bed to heater 0
                            M143 H0 S120
                            ;Hotend
                            M308 S1 P"121.temp0" Y"thermistor" A"Hotend" T100000 B4725 C7.060000e-8 ; configure sensor 1 as thermistor on pin 20.temp0
                            M950 H1 C"121.out0" T1 ; create nozzle heater output on 20.out0 and map it to sensor 1
                            M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                            M143 H1 S280 ; set temperature limit for heater 1 to 280C

                            ; Fans
                            M950 F0 C"121.out1" ; create fan #0
                            M106 P0 C"Part Fan" S0 L0 X1 B0.1 ; configure fan #0
                            M950 F1 C"121.out2" ; create fan #1
                            M106 P1 C"Hotend Fan" S0 B0.1 H1 T45 ; configure fan #1

                            ; Tools
                            M563 P0 D0 H1 F0 ; define tool 0
                            G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
                            G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

                            T0

                            ; Custom settings are not defined

                            ; Miscellaneous
                            M501 ; load saved parameters from non-volatile memory
                            M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

                            crpalmerundefined 1 Reply Last reply Reply Quote 0
                            • crpalmerundefined
                              crpalmer @SpeedyDad
                              last edited by

                              @SpeedyDad said in Revo Voron PZ Probe firmware configuration?:

                              Your wire connections look correct. The PZ PCB is reading the piezo probe correctly. But the firmware is not correctly reading the triggered value. That would most likely be a bad crimp or a misconfiguration. I think it's the misconfiguration because you have:

                              M558 P8 C"!^io1.in" A5 R1 H5 F400 T24000
                              

                              which would be the io1.in pin on the main board. The toolboard would be xxx.io1.in where "xxx" is the canbus address of the board. From the comments around the zprobe and previous posts you've made, I'm guess that it should be:

                              M558 P8 C"!^121.io1.in" A5 R1 H5 F400 T24000
                              
                              SpeedyDadundefined 1 Reply Last reply Reply Quote 0
                              • SpeedyDadundefined
                                SpeedyDad @crpalmer
                                last edited by

                                @crpalmer said in Revo Voron PZ Probe firmware configuration?:

                                @SpeedyDad said in Revo Voron PZ Probe firmware configuration?:

                                Your wire connections look correct. The PZ PCB is reading the piezo probe correctly. But the firmware is not correctly reading the triggered value. That would most likely be a bad crimp or a misconfiguration. I think it's the misconfiguration because you have:

                                M558 P8 C"!^io1.in" A5 R1 H5 F400 T24000
                                

                                which would be the io1.in pin on the main board. The toolboard would be xxx.io1.in where "xxx" is the canbus address of the board. From the comments around the zprobe and previous posts you've made, I'm guess that it should be:

                                M558 P8 C"!^121.io1.in" A5 R1 H5 F400 T24000
                                

                                Ah, good catch. It was set to 121 but I changed it and forgot the 121. Now, it does register a 1000 when the probe is touched and I was able to run G30 S-1 once. After that, trying to run it again got the error:

                                "G30 S-1
                                Error: G30: Probe was not triggered during probing move"

                                Some leftover stuff from trying to probe with the BLTouch I'd imagine. Progress is being made though.

                                1 Reply Last reply Reply Quote 0
                                • SpeedyDadundefined
                                  SpeedyDad
                                  last edited by

                                  Success! After restarting the printer, I was also getting errors "G90: Probe was not triggered during probing move" after it finished its homing moves. I looked in homeall.z and it ended in a G90. That really shouldn't have impacted it so I commented it out and ran it again. This time, no errors. To test it again, I removed the ; to comment it out and it still ran fine. No errors. Go figure. I am now able to get it to home properly, do a 4 motor gantry level and run mesh compensation. Mesh compensation takes forever now because it probes the bed twice at each point and, over a 400mm square bed, that takes a lot of time. I'll tweak its settings.

                                  Thanks all for the help. This forum is one of the best out there for solving issues.

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