Error: Homing Failed on any G28 situation



  • Hello!

    I finally got to the electronics part of my coreXY/D-Bot-mod printer and Duet is making everything so easy. I have a 0.6 on my delta that works wonders.

    Anyway, I used the reprap configurator to generate an initial config, then configured the 3 independent Z-motors (I have a Duex 2 too) and did all the tests on the CoreXY setup wiki page. Everything is movnig on the right direction. Endstops also report correctly on M119 and I am using a dc42 Mini IR probe that is also working fine.

    The problem is any homing that I try to do ends with "Error: homing failed". What is weird, because it actually does all the homing procedure described on homey/homex: finds the endstop, goes back, and then again slowly. What I've noticed is that it apparently doesn't change the X/Y position (reported on DW or M114) to what is supposed to be.

    I tried doing a G92 X0 when the X was at the correct spot, and then if I ask to home again sometimes it will show as being on -0.0 or -0.3.

    I am out of ideas to try. I don't know if it's something mechanical as are my belts wrong, or something skipping (I am 80% sure that it's fine), or if there's something involving Duex that I am unaware of, but as far as documentation go I don't even see many of those errors on a google search.

    I tried to enabled debug and see via USB what was happening, but I have no idea how to read the debug output so didn't help. I see in the code that this error is described here https://github.com/dc42/RepRapFirmware/blob/c1983ffa6d33e88f491f1c21f35310fe2f3c88c8/src/GCodes/GCodes.cpp#L424 and if my C isn't failing me means that it's not recognizing that homing actually happen?

    Anyway, any help here would be appreciated 🙂

    This is my hardware info

    Firmware Name:	RepRapFirmware for Duet WiFi
    Firmware Electronics:	Duet WiFi 1.0 + DueX2
    Firmware Version:	1.20beta2 (2017-10-25)
    WiFi Server Version:	1.20beta2
    Web Interface Version:	1.19.3
    
    

    I tried to rollback to 1.19 and it had the same error. Didn't try any earlier version.

    I will attach the relevant files and a debug log at the end.

    [[gcode]]
    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Thu Oct 26 2017 19:14:01 GMT-0400 (EDT)
    
    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin
    ; Automatic saving after power loss is not enabled
    
    M584 X0 Y1 Z2:5:6
    
    M667 S1 ; Select CoreXY mode
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X240 Y240 Z200 S0 ; Set axis maxima
    
    ; Endstops
    M574 X1 Y2 Z0 S0 ; Define active low and unused microswitches
    M558 P1 X0 Y0 Z1 H5 F120 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P500 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
    M557 X15:285 Y15:285 S20 ; Define mesh grid
    
    ; Drives
    M569 P0 S0 ; Drive 0 goes backwards
    M569 P1 S0 ; Drive 1 goes backwards
    M569 P2 S0 ; Drive 2 goes backwards
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P5 S0 ; Drive 5
    M569 P6 S0 ; Drive 6
    
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X100 Y100 Z400 E420 ; Set steps per mm
    M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z180 E1200 ; Set maximum speeds (mm/min)
    M201 X500 Y20 Z250 E250 ; Set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1200 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    
    ; Heaters
    M143 S260 ; Set maximum heater temperature to 260C
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    
    ; Tools
    M563 P0 D0 H1 ; 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
    
    ; Network
    M550 PD-Bot ; Set machine name
    M552 S1 ; Enable network
    M587 S"XXXXXXX" P"XXXXXXX" ; Configure access point. You can delete this line once connected
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet
    
    ; Fans
    M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Custom settings are not configured
    
    ; Miscellaneous
    M501 ; Load saved parameters from non-volatile memory
    
    
    [[language]]
    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool on Thu Oct 26 2017 22:19:45 GMT-0400 (EDT)
    
    ; Relative positioning
    G91
    
    ; Lift Z
    G1 Z5 F6000
    
    ; Course home X or Y
    G1 X-245 Y245 F1800 S1
    ; Course home X
    G1 X-245 S1
    ; Course home Y
    G1 Y245 S1
    
    ; Move away from the endstops
    G1 X5 Y-5 F6000
    
    ; Fine home X
    G1 X-245 F360 S1
    ; Fine home Y
    G1 Y245 S1
    
    ; Absolute positioning
    G90
    
    ; Go to first bed probe point and home Z
    G1 X15 Y15 F6000
    G30
    
    ; Uncomment the following line to lift the nozzle after probing
    ;G1 Z5 F100
    
    
    [[language]]
    ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Thu Oct 26 2017 22:17:09 GMT-0400 (EDT)
    
    ; Lift Z relative to current position
    G91
    G1 Z5 F6000
    G90
    
    ; Move quickly to X axis endstop and stop there (first pass)
    G1 X-245 F1800 S1
    
    ; Go back a few mm
    G91
    G1 X5 F6000
    G90
    
    ; Move slowly to X axis endstop once more (second pass)
    G1 X-245 F360 S1
    
    ; Lower Z again
    G91
    G1 Z-5 F6000
    G90
    
    
    [[language]]
    ; homey.g
    ; called to home the Y axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Thu Oct 26 2017 22:18:29 GMT-0400 (EDT)
    
    ; Lift Z relative to current position
    G91
    G1 Z5 F6000
    G90
    
    ; Move quickly to Y axis endstop and stop there (first pass)
    G1 Y245 F1800 S1
    
    ; Go back a few mm
    G91
    G1 Y-5 F6000
    G90
    
    ; Move slowly to X axis endstop once more (second pass)
    G1 Y245 F360 S1
    
    ; Lower Z again
    G91
    G1 Z-5 F6000
    G90
    
    
    [[language]]
    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Thu Oct 26 2017 19:14:00 GMT-0400 (EDT)
    
    ; Lift Z relatively to current position
    G91
    G1 Z5 F6000
    
    ; Back to absolute positioning
    G90
    
    ; Go to first bed probe point and home the Z axis
    G1 X15 Y15 F6000
    G30
    
    ; Uncomment the following lines to lift Z after probing
    ;G91
    ;G1 Z5 F100
    ;G90
    
    
    [[language]]
    23:48:09.464 : N103 G28 X0*89
    23:48:09.466 : serial: G28 X0
    23:48:09.472 : serial: G91
    23:48:09.473 : serial: G1 Z5 F6000
    23:48:09.473 : Transformed 10.33 15.00 15.00 to 2533 4294966829 6000
    23:48:09.474 : serial: G90
    23:48:09.476 : DDA: start=[10.330000 15.000000 10.000000] end=[10.330000 15.000000 15.000000] d=5.000000 vec=[0.000000 0.000000 1.000000 0.000000 0.000000]
    23:48:09.476 : a=250.000000 reqv=3.000000 topv=3.000000 startv=0.000000 endv=0.000000
    23:48:09.476 : daccel=0.018000 ddecel=0.018000 cks=1573749
    23:48:09.476 : DMZ: dir=F steps=2000 next=1 rev=2001 interval=4192 sstcda=0 acmadtcdts=5625 tstcdapdsc=1573749 2dtstc2diva=35156246724
    23:48:09.476 : accelStopStep=8 decelStartStep=1993 2CsqtMmPerStepDivA=17578124
    23:48:09.476 : mmPerStepTimesCdivtopSpeed=799999 fmsdmtstdca2=0
    23:48:09.476 : serial: G1 X-245 F1800 S1
    23:48:09.477 : Transformed -245.00 15.00 15.00 to 4294944296 4294941296 6000
    23:48:11.107 : DDA: d=255.330002 vec=[-1.000000 0.000000 0.000000 0.000000 0.000000]
    23:48:11.107 : a=500.000000 reqv=30.000002 topv=30.000002 startv=0.000000 endv=0.000000
    23:48:11.107 : daccel=0.900000 ddecel=0.900000 cks=8035313
    23:48:11.107 : DMX: dir=B steps=25533 next=1 rev=25534 interval=5929 sstcda=0 acmadtcdts=28125 tstcdapdsc=8035313 2dtstc2diva=897644544804
    23:48:11.107 : accelStopStep=91 decelStartStep=25444 2CsqtMmPerStepDivA=35156248
    23:48:11.107 : mmPerStepTimesCdivtopSpeed=319999 fmsdmtstdca2=0
    23:48:11.107 : DMY: dir=B steps=25533 next=1 rev=25534 interval=5929 sstcda=0 acmadtcdts=28125 tstcdapdsc=8035313 2dtstc2diva=897644544804
    23:48:11.107 : accelStopStep=91 decelStartStep=25444 2CsqtMmPerStepDivA=35156248
    23:48:11.107 : mmPerStepTimesCdivtopSpeed=319999 fmsdmtstdca2=0
    23:48:11.162 : serial: G91
    23:48:11.163 : serial: G1 X5 F6000
    23:48:11.164 : Transformed 15.33 15.00 15.00 to 3033 33 6000
    23:48:11.165 : serial: G90
    23:48:11.166 : DDA: start=[10.330000 15.000000 15.000000] end=[15.330000 15.000000 15.000000] d=5.000000 vec=[1.000000 0.000000 0.000000 0.000000 0.000000]
    23:48:11.166 : a=500.000000 reqv=100.000008 topv=50.000000 startv=0.000000 endv=0.000000
    23:48:11.166 : daccel=2.500000 ddecel=2.500000 cks=187500
    23:48:11.166 : DMX: dir=F steps=500 next=1 rev=501 interval=5929 sstcda=0 acmadtcdts=46875 tstcdapdsc=187500 2dtstc2diva=17578125156
    23:48:11.166 : accelStopStep=251 decelStartStep=251 2CsqtMmPerStepDivA=35156248
    23:48:11.166 : mmPerStepTimesCdivtopSpeed=192000 fmsdmtstdca2=0
    23:48:11.167 : DMY: dir=F steps=500 next=1 rev=501 interval=5929 sstcda=0 acmadtcdts=46875 tstcdapdsc=187500 2dtstc2diva=17578125156
    23:48:11.167 : accelStopStep=251 decelStartStep=251 2CsqtMmPerStepDivA=35156248
    23:48:11.167 : mmPerStepTimesCdivtopSpeed=192000 fmsdmtstdca2=0
    23:48:11.167 : serial: G1 X-245 F360 S1
    23:48:11.168 : Transformed -245.00 15.00 15.00 to 4294944296 4294941296 6000
    23:48:11.318 : DDA: d=260.329987 vec=[-1.000000 0.000000 0.000000 0.000000 0.000000]
    23:48:11.318 : a=500.000000 reqv=6.000000 topv=6.000000 startv=0.000000 endv=0.000000
    23:48:11.318 : daccel=0.036000 ddecel=0.036000 cks=40687804
    23:48:11.318 : DMX: dir=B steps=26033 next=1 rev=26034 interval=5929 sstcda=0 acmadtcdts=5625 tstcdapdsc=40687806 2dtstc2diva=915222573252
    23:48:11.318 : accelStopStep=4 decelStartStep=26030 2CsqtMmPerStepDivA=35156248
    23:48:11.318 : mmPerStepTimesCdivtopSpeed=1599999 fmsdmtstdca2=0
    23:48:11.318 : DMY: dir=B steps=26033 next=1 rev=26034 interval=5929 sstcda=0 acmadtcdts=5625 tstcdapdsc=40687806 2dtstc2diva=915222573252
    23:48:11.318 : accelStopStep=4 decelStartStep=26030 2CsqtMmPerStepDivA=35156248
    23:48:11.318 : mmPerStepTimesCdivtopSpeed=1599999 fmsdmtstdca2=0
    23:48:12.210 : serial: G91
    23:48:12.211 : serial: G1 Z-5 F6000
    23:48:12.211 : Transformed 10.32 15.00 10.00 to 2532 4294966828 4000
    23:48:12.215 : DDA: start=[10.320000 15.000000 15.000000] end=[10.320000 15.000000 10.000000] d=5.000000 vec=[0.000000 0.000000 -1.000000 0.000000 0.000000]
    23:48:12.215 : a=250.000000 reqv=3.000000 topv=3.000000 startv=0.000000 endv=0.000000
    23:48:12.215 : daccel=0.018000 ddecel=0.018000 cks=1573749
    23:48:12.215 : DMZ: dir=B steps=2000 next=1 rev=2001 interval=4192 sstcda=0 acmadtcdts=5625 tstcdapdsc=1573749 2dtstc2diva=35156246724
    23:48:12.215 : accelStopStep=8 decelStartStep=1993 2CsqtMmPerStepDivA=17578124
    23:48:12.215 : mmPerStepTimesCdivtopSpeed=799999 fmsdmtstdca2=0
    23:48:12.215 : serial: G90
    23:48:13.895 : Homing failed
    
    

  • administrators

    There is a bug with CoreXY homing in 1.20beta2. Please use 1.20beta1 or 1.19.2, at least until 1.20beta3 is available.



  • @dc42:

    There is a bug with CoreXY homing in 1.20beta2. Please use 1.20beta1 or 1.19.2, at least until 1.20beta3 is available.

    Oh welp, that solved it.

    Weird that I was pretty sure I had problems with 1.19 too. I guess I didn't actually try it.

    Thanks DC



  • SO, guessing it still isn't fixed in the full release as I'm using 1.2 and it's doing it on my CoreXY . 😕 . question, is it an issue really other than "reporting"? it seems to home and register actual location and all. though I guess it wouldn't go a print huh? (still building the printer and just playing with the movement, no head carriage on it yet)



  • @Thomllama:

    SO, guessing it still isn't fixed in the full release as I'm using 1.2 and it's doing it on my CoreXY . 😕 . question, is it an issue really other than "reporting"? it seems to home and register actual location and all. though I guess it wouldn't go a print huh? (still building the printer and just playing with the movement, no head carriage on it yet)

    It's fixed. What problem have you actually got?



  • @deckingman:

    @Thomllama:

    SO, guessing it still isn't fixed in the full release as I'm using 1.2 and it's doing it on my CoreXY . 😕 . question, is it an issue really other than "reporting"? it seems to home and register actual location and all. though I guess it wouldn't go a print huh? (still building the printer and just playing with the movement, no head carriage on it yet)

    It's fixed. What problem have you actually got?

    Same thing he stated above, all axis home, seem fine but spit out an error 28 homing fail.



  • If you've got no head carriage fitted yet, I'm curious as to how you are homing all the axes. What does the switch status indicate in the machine control section of DWC?



  • @deckingman:

    If you've got no head carriage fitted yet, I'm curious as to how you are homing all the axes. What does the switch status indicate in the machine control section of DWC?

    Simple wheel plate, actually triggger the switch manually myself for y. Not a clue what the DWC is?



  • DWC = Duet Web Control. I kind of assumed you were using that to home the printer and that's when you were seeing the error message. I'm very confused now because you said "all axis home, seem fine but spit out an error 28 homing fail". Yet you are triggering Y manually. How about Z?

    The "bug" appeared briefly in 1.20 beta2. It wasn't there in 1.20 beta1 and was fixed in 1.20 beta 3 and later version including the final release. Suggest you get a bit further with the printer then get it homing all axes properly and report back if you still have an issue.



  • @deckingman:

    DWC = Duet Web Control. I kind of assumed you were using that to home the printer and that's when you were seeing the error message. I'm very confused now because you said "all axis home, seem fine but spit out an error 28 homing fail". Yet you are triggering Y manually. How about Z?

    The "bug" appeared briefly in 1.20 beta2. It wasn't there in 1.20 beta1 and was fixed in 1.20 beta 3 and later version including the final release. Suggest you get a bit further with the printer then get it homing all axes properly and report back if you still have an issue.

    OK, yes using the Duet Web/Browser control page.

    Z and X end stops are mounted. Y is just the wire an end stop sitting on top the printer and I click it with my finger. simple testing of movement as I am designing as I build. when Z triggers the home it works fine, both X and Y spit out the error 28. Again, X is mounted so can't blame it on my setup. Also notice that when I go to home X(or Y) if I home Z first, the control panel is saying Z is homed, till the error 28 and it goes back to all 3 not being homed.



  • video- just for viewing to see what's going on and what I am likely missing?

    https://youtu.be/2oJRdR2xxqQ


Locked
 

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