Hiya - I wanted to share this post on my website documenting a basic Duet CNC Controller that I've built. I've included illustrations of the wiring diagrams in logical stages, bill of material, as well as my system and macro files, workflow, and post processor for Vcarve. I wouldn't have been able to piece it all together if it wasn't for this forum - so many thanks for all the pointers along the way. I hope this post will help people building their Duet CNC Controller.
EducatingSavvas
@EducatingSavvas
I overview a wood workshop and CNC machine at a London based Art School. In my own time I produce videos about making and in particular building CNC machines.
Best posts made by EducatingSavvas
-
Sharing my Basic Duet CNC Controller Plans
-
Non buffering movement / macros in future firmware?
Hiya - This is something I've mentioned before but I'd like to request non buffering commands for future firmware versions. That is to say when one macro of movement is being executed the web interface and paneldue should not accept additional instructions until the last one has completed. This is for safety reasons and particularly a problem with CNC routers / and larger 3D printers. It's very easy to accidently press a movement button or macro twice and while soft limits might prevent crashing - material / limbs can get caught between moving parts.
The issue was partly addressed in this post by JoeSmale - with their pendant being able to turn buffering off. I still think this option needs to be available in the web interface.
-
RE: RRF3.2 request to enable G43 & G44 Tool height offset
I can confirm I've been able to create macros to set the wasteboard and tool length. My wasteboard setting macro is:
M291 P"Jog spindle until tool tip touches surface of waste board." R"Set Waste Board" S3 X1 Y1 Z1 ; jog to wasteboard G10 L2 P9 Z{move.axes[2].machinePosition} ; save coordinate to G59.3 WC G10 L2 P2 Z{move.axes[2].workplaceOffsets[8]} – {move.axes[2].workplaceOffsets[7]} ; Subtract G59.3 from G59.2 and set offset in G55 M400 ; wait for last command to end M500 ; store to memory G55 ; swap to G55 WC
and stationary tool length setting macro:
G55 ; return to G55 WC G10 P1 X0 Y0 Z0 ; reset axis tool offset M291 P"Press Ok to peform probe cycle" R"Warning" S3 G30 S-1 K0 ; begin probing movement G91 ; incremental movement G1 F500 Z3 ; move up 3mm G90 ; absolute movement G30 S-1 K0 ; begin probing movement M400 ; wait for current move to finish G10 L2 P8 Z{move.axes[2].machinePosition} ; store probe ocaiton to G59.2 P8 G10 L2 P2 Z{move.axes[2].workplaceOffsets[8]} – {move.axes[2].workplaceOffsets[7]} ; Subtract G59.3 from G59.2 M500 ; store to memory G53 G0 Z-10 ; move to safe z position
I use G54 to mirror the G53 machine position - so work in G55. I use G59.3 to set the wasteboard, and G59.2 for stationary touch probe. for set Thank @jay_s_uk for pointing me in the right direction.
-
RE: Alternative Axis Movement/Speed Control
@joesmale That does look great - the ability to turn off buffering will makes using the pendant a lot safer. I do feel that feature needs to be built into the RRF especially if the controllers are able to power bigger and larger machines - both CNC and 3D Printers.
-
RE: Firmware bundle 3.3.0 released
@chrishamm - I've just swapped over to the latest DWC 3.3.0 from the CNC one. I prefer the smaller buttons in the dashboard - and lack of move to Go To Work XYZ Zero which would have caused a crash on my set-up. I have multiple tools which I can see now in CNC mode - I can see which mode I am in - as I will use a laser on my set up as well. I think the addition of the machine position and what work coordinate is active in the status bar would be good enough for me and most CNC users. Look forward to trying some of the new plugins too. Many thanks.
-
RE: Software bundle 3.3RC3 now available
@phaedrux Thanks but I'm not sure yet. I'm planning to use 4 tools on my CNC machine. T0 - laser, T1 - Spindle Router (main tool), T2 - Pen Tool in Spindle, and T3 - Tangential Knife. I'm still getting my head around workflow, working out offsets and g-code generation for multiple tool jobs.
-
RE: Pause.g and Resume.g with VFD Router Spindle.
@EducatingSavvas In RRF3.01 RC6 you can now remove the line G60 S0 ; Save Spindle Speed from the pause.g file and change M3 R0 to M3 R1; Turn on PWM in the resume.g file.
-
RE: RRF3.2 request to enable G43 & G44 Tool height offset
@jay_s_uk Thanks for sharing that! There's a lot of food for my thoughts, and the touch probes look really good btw. My set up is a little different as I have a stationary button which acts as my tool touch probe. It is also set below the surface of my wasteboard at the front of my machine.
So this is not tested, but I imagine I could use:
M291 X1 Y1 Z1 ; jog to wasteboard G10 L2 P9 Z{move.axes[2].machinePosition} ; Save coordinate to G59.3 WC M500 ; Store to memory
I can then move to my probe location at the front of my machine:
M291 P"STAND CLEAR! Move to Probe Location." R"Warning" S3 G90 ; absolute movement G53 G0 Z-10; ; move to safe Z in machine coordinate system G53 G0 X83 Y41.7 ; move X and Y second in machine coordinate system above stationary probe button
and then perform my probe cycle.
M291 P"Ensure tool is above stationary probe location." R"Warning" S3 G10 P8 X0 Y0 Z0 ; reset axis tool offset G30 S-1 ; Probe at the current XY position and report G91 ; incremental movement G10 L8 P8 Z{move.axes[2].machinePosition} ; adjust G59.2 WCS G10 L20 P1 Z{move.axes[2].workplaceOffsets[9]-move.axes[2].workplaceOffsets[8]} ; Set origin of G54 Z relative to the current position of the tool, minus wasteboard offset from tool probe offset??? M500 ; store to memory G53 G0 Z-10 ; move to safe z position
Going to have to trail this out when I next have time. It didn't occur to me that I could save axis location to workspace coordinates but this is a great lead. And in theory I won't have to perform the first part until I resurface flat the wasteboard. I'll report back on the weekend once I have tested it. Cheers!
-
RE: Version 3.4-b7 released
@chrishamm Hi and thanks for the update. I've just updated to the new web controls from 3.3 but have lost any information about machine and work positions at the top of the dashboard. I am using CNC Mode. I can see it returns in Printer Mode. Is it also possible to have the option to see this information for advanced users, and to also remove the Go To Zero button under the movement buttons. If someone is using the wasteboard as Z0 and material has been fixed, moving to zero will crash the bit.
-
RE: M453 on/off/PWM
Ah thanks - will it ever likely be implemented?
I've included the following lines in my config file.
M950 P0 C"e0heat" ; Allocated GPOP Port 0 to Heater 1
M453 C"e1heat" Q300 R24000 ; Set to CNC mode, using Tool 1, 24000 Max RPMand have updated my post processor in V-carve to include M42 P0 S1 next to the M3 S# command and M42 P0 S0 next to M5. So I can still use my machine.
But is there a way of switching additional pins alongside the one assigned to the M3/M5 command without editing the post processor? I'd like to control LED lights when g-code commands are executed, as a kind of safety traffic light system. Red for M3. Yellow for G1 G0 G2 G3 movements.
Latest posts made by EducatingSavvas
-
Sharing my Basic Duet CNC Controller Plans
Hiya - I wanted to share this post on my website documenting a basic Duet CNC Controller that I've built. I've included illustrations of the wiring diagrams in logical stages, bill of material, as well as my system and macro files, workflow, and post processor for Vcarve. I wouldn't have been able to piece it all together if it wasn't for this forum - so many thanks for all the pointers along the way. I hope this post will help people building their Duet CNC Controller.
-
RE: Using and connecting to multiple duets?
@rjenkinsgb that works, thanks for that - so I'll have to write the IP addresses in the student workflow. Hopefully won't confuse them too much. @jay_s_uk Not bad, just busy as usual. It's strange but writing http://anything.local accesses the web controls.
-
RE: Using and connecting to multiple duets?
@fcwilt No they shouldn't, and students will need training before accessing. I may put a password as an additional failsafe. The issue I had was using one computer to operate two CNC controllers due to space limitations. I guess I could get a modem and create my own local network as an alternative.
@jay_s_uk Hi Jay hope you are well! No, the names are different but both can access http://duet.local.
-
RE: Using and connecting to multiple duets?
@fcwilt Hi Frederick - the CNC machines are in an educational setting - the network is only accessible via user accounts login details, so using access points seemed a lot easier with multiple users. When using client mode with multiple printers - what happens if you write http://duet.local in the URL? Maybe I'll have to get IT in to work out a solution.
-
RE: Duet 2 Hangprinter, 5-bar Scara, Polar, Rotary Delta kinematics
@dc42 Was desperately hoping someone would create a kinematic for cartesian with a rotary z - for tangential knife cutters or concrete/clay printers with vector following nozzle.
-
RE: Using and connecting to multiple duets?
@droftarts sorry this has taken me a while to reply too but using different IP addresses and moving between controllers on a single computer (changing wifi login using access points) doesn't result in the controller name updating in the browser without a manual browser refresh. This feels like a potential safety issue as the controller can still connect and commands accepted. Is there some g-code that can be placed into the config.g or daemon.g file which refreshes the browser after wifi reconnection?
-
RE: Using and connecting to multiple duets?
@droftarts Thanks for that - I did wonder if having the same IP address would cause issues. I have had to change my workflow to include changing the pendant address but that is a small price to avoid this problem. I will test it out over the next week or so and report back what I notice.
-
Using and connecting to multiple duets?
Hiya - this is a general observation that I wanted to share. I'd be curious to know what people experience are for what is a rare problem. I have recently set up two workbees with my own self-built CNC controllers in an educational setting. I am using duet 2 wifi's with access points sending gcode from a single computer. I had a mishap when one wifi connection was disrupted and the computer automatically connected to the second however the browser didn't refresh to reveal the name of the controller I was connected too - named in the top left corner. I went to move one machine while the other was processing gcode and this resulted in the spindle turning off. The simple solution is to get a second computer and to make sure the login details are not swapped. But I'm wondering if it's possible and worth automatically refreshing the browser when reconnecting to the wifi network so the correction duet controller name is always displayed in the top left corner.
-
RE: RRF 3.4.0beta7 resume bug when using arcs
@dc42 Morning, I'm using a Duet 2 Wifi.
-
RE: RRF 3.4.0beta7 resume bug when using arcs
@dc42 Please let me know if you want me to test anything.