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

    Duet2 WiFi generating polygons instead of circles

    Scheduled Pinned Locked Moved
    Laser Cutters
    5
    34
    1.6k
    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.
    • flopesundefined
      flopes
      last edited by flopes

      Hi. I have a laser cutter with Duet2 performing well for larger features (mm size). However when cutting smaller features (50micron to 100micron) it replaces the archs and circles with straight lines and polygons. The post processor is correctly asking for archs.
      I enlarged my part 10x and reduce the by 10 the "steps/mm" and the laser cutter performed very well, and that got me thinking there is a resolution limit on the Duet (of course it must have!). Is there a way to increase the resolution the Duet 2 can work with features sized 10's of microns? Thanks

      The post processor puts ou G3 codes. Firmware version 3. Cartesian machine

      T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Is your post processor generating G2 arcs?
        Firmware version?

        Z-Bot CoreXY Build | Thingiverse Profile

        flopesundefined 1 Reply Last reply Reply Quote 0
        • flopesundefined flopes marked this topic as a question
        • flopesundefined flopes marked this topic as a regular topic
        • flopesundefined flopes marked this topic as a question
        • flopesundefined flopes marked this topic as a regular topic
        • flopesundefined flopes marked this topic as a question
        • T3P3Tonyundefined
          T3P3Tony administrators @flopes
          last edited by

          @flopes please try and reply here again

          www.duet3d.com

          1 Reply Last reply Reply Quote 0
          • flopesundefined
            flopes @Phaedrux
            last edited by

            @Phaedrux
            Hi
            It seems I was not fully registered yet. Now I can reply

            I have firmware version 3 on the board

            Using cartesian machine.

            Everything works fine for larger features, but does not work ok for small features as described
            Please help
            Thnaks

            droftartsundefined 1 Reply Last reply Reply Quote 0
            • droftartsundefined
              droftarts administrators @flopes
              last edited by

              @flopes please post your config.g and the response to M122. Without some information it is difficult to diagnose where the problem might be.

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              T3P3Tonyundefined flopesundefined 3 Replies Last reply Reply Quote 0
              • T3P3Tonyundefined T3P3Tony referenced this topic
              • T3P3Tonyundefined
                T3P3Tony administrators @droftarts
                last edited by

                @flopes also please post a section for the gcode with the features that are being output incorrectly in it (not the whole file!)

                www.duet3d.com

                1 Reply Last reply Reply Quote 0
                • flopesundefined
                  flopes @droftarts
                  last edited by

                  @droftarts This is the M122
                  m122
                  === Diagnostics ===
                  RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.4 (2022-10-20 16:17:41) running on Duet WiFi 1.02 or later
                  Board ID: 0JD0M-9X6JA-JUNSS-6JKDJ-3SD6J-T9KRU
                  Used output buffers: 3 of 26 (26 max)
                  === RTOS ===
                  Static ram: 23860
                  Dynamic ram: 75720 of which 0 recycled
                  Never used RAM 12356, free system stack 104 words
                  Tasks: LASER(notifyWait,0.6%,38) NETWORK(notifyWait,193.4%,231) HEAT(notifyWait,1.9%,324) Move(notifyWait,145.5%,294) MAIN(running,152.1%,410) IDLE(ready,12.4%,30), total 505.9%
                  Owned mutexes: WiFi(NETWORK)
                  === Platform ===
                  Last reset 90:58:49 ago, cause: software
                  Last software reset at 2023-03-17 12:46, reason: User, GCodes spinning, available RAM 12312, slot 1
                  Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00417000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                  Error status: 0x0c
                  Aux0 errors 0,0,0
                  Step timer max interval 0
                  MCU temperature: min 33.9, current 35.0, max 44.4
                  Supply voltage: min 19.5, current 19.8, max 20.1, under voltage events: 0, over voltage events: 0, power good: yes
                  Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
                  Events: 0 queued, 0 completed
                  Driver 0: standstill, SG min 0
                  Driver 1: standstill, SG min 0
                  Driver 2: standstill, SG min 0
                  Driver 3: standstill, SG min n/a
                  Driver 4: standstill, SG min n/a
                  Driver 5:
                  Driver 6:
                  Driver 7:
                  Driver 8:
                  Driver 9:
                  Driver 10:
                  Driver 11:
                  Date/time: 2023-03-21 07:45:41
                  Cache data hit count 4294967295
                  Slowest loop: 17.15ms; fastest: 0.11ms
                  I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
                  === Storage ===
                  Free file entries: 10
                  SD card 0 detected, interface speed: 20.0MBytes/sec
                  SD card longest read time 9.6ms, write time 152.0ms, max retries 0
                  === Move ===
                  DMs created 83, segments created 6, maxWait 366518ms, bed compensation in use: none, comp offset 0.000
                  === MainDDARing ===
                  Scheduled moves 1214398, completed 1214398, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 21], CDDA state -1
                  === AuxDDARing ===
                  Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                  === Heat ===
                  Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                  === GCodes ===
                  Segments left: 0
                  Movement lock held by null
                  HTTP is idle in state(s) 0
                  Telnet is idle in state(s) 0
                  File is idle in state(s) 0
                  USB is idle in state(s) 0
                  Aux is idle in state(s) 0
                  Trigger is idle in state(s) 0
                  Queue is idle in state(s) 0
                  LCD is idle in state(s) 0
                  Daemon is idle in state(s) 0
                  Autopause is idle in state(s) 0
                  Code queue is empty
                  === Network ===
                  Slowest loop: 175.88ms; fastest: 0.00ms
                  Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
                  HTTP sessions: 1 of 8
                  = WiFi =
                  Network state is active
                  WiFi module is connected to access point
                  Failed messages: pending 0, notready 0, noresp 1
                  WiFi firmware version 1.27
                  WiFi MAC address 48:3f:da:a6:ee:bb
                  WiFi Vcc 3.46, reset reason Power up
                  WiFi flash size 2097152, free heap 22296
                  WiFi IP address 192.168.10.76
                  WiFi signal strength -65dBm, mode 802.11n, reconnections 0, sleep mode modem
                  Clock register 00002002
                  Socket states: 0 0 0 0 0 0 0 0

                  flopesundefined 1 Reply Last reply Reply Quote 0
                  • flopesundefined
                    flopes @droftarts
                    last edited by

                    @droftarts This is the config.g
                    ; Configuration file for Duet WiFi (firmware version 3)
                    ; executed by the firmware on start-up
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.3.16 on Fri Mar 17 2023 12:42:29 GMT-0700 (Pacific Daylight Time)

                    ; General preferences
                    M575 P1 S1 B57600 ; enable support for PanelDue
                    G90 ; send absolute coordinates...
                    M83 ; ...but relative extruder moves
                    M550 P"Laser Cutter" ; set printer name

                    ; Network
                    M552 S1 ; enable network
                    M586 P0 S1 ; enable HTTP
                    M586 P1 S0 ; disable FTP
                    M586 P2 S0 ; disable Telnet

                    ; Drives
                    M569 P0 S1 ; physical drive 0 goes forwards
                    M569 P1 S0 ; physical drive 1 goes backwards
                    M569 P2 S1 ; physical drive 2 goes forwards
                    M569 P3 S1 ; physical drive 3 goes forwards
                    M584 X0 Y1 Z2 E3 ; set drive mapping
                    M350 X8 Y8 Z8 E8 I0 ; configure microstepping without interpolation
                    M92 X160.00 Y160.00 Z160.00 E1.00 ; set steps per mm
                    M566 X60.00 Y60.00 Z60.00 E6.00 ; set maximum instantaneous speed changes (mm/min)
                    M203 X6600.00 Y6600.00 Z6600.00 E6.00 ; set maximum speeds (mm/min)
                    M201 X10.00 Y10.00 Z10.00 E1.00 ; set accelerations (mm/s^2)
                    M906 X1000 Y1000 Z1000 E300 I30 ; set motor currents (mA) and motor idle factor in per cent
                    M84 S1 ; Set idle timeout

                    ; Axis Limits
                    M208 X0 Y0 Z-200 S1 ; set axis minima
                    M208 X1100 Y1100 Z755.2 S0 ; set axis maxima

                    ; Endstops
                    M574 X2 S1 P"!^xstop" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin !^xstop
                    M574 Y1 S1 P"!^ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !^ystop
                    M574 Z2 S1 P"!^zstop" ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin !^zstop

                    ; Z-Probe
                    M558 P0 H0 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
                    M557 X5:100 Y5:100 S5 ; define mesh grid

                    ; Heaters
                    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
                    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
                    M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
                    M140 H0 ; map heated bed to heater 0
                    M143 H0 S120 ; set temperature limit for heater 0 to 120C
                    M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
                    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
                    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                    M143 H1 S280 ; set temperature limit for heater 1 to 280C

                    ; Fans
                    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
                    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
                    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
                    M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off

                    ; Tools
                    M563 P0 S"Z Pogo" D0 H1 F0 ; define tool 0
                    G10 P0 X5 Y5 Z5 ; set tool 0 axis offsets
                    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
                    M563 P1 S"Laser" F0 ; define tool 1
                    G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
                    G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

                    ; Custom settings are not defined

                    ; Miscellaneous
                    M501 ; load saved parameters from non-volatile memory
                    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

                    1 Reply Last reply Reply Quote 0
                    • flopesundefined
                      flopes @flopes
                      last edited by

                      @flopes This is actually the config.g when I enlarged the part 10x and tricked my printer to print 10x smaller with success.

                      flopesundefined 1 Reply Last reply Reply Quote 0
                      • flopesundefined
                        flopes @flopes
                        last edited by

                        @flopes This is the g code that fails:
                        ....
                        G01 Z0 F6.
                        G01 X.087 Y-.064 Z0 F4.
                        G03 X.087 Y.064 Z0 I0 J.064 F4.
                        G01 X0 Y.064 Z0 F4.
                        G03 X0 Y-.064 Z0 I0 J-.064 F4.
                        G01 X.043 Y-.064 Z0 F4.
                        .....

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

                          @flopes the minimum length for segments that make up arcs is currently set at 0.1mm. We should perhaps revise that value for situations with high steps/mm, low feed rates and small arc radius.

                          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

                          flopesundefined 2 Replies Last reply Reply Quote 0
                          • flopesundefined
                            flopes @dc42
                            last edited by

                            @dc42
                            Segments instead of archs.jpg
                            Hi
                            Is there a quick fix, or something easily changeable in the firmware to get to produce arches of 5microns?
                            My printer is only 10cm by 10cm so I don't mind sacrificing the maximum length if that means increasing resolution
                            Thanks

                            flopesundefined 1 Reply Last reply Reply Quote 0
                            • flopesundefined
                              flopes @flopes
                              last edited by

                              @flopes The first obround is 100micron tall by 300 wide

                              flopesundefined 1 Reply Last reply Reply Quote 0
                              • flopesundefined
                                flopes @flopes
                                last edited by

                                @flopes Our feed is 6mm/min!

                                flopesundefined 1 Reply Last reply Reply Quote 0
                                • flopesundefined
                                  flopes @flopes
                                  last edited by

                                  @flopes Also there is some uncertainty on the position of some features of about 25micron.
                                  We cut panels with 100 devices like thisPanel.jpg

                                  flopesundefined 1 Reply Last reply Reply Quote 0
                                  • flopesundefined
                                    flopes @flopes
                                    last edited by

                                    @flopes Some features are aligned most of time. IT IS NOT STEPPER MISSING STEPS.Random Misposition of 30micron.jpg

                                    flopesundefined 1 Reply Last reply Reply Quote 0
                                    • flopesundefined
                                      flopes @flopes
                                      last edited by

                                      @flopes Most devices cut like thisCentered slot.jpg
                                      Any help on the matter would be greatly appreciated

                                      T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                                      • T3P3Tonyundefined
                                        T3P3Tony administrators @flopes
                                        last edited by

                                        @flopes one option to try would be to setup the config as if the printer was 10* bigger, then set the microstepping to 64 instead of 8, and the steps/mm to an appropriately adjusted value. The idea being that the limit of 0.1mm segments would then be 0.01mm in reality due to the 10x scaling.

                                        www.duet3d.com

                                        flopesundefined 1 Reply Last reply Reply Quote 0
                                        • flopesundefined
                                          flopes @T3P3Tony
                                          last edited by

                                          @T3P3Tony
                                          Scaling 10:1 is how I have been operating. Do you know what is the minimum positioning resolution of the Duet2?
                                          I know It responds to G21G91G1X0.001 with 1 micron displacement, but would the motion control allow for such fine positioning? Could I laser drill a grid 5micron by 5micron?

                                          My tests show about 25micron uncertainty on the position of a cut, but once the cut starts, it can be very precise (5micron?)

                                          T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                                          • T3P3Tonyundefined
                                            T3P3Tony administrators @flopes
                                            last edited by

                                            @flopes you are limited by the step resolution. If you have been operating at a 10:1 scaling then switch to a 100:1 as a work around for now.

                                            www.duet3d.com

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