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

Why in home XY different G1 is not execute in my code?

Scheduled Pinned Locked Moved
CNC
5
27
1.2k
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.
  • undefined
    Clement
    last edited by 17 Jan 2020, 14:19

    ; Why in home XY different G1 is not execute in my code?

    ; Duet2 Firmware v2.03 Cartesian CNC
    G90
    M669 K0
    M453 S0
    M550 P"CBeam"
    M586 P0 S1
    M586 P1 S0
    M586 P2 S0
    M569 P0 S1
    M569 P1 S1
    M569 P2 S1
    M584 X0 Y1 Z2
    M350 X16 Y16 Z16 I1
    M92X800.0 Y800.0 Z800.0 ;400step/rev
    M566 X300.0 Y300.0 Z300.0
    M203 X2000.0 Y2000.0 Z2000.0
    M201 X150.0 Y150.0 Z150.0
    M906 X800 Y800 Z800 I30
    M579 X0.988 Y0.988 Z0.988
    M84 S10
    M18
    M208 X0:280 Y0:347 Z0:137
    M564 S1 H1
    M574 X2 Y2 Z2 S0
    M558 P0 H5 F120 T2160
    M140 H-1
    M563 P0
    M911 S21.0 R23.0 P"G91G1Z3F1000"
    ; homex
    G91
    G21
    G1 Z20 H1 F500
    G1 X-300 H1 F1800
    G1 X5 F300
    G1 X-10 H1 F300 ;this is not execute?
    G1 Z-20 H1 F500 ;this is not execute?
    G92 X0
    G90
    ; homey
    G91
    G21
    G1 Z20 H1 F500
    G1 Y-360 H1 F1800
    G1 Y9 F300
    G1 Y-10 H1 F300 ;this is not execute?
    G1 Z-20 H1 F500 ;this is not execute?
    G92 Y0
    G90
    ; homez
    G91
    G21
    G1 Z180 H1 F1800
    G1 Z-5 F300
    G1 Z9 H1 F300
    G1 Z-120 F1400
    G92 Z-120
    G90
    ; homeall
    G91
    G21
    G1 Z170 H1 F1800
    G1 Z-5 F300
    G1 Z9 H1 F300
    G1 X-300 Y-360 H1 F1800
    G1 X-5 Y-5 F300
    G1 X10 Y10 H1 F300
    G1 Z-120 F1400
    G92 X0 Y0 Z-120
    G90

    undefined 1 Reply Last reply 17 Jan 2020, 16:19 Reply Quote 0
    • undefined
      Danal
      last edited by 17 Jan 2020, 15:34

      @Clement-B said in Why in home XY different G1 is not execute in my code?:

      ; homex
      G91
      G21
      G1 Z20 H1 F500
      G1 X-300 H1 F1800
      G1 X5 F300
      G1 X-10 H1 F300 ;this is not execute?
      G1 Z-20 H1 F500 ;this is not execute?
      G92 X0
      G90

      It seems rather odd that you have endstop/probe moves for Z in your homeX. Perhaps the Z moves do not need the H1?

      Using dashboard "homex" button, or G28 X command, does the X axis show as homed after all this executes?

      Delta / Kossel printer fanatic

      1 Reply Last reply Reply Quote 0
      • ?
        A Former User
        last edited by 17 Jan 2020, 15:52

        G1 Y-10 H1 F300 ;this is not execute?
        G1 Z-20 H1 F500 ;this is not execute?

        that would be because Y and Z are already at the limit switch presumably? or you need to reverse the sign due to relative moves?

        undefined 1 Reply Last reply 17 Jan 2020, 17:21 Reply Quote 0
        • undefined
          Phaedrux Moderator @Clement
          last edited by 17 Jan 2020, 16:19

          @Clement-B said in Why in home XY different G1 is not execute in my code?:

          M92X800.0 Y800.0 Z800.0 ;400step/rev

          You appear to be missing a space after M92

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 0
          • undefined
            Clement
            last edited by 17 Jan 2020, 16:49

            You appear to be missing a space after M92

            Thank for your answer, but
            Are spaces required between commands?
            This is a question.

            ? 1 Reply Last reply 17 Jan 2020, 16:51 Reply Quote 0
            • ?
              A Former User @Clement
              last edited by 17 Jan 2020, 16:51

              @Clement-B said in Why in home XY different G1 is not execute in my code?:

              Are spaces required between commands?

              It certainly isn't for all commands, but it does aid readability and doesn't hurt.

              1 Reply Last reply Reply Quote 0
              • undefined
                Danal
                last edited by 17 Jan 2020, 17:09

                Spaces are not required between coordinates. X0Y0 or X0 Y0 is fine.

                Spaces are not technically required anywhere per the NIST standard, and similarly not required by the Duet parser.

                However, it is a very strong best practice to have one in between the "command word" that begins the line and everything else on the line.

                Delta / Kossel printer fanatic

                undefined undefined 2 Replies Last reply 17 Jan 2020, 17:22 Reply Quote 0
                • undefined
                  Clement @A Former User
                  last edited by 17 Jan 2020, 17:21

                  @Danal said in Why in home XY different G1 is not execute in my code?:

                  Using dashboard "homex" button, or G28 X command, does the X axis show as homed after all this executes?

                  Using dashboard "homex" button, or G28 X command, does the X axis show as homed after all this executes?

                  I use DuetPanel,
                  Control | I execute "homex.g" . The command G1 X-10 and G1 Z-20 is not execute, but for Z this not in the limit place?

                  G1 X-10 H1 F300
                  G1 Z-20 H1 F500

                  With command G28 X, this work correctly.

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Clement @Danal
                    last edited by 17 Jan 2020, 17:22

                    @Danal

                    Thank for your info

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      Danal
                      last edited by 17 Jan 2020, 17:24

                      Just as a future note:

                      Running the macro as a macro IS NOT the same as having the macro invoked via G28 or a DWC "home" button.

                      Having it auto invoked by G28 or home button will mark X as "homed". Running as a 'regular' macro will not. There may be other more subtle differences.

                      Delta / Kossel printer fanatic

                      undefined 2 Replies Last reply 17 Jan 2020, 17:25 Reply Quote 0
                      • undefined
                        Clement @Danal
                        last edited by 17 Jan 2020, 17:25

                        @Danal

                        Thank for this info

                        1 Reply Last reply Reply Quote 1
                        • undefined
                          Clement @Danal
                          last edited by 17 Jan 2020, 17:32

                          @Danal

                          Here, I don't use macro file but the button homeX which calls the "homex.g" file,
                          I apologize for not being clear enough.

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            Danal
                            last edited by 17 Jan 2020, 17:34

                            Perfect, that is the right way.

                            Votre langue maternelle est-elle française?

                            Delta / Kossel printer fanatic

                            undefined 1 Reply Last reply 17 Jan 2020, 19:10 Reply Quote 0
                            • undefined
                              dc42 administrators @Danal
                              last edited by dc42 17 Jan 2020, 17:57

                              @Danal said in Why in home XY different G1 is not execute in my code?:

                              Spaces are not required between coordinates. X0Y0 or X0 Y0 is fine.

                              Correct; except that a space is needed before an E parameter. Otherwise the E gets taken as an exponent for the previous number. Example:

                              M98 Z400 E100 ; Z steps/mm is 400, E steps/mm is 100
                              M98 Z400E100 ; Z steps/mm is 400 * 10^100

                              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

                              undefined 1 Reply Last reply 17 Jan 2020, 19:12 Reply Quote 1
                              • undefined
                                Clement @Danal
                                last edited by 17 Jan 2020, 19:10

                                @Danal

                                Oui

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  Clement @dc42
                                  last edited by 17 Jan 2020, 19:12

                                  @dc42

                                  Thank for this info

                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    Clement
                                    last edited by 17 Jan 2020, 19:41

                                    I think I don't understand the M208 command well.
                                    I think the commands in homex and homey are due to my misunderstanding of M208 ... G92
                                    There are a few things that I don't quite understand.

                                    The lengths of the axes of my CNC are: X = 280 Y = 347 Z = 137mm

                                    For the LSW to be touched by the Z axis by command G1 Z180 H1 F1800.
                                                                     X G1 X-300 H1 F1800.
                                                                     Y G1 Y-360 H1 F1800.
                                    After these 3 commands, my router is at the left limit on the X axis (at the X- limit)
                                                                                base limit on the Y axis (at the Y- limit)
                                                                                high limit on the Z axis (at the Z + limit)

                                    I want my Home position to be there for the X and Y axes.
                                    But for Z, I want the position to be 120mm below the Z limit. So Z-120mm.

                                    I want my movements work only within the limits of my CNC.

                                    How I write this in Gcode in my config.g and home_.g files

                                    And then, if possible, translate my RRF2.03 version into RRF3 version.

                                    ;============================================================
                                    ;============================================================
                                    ;============================================================

                                    ; This my code + commentary *****************************************************************

                                    ; Duet2 Firmware RRF2.03
                                    ; ---Generales---
                                    G90 ; Absolue (A space is needed before an E parameter)
                                    M669 K0 ; Knnn Kinematics type: 0=Cartesian
                                    M453 S0 ; S0=CNC S0=default spindle (S0-S3 spindle max)... Here: M3/M4/M5 control the pins defined for the milling device
                                    ; ---Network---
                                    M550 P"CBeam" ; Machine name
                                    M551 P" " ; Set password
                                    M552 S1 P172.16.1.74 ; S1=Enable network -> Ethernet - Change IP Address to suit
                                    M586 P0 S1 ; Enable HTTP S1=enable
                                    M586 P1 S0 ; Disable FTP
                                    M586 P2 S0 ; Disable Telnet
                                    M540 PBE:64:4B:54:52:5C ; MAC Address (Use when more 1 duet on the same network). Change only last byte: 00..FF BE:64:4B:54:52:5C -> 172.16.1.74
                                    ; ---Drives---
                                    M569 P0 S1 ; Drive P0.1 DIR: S0=Backwards - S1=Forwards +
                                    M569 P1 S1 ; Drive P0.2
                                    M569 P2 S1 ; Drive P0.3 Zdn=- Zup=+
                                    M584 X0 Y1 Z2 ; Associer Driver & Axe
                                    ; ---Axis_Config---
                                    M350 X16 Y16 Z16 I1 ; Microstepping (16=with interpolation)
                                    ; C_Beam -> leadscreew=diameter=8mm, pitch=2mm. 8mm!=diameter->(8mm/rev)/pitch=4starts 4starts=kind of screw
                                    M92 X800.00 Y800.00 Z800.00 ; steps/mm 0.9degre/step=400step/rev 400*16ustep=6400 6400/4=800step/mm
                                    M566 X300.00 Y300.00 Z300.00 ; Speed change 500mm/min Speed start at 300 = minimum speed
                                    M203 X2000.00 Y2000.00 Z2000.00 ; Speed max <-G0 2520mm/min
                                    M201 X150.00 Y150.00 Z150.00 ; Acceleration 150mm/s^2
                                    M906 X800 Y800 Z800 I30 ; 2400mA max, 800mA/bobine & motor idle 30%) StepMotor: JUGETEK_57H56M-2804A=1.68A(85%=good) 0.9degre 1.2N.m Nema23
                                    ;M906 X2400 Y2400 Z2400 I100 ; Current https://blog.prusaprinters.org/calculator/
                                    M84 S10 ; Idle->I30 After 10sec of inactivity -> current 30%
                                    ;M579 X0.988 Y0.988 Z0.988 ; Calibration 300mm=demand size/303.6mm=reel size -> M579 Cartesian mode
                                    M18 ; Motor->OFF G0-G3 Motor->ON
                                    ; ---Axis_Limits---
                                    M208 X0:280 Y0:347 Z0:137 ; Xmin:max X->279.4mm=11" Y->346.075mm=13 5/8" Z->136.525mm=5 3/8"<-CBeam z0->LSW Limit min=S1 max=S0 Zup=+ Zdn=-
                                    M564 S1 H1 ; S1=use LSW S0=not use LSW H1=set Home before move H0=no set Home
                                    ; ---Fans---
                                    ;M950 F0 C"out7" Q500 ; Create fan 0 on pin out7 and set its frequency
                                    ;M106 P0 S0 H-1 ; Set fan 0 value. Thermostatic control is turned off
                                    ; ---Endstops---
                                    M574 X2 Y2 Z2 S0 ; Set active low endstops. X0=none X1=low_end X2=high_end S0=active_LOW_enstop_input S1=active_HIGH_enstop_input
                                    ; ---Probes---
                                    M558 P0 H5 F120 T2160 ; P0=no probe. Disable Z probe but set la hauteur de plonger, probe speed & travel speed
                                    ; ---Heaters---
                                    M140 H-1 ; Negative value = disable heater_1 bed
                                    ; ---Lasers---
                                    ;M452 ; If M452 -> G0 G1:S=0-255 Value power Laser: 0-255
                                    ; ; H0=no_action H1=LSW+M208->limite H3=LSW+position_axe->limite H2=individuel axe (no_CNC)
                                    ; ---Tools---
                                    M563 P0 ; P0= Tool0 Need defind allway
                                    ;G10 P0 X0 Y0 Z0 ; Set Tool0 axis offsets
                                    ;G10 P0 R0 S0 ; Set initial Tool0 active and standby temperatures to 0C
                                    ; ---Others---
                                    M911 S21.0 R23.0 P"G91 G1 Z3 F1000" ; Save info if power loss. PowerSupply:24V 21V=stop 23V=restart (Z up de 3mm en relatif)
                                    ;M501 ; Load config-override.g (Stored Parameters)
                                    ;M98 P"customconfig.g" ; Execute custom config settings

                                    ;=================================================================================
                                    ; X->279.4mm=11" Y->346.075mm=13 5/8" Z->136.525mm=5 3/8"<-CBeam X=300 Y=360 Z=150

                                    ; homex.g
                                    G91 ; Relative
                                    G21 ; Units to mm
                                    G1 Z20 H1 F500 ; Zup (protect break bit)
                                    G1 X-300 H1 F1800 ; Move to LSW X & stop
                                    G1 X5 F300 ; Go back for ajuste more precisely X at LSW
                                    G1 X-10 H1 F300 ; Move to LSW X & stop
                                    G1 Z-20 H1 F500 ; Zdn
                                    G90 ; Absolute
                                    G92 X0 ; Set Home Position

                                    ; homey.g
                                    G91 ; Relative
                                    G21 ; Units to mm
                                    G1 Z20 H1 F500 ; Zup (protect break bit)
                                    G1 Y-360 H1 F1800 ; Move to LSW Y & stop
                                    G1 Y5 F300 ; Go back for ajuste more precisely Y at LSW
                                    G1 Y-10 H1 F300 ; Move to LSW Y & stop
                                    G1 Z-20 H1 F500 ; Zdn
                                    G90 ; Absolute
                                    G92 Y0 ; Set Home Position

                                    ; homez.g
                                    G91 ; Relative
                                    G21 ; Units to mm
                                    G1 Z180 H1 F1800 ; Move to LSW Z & stop Zup=+
                                    G1 Z-5 F300 ; Go back for ajuste precisely at LSW
                                    G1 Z-120 F1400 ; Go Home
                                    G90 ; Absolute
                                    G92 Z-120 ; Set Home Position

                                    ; homeall.g
                                    G91 ; Relative
                                    G21 ; Units to mm
                                    G1 Z170 H1 F1800 ; Move to LSW Z & stop Zup=+
                                    G1 Z-5 F300 ; Go back for ajuste precisely at LSW
                                    G1 Z9 H1 F300 ; Move to LSW Z & stop
                                    G1 X-300 Y-360 H1 F1800 ; Move to LSW X & stop
                                    G1 X-5 Y-5 F300 ; Go back for ajuste more precisely X at LSW
                                    G1 X10 Y10 H1 F300 ; Move to LSW X & stop
                                    G1 Z-120 F1400 ; Go Home
                                    G90 ; Absolute
                                    G92 X0 Y0 Z-120 ; Set Home Position

                                    undefined 2 Replies Last reply 17 Jan 2020, 20:03 Reply Quote 0
                                    • undefined
                                      Phaedrux Moderator
                                      last edited by 17 Jan 2020, 20:01

                                      The minima value from M208 is set as the axis position when the endstop is triggered. So in your homex and homeY files you don't need to use the G92 X0 and G92 Y0 because those values are already set as soon as the endstop is triggered.

                                      For your Z axis, your M208 says the Z minima is 0 and maxima is 137, and then in your homing file you home to z max and the position is set as 137, then you move it down by -120, which would place the Z axis at (137-120=17) and then set the position to be actually as -120, which tells the firmware it's below the minima.

                                      It's not super clear to me yet from your description what you actually want to happen. Perhaps a picture of the machine marked up with your intention?

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      undefined 1 Reply Last reply 17 Jan 2020, 22:11 Reply Quote 0
                                      • undefined
                                        Phaedrux Moderator @Clement
                                        last edited by 17 Jan 2020, 20:03

                                        @Clement-B said in Why in home XY different G1 is not execute in my code?:

                                        ; homez.g
                                        G91 ; Relative
                                        G21 ; Units to mm
                                        G1 Z180 H1 F1800 ; Move to LSW Z & stop Zup=+
                                        G1 Z-5 F300 ; Go back for ajuste precisely at LSW
                                        G1 Z-120 F1400 ; Go Home
                                        G90 ; Absolute
                                        G92 Z-120 ; Set Home Position

                                        Also, your homez file differs from your homeall file. In homez you move to the endstop, back off 5mm, then back off another 120, putting the actual position at -125.

                                        But in homeall you hit the endstop, back off 5mm, hit the endstop again, and then move down 120. You'll get an unintentionally different position between homez and homeall because of that.

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        undefined 1 Reply Last reply 17 Jan 2020, 20:44 Reply Quote 0
                                        • undefined
                                          Clement @Phaedrux
                                          last edited by 17 Jan 2020, 20:44

                                          @Phaedrux
                                          ok, I see this,
                                          thank

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