Z probing multiple Z with 1 common probe



  • Hello

    I have the following defined
    M584 X0 Y1 U6 Z2:5 E3:4

    And JohnSL FSR connected to E0 endstop

    With my 2nd toolhead independent in X and Z how do I setup my home Z to probe the 1st and 2nd tower not at the same time? I want to do 1st tower and then 2nd tower right after that.

    I looked at G30 documentation and it did not mention anything about multiple Zs configuration.

    Thanks for help
    Stephen


  • administrators

    Have you read https://duet3d.com/wiki/Bed_levelling_using_multiple_independent_Z_motors ?

    RRF doesn't support mapping the Z axis in the same way that not supports X and Y axis mapping. However, you could use the tool change files to remap the Z axis to different motors and to !lad a different height map file. For initial homing, you could create another axis to be the second Z axis, then specify in the M574 and M558 commands that it uses the Z probe for homing.



  • Yes I have. It appear that article is more about how to level a bed held by multiple Zs.

    My specific bed setup doesn't connect to any Z and I actually didn't need any bed leveling as I was able to physically align the printer.

    To explain my printer in more detail, basically I have 2 separate Z gantry each with it's own set of X gantry, extruder and hotend.
    The bed move in Y axis. Combined, I need 7 driver motors.

    I was able to home the first Z with G30 and actually print something. Now that I added a 2nd set of Z, I'm not sure how do I home that 2nd Z. Is there a way to use G30 for that 2nd Z?

    Thanks
    Stephen


  • administrators

    Yes. To home the first Z axis, use M584 to assign just the Z1 driver to the Z axis. To home the second Z axis, use M584 to assign just the Z2 driver to the Z axis.



  • I have this in my config.g
    M584 X0 Y1 U6 Z2:5 E3:4

    It seems every axis created would need home_.g. should I create homeZ2.g and homeZ5.g then?

    in homeZ2.g would contain
    M584 Z2
    G30

    and homeZ5.g contain
    M584 Z5
    G30

    is this correct?


  • administrators

    You can put both of those gcode fragments in homez.g and homeall.g.



  • ok that works. I was able to home Z2 but when Z5 is homing down it would only go down like about 5mm and then acts as if it was homed already but it didn't even make it to the bed…


  • administrators

    Did you raise Z2 before doing the G30 with Z5 ?



  • yes I did here's my homez.g for reference

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Sep 18 2017 23:51:32 GMT-0700 (Pacific Daylight Time)

    ; Lift Z relatively to current position
    G91
    G1 Z5 F12000

    ; Back to absolute positioning
    G90

    ; Go to center bed probe point and home the first Z tower
    M584 Z2
    G1 X59 Y59 F12000
    G30

    ; lift Z after probing
    G91
    G1 Z5 F200
    G90
    G1 X0 F12000 ; Park the first toolhead

    ; Go to center bed probe point and home the second Z tower
    M584 Z5
    G1 U59 Y99 F12000
    G30

    M584 Z2:5 ; join both Z together
    ; lift Z after probing
    G91
    G1 Z5 F200
    G90
    G1 U0 F12000 ; park 2nd toolhead



  • ah for the 2nd tower it actually says "Zprobe was not triggered during probing move"


  • administrators

    So the second nozzle isn't triggering your under-bed FSRs?

    Btw I think you should join the Z axes later in your homez.g file, otherwise the first nozzle will end up 5mm higher than the second nozzle when it is working.



  • yeah I caught that too. moved the join Z to bottom.

    so my FSR is actually not embedded in the bed but rather very manually intercept between the bed and the nozzle. I have this line in my config to take care of the offset due to FSR thickness
    G31 P600 X0 Y0 Z0.148
    that works for me but still can't figure out why the 2nd tower would not go all the way to the FSR…

    printing with 1st tower only at the moment.

    would really like to get the 2nd tower printing soon.


  • administrators

    I think I have spotted the problem. Before the Z axis has been homed, a plain G30 command will lower the head up to 1.1 times the Z axis height declared in your M208 command. After homing, it will only lower it as far as one dive height below where it thinks the bed is.

    So one solution would be to increase the dive height (M558 H parameter) to the axis length + 5mm, just before the second G30 command, and restore it afterwards.

    Another possible solution is to send M18 Z just before the second G30 command, to turn off the Z motor current. This will flag the Z axis as not homed.



  • well that works. I used M558 H parameter method. not sure if I need to keep the X and Y parameter as well…

    here's my homez.g revised
    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Sep 18 2017 23:51:32 GMT-0700 (Pacific Daylight Time)

    ; Lift Z relatively to current position
    G91
    G1 Z5 F12000

    ; Back to absolute positioning
    G90

    ; Go to center bed probe point and home the first Z tower
    M584 Z2
    G1 X59 Y59 F12000
    G30

    ; lift Z after probing
    G91
    G1 Z5 F200
    G90
    G1 X0 F12000 ; park first toolhead

    ; Go to center bed probe point and home the second Z tower
    M584 Z5
    G1 U59 Y99 F12000
    M558 P6 X0 Y0 Z1 H132 F120 T12000 ; Allow 2nd tower to go all the way down to FSR on bed
    G30

    ; lift Z after probing
    G91
    G1 Z5 F200
    G90
    G1 U0 F12000 ; park second toolhead

    M584 Z2:5 ; join both Z together
    M558 P6 X0 Y0 Z1 H5 F120 T12000


Locked
 

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