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

INITIAL HOMING BLUES

Scheduled Pinned Locked Moved
My Duet controlled machine
5
25
704
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
    fcwilt @swrightlast
    last edited by 8 Oct 2019, 20:22

    @swrightlast

    Is the right-rear at X max and Y max?

    Once we know that we can proceed.

    A axis is considered homed once some command specifies the current position of that axis.

    Just executing the command G92 X0 Y0 Z0 will mark all axes homed and set their current position to 0 even though the actual positions could be anything.

    The normal way of homing a axis is to execute a relative G0 command with the H1 parameter.

    The axis parameter (X,Y,Z) determines which axis is being homed and the distance to move to reach the endstop switch.

    The H1 parameter specifies that when the endstop switch is triggered the movement stops and the current position is set to the min or max value specified in M208 for that axis. The configuration of the endstop specifies if it is located at the min or max end of the axis and determines if the min or max value from M208 is used.

    For example (as a bare minimum):

    G92 ; specifies a relative move
    G0 X999 H1 ; move X up to 999mm in the positive direction until the endstop switch is triggered

    Normally homing is a multiple step process:

    G92
    G0 X999 F1000 H1 ; the first move is done at a high speed (F1000) to save time
    G0 X-10 F1000 ; then we back off a small amount
    G0 X11 F100 H1 ; the second move is done at a low speed (F100) which may improve accuracy

    Is that enough to get you started?

    Frederick

    Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

    1 Reply Last reply Reply Quote 0
    • undefined
      swrightlast @Danal
      last edited by 8 Oct 2019, 22:42

      @Danal , sorry for the all caps...just a brainfart....certainly didn't mean any rudeness or disrespect.

      1 Reply Last reply Reply Quote 0
      • undefined
        fcwilt
        last edited by 9 Oct 2019, 00:16

        Hi,

        I just noticed that you listed your machine as a FT5-R2 (COREXY).

        If you mean a FolgerTech FT5-R2 have you modified it to be a CoreXY machine?

        A normal FT5 is a Cartesian machine.

        Frederick

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

        undefined 1 Reply Last reply 9 Oct 2019, 01:47 Reply Quote 0
        • undefined
          fcwilt @Danal
          last edited by 9 Oct 2019, 00:19

          @Danal said in INITIAL HOMING BLUES:

          And... last... why right rear origin?

          I don't think he meant the origin was in the right-rear.

          I think he is talking about the location of the endstop switches, which on a stock FT-5 are at the axis maxima.

          Frederick

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

          undefined 1 Reply Last reply 9 Oct 2019, 01:44 Reply Quote 1
          • undefined
            swrightlast @fcwilt
            last edited by 9 Oct 2019, 01:44

            @fcwilt said in INITIAL HOMING BLUES:

            location of the endstop switches, on a stock FT-5 are at the axis minimum (0,o.0)

            undefined 1 Reply Last reply 9 Oct 2019, 03:20 Reply Quote 0
            • undefined
              swrightlast @fcwilt
              last edited by 9 Oct 2019, 01:47

              @fcwilt FolgerTech FT5-R2 modified it to be a CoreXY machine. It's in corexy mode in wdc.

              1 Reply Last reply Reply Quote 0
              • undefined
                weed2all
                last edited by 9 Oct 2019, 02:32

                I always thought that the corexy homing position is front left...that is how I set mine..

                https://www.thingiverse.com/weed2all/designs

                1 Reply Last reply Reply Quote 0
                • undefined
                  fcwilt @swrightlast
                  last edited by 9 Oct 2019, 03:20

                  @swrightlast said in INITIAL HOMING BLUES:

                  @fcwilt said in INITIAL HOMING BLUES:

                  location of the endstop switches, on a stock FT-5 are at the axis minimum (0,o.0)

                  Not on mine.

                  I wonder if they made a change.

                  But to be sure we are on the same page, 0,0 is the left front corner, correct?

                  Frederick

                  Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                  undefined 1 Reply Last reply 9 Oct 2019, 03:26 Reply Quote 0
                  • undefined
                    swrightlast @Danal
                    last edited by 9 Oct 2019, 03:21

                    @Danal home is at right rear, looking from front of printer. Homing x, it moves along the y axis, toward the front of printer. By the way, all endstops work when triggered, and show it to be so in wdc.

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      swrightlast @fcwilt
                      last edited by 9 Oct 2019, 03:26

                      @fcwilt I have, and always have had home at 0,0,0. For me that is right rear. Ft5-r2 has always had it home to right rear.

                      undefined 1 Reply Last reply 9 Oct 2019, 03:37 Reply Quote 0
                      • undefined
                        fcwilt @swrightlast
                        last edited by fcwilt 10 Sept 2019, 08:13 9 Oct 2019, 03:37

                        @swrightlast

                        Where a printer homes is not tied to where 0,0 is.

                        On my FT-5, facing the machine, the X axis endstop is on the right, the Y axis endstop is at the rear.

                        In most cases you want these to be the axis maxima.

                        This allows 0,0 to at the left-front corner of the bed, which is quite common though some folks (like me) prefer to have 0,0 be at the center of the bed.

                        So don't assume that the endstop switch locations automatically define position 0,0.

                        Frederick

                        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                        undefined 1 Reply Last reply 9 Oct 2019, 03:51 Reply Quote 0
                        • undefined
                          Phaedrux Moderator
                          last edited by 9 Oct 2019, 03:51

                          left_right_hand.gif

                          Slicers use a right hand coordinate system, with 0,0,0 being front left. Y+ extends back from there, X+ goes to the right, and Z+ goes up. Setting up the firmware to use the same coordinates makes sure your parts come out oriented the same way as they are shown in the slicer and not rotated or worse, mirrored.

                          The endstop positions can be at the low end (near the 0 points) or they can be at the high end (near the opposite end of 0). That's controlled by the endstop definition and the direction of homing moves in the homing macros.

                          https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_Set_endstop_configuration

                          Additionally, motor direction for coreXY printers is important.

                          https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter
                          Note the movement section to check for proper motor directionality. Also note the examples of the homing files.

                          This is an excellent write up as well. https://drmrehorst.blogspot.com/2017/08/setting-up-3d-printers-origin.html

                          So just to reiterate, the 0,0,0 point should be at the front left of the printer. Where the printer homes to is completely independent.

                          If you post your config.g and homing files we can suggest what to change. But we will need to ensure first that your motor directions are correct. Then it's just a matter of setting the correct endstop position in config.g and setting the correct movement direction in the homing files.

                          Z-Bot CoreXY Build | Thingiverse Profile

                          undefined 3 Replies Last reply 9 Oct 2019, 03:55 Reply Quote 1
                          • undefined
                            swrightlast @fcwilt
                            last edited by 9 Oct 2019, 03:51

                            @fcwilt said in INITIAL HOMING BLUES:

                            On my FT-5, facing the machine, the X axis endstop is on the right, the Y axis is at the rear.

                            On my FT-5, facing the machine, the X axis endstop is on the right, the Y axis is at the rear. I said home right rear, 0,0 because thats what my gridded bed shows, with front right, 0,300, and front left 300, 300.

                            undefined undefined 2 Replies Last reply 9 Oct 2019, 04:01 Reply Quote 0
                            • undefined
                              swrightlast @Phaedrux
                              last edited by 9 Oct 2019, 03:55

                              @P; Configuration file for Duet WiFi (firmware version 2.03)
                              ; executed by the firmware on start-up
                              ;
                              ; generated by RepRapFirmware Configuration Tool v2.0.4 on Mon Sep 16 2019 10:02:48 GMT-0700 (Pacific Daylight Time)

                              ; General preferences
                              G90 ; send absolute coordinates...
                              M83 ; ...but relative extruder moves
                              M550 P"My Printer" ; set printer name

                              M667 S1 ; select CoreXY mode

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

                              ; Drives
                              M569 P0 S0 ; physical drive 0 goes forwards
                              M569 P1 S1 ; physical drive 1 goes forwards
                              M569 P2 S0 ; physical drive 2 goes forwards
                              M569 P3 S1 ; physical drive 3 goes forwards
                              M584 X0 Y1 Z2 E3 ; set drive mapping
                              M350 X64 Y64 Z64 E32 I1 ; configure microstepping with interpolation
                              M92 X80.00 Y80.00 Z4000.00 E412.53 ; set steps per mm
                              M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
                              M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
                              M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
                              M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
                              M84 S30 ; Set idle timeout

                              ; Axis Limits
                              M208 X0 Y0 Z0 S0 ; set axis minima
                              M208 X300 Y300 Z380 S0 ; set axis maxima

                              ; Endstops

                              M574 X1 Y1 Z0 S0 ; set active low endstops

                              ; Z-Probe
                              M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
                              M557 X15:215 Y15:195 S20 ; define mesh grid

                              ; Heaters
                              M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0
                              M143 H0 S120 ; set temperature limit for heater 0 to 120C
                              M305 P1 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 1
                              M143 H1 S280 ; set temperature limit for heater 1 to 280C

                              ; Fans
                              M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                              M106 P1 S1 I0 F500 H-1 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off

                              ; Tools
                              M563 P0 D0 H1 F0 ; define tool 0
                              G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
                              G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

                              ; Custom settings are not defined

                              haedrux ; Configuration file for Duet WiFi (firmware version 2.03)
                              ; executed by the firmware on start-up
                              ;
                              ; generated by RepRapFirmware Configuration Tool v2.0.4 on Mon Sep 16 2019 10:02:48 GMT-0700 (Pacific Daylight Time)

                              ; General preferences
                              G90 ; send absolute coordinates...
                              M83 ; ...but relative extruder moves
                              M550 P"My Printer" ; set printer name

                              M667 S1 ; select CoreXY mode

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

                              ; Drives
                              M569 P0 S0 ; physical drive 0 goes forwards
                              M569 P1 S1 ; physical drive 1 goes forwards
                              M569 P2 S0 ; physical drive 2 goes forwards
                              M569 P3 S1 ; physical drive 3 goes forwards
                              M584 X0 Y1 Z2 E3 ; set drive mapping
                              M350 X64 Y64 Z64 E32 I1 ; configure microstepping with interpolation
                              M92 X80.00 Y80.00 Z4000.00 E412.53 ; set steps per mm
                              M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
                              M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
                              M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
                              M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
                              M84 S30 ; Set idle timeout

                              ; Axis Limits
                              M208 X0 Y0 Z0 S0 ; set axis minima
                              M208 X300 Y300 Z380 S0 ; set axis maxima

                              ; Endstops

                              M574 X1 Y1 Z0 S0 ; set active low endstops

                              ; Z-Probe
                              M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
                              M557 X15:215 Y15:195 S20 ; define mesh grid

                              ; Heaters
                              M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0
                              M143 H0 S120 ; set temperature limit for heater 0 to 120C
                              M305 P1 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 1
                              M143 H1 S280 ; set temperature limit for heater 1 to 280C

                              ; Fans
                              M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                              M106 P1 S1 I0 F500 H-1 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off

                              ; Tools
                              M563 P0 D0 H1 F0 ; define tool 0
                              G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
                              G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

                              ; Custom settings are not defined

                              undefined 1 Reply Last reply 9 Oct 2019, 05:25 Reply Quote 0
                              • undefined
                                swrightlast @Phaedrux
                                last edited by 9 Oct 2019, 03:57

                                ; homex.g
                                ; called to home the X axis
                                ;
                                ; generated by RepRapFirmware Configuration Tool v2 on Sun Aug 25 2019 14:27:06 GMT-0700 (Pacific Daylight Time)
                                G91 ; relative positioning
                                G1 Z5 F6000 S2 ; lift Z relative to current position
                                G1 S1 X-305 F1800 ; move quickly to X axis endstop and stop there (first pass)
                                G1 X5 F6000 ; go back a few mm
                                G1 S1 X-305 F360 ; move slowly to X axis endstop once more (second pass)
                                G1 Z-5 F6000 S2 ; lower Z again
                                G90 ; absolute positioning

                                Phaedrux ; homex.g
                                ; called to home the X axis
                                ;
                                ; generated by RepRapFirmware Configuration Tool v2 on Sun Aug 25 2019 14:27:06 GMT-0700 (Pacific Daylight Time)
                                G91 ; relative positioning
                                G1 Z5 F6000 S2 ; lift Z relative to current position
                                G1 S1 X-305 F1800 ; move quickly to X axis endstop and stop there (first pass)
                                G1 X5 F6000 ; go back a few mm
                                G1 S1 X-305 F360 ; move slowly to X axis endstop once more (second pass)
                                G1 Z-5 F6000 S2 ; lower Z again
                                G90 ; absolute positioning

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  swrightlast @Phaedrux
                                  last edited by 9 Oct 2019, 03:58

                                  ; homex.g
                                  ; called to home the X axis
                                  ;
                                  ; generated by RepRapFirmware Configuration Tool v2 on Sun Aug 25 2019 14:27:06 GMT-0700 (Pacific Daylight Time)
                                  G91 ; relative positioning
                                  G1 Z5 F6000 S2 ; lift Z relative to current position
                                  G1 S1 X-305 F1800 ; move quickly to X axis endstop and stop there (first pass)
                                  G1 X5 F6000 ; go back a few mm
                                  G1 S1 X-305 F360 ; move slowly to X axis endstop once more (second pass)
                                  G1 Z-5 F6000 S2 ; lower Z again
                                  G90 ; absolute positioning

                                  @Phaedrux ; homey.g
                                  ; called to home the Y axis
                                  ;
                                  ; generated by RepRapFirmware Configuration Tool v2 on Sun Aug 25 2019 14:27:06 GMT-0700 (Pacific Daylight Time)
                                  G91 ; relative positioning
                                  G1 Z5 F6000 S2 ; lift Z relative to current position
                                  G1 S1 Y-305 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                                  G1 Y5 F6000 ; go back a few mm
                                  G1 S1 Y-305 F360 ; move slowly to Y axis endstop once more (second pass)
                                  G1 Z-5 F6000 S2 ; lower Z again
                                  G90 ; absolute positioning

                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    swrightlast @swrightlast
                                    last edited by 9 Oct 2019, 04:01

                                    ; homey.g
                                    ; called to home the Y axis
                                    ;
                                    ; generated by RepRapFirmware Configuration Tool v2 on Sun Aug 25 2019 14:27:06 GMT-0700 (Pacific Daylight Time)
                                    G91 ; relative positioning
                                    G1 Z5 F6000 S2 ; lift Z relative to current position
                                    G1 S1 Y-305 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                                    G1 Y5 F6000 ; go back a few mm
                                    G1 S1 Y-305 F360 ; move slowly to Y axis endstop once more (second pass)
                                    G1 Z-5 F6000 S2 ; lower Z again
                                    G90 ; absolute positioning

                                    @swrightlast ; homez.g
                                    ; called to home the Z axis
                                    ;
                                    ; generated by RepRapFirmware Configuration Tool v2 on Sun Aug 25 2019 14:27:07 GMT-0700 (Pacific Daylight Time)
                                    G91 ; relative positioning
                                    G1 Z5 F6000 S2 ; lift Z relative to current position
                                    G90 ; absolute positioning
                                    G1 X15 Y15 F6000 ; go to first probe point
                                    G30 ; home Z by probing the bed

                                    ; Uncomment the following lines to lift Z after probing
                                    ;G91 ; relative positioning
                                    ;G1 S2 Z5 F100 ; lift Z relative to current position
                                    ;G90 ; absolute positioning

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      Phaedrux Moderator @swrightlast
                                      last edited by 9 Oct 2019, 05:10

                                      @swrightlast said in INITIAL HOMING BLUES:

                                      I said home right rear, 0,0 because thats what my gridded bed shows, with front right, 0,300, and front left 300, 300.

                                      This orientation can be maintained if you wish. Just note that parts printed will be rotated 180 degrees from the preview in the slicer. Provided of course that we get the rest of the config setup.

                                      Were you able to perform this test yet?

                                      For a CoreXY or H-Bot machine, RepRapFirmware assumes that the motor connected to the X motor output moves the head in the +X and +Y directions when it runs forwards, and that the Y motor moves the head in +X and -Y directions when it runs forwards. [Note: firmware 1.18 and earlier assumes that the motor connected to the Y motor output moves the head in the -X and +Y directions when it runs forwards].

                                      So you can start with these M569 commands in config.g:

                                      M569 P0 S0 ; X motor runs forwards
                                      M569 P1 S0 ; Y motor runs forwards
                                      Then test for the correct X motor movement by sending these commands from the console:

                                      G91
                                      G1 S2 X10 F3000

                                      If the head moves diagonally in the +X and +Y directions, all is well. If it moves in the -X and -Y directions, change the S parameter to S1 in the M569 P0 command. If it moves towards +X and -Y, or towards -X and +Y, turn the power off and swap the X and Y motor connections.

                                      When you have the X motor moving correctly, test the Y motor by sending from the console:

                                      G91
                                      G1 S2 Y10 F3000

                                      For firmware 1.19 and later: If the head moves diagonally in the +X and -Y directions, all is well. If it moves in the -X and +Y directions, change the S parameter in the M569 P1 command to S1.

                                      Important: make sure that you have chosen a right-hand axis system. That is, looking down on the printer the +Y direction should be 90 degrees anticlockwise from the +X direction. If instead it is 90 degrees clockwise, you have a left-hand axis system, which will give you mirror-image prints.

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      1 Reply Last reply Reply Quote 0
                                      • undefined
                                        Phaedrux Moderator @swrightlast
                                        last edited by 9 Oct 2019, 05:25

                                        @swrightlast said in INITIAL HOMING BLUES:

                                        M574 X1 Y1 Z0 S0 ; set active low endstops

                                        So this says that you have the endstops on the low end, which according to your bed decals is correct. And you use active low endstop switches.

                                        If you wanted to change this to a right hand coordinate system with 0,0 in the front left, you'd need to change it to be M574 X2 Y2 Z0 S0 which tells it that the switches are located at the high end of travel.

                                        G1 S1 X-305 F1800 ; move quickly to X axis endstop and stop there (first pass)
                                        G1 X5 F6000 ; go back a few mm
                                        G1 S1 X-305 F360 ; move slowly to X axis endstop once more (second pass)

                                        This is correct movement direction for low end endstop position. Same for your homey commands.

                                        If you wanted to change to a right hand coordinate system, the directions of the movements would have to be reversed. Ex:

                                        G1 S1 X305
                                        G1 X-5
                                        G1 S1 X305

                                        So this leaves just my previous question about testing for correct motor direction movement. The test as described above assumes a right hand coordinate system. So I'm interested to see what you report.

                                        When you tell it to home X, which direction does the print head move? It should be moving to the right as it's currently configured.

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        undefined 1 Reply Last reply 9 Oct 2019, 16:13 Reply Quote 2
                                        • undefined
                                          swrightlast @Phaedrux
                                          last edited by 9 Oct 2019, 16:13

                                          @Phaedrux When homing x, it moves toward the front in the y direction.

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