Found issues using duet as CNC controller
-
First of all this is not a negative criticism. I just want to write about some experience I made so far when I was setting up the Duet as a cnc controller and to address this or get some feedback on what could be the solution.
-
Wiring Information / Pin usage:
Connecting stuff for a 3d printer is well documented but connecting things for CNC I needed to go through a lot of different posts here and get different information. Also which pin (gpio) could be used freely to switch relays and so on. -
Work coordinates and machine min/max:
I have setup my machine like this: M208 X0:258 Y0:350 Z-105:0 but if you set your work coordinates for example to G10 L2 X50 Y50 it doesn't allow you to go G1 X-5 but it should
because typically the work coordinates are used for the workpiece which is mostly never at machine zero coordinates. And because I set the work coordinates to X50 it should allow me to drive to min X-50 this will be the machine limit then.
If you do a surface milling you always start outside the workpiece in negative values. So what I did now to change the Maschine limits like this:
M208 X-100:258 Y-100:350 Z-105:100
but now it allows me to drive outside the machine boundaries if I'm not careful. -
Stopping:
I found no way to stop a job or movement immediately without Emergency Stop (M112) but this is sometimes absolutely necessary at CNC milling and you don't want to lose your positions and coordinate systems every time. If you just pause you never know when it stops because you don't know how much movement is still in the buffer. -
Actual Position:
I didn't found a way to get the current position during a movement, just the position that is commanded to move to. I know it's not a closed loop system but anyway the RRF commands the step pulses to the driver so it should know where it should be all the time.
Will this change with using the closed loop system on duet3? -
Workpiece angle correction (G68)
There is already a separate thread to this. Feature Request - workpiece angle compensation CNC
Until know i was not able to get it working. But for me this one of the most important thing. If you have to mill your workpiece from different sides you need to know exactly how it is placed on the machine table and a placement with a perfect precise alignment is not always possible. -
Postprocessor (F360)
I found a lot of postprocessors for fusion 360 made from several persons they all kind of work more or less but all of them has some issues where i had to edit the G Code manually afterwards but they are close to what we need. And this point I can fix by myself to edit the post processor that it will work for my cnc. But it would be nice if there would be an official post development on the duet3d github. -
DWC
This was the most reason for me to use the duet as CNC controller because of the web control and for 3d printing I love to use it. But to use it for a CNC is not this good yet. I know there are special versions for CNC and I looked into that but I read that the DWC-CNC is discontinued and integrated into the standard DWC in the current release so I used the latest release 3.3.0 but even when set to CNC Mode (M453) it looked not like I already saw on some screenshots (no XYZ Position display, G-Code Viewer was not working and so on) basically just the Extruder and heating stuff disappeared.
But then I installed the latest Release of the discontinued DWC-CNC and it worked. But still there are some things missing to get a good use for a CNC. If It is wanted I could write more about this.
Conclusion:
The duet and RRF are great and I already use 2 of duet wifi at my 3d Printers but to become a good cnc controller I guess there is still some way to go.I'm using a Duet Wifi with RRF 3.4.0beta5+1 (2021-10-28)
-
-
-
@jrentschler01 will write you later. But Most of the Points are easy to solve.
-
I Work with G54 alot. It works. I can Go Into - .
You should Post your Workflow.For PP use this
https://github.com/BruceRoyce/UltimateRepRapPostThe CNC is now in DWC 3.4 Beta 5. You have to Just Install it. You Always have to Install the RRF and Same DWC Version
G68 is Just implemented. But still Testing.
Live coordinates you can See with the DWC CNC
-
@jrentschler01 stopping can be quick If you Play with the segment paramter
-
@jrentschler01 your G10 is Missing the P paramter.
-
-
@pcr let me look into this things now
-
@pcr said in Found issues using duet as CNC controller:
@jrentschler01
The CNC is now in DWC 3.4 Beta 5. You have to Just Install it. You Always have to Install the RRF and Same DWC VersionG68 is Just implemented. But still Testing.
Live coordinates you can See with the DWC CNC
I tryed the DWC3.4 Beta 5 as well.. the same no CNC Conrols visible nowhere:
(I'm using the M453 in the config.g)
At DWC 3.3.-CNC08 they are visible:
Btw I use Chrome as Browser.
-
@jrentschler01 try Clearing the Cache and reboot DWC. I once Had the Problem aswell.
-
@jrentschler01 you can choose the CNC from the settings. Try toggle IT.
-
@pcr I already cleared the cache and also tryed it in edge, when it is loading you can see for a sec the printer conrols then they disapear. Thats it
you can choose the CNC from the settings. Try toggle IT.
Where which setting do you mean?
-
@pcr said in Found issues using duet as CNC controller:
Try using
G10 L2 P1 X50 Y50
Then G54
Okay you right I was missing G54, so this is solved now. Thank you!
-
@pcr said in Found issues using duet as CNC controller:
stopping can be quick If you Play with the segment paramter
can you tell me a bit more about that? or tell me where this is documented?
-
@jrentschler01 add something like
M669 K0 T1 S1
That should do -
@jay_s_uk okay did it:
5.11.2021, 19:38:57 M669
Kinematics is Cartesian, 1 segments/sec, min. segment length 1.00mm, matrix:
1.00 0 0
0 1.00 0
0 0 1.00I'm not exactly sure what itr should do? I read the documentation and I guess it helps if more Movement commands in the buffer but if you have an long onging movement like 100mm it sill will not stop until this is done. I tryed it with M0
-
just for who is curious wht kind of CNC I have here a picture to have idea of it:
It's nothing Special, but it works precise and fine with milling aluminium. The Axis motors could be a bit bigger to go faster, but thats fot the next step.
-
@jrentschler01 said in Found issues using duet as CNC controller:
but if you have an long onging movement like 100mm it sill will not stop until this is done. I tryed it with M0
M0 will wait until all existing moves are complete. Try a pause command instead. If the movement speed is lower than the jerk configured using M566, it should pause between segments.
-
@dc42 I'm getting close to finishing up my Duet 2 wifi based CNC and reading this post has me a tad concerned about the pause command. The machine I'm building has 2500mm length in Y and 1250mm in X. My intended use is to make large cabinet parts and I could see the need to have a stop in the middle of a very long straight move. Is there not provision to stop the movement mid move? I run a run a UCCNC based router at work and there is a feed pause command which will just stop movement immediately which is extremely handy when you need to pause the feed during a travel move or any move where there is no contact with the workpiece. There are times you might need to move a clamp that is in the way of a travel move so hitting "pause feed" is very handy. Then you can resume the feed which will just resume the feed.
I think it would be helpful to have both the conventional pause that is already there which calls the pause.g macro (very handy in 3D printing) and then using the resume.g macro to get back to where you were and start again. But then have a seperate feed hold or feed pause which just pauses the current move and then resumes that same move right where it left off. No macro call just a simple interrupt/pause of the signals going to the stepper drivers.
-
@baird1fa if you set small segment values (e.g. M669 S1 T1) you can pause virtually straight away and then resume where you've left off
-
@jay_s_uk so are the segment values something that the duet firmware uses to break the moves into smaller pieces? Is there a downside to doing that?