Probing X, Y, and Z for CNC job with tool changes
-
@gement81 said in Probing X, Y, and Z for CNC job with tool changes:
@Danal , So before I try all of this, I assume there is a way to set Z0 when doing a tool change when the top of stock is no longer there, i.e. if I did a 3D adaptive clearing, I no longer have anything residing at top of stock?
Yes. That is where the fixed plate comes in.
Roughly:
-
When you zero Z before any cutting, probe to the movable plate as described above, and this sets Z 0 to top of stock for the tip of THAT individual tool, as described above.
-
ALSO before any cutting, with that same tool: Probe to the fixed plate, and record the Z (in absolute machine coordinates). This is a macro or similar. Given that the plate is fixed, this macro can be fully automated.
-
Later, when changing tools, another macro probes the NEW tool to the fixed plate, does math with the 'recorded' Z from step 2 above, and sets a new Z in the Work Coordinate System. (or a tool length offset, the result is the same).
The concept is not hard... the details of the macros to do this take a little to make bullet proof. Again, Duet DWC GUI does not help, nor are there macros (including from me, this is the exact reason I don't use Duet for CNC). Having said that, it can be done, I've had to do it on TinyG and Chilipeppr and more.
-
-
That CNC router has had about five different controllers, going all the way back to Mach and a "break out board" (BoB) style lash up. If you count variants in attaching the same controller, maybe 10 ways of doing it.
During the most recent upgrade, I based a huge amount of my "what CNC goes on this router?" on "who has out of the box, fully debugged, two plate probing for tool changes?". That caused me to pick PlanetCNC.
Also, I use Nema25s and Geckko stepper drivers at 70V. (yes, seven tee) with a huge toriod in the 70V supply (for instant blips in current). You can see the Toriod, black circle in a box below the table in the longest shot. It probably weighs 20 lbs. (barbarian units).
Therefore, I am absolutely committed to external drivers (for reasons beyond simple current rating) and Duet is not really great at external driver support. About the only way to do it is with a Duet 2 and pick the step/dir/enable from the Duex5 connector. I just did not want to mess with a board that has drivers I was bypassing.
I feel kind of bad saying all that on a Duet board; at the same time, those are the specific reasons that I don't run Duet for CNC. YMMV
-
Just on other general DIY CNC: The spindle is a Bosch router with a conversion kit from "think and tinker" that makes it have .00002' or less total runout. It also has a "super pid" speed controller attached, with optical tach, so that it will cut at correct speed without sagging.
The overall design is hybrid wood/steel with V-Groove bearings riding on the steel. It is very similar to a bunch of "Joe's CNC" designs; however, it is ultimately the brainchild of Steve Klemp at Ricochet Products.
The whole 70V / Toriod thing comes from me and Steve working out voltage/torque/gearing optimizations in brushless motors power systems in the early days of extreme high power (several kilowatts in a 2 or 3 kilo package), aerobatic, model RC helicopters. I was too old to have the reflexes to be a super pilot, but Steve and I put power to weight ratios in the hand of people like Anthony Jager and Curtis Youngblood and Alan Szabo, power ratios that kicked nitromethane based fuels right off the field. Aerobatics were transformed, and helicopter drag racing just came to an end because the electrics kicked the nitro birds so badly. And Steve and I learned a lot about how to generate power/torque/etc without burning things up (too often, anyway).
In short, there are some unique things in that odd looking chunk of wood and metal, and it has cut a LOT of things down through the years, as it has had its various controllers.
-
Thanks Danal, as a follow up, could you share with me a small list of the g/M codes that I would need to use to create the macros? That would give me a place to start researching. I am very familiar with 3D systems as I run an inspection lab where I work and program optical inspection systems as well as CMMs and other instruments. I also have a background in CT scanning and post processing of CT data. I just need a place to start.
I will Pseudo code my thoughts as to how to approach the above and run it by you to make sure I am on the right track before I start to attempt to code all of this.
Thank you so much for your help. I was feeling rather lost.
Dave
-
On a side note, do you use the same input on the duet for both touch plates?
dave
-
You can also use the Ooznest Workbee version of DWC which is customised for use with CNC. It also has an feature for probing using a touch plate.
I’ve just set my CNC up with it and also need to figure out all these probing macros, just been setting xyz manually so far.
The problem I have is I’m using all 5 endstops as endstops so need to figure out a way of attaching a probe plate to the probe input on the duet2 if possible.
I’m also exploring the possibility of setting up this interface for CNC https://github.com/dddbox/dddbox as the PanelDue isn’t really helpful for CNC either. Unless there is some other PanelDue firmware that I’ve not found yet
-
OK, so I got the ooznest workbee firmware and web interface working and sucessfully was able to set the 0,0,0 location for my workpiece.
Now what I would like to do is be able to tool change and set the new z=0 value for the new tool. Obviously, now that I have machined stock, I can no longer use my probing piece that I set on the corner of my stock when I started.
I assume that after I setup the initial tool on top of the workpiece, I will have to move my probe calibration plate to directly on the table, probe a point, store and store the offset so I can recalculate Z for the second tool.
When I change tools, I would probe the calibration plate and recall the offset from the original and apply it to the second tool. I have no clue how to do this.
Help please.
Dave
-
@Danal , I know it's been a bit, but would you be willing to post an example macro? I've been having some trouble figuring out how to compensate for tool width and an example of how you did it would be a great starting point.
-
@Aquilux said in Probing X, Y, and Z for CNC job with tool changes:
@Danal , I know it's been a bit, but would you be willing to post an example macro? I've been having some trouble figuring out how to compensate for tool width and an example of how you did it would be a great starting point.
Unfortunately Danal passed away a few years ago. It may be best to start a new thread.
-
@Aquilux Sadly Danal passed away a few years ago. https://forum.duet3d.com/topic/16819/danal-s-passing?_=1689795016117
Maybe have a look at the WorkBee config files which can be found here https://learn.ooznest.co.uk/Wiki/WorkBee_Firmware_Releases Not sure if they have what you need, but worth a look.
Hopefully someone else can assist.
-
Check out UCCNC
-
@richardmckenna @Phaedrux Ah, that sucks.
-
@bg_86 How does this help me write a macro. If your answer is "Just buy this other program and you won't have to." then don't bother, that's not helping me write my macro.
-
@richardmckenna As for the WorkBee, that is where I started with my machine but I've found them to be quite restrictive and inflexible (there was a customer service interaction where they insisted on getting on a phone call to resolve it, but wouldn't budge from a 2 hour window their time despite me being 9 time-zones out from them and having to get up in the middle of the night for their required window but I digress). They have the touch probe system that works great when working the way they envisioned but I'm trying to do things like locating the inside corner of a pocket and their built in interface is hard coded and won't accommodate that use case. They may do something with macros behind the scenes, but that's not visible to me.
-
@Aquilux I just think it's the right tool for the job. I have a 4 axis 4'x8' CNC router and I run it. Everything you're looking for is already built into the interface, and it scales to any size monitor and is set up for a touch screen.
I totally get how it seems unhelpful given you're already deep down this path.
-
@bg_86 What did I say?
-
@bg_86 I'm tired of the whole "I know better than you" "you shouldn't want what your asking for" condescending elitism that's infused tech communities. You don't know what my situation is, what gives you the right to tell me that the reasons I chose the path I did are invalid? I literally told you I don't want to hear about another tool yet you forced the issue anyway. Either help me do what I'm trying to do, or stop wasting my time.
-
@Aquilux A simple thanks but no thanks will suffice.