RRF 3 Z home not triggering.



  • @Phaedrux mentioned RRF3 and how it would solve most of my issues so ive given it a go to swap from 2 to 3 and so far it has gone pretty well.

    It would appear that i have sorted out the end stop issues.

    how ever now even though my Duet sees both of the z endstops (zstop and e0stop) and it can sense when they have been triggered via m119 and the machine specific tab. it will not home z at all. it just keeps ramming the nozzle through the bed.

    even when i lift up the z axis and manually lift the gantry (to simulate the bed trigger) it will not trigger the z axis motors to stop .

    x and y home just fine.

    Also im a little confused on IF i have a probe or not. i mean of course i know i dont have a probe, and according to the independant z motor doc
    M558 P0 X0 Y0 Z0 H2 F60 T6000 sets it to have no probe.

    only DWC is reporting a 4th sensor that i can never get triggered.

    config.g

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.1 on Mon Jun 01 2020 23:00:11 GMT-0600 (Mountain Daylight Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Joehbo 3D" ; set printer name

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

    ; Drives
    M569 P0 S1 ; X Axis physical drive 0 goes forwards
    M569 P1 S1 ; Y Axis physical drive 1 goes forwards
    M569 P2 S1 ; Z Axis physical drive 2 goes forwards
    M569 P3 S1 ; Z Second Axis physical drive 3 goes forwards
    M569 P4 S0 ; Extruder physical drive 4 goes Backwards

    M584 X0 Y1 Z2:3 E4 P3 ; Dual Z Axis
    M671 X-144:144 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E0) of X axis
    M350 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation
    M92 X80.00 Y80.00 Z800.00 E790.00 ; Set steps per mm
    M566 X1020.00 Y1020.00 Z24.00 E24.00:120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z180 E180:8000 ; Set maximum speeds (mm/min)
    M201 X6000 Y6000 Z100 E100:3000 ; Set accelerations (mm/s^2)
    M906 X935 Y935 Z935 E935:935 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S2 ; Set idle timeout

    ; Axis Limits
    M208 X-114 Y-127 Z0 S1 ; Set axis minima
    M208 X114 Y127 Z203 S0 ; Set axis maxima

    ; Endstops
    M574 X1 P"xstop" S1 ; Set active low endstops
    M574 Y1 P"ystop" S1 ; Set active low endstops
    M574 Z1 S1 P"zstop+e0stop" ; Z axis with two motors, individual min endstops, active low

    M558 P0 B1 X0 Y0 Z0 H2 F60 T6000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds
    G31 P600 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
    M557 X-108:108 Y-110:98 S100 ; define mesh grid

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H-1 ; set fan 1 value. 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

    Homeall.g

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.1 on Mon Jun 01 2020 23:00:11 GMT-0600 (Mountain Daylight Time)

    G91 ; Relative positioning
    G1 H2 Z2 F6000 ; Lift Z without endstop protection
    G1 H1 X-215 Y-215 F4200 ; Course home X and Y
    G1 X5 Y5 F6000 ; Move away from the endstops
    G1 H1 X-215 Y-215 F360 ; Fine home X and Y
    M98 "homez.g" ; Call homez.g to home custom z

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.1 on Mon Jun 01 2020 23:00:11 GMT-0600 (Mountain Daylight Time)
    ; set Z position to axis minimum (you may want to adjust this)

    G91 ; relative positioning
    G1 Z20 H2 F6000 ; Lift Z relatively to current position
    G1 H2 Z-205 F1000 ; Move Z axis down until trigger
    G90 ; Back to absolute positioning
    G92 Z0 ; Tell the firmware where we are
    G91 ; relative positioning
    G1 H2 Z10 F1000 ; lift Z after probing, without endstop protection
    G90 ; Back to absolute positioning

    these were all based off the information that i have collected via

    https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_Axis_levelling_using_endstops

    https://duet3d.dozuki.com/Guide/Independent+Z+motors+and+endstop+switches+in+RRF2/18

    https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_G1

    and here

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


  • administrators

    I replied to the same question in your other thread; but you have now deleted that thread.



  • @dc42 yes i thought i would clarify the title a little more. It was a quick response i only had it up for a bit!

    So im pretty sure i have the motor labling correct, assuming that stock config is as follows
    X0
    Y1
    Z2
    E03
    E14

    I physically have my second z axis wired to e0.

    As for the end stops they're all nc active low switches, i have tried to invert the inputs by using a ! Which did reverse them only that didn't make any difference to the z homing.

    I suspect missing the p should solve it. Which i will try out shortly.

    It would make sense that it wouldn't home z because the macro isnt being called.



  • @dc42 ok it was calling the homez.g even with out the P function on it. so that didnt solve it.

    I also have the inputs inverted for the !zstop+!e0stop and it still doesnt recognise when i physically trip the endstops.



  • also may i add that the z endstops seem to be working in their inverted state,

    before inversion the switches would both need to be triggered in order for the firmware to indicate that the Z was triggered. now when either of the switches is triggered the firmware indicates as such.

    how ever the print head will still try and ram through the bed. and even when i try to manually trigger either of the switches it will recognize in the Firmware ( as indicated by both M119 and the machine-specific endstop read out.



  • @dc42

    this is what you said in the other deleted thread

    @joehsmash said in RRF3 end stop issues (new post):

    M584 X0 Y1 Z2:3 E4 P3 ; Dual Z Axis
    ...
    M574 Z1 S1 P"zstop+e0stop" ; Z axis with two motors, individual min endstops, active low

    Are you sure that you have the same Z ordering in both those commands? In other words, the motor that is connected to driver output 2 uses the endstop connected to the zstop connector?

    The comment on the M574 command says "active low" but you haven't inverted the pins, so they are configured as active high. Which is correct?

    Your homeall.g file contains this line:

    M98 "homez.g" ; Call homez.g to home custom z

    It should be: M98 P"homez.g"



  • @dc42 said in RRF 3 Z home not triggering.:

    Are you sure that you have the same Z ordering in both those commands? In other words, the motor that is connected to driver output 2 uses the endstop connected to the zstop connector?

    i have verified this over and over, when facing my machine the left z axis is controlled by drive 2 (z motor) and the right z axis is controlled by drive 3 (E0 motor)

    also the NC contacts are hooked up to the Zstop and the E0stop respectivly.



  • @joehsmash I would say the line:

    G1 H2 Z-205 F1000 ; Move Z axis down until trigger

    is the reason for "ramming the nozzle into the bed", because H2 means according to https://duet3d.dozuki.com/Wiki/Gcode#Section_G0_G1_Move

    G1 Xnnn Ynnn Znnn H2 Ignore endstops while moving. Also ignore if axis has not been homed. On Delta and Core XY, axis letters refer to individual towers.
    So, unlike in the comment, it moves independent of the trigger.

    So use H1 instead of H2.



  • I don't understand the comment: "only DWC is reporting a 4th sensor that i can never get triggered.", can you make a screenshot please?



  • @JoergS5 i cannot believe it was that simple...

    the confusing part is, on the docs when you read the gcode explanation (https://duet3d.dozuki.com/Wiki/Gcode#Section_G0_G1_Move)

    it lists that "H2 Individual motor mode. X refers to the X motor, Y refers to the Y motor, and so on. Normally used with relative motor coordinates (see G91)"

    i figured when homing a z axis with 2 motors we would want them to be controlled indiviually.



  • @joehsmash I meant the part that it ingores the endstops. Does it work now if you change to H1?



  • @JoergS5 said in RRF 3 Z home not triggering.:

    I don't understand the comment: "only DWC is reporting a 4th sensor that i can never get triggered.", can you make a screenshot please?

    endstops.JPG

    0 is tied to my x
    1 is my y
    2 is either of my inverted Z axis switches
    3 is in question.

    would you suggest i make another post for my last issue?

    im trying to make it so that when i run a g32 it will probe the bed and auto level the individual z axis



  • @JoergS5 yes, it absolutely does work now. it successfully homes now.



  • Fine, a first success!

    Please don't open a new thread, but leave all points here to be discussed (and hopefully solved).

    The 4th sensor could be your second Z endstop, but DWC should fuse the two Z endstops together:"Note that DWC and M119 will only show one endstop per axis, but will show the axis endstop as triggered if either switch is triggered. So you can test them by triggering one at a time." in https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_Axis_levelling_using_endstops

    Please tell me the DWC version or update to the newest and test again. Maybe you have a version of DWC which does not fuse.



  • @JoergS5

    Board: Duet WiFi 1.02 or later
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.0 (2020-01-03b3)
    Duet WiFi Server Version: 1.23

    Note: You can install updates on the System page.



  • I don't know which version has which problems. Best would be to update to newest versions before going on. 3.0 is a bit old.



  • @JoergS5 hmm i figured it was the newest one. where can i find the absolute newest one



  • The newest RRF release is under
    https://github.com/Duet3D/RepRapFirmware/releases
    (as of today: 3.1.1)



  • setting up the nozzle probe according to this doesnt seem to be working.

    https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe

    Connect it between the STP and GND pins of the E0 connector and select mode 4. If it is a normally-closed microswitch, then with version 1.15 or earlier firmware use M574 E0 S1 to select active high trigger level. For normally-open contacts (not recommended), send M574 E0 S0 instead. With 1.16 or later firmware, include parameter I1 in the M558 command if you are using a normally-open switch.



  • so ive discovered that mode 4 is no longer supported in RRF3 and am advised to use mode 5 or 8 instead,

    i have tried both and neither make a difference.

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

    "Z probe types 4, 6 and 7 are no longer supported. Instead, use type 5 (filtered digital) or 8 (unfiltered digital) and use the C parameter to specify the input. Note, if your Z probe is connected to the Z endstop input, in RRF 3.0 on Duet 2 boards only (not in RRF 3.01 and later, and not in RRF 3.0 on Duet 3), that input is by default pre-assigned to be used by the Z endstop, so you must free it up first."



  • ive noticed that when i home my Z axis, i am using my 0.20mm feeler gauge to make sure that my gantry is perfectly trammed with the bed plane.

    if i set my carriage to the left most position and drop it down so that the nozzle height is just touching the gauge my z height is being reported at 1.45 how ever on the right side its being reported at 0.95.

    when i manually adjust the stepper to make them even and than i rehome, it goes back to exactly the same place.

    how do i force either the right side or the left side to stay in line?

    edit:
    So i just raised the z height to +50 and dropped it back down, the left side is still touching the feeler at 1.45 how ever now the right side is touching at 0.80. it lost 0.15 over 50mm clearly there is an issue with my second z motor and its speeds perhaps

    homez.g
    homeall.g
    config.g
    bed.g



  • I'm late to the game. It appears you have two Z end stop sensors.

    How are you assuring that when the sensors are triggered the bed is parallel to the gantry?

    Frederick





  • @fcwilt

    in my Config

    M671 X-144:144 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E0) of X axis

    and this is in my bed

    G28 ; home
    M561 ; clear any bed transform
    G30 P0 X-110 Y0 Z-99999 ; probe near a leadscrew, half way along Y axis
    G30 P1 X110 Y0 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
    G29 ; probe the bed and enable compensation

    but its not working



  • also, the g30 is just calling me to manually adjust the zheight instead of using the nozzle as a probe.


Log in to reply