Homeall issues



  • Ok, so for some strange reason this happens:
    It starts the correct sequence, starts to lower the Z height by 5mm, then starts to move X and Y towards -305 as the homeall.g file says.
    But for some reason it completely ignores the Y end stop. (X works fine, as does Z)

    Fine I thought, could be a fault in the switch, however M119 says triggered.
    also running the home Y individualy works fine, aswell does all the other axis.

    is there something I've missed here?
    a direct copy of the homeall.g file (generated by RepRapFirmware Configuration Tool, so not modified by me) :
    ; Relative positioning
    G91

    ; Lift Z
    G1 Z5 F6000

    ; Course home X or Y
    G1 X-305 Y-305 F1800 S1
    ; Course home X
    G1 X-305
    ; Course home Y
    G1 Y-305

    : Move away from the endstops
    G1 X5 Y5 F6000

    ; Fine home X
    G1 X-305 F360 S1
    ; Fine home Y
    G1 Y-305 S1

    ; Move Z down until the switch triggers
    G1 Z-300 F1800 S1

    ; Absolute positioning
    G90



  • When exactly does it ignore it, during the coarse home or after during the fine home? The only difference I see in your Gcode is the Y is missing the F param in fine home. Also you might try increasing the Y move away distance.



  • Also you do not need as many lines as you have here is my homeall:

    ; homeall.g
    ; called to home all axes

    M581 X1 Y1 S-1 ; Disable emergency stop for XY only
    M208 X-35 Y-10 Z0 S1 ; Home outside build area
    M220 S100 ; Reset axis speed override
    M221 S100 ; Reset extruder speed override

    G91 ; Relative positioning
    G1 Z5 F6000 ; Lift Z by 5mm
    G1 S1 X-240 Y-240 F2000 ; Move quickly to home X and Y
    G1 X5 Y5 F600 ; Move away from the endstops
    G1 S1 X-10 Y-10 F200 S1 ; Move slowly to home X and Y

    ; Z homing section
    G90 ; Absolute positioning
    G1 X80 Y80 F6000 ; Put head over the centre of the bed, or wherever you want to probe
    G30 ; Lower head, stop when probe triggered and set Z to trigger height

    ; Return X and Y to home area
    G91 ; Relative positioning
    G1 Z5 F6000 ; Lift Z by 5mm
    G90 ; Absolute positioning
    G1 X-30 Y-5 F6000 ; go to X=-40 Y=-15

    M208 X0 Y0 Z0 S1 ; Restrict movements to build area

    Notice my coarse and fine movements are all one liners



  • completely ignores it in coarse, I can manualy actuate the end stop and see the diode light up on both the end stop and on the duet.
    as for fine home I dunno since it fails to coarse home



  • @darkorbz:

    completely ignores it in coarse, I can manualy actuate the end stop and see the diode light up on both the end stop and on the duet.
    as for fine home I dunno since it fails to coarse home

    Try this:

    G91 ; Relative positioning
    G1 Z5 F6000 ; Lift Z by 5mm
    G1 S1 X-305 Y-305 F2000 ; Move quickly to home X and Y
    G1 X5 Y8 F600 ; Move away from the endstops
    G1 S1 X-10 Y-10 F200 S1 ; Move slowly to home X and Y

    G1 Z-300 F1800 S1; Move Z down until the switch triggers

    G90; Absolute positioning



  • basicly modified mine to:
    G91 ; Relative positioning
    G1 Z5 F6000 ; Lift Z by 5mm
    G1 S1 X-305 Y-305 F3000 ; course home X or Y
    G1 S1 X-305 ; course home X
    G1 S1 Y-305 ; course home Y
    G1 X5 Y8 F600 ; move away from the endstops
    G1 S1 X-10 ; fine home X
    G1 S1 Y-10 ; fine home Y
    G1 Z-300 F1800 S1 ; Move Z down until the switch triggers

    G90 ; Absolute positioning

    this solved it yeah, dunno why the reprap code generator did it this way, as the other ones are that way aswell, eg:
    ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Jun 18 2017 15:09:50 GMT+0200 (Vest-Europa (sommertid))

    ; Lift Z relative to current position
    G91
    G1 Z5 F6000
    G90

    ; Move quickly to X axis endstop and stop there (first pass)
    G1 X-305 F1800 S1

    ; Go back a few mm
    G91
    G1 X5 F6000
    G90

    ; Move slowly to X axis endstop once more (second pass)
    G1 X-305 F360 S1

    ; Lower Z again
    G91
    G1 Z-5 F6000
    G90



  • You dont need all that, it is redundant. Use the modified one i gave you.



  • You can modify your other ones to be stripped down as well.



  • I'm using a CoreXY, so modified mine to match the https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_CoreXY_printer
    like I said, all the homing files are directly from the Reprap configurator.



  • @darkorbz:

    I'm using a CoreXY, so modified mine to match the https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_CoreXY_printer
    like I said, all the homing files are directly from the Reprap configurator.

    I get it that it comes from the online configurator but it is not needed in DC42s fork (probably not needed in standard reprap)

    G1 S1 X-305 Y-305 F3000 ; course home X or Y
    G1 S1 X-305 ; course home X
    G1 S1 Y-305 ; course home Y

    it is these parts that I am referring to only the first line is needed.

    There are some examples from DC42 himself in this blog article and since he designed the fork i tend to follow his advice over what the online generator produces: https://miscsolutions.wordpress.com/2014/06/11/five-tips-for-using-dc42-firmware-on-the-reprappro-ormerod/



  • Also i believe the wiki shows both options as a reference that they can be done individually or combined in a single command. When sent individually per line the motion is handled one at a time x or y will move then the other.

    when combined on the same line both motions will be executed at the same time.

    What you have is redundancy as you can see in DC42s blog post he only uses the single line as well



  • You can easily test this for yourself… just remove the two single lines and you will find that the behavior is exactly the same as before because the other two lines do nothing but slow down the queue before moving on to the next command as they shouldnt because x and y are already in the commanded positions from the first line.


  • administrators

    @Whitewolf:

    I get it that it comes from the online configurator but it is not needed in DC42s fork (probably not needed in standard reprap)

    G1 S1 X-305 Y-305 F3000 ; course home X or Y
    G1 S1 X-305 ; course home X
    G1 S1 Y-305 ; course home Y

    it is these parts that I am referring to only the first line is needed.

    On a Cartesian printer, you need only the first line. On a CoreXY printer you need all 3 because the first move will be terminated when either homing switch is triggered.



  • @dc42:

    @Whitewolf:

    I get it that it comes from the online configurator but it is not needed in DC42s fork (probably not needed in standard reprap)

    G1 S1 X-305 Y-305 F3000 ; course home X or Y
    G1 S1 X-305 ; course home X
    G1 S1 Y-305 ; course home Y

    it is these parts that I am referring to only the first line is needed.

    On a Cartesian printer, you need only the first line. On a CoreXY printer you need all 3 because the first move will be terminated when either homing switch is triggered.

    What is the purpose of this? Why not just have the second two lines then?


  • administrators

    The purpose is to speed up homing, by moving the print head diagonally towards the homing corner until one of the axes has been homed. If your printer has a square print area and you start with the print head diagonally opposite the homing corner, this will halve the time it takes to home the X and Y axes.



  • Sorry i get that, i mean the purpose of the endstops triggering all motions to stop. Does the core xy endstops remain active after a homing sequence? just trying to understand the need for the difference in behavior.



  • @Whitewolf:

    Sorry i get that, i mean the purpose of the endstops triggering all motions to stop. Does the core xy endstops remain active after a homing sequence? just trying to understand the need for the difference in behavior.

    No. Once homing has been completed, the end stops are ignored. But of course, once homing has been completed, the printer won't then move beyond the axes minima and maxima as defined in M208 of the config.g file.


  • administrators

    @Whitewolf:

    Sorry i get that, i mean the purpose of the endstops triggering all motions to stop. Does the core xy endstops remain active after a homing sequence? just trying to understand the need for the difference in behavior.

    What the firmware does when a homing switch is triggered during a G1 S1 move is to stop a motor or motors. If you wanted the X homing switch to stop X motion but allow Y motion to continue on a CoreXY machine, you would need to recalculate the move and change the speed and/or direction of both motors when the switch is triggered, instead of just stopping motors. Although this would not be impossible to do, it would be a lot more complicated, for no real advantage.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.