Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Duet3D is useless as a CNC Controller!

    Scheduled Pinned Locked Moved
    CNC
    6
    14
    1.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dc42undefined
      dc42 administrators @Atair
      last edited by dc42

      @Atair I think this wins the prize for the most hostile first post from a user that I have ever seen. You have made no attempt to engage with us to see if the assertions you have made are actually true.

      In fact:

      The main problem is: IT IS NOT REALTIME AT ALL!
      You dont know where the tool is at any given point in time. The tool position shows some buffer value - it might be there at some point in the future..

      In the 3.5.0 beta and release candidate firmware the machine position is updated in near real time (every 250ms).

      It can neither be stopped or change speed until the buffer is empty. In CNC Work, with often many long linear moves + circular moves, this might as well be at the end of the program.

      That is incorrect. Motion can be paused without the buffer being empty provided that a suitable boundary between moves can be found (which is almost always the case when executing non-travel moves on a CNC machine). If you enable segmentation then motion can also be paused within a move.

      It does not understand, or worse misinterprets common commands like ARCS. There are a few topics in the forum about that.

      The only outstanding issue we have logged concerning how G2/G3 commands are processed is that RRF does not reject G2 or G3 commands in which the distance between the end coordinates and the arc centre does not match the distance between the initial point and the arc centre. Is that what you are referring to? This is scheduled to be corrected in RRF 3.5.1. Of course it doesn't affect valid G2/G3 commands.

      It fails at simplest commands when they are a bit differently formated. E.g. G1 Z-1.0000

      RRF processes that command correctly, provided that your minimum Z limit is set to -1 or lower. Perhaps you haven't set the minimum Z, in which case you will be using the default, which is zero.

      The Gcode Preview never worked, as it expects Extrusions!

      If that's the case then I'm sure we can fix it. We welcome constructive feedback.

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      1 Reply Last reply Reply Quote 2
      • Atairundefined
        Atair
        last edited by

        @dc42 @T3P3Tony
        Thanks for the fast feedback! I guess i have to dig deeper into the parameters to make this controller useable for CNC.

        To my hostile first post - i just spend 3 hours failing at cutting a rectangle with rounded corners out of a piece of plywood - and gave up for today. I have hundreds of hours machine time and 15 years of experience - from semi-industrial machines to tiny GRBL controllers - and lets just say - the out of the box experience with duet3d is not ideal. The tone of my post reflects that.

        As for the GCode - i went with the default-ish Mach3 postprocessor (using RhinoCam / VisualMill), and there the arcs got messed up (the two 'lower' ones - out of 4 total).

        chimaeraghundefined Atairundefined 2 Replies Last reply Reply Quote 0
        • chimaeraghundefined
          chimaeragh @Atair
          last edited by

          @Atair said in Duet3D is useless as a CNC Controller!:

          s for the GCode - i went with the default-ish Mach3 postprocessor (using RhinoCam / VisualMill), and there the arcs got messed up (the two 'lower' ones - out of 4 total).

          I think this may be the cause of the issues you are having. A Mach3 postprocessor will not produce g-code that works well with RepRap firmware.

          Duet 2 Wifi, Ooznest Workbee CNC 1510

          1 Reply Last reply Reply Quote 1
          • Atairundefined
            Atair @Atair
            last edited by

            and one additional suggestion - why no option to parse the code? check for soft limits etc. I can only upload it and then run it - any syntax or user errors show only when i am already cutting.. As the preview in my - 1-2 year old version - cant give me any indication of problems..

            So even with an update to the latest firmware etc. - i think an option for a sanity check would be in order - which in turn would need a separate method besides run. 'Parse File' maybe?

            T3P3Tonyundefined Sindariusundefined 2 Replies Last reply Reply Quote 0
            • T3P3Tonyundefined
              T3P3Tony administrators @Atair
              last edited by

              @Atair there is the option to simulate a job.

              www.duet3d.com

              Atairundefined 1 Reply Last reply Reply Quote 1
              • Atairundefined
                Atair @T3P3Tony
                last edited by

                @T3P3Tony Thanks, found all i need after a firmware update (3.5.0 RC). The GCode viewer is a bit erratic, but it works.
                What are good value ranges for the M669 Snnn Segments per second? I have it at 10 for now, it works, but still a little laggy.

                jay_s_ukundefined dc42undefined 2 Replies Last reply Reply Quote 0
                • jay_s_ukundefined
                  jay_s_uk @Atair
                  last edited by

                  @Atair a value of 1 for S and T is fine

                  Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                  1 Reply Last reply Reply Quote 0
                  • Sindariusundefined
                    Sindarius @Atair
                    last edited by

                    @Atair Sorry I am late to this, been a bit under the weather the past few days. When visualizing g-code for CNC Routers etc. I recommend setting the following settings.

                    Force line rendering (Make sure quality is not set to max)
                    15d627d8-8516-470f-9da6-b75d860ef698-image.png

                    Render G1 - Early on I ran into some cases where slicers were use G1 for everything including travels for 3d printers. I added this flag to help address G0/G1. Though I think with Fusion 360's changes they force all moves to G1 on their hobbyist versions so depending on what you use to generate g-code there could still be render issues.

                    6efca25a-788c-491e-92ba-a502dd77a780-image.png

                    With those settings you should have a better view of the toolpathing. Here is a sample of some drag knife tool pathing
                    4be9ad79-7405-44c9-9f3b-5b9158fdab05-image.png

                    1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators @Atair
                      last edited by

                      @Atair said in Duet3D is useless as a CNC Controller!:

                      What are good value ranges for the M669 Snnn Segments per second? I have it at 10 for now, it works, but still a little laggy.

                      What is it that you find laggy: the response to a pause command, or something else?

                      At low speeds the T parameter (minimum segment length) matters too. In your example with S=10 and assuming the default T=0.2mm, if the speed is 2mm/sec or greater then the S parameter will define the segment time (0.1sec); but if the speed is lower than 2mm/sec then the T parameter will define the segment length. For example, at 1mm/sec the segments will be 0.2mm long and will take 0.2sec each. If you want to maintain 0.1sec response time to a pause command then you would need to reduce T to 0.1mm.

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      Atairundefined 3 Replies Last reply Reply Quote 0
                      • Atairundefined
                        Atair @dc42
                        last edited by Atair

                        @dc42 i see, both parameters are relevant, my question was more in the direction of performance limits. (I am mostly interested in live feed rate adjustments)

                        Now with S10 it works, although i had two instances of gcode lines being interpreted wrong. I could not reproduce it, but both times it happend, the tooldhead was under load.

                        It was not lost steps, but the head moving to a totally wrong position.. Could be of course something different, but could also be data corruption.
                        Edit: and both times it was on the last segment of the gcode.. maybe there is something after all.. If i find out more i will post it.

                        1 Reply Last reply Reply Quote 0
                        • Atairundefined
                          Atair @dc42
                          last edited by

                          @dc42 ok i just ran another job.. and this time it did not fail, but also did not finish. main3.gcode
                          it just does not do the last line - a simple z axis move, and instead just stays there. i have to manually cancel it, and then reboot the controller.

                          Screenshot 2023-09-26 at 15.21.41.png

                          I assume it is because of the S10? or some other thing with the current RC version?
                          using Duet Web Control 3.5.0-rc.1
                          thanks

                          1 Reply Last reply Reply Quote 0
                          • Atairundefined
                            Atair @dc42
                            last edited by

                            @dc42 ran the same code a second time, this time on the start of the last segment:
                            Line 423: G1 X263.075 Y-0.997 Z-7.000 F300.0
                            it never started this line, instead went diagonally towards zero i guess.. so happend 3x in a row - i was lucky that it is plywood and it did not break anything important, but there seems to be a real problem with this latest RC..
                            It never reached the last line, Line 424: G1 X263.075 Y-0.997 Z10.000 F1200.0, (the Z-Lift)

                            I also have a second job, here: 4Holes.gcode It runs before the main cut, and never has any problems. I guess the lines are too short to have any effect with the segmentation.

                            Here my config.g in case that helps (there is also the M669 S10 command)
                            config.g

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Unless otherwise noted, all forum content is licensed under CC-BY-SA