MillenniumOS - A CNC "Operations System" for RRF 3.5+
-
Has anybody tested this on Duet yet? Because with stuff like rotation compensation I can see it being very useful for various DIY CNC machines. I might convert my little Volksfräse to a Duet and MOS because it sure beats the pain that is Estlcam hooked up to a tablet.
-
@NineMile said in MillenniumOS - A CNC "Operations System" for RRF 3.5+:
(Realthunder branch until FreeCAD releases a version packaging Python 3.11)
JFYI the weekly dev builds of FreeCAD 0.22 (which will be FreeCAD 1.0 by all accounts) is building with Python 3.11, has the TNP fixes included, and has a greatly improved UI compared to the last stable release of FreeCAD. I am using the weekly builds without issue for a couple months now.
-
@mhe I can confirm that this works on a Duet2 and a Duet3 Mini 5+. Though I didn't test it with the rotation compensation and G68.
-
Funny how I missed that thread... probably because it was posted on april 1st?
Will watch it from now on, maybe it's useful for my CNC plasma table, too? -
@o_lampe It popped up as a new and unread post form me the other day, I missed it in April too ... maybe a forum glitch.
-
Ah, good to login and see some talk in this thread I've just released v0.3.0 (and very quickly after,
v0.3.1
, someone always points something out just as I cut a new stable release ) - this new stable adds the following functionality (with a caveat that you must be using v3.5.2 if using an stm32f4 based board):- Radius tool probing (when your tool is bigger than the toolsetter, a number of probe points will be generated around the circumference of the tool so things like big face mills can have their lengths calculated accurately)
- Implement G73, G80, G81 and G83 canned drilling cycles (used by FreeCAD post)
- Implement Spindle Feedback Delays (Spindle control with M3.9 can now take a general purpose input, waiting for it to change state before proceeding with cutting moves)
- Implement storage of multiple WCS probing details (can recall previously probed details for further use either in custom macros or for...)
- Implement Rotation Compensation M5011 (this is now called automatically by the post-processor after probing, and will use G68 to apply rotation compensation if a rotation was detected by the probing method used)
- Add coolant control (Adds separate gcodes for Air, Mist and Flood coolant as well as controlling it on pause and resume)
@oliof Thanks for the info on FreeCAD dev builds - I've been using the realthunder branch for a year or so at this point so fallen behind on what's going on with FreeCAD itself - I'll absolutely be switching back to 1.0 when it comes out and will make sure the post-processor is compatible if any changes are required.
@o_lampe While I've been developing this in a machine-agnostic manner, it is pretty opinionated towards the problems we encountered with new users of the Milo CNC Mill - the gcode format that the post-processors output follows a pretty milling-specific workflow that may not be appropriate for a plasma table.
That said, if you have any sort of need for decently fleshed out probing macros using a touch probe (I have no idea how CNC plasma tables work but my guess is probably not), then it could be of use. While it's not my focus, I'd be interested in seeing what changes would be required to the workflow to add support for plasma tables or laser engravers, if that even makes sense (I have neither).
@mhe As mentioned above, I have tried my best to develop this in a machine-agnostic manner. I don't know of anyone else using it on a machine that isn't a Milo, but it should work on any 3-axis machine. It might be necessary to override some of the internal variables to make sure things like corner names are correct (e.g. if your axes run 'backwards' compared to Milo then the corner names will be back to front), but it should work nonetheless.
Happy to provide input / help if you do choose to try it, either on here, on the RRF discord or on the Millennium Machines discord (same name as on here).
-
@NineMile most if not all of the relevant real thunder changes in terms of TNP and UI improvements have now been backported into FreeCAD proper; FreeCAD 0.22 also has a 'native' Assembly workbench so unless you have a lot of files making use of real thunders Assy4 Workbench, I think it's a good idea to switch earlier rather than later (-;
-
I'm currently working towards
v0.5.0
of MillenniumOS, which brings some pretty big changes along with it.I'm overhauling the probing system to more effectively account for probing surfaces that aren't aligned to the machine axes - this can help make
G68
rotation compensation based off corner or rectangle block probes more accurate, due to the way that probe deflection changes when probing an unaligned surface. There's a video here covering it.The above video also covers protected probe moves, which I have implemented as part of a new
MillenniumOS-UI
plugin to Duet Web Control. The idea of this plugin is to expose the functionality of the MillenniumOS macros in an easier to use fashion, allowing operators to drive the probing macros directly via the DWC web interface rather than using the current dialog-driven system. It also changes the layout of the machine information shown at the top of DWC so it's a little bit more CNC focused. Here's some images of the current probing design:Select probe cycle
Configure chosen cycle
Jog to position (currently the same interface as on the dashboard)
Probe status once started
I've been working on the probing interface for a little bit, but only enabled it to run probing cycles last week - demoing it live at SMRRF for the first time with the new Milo V2.0 we had there - luckily no broken probes or major issues and got some great feedback as well.
There's also a couple of new features in the plugin, including a WCS Origins window on the right hand side that lets you type offsets into each WCS and tab between them - this is useful if you're not using a touch probe and just want to be able to set origins by hand.
This new code is relying on some features from RRF v3.6 so won't be released before then, but thought an update was warranted as people have already seen this system in the wild.
-
@NineMile I have seen this thread , did not find him again , however this was in a corner of my memory for a while.
I am refurbishing a Roland CAMM 3 trying to keep the control panel with 3 separate x y z jogs.Will test happily your work as soon the old panel is connected to the Duet6HC through a custom made board I am working on.
-
@audryhome said in MillenniumOS - A CNC "Operations System" for RRF 3.5+:
@NineMile I have seen this thread , did not find him again , however this was in a corner of my memory for a while.
I am refurbishing a Roland CAMM 3 trying to keep the control panel with 3 separate x y z jogs.Will test happily your work as soon the old panel is connected to the Duet6HC through a custom made board I am working on.
Excellent - Feel free to message if you need help with configuration - depending on the machine configuration you might need some custom configuration to make sure the probing directions are correct. For what it's worth v0.5.0 won't be out for a while as it's a pretty big change to the existing codebase.