Blocked endswitch results in mayhem



  • Once in a while my bowden tube manages to get above the carriage and keeps the cheapskate from going far enough up to trigger the endstop switch.

    This results in a machine-gun homing attempt, then a pause, then another machine-gun homing attempt.

    The STOP button on Paneldue is not effective in preventing this and I have to power-off to get it to stop.

    Video

    Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
    Firmware Electronics: Duet Ethernet 1.02 or later
    Firmware Version: 2.05 (2019-12-13b1)
    Paneldue V1.17


  • Moderator

    Can you post your config.g and homedelta.g file?



  • M550 ROSTOCK                               ; Printer name
    M555 P2                                    ; Gcode Output Type
    
    M552 0
    ;M552 P192.168.1.50		   	   ; (0 = DHCP)
    ;M554 P192.168.1.1			   ; Gateway
    ;M553 P255.255.255.0			   ; Netmask
    M552 S1                                    ; Enable Network
    
    M575 P1 B57600 S1                          ; PanelDue Comm Setup
    G21                                        ; Work in millimetres
    G90                                        ; Send absolute coordinates
    
    M569 P0 S1                                 ; Drive 0 goes forwards (X)
    M569 P1 S1                                 ; Drive 1 goes forwards (Y)
    M569 P2 S1                                 ; Drive 2 goes forwards (Z)
    M569 P3 S1                                 ; Drive 3 goes forwards (E0)
    M569 P4 S1                                 ; Drive 4 goes forwards (E1)
    
    M574 X2 Y2 Z2 S1                           ; set endstop configuration (all endstops at high end, active high)
    ;M591 D0 P2 C3 S1		   	   ; set filament runout sensing connected to E0_STOP
    M591 D0 P3 C4 S1 R70:130 L25.8 E3.0        ; config Duet rotating magnet filament sensor
    
    M665 R144 L291.06 B150 H400 X0 Y0 Z0       ; delta radius, diagonal rod length, printable radius and homed height B was 135
                                               ; Y X Z are tower angle offsets
    M666 X0 Y0 Z0                              ; endstop offsets in mm
    
    M350 X16 Y16 Z16 E16:16 I1                 ; Set 16x microstepping w/ Interpolation
    M92 X100 Y100 Z100                         ; Set axis steps/mm
    M92 E91.0:91.0                             ; Set extruder steps/mm
    
    M906 X1200 Y1200 Z1200 E1200:1200 I50      ; Set motor currents (mA) and idle current %
    M201 X4200 Y4200 Z4200 E5000               ; Accelerations (mm/s^2)
    M203 X15000 Y15000 Z15000 E18000           ; Maximum speeds (mm/min)
    M566 X2000 Y2000 Z2000 E2000               ; Maximum instant speed changes mm/minute
    
    M501                                       ; Load config_override.g
    
    M106 P0 H-1                                ; Part Cooling Fan
    M106 P1 S0.5 H-1                           ; Case fan
    M106 P2 T50 S0.7 H1                        ; Heat sink fan
    
    M307 H0 B0                                 ; Heated Bed (H2)
    M305 P0 T100000 B4388 R4700 H30 L0         ; Bed thermistor
    
    M305 P1 T100000 B4388 R4700 H30 L0         ; Hot end Thermistor
    M563 P0 D0 H1                              ; Hot end (T0), drive (E0), heater (H1)
    G10 P0 S0 R0                               ; Hot end operating and standby temperatures
    
    ;Dual Extrusion Code 
    M563 P1 D1 H1                              ; Hot end (T1), drive (E1), heater (H1)
    G10 P1 S0 R0                               ; Hot end (1) operating and standby temperatures
    
    M558 P5 I0 A5 S0.05 R0.4 H3 F2000          ; Strain gauge probe settings
    G31 P100 X0 Y0 Z-0.15                      ; Probe trigger and offset values
    M557 R140 S30                              ; default bed mapping
    M501                                       ; Load saved config values
    T0                                         ; Select Tool 0
    M375					   ; Load height map
    
    M203 Z25000
    G91                         ; use relative positioning
    G1 S1 X750 Y750 Z750 F5000  ; move all carriages up, stopping at the endstops
    G1 S2 X-5 Y-5 Z-5 F500     ; move all towers down 5mm
    G1 S1 X8 Y8 Z8 F500        ; move towers slowly up 8mm, stopping at the endstops
    G1 S2 X-5 Y-5 Z-5 F500     ; move carriages down 5mm
    G90                         ; back to absolute positioning
    
    

  • Moderator

    @alankilian said in Blocked endswitch results in mayhem:

    M501 ; Load config_override.g

    Not related, but it looks like you're loading config-override.g twice. Should probably remove the one from the middle of the file.

    @alankilian said in Blocked endswitch results in mayhem:

    M375 ; Load height map

    Don't load the heightmap in config.g since at startup you haven't even homed or probed the bed yet. Load it in the slicer start gcode or the end of your homing/bed calibration instead.

    @alankilian said in Blocked endswitch results in mayhem:

    G1 S2 X-5 Y-5 Z-5 F500 ; move all towers down 5mm G1 S1 X8 Y8 Z8 F500 ; move towers slowly up 8mm, stopping at the endstops G1 S2 X-5 Y-5 Z-5 F500 ; move carriages down 5mm

    I think your issue is here. Remove the S2 from those moves to back off the endstop. The S2 is forcing the move even if the homing move failed to mark the axis as homed. What should happen is that if the initial homing move failed the move to back off the endstop should fail with an error because you're trying to move an unhomed axis.

    Also, the S1/S2 syntax has been deprecated in favour of H1/H2 in recent firmwares. (S is used for laser power when in that mode). Just in case you intend to update your firmware at somepoint.

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



  • Removing the S2 didn't change the behavior.

    Even if I just do this in the GCode console, the carriage moves up and "Bangs" on the top of the structure.

    M203 Z25000
    G91                         ; use relative positioning
    G1 S1 X750 Y750 Z750 F500   ; move all carriages up, stopping at the endstops
    

    It seems to me that the initial homing is failing and the stepper motor is missing steps <maybe>

    If I do:

    G1 S1 X20 Y20 Z20 F500
    

    It bumps a few times and then stops.
    Maybe this is just the way it is when homing and you don't get a homing switch signal.


  • Moderator

    I think your endtops might not match with the motors they are meant to stop.

    See here: https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareDeltaPrinter#Section_Testing_the_motors_and_endstops_individually



  • @Phaedrux said in Blocked endswitch results in mayhem:

    I think your endtops might not match with the motors they are meant to stop.

    I checked and all are configured correctly.

    I'm confused about why you would think that.

    It's just that this "axis" is trying to home by moving 750mm and it's blocked so it keeps trying to move and keeps banging into the upper structure.

    It would do the same thing if my switch got unplugged.


  • Moderator

    @alankilian said in Blocked endswitch results in mayhem:

    I'm confused about why you would think that.

    Only because having them mismatched produces similar behaviour.

    @alankilian said in Blocked endswitch results in mayhem:

    It would do the same thing if my switch got unplugged.

    Unless it was normally closed in which case it wouldn't move at all because it would think it's triggered at the start.

    @alankilian said in Blocked endswitch results in mayhem:

    It's just that this "axis" is trying to home by moving 750mm and it's blocked so it keeps trying to move and keeps banging into the upper structure.

    Yes. Just trying to eliminate any other oddities along the way.

    I'm not sure there is a good way to prevent this other than keeping the path clear. Reducing motor current to the minimum for viable motion is a good precaution though. Then it should hopefully stall without causing too much ruckus and damage.



  • @Phaedrux Thanks for the conversation. You helped me walk through some things and I learned stuff!

    I do think the STOP button should stop motion, but I guess that's difficult to implement?


  • Moderator

    Can you send m115? What firmware are you running?
    How bout on the paneldue?



  • I put that in my first post.

    FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.05 ELECTRONICS: Duet Ethernet 1.02 or later FIRMWARE_DATE: 2019-12-13b1
    

  • Moderator

    @alankilian said in Blocked endswitch results in mayhem:

    I put that in my first post.

    👓 I guess I'm blind.

    I suggest updating the firmware to 2.05.1 and the paneldue to 1.24

    Upload this zip file to the system tab in DWC. Don't extract it.

    https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip

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

    Updating the paneldue firmware may help with the stop button.


Log in to reply