Ooznest Workbee Z Touch Plate Support with RRF3.2.2
-
I'm just working on getting an Ooznest Workbee up and running under the latest (and hopefully greatest!): RRF 3.2.2 with DWC CNC 3.2.0-RC1. The firmware is all flashed machine runs and homes fine from my dev build of DWC-CNC (great work and thanks to all the contributors so far), so my first 'real' job is to try and port the Ooznest touchplate support.
Before looking at the UI (I think I will back to talk 'modules' at some point...), there seem to be a number of breaking changes in RRF 2->3 which immediately deprecate the approach previously used by Ooznest for its RRF2 touch plate tools. So my first run at it today was simply to do the simplest case of a single Z probe down onto the touch plate to set tool length/z offset using a macro to get the correct commands and syntax sorted out. I wanted to check-in here to see if I am even approaching this from the correct route and also get some advice on the details.
The touch plate is the standard one from Ooznest and connects (I believe) as a simple 'switch' to the endstop 0 connector on my Duet2 (ethernet).
My macro is:
M563 P0 S"ZProbe" ; Define a 'fake' tool (is this necessary?) T0 ; set the fake tool M400 ; make sure we've finished any other movements M558 K3 P5 C"e0stop" ; configure probe 3 as switch connected to e0stop M585 Z10 F600 P3 S1 ; probe 'forward' in Z 10mm or until Probe 3 triggers ; Set the current workplane offset relative to this current position, backed-off 10mm ; in Z to allow for touch plate thickness G10 L20 Z10
This macro runs with no errors, but also no movement or apparent effect on the machine.
Any suggestions, observations or general advice gratefully received!
E
-
I should also have added that I have reversed the NO/NC with '!' version of the probe definition, and also tried the reverse probe direction (S0), but neither of these things appear to be the root of the current problem.
Thanks!
E -
@dc42 I didn't want to hijack @Yveske 's thread, but it seems like a closely related enquiry. Is it actually your intention that we should all really be using G38.2 (instead of M585) to set a Z origin (or XY, for that matter)? The docs for G10 explicitly link to M585, which is why I went down that route but I may be barking up the wrong tree
Edit: The Openbuilds XYZ Probe (https://openbuildspartstore.com/xyz-touch-probe-plus/) and the Ooznest probe (https://ooznest.co.uk/product/original-workbee-xyz-touch-probe/) do appear to be near identical bits of kit so I think I am trying to solve the same problem as @Yveske here - https://forum.duet3d.com/topic/21025/duet-3-6hc-with-openbuilds-xyz-probe/16
-
G38.2 is the NIST-compatible command to do a straight probe, but M585 should still work. Are you using a NC or NO switch? Rhe configuration without the ! at the start of the pin name assumes a NC switch.
-
I looks like it is a pretty simple NO arrangement (unless there are some hidden gubbins) where the 'switch' closes by conduction through the tool and plate on contact. My original (and current) version of the macro does not have the ! prefix, but as I mentioned I did try this to sanity check but it made no apparent difference. Running the macro as posted produces no error or comms responses, but also no discernable movement...
Edit: Just firing up the machine now to ensure that I explicitly test the '!' version again. Please bear with me...
-
@edwardp said in Ooznest Workbee Z Touch Plate Support with RRF3.2.2:
M558 K3 P5 C"e0stop" ; configure probe 3 as switch connected to e0stop
Please confirm that you are adding the ! like this:
M558 K3 P5 C"!e0stop" ; configure probe 3 as switch connected to e0stop
-
Do you have deployprobe.g or retractprobe.g files> I've just examined the code, and I think here may be a problem with M585 when these files are present.
-
OK - machine up and running.
My probe z macros is now as follows:
M563 P0 S"ZProbe" ; Define a 'fake' tool (is this necessary?) T0 ; set the fake tool M400 ; make sure we've finished any other movements M558 K3 P5 C"!e0stop" ; configure probe 3 as switch connected to e0stop M585 Z10 F600 P3 S1 ; probe 'forward' in Z 10mm or until Probe 3 triggers ; Set the current workplane offset relative to this current position, backed-off 10mm ; in Z to allow for touch plate thickness G10 L20 Z10
I do not appear to have 'deployprobe.g' or 'retractprobe.g' in the system files (or macros) but I did have a 'probe.g', which definitely looks out of date so I have renamed that in case it was problematic.
Macro, as posted, produces no errors, response or movement. For the avoidance of doubt, the machine homes, jogs in all axis, moves under G0/G1 etc. with no apparent issues.
-
Thanks, I'll see if I can reproduce the problem.
-
@dc42 Am I right to assume that these commands in this form (with a NO configuration) should produce some movement even if nothing was connected to estop0? i.e. we can eliminated any physical problems with the touch plate hardware?
-
@edwardp said in Ooznest Workbee Z Touch Plate Support with RRF3.2.2:
@dc42 Am I right to assume that these commands in this form (with a NO configuration) should produce some movement even if nothing was connected to estop0? i.e. we can eliminated any physical problems with the touch plate hardware?
Yes, unless there is an error in the commands that I haven't spotted yet.
-
I have just tested M585 on a Duet 3 running firmware 3.3beta2 and it appears to work correctly. However, I have noticed a number of defects in the M585 code, for example it doesn't report an error if the Z probe is already triggered. So I will fix those, as well as trying to reproduce your configuration on a Duet WiFi.
-
Thanks for testing this at your end. I have flashed RRFW3.3beta2 onto my Duet2 and rerun the macro as posted above. No change for me unfortunately - no error messages and no apparent motion.
I also removed the '!' and re-ran the macro expecting this would trigger the 'probe already triggered error' that you mention (do I understand correctly that 3.3beta2 has fixed this M585 bug?). On my machine this version also produces no errors or movement.
-
@dc42 I wonder if you have any further suggestions on this issue? I'm really keen to work with you to get it sorted, but without anybody seeming able to identify anything obvious in the macro, no error messages to indicate any problem on the Duet, but with a total failure of movement and a rather core function needed for every CNC toolpath I'm unsure where to go next..? Should I just write-off this approach and go with a G38 based route like @Yveske, or are there more things I can try to help you diagnose the issue?
I was really hoping to move onto replacement Vue modules so that Ooznest customers (and others) can make use of the latest firmware 3.xx improvements (which I need for consistent laser support) and the excellent DWC-CNC work of @Sindarius (to hopefully provide a longer-term maintainable RRF3 compatible UI) - but at the moment I'm dead in the water. I obviously cannot expect customers to update their installations if I can't reproduce the existing capabilities they currently have under RRF2 & Ryan's original DWC.
Many thanks in advance. E
-
I'll try and see where we're at with M585. Thanks for your patience.
-
@edwardp, please try the unofficial 3.3beta2+1 build at https://www.dropbox.com/sh/6203euyyobllic5/AABTHIbn7F_maK9p-oy7vq3Ea?dl=0. It's compatible with DWC for 3.3beta2.
-
Thanks guys - @dc42 I'll flash the new firmware this weekend and report back.
-
On uploading and installing Duet2CombinedFirmware.bin from your zip I get the following error:
Error: M997: In-application programming binary "0:/firmware/Duet2_SDiap32_WiFiEth.bin" not found
Do I need this additional file from somewhere, it is not included in the zip above?
E
-
You can find that file in the 3.3beta1 and 3.2.2 releases on github.
-
OK - thanks @dc42. I've re-uploaded alongside the WifiEth.bin from the RRF3.2.2Beta2 and confirmed the new firmware looks good:
Board: Duet 2 Ethernet (2Ethernet) Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.3beta2+1 (2021-03-19)
The probe test macros, exactly as above, continues to give no error or motion I'm afraid.
One aspect of my set-up I should be clear about is I am running the DWC-CNC-CNC02-3.2.0-RC1 (built from the tagged branch on https://github.com/Duet3D/DWC-CNC) from my local machine and connecting to the Duet2 over ethernet. I'm using this UI to upload the firmware patches and trigger the macro. This is our test machine, so it has been upgraded from RRF2 in quite a few incremental steps now. Could any of these things be a source of this problem?
Can I just also formally confirm that my macro (as posted above) does run on the test rigs you have at your end - I'm not sure we have quite stated that explicitly so thought I should check?
E