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

    CNC and Coordinate Systems

    Scheduled Pinned Locked Moved
    CNC
    2
    6
    426
    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.
    • FelixHundefined
      FelixH
      last edited by

      Hi all,

      Reading articles, forum posts here and there and watching videos has got me confused as hell... maybe somebody could help me shine some light here?

      Let's see if I understood that correctly:

      • G53 is the Machine coordinate system
      • G54 is the Work Coordinate System #1
      • G55 is the Work Coordinate System #2
      • and so on...

      did I get it right?

      Then I have a macro to manually set the X=0 on WCS #1 which would be:

      G10 P2 L20 X0     ; Sets new zero on WCS #2
      G54               ; switches to WCS #2
      M500
      

      would that be right?

      So when I send a G10 command:

      P2 is G54
      P3 is G55

      and so on? The Gcode wiki does not specify that...

      1 Reply Last reply Reply Quote 0
      • Jacotheronundefined
        Jacotheron
        last edited by

        The first part about G53 being machine coordinates, G54 WCS #1 etc are correct.

        In my CNC I have the G54 already in the config.g to always use it (while Fusion supports multiple WCSs, I never needed more than 1). This ensures we are on WCS #1.

        My macro for setting the XY origin then contains the line: G10 L20 P1 X0 Y0

        The P1, will thus set WCS #1 (aka G54); Therefore, P2 will set WCS #2 (aka G55) etc.

        FelixHundefined 1 Reply Last reply Reply Quote 0
        • FelixHundefined
          FelixH @Jacotheron
          last edited by

          @Jacotheron said in CNC and Coordinate Systems:

          In my CNC I have the G54 already in the config.g to always use it (while Fusion supports multiple WCSs, I never needed more than 1). This ensures we are on WCS #1.

          Hey, thanks for your input. Would you mind sharing that part of the config.g? Nothing on my config.g resembles that... (see below)

          ; Configuration file for Duet
          ; executed by the firmware on start-up
          ; WorkBee Firmware Version 1.0.7
          
          ; Configure Connection - ENABLE ONLY ONE OF THE BELOW THREE
          M552 S1 ; Enable Wifi Network
          ;M552 S2 ; Enable Access Point Mode
          ;M552 S1 P192.168.2.14 ; Enable Ethernet - Change IP Address to suit
          
          ;	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-
          
          ; DO NOT CHANGE ANY OF SETTINGS BELOW
          ; TO MAKE A CHANGE, COPY THE LINE OF CODE, PASTE IT INTO customconfig.g. THE CHANGE CAN THEN BE MADE IN customconfig.g
          ; ANY ADDITIONAL SETTINGS SHOULD BE PUT IN customconfig.g
          
          
          ; General preferences
          M453 ; Put the machine into CNC Modes
          M550 PWorkBee CNC Machine ; Set machine name
          G90 ; Set absolute coordinates
          
          
          ; Network
          M586 P0 S1 ; Enable HTTP
          M586 P1 S0 ; Disable FTP
          M586 P2 S0 ; Disable Telnet
          
          
          ; Configure Drives
          M569 P0 S0 ; Drive 0 goes forwards
          M569 P1 S1 ; Drive 1 goes forwards
          M569 P2 S0 ; Drive 2 goes forwards
          M569 P3 S1 ; Drive 3 goes forwards                        
          M584 X0 Y1:3 Z2 ; Apply drive mapping to axes
          
          
          ; Configure Axes
          M92  X400 Y400 Z400 ; Set steps per mm
          M350 X16 Y16 Z16 I1 ; Configure microstepping
          M566 X500 Y500 Z500 ; Set maximum instantaneous speed changes (mm/min)
          M203 X2500 Y2500 Z2500 ; Set maximum speeds (mm/min)
          M201 X150 Y150 Z150 ; Set accelerations (mm/s^2)
          M906 X2400 Y2400 Z2400 I100 ; Set motor currents (mA)
          
          
          ; Configure Axis Limits
          M208 X0 Y0 Z0 S1 ; Set axis minima
          M208 X800 Y770 Z94 S0 ; Set axis maxima
          
          
          ; Configure Endstops
          M574 X2 Y2 Z2 S0 ; Set active low endstops
          
          
          ; Other Settings
          M140 H-1 ; Disable heated bed
          M564 S1 H1 ; Disable jog commands when not homed
          M911 S21.0 R23 P"G91 G1 Z3 F1000" ; Configure power loss resume
          M501 ; Load Stored Parameters 
          M98 Pcustomconfig.g ; Execute custom config settings
          
          1 Reply Last reply Reply Quote 0
          • Jacotheronundefined
            Jacotheron
            last edited by

            I added the G54 in the section "Other Settings" myself. Since it does not take further parameters, it simply does what it should.

            1 Reply Last reply Reply Quote 0
            • FelixHundefined
              FelixH
              last edited by

              Ah, OK. I understand now. Thanks!

              1 Reply Last reply Reply Quote 0
              • FelixHundefined
                FelixH
                last edited by

                Well, I finally got the time to do some experimenting. If I understood that correctly, I was mistaken regarding the G10 command. It seems it's like this:

                P1 is G54 (WCS #1)
                P2 is G55 (WCS #2)
                etc.

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