Homing issue



  • Duet2 Wifi
    Cartesian style printer (built by me)
    Screenshot.JPG
    I have updated my printer to Firmware 3.0 and I generated a new config from the config tool website. This printer is one that I built myself and had worked great while on the old firmware 1.19. Now it won't home like it should.
    X and Y won't move in the negative direction.
    So, "G1 H1 Y-357 F360" doesn't move at all, but "G1 H2 Y5 F6000" moves as expected.
    I'm not sure what else to look at and I'm at a loss.

    config.g

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Mar 08 2020 18:53:28 GMT-0400 (Eastern Daylight Time)
    
    ; General preferences
    G90                                            ; send absolute coordinates...
    M83                                            ; ...but relative extruder moves
    M550 P"Duet_One"                               ; 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 S0                                     ; physical drive 0 goes backwards
    M569 P1 S0                                     ; physical drive 1 goes backwards
    M569 P2 S1                                     ; physical drive 2 goes forwards
    M569 P3 S0                                     ; physical drive 3 goes backwards
    M584 X0 Y1 Z2 E3                               ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
    M92 X64.00 Y64.00 Z398.00 E80.00               ; 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 Z480.00 E1200.00        ; set maximum speeds (mm/min)
    M201 X500.00 Y20.00 Z250.00 E250.00            ; set accelerations (mm/s^2)
    M906 X600 Y600 Z750 E600 I30                   ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                        ; Set idle timeout
    
    ; Axis Limits
    M208 X-29 Y-52 Z0 S1                           ; set axis minima
    M208 X300 Y300 Z240 S0                         ; set axis maxima
    
    ; Endstops
    M574 X1 S1 P"xstop"                            ; configure active-low endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop"                            ; configure active-low endstop for low end on Y via pin ystop
    M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M558 P1 C"zprobe.in+zprobe.mod" H5 F240 T6000  ; set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X39 Y-11 Z2.5                         ; set Z probe trigger value, offset and trigger height
    M557 X-24:280 Y-5:280 S25                      ; 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
    M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
    M307 H0 B0 S1.00                               ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                        ; map heated bed to heater 0
    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
    M143 H1 S260                                   ; set temperature limit for heater 1 to 260C
    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 H1 T50                              ; set fan 0 value. Thermostatic control is turned on
    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
    M950 F2 C"fan1" Q500                           ; create fan 2 on pin fan1 and set its frequency
    M106 P2 S1 H-1                                 ; set fan 2 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
    
    

    homey.g

    ; homey.g
    ; called to home the Y axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Mar 08 2020 18:53:28 GMT-0400 (Eastern Daylight Time)
    G91               ; relative positioning
    G1 H2 Z5 F6000    ; lift Z relative to current position
    G1 H1 Y-357 F1800 ; move quickly to Y axis endstop and stop there (first pass)
    G1 H2 Y5 F6000    ; go back a few mm
    G1 H1 Y-357 F360  ; move slowly to Y axis endstop once more (second pass)
    G1 H2 Z-5 F6000   ; lower Z again
    G90               ; absolute positioning
    


  • @3dTony If it doesn't move using the H1 parameter but does when using H2, that would indicate to me that the switch is already triggered when it starts the move. So most likely you just need to invert the input with a "!", So e.g. M574 Y1 S1 P"!ystop" instead of M574 Y1 S1 P"ystop".



  • Holy crap that fixed it. Thank you so much. I read about that earlier and was going to try it, but haven't got there yet. I can't believe it was this easy.

    Thanks again!!



  • @3dTony Glad that fixed it for you.

    TBH, the comments you have in your config.g say that you use active low end stops so if you "told" the configuration tool that is what you are using, then it should have generated the correct (inverted) command for you. Can you recall if you gave the tool that information or might you have found a bug in the tool?



  • The printer was working ok with the original 1.19 firmware I started with. I updated it because it was no longer supported. So I started a new configuration on the website by starting with an existing configuration. I don't remember making any changes to the end stops. I saw no reason to make changes since everything worked before and I made no changes to the physical printer setup.

    This is what the configuration tool showed when I was going through it
    Screenshot_Endstop.JPG



  • @3dTony That explains it. Your end stops are actually active low (NO) and you selected Active High (NC). Or rather Active High is the default which you didn't change. So I'm afraid we can't blame the configuration tool. ☺


Log in to reply