Stall detection not triggering or only triggering



  • I am now on the Duet 2 Wifi and am not able to get it to detect an actual stall. I've tried all of the following variables. This is CoreXY and such, I've configured X and Y. I'm not even going to use it on XY, I'm going to use it on Z, but Z is on a lead screw and I thought that would be harder to tune so I figured I'd start with something easier just to figure out how to calibrate it. Nothing seems to be working.

    What's happening is, at M915 S4 the axis won't move. At M915 S5 the axis just crashes and crashes and crashes. I'm assuming at S4 it's just always caught, but it's not logging. I also have logging enabled.

    • using different values from 10 to 100 with M913
    • different values from 0 to 400 for M915 H*
    12:28:16 PMM915
    Driver 0: stall threshold 5, filter off, steps/sec 1, coolstep 0, action: log
    Driver 1: stall threshold 5, filter off, steps/sec 1, coolstep 0, action: log
    

    BTW I noticed the voltage was too high, so I turned it down

    12:27:29 PMM122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.02(RTOS) running on Duet WiFi 1.02 or later
    Board ID: 08DGM-917NK-F23T0-6J1F2-3SD6T-KGBWD
    Used output buffers: 1 of 20 (18 max)
    === RTOS ===
    Static ram: 25524
    Dynamic ram: 99004 of which 0 recycled
    Exception stack ram used: 600
    Never used ram: 5944
    Tasks: NETWORK(ready,544) HEAT(blocked,1232) MAIN(running,3812) IDLE(ready,200)
    Owned mutexes:
    === Platform ===
    Last reset 00:17:00 ago, cause: software
    Last software reset at 2019-02-10 12:10, reason: User, spinning module GCodes, available RAM 6032 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 32.6, current 33.0, max 33.2
    Supply voltage: min 24.1, current 24.2, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max 0/1023
    Driver 1: standstill, SG min/max 51/1023
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Date/time: 2019-02-10 12:27:28
    Cache data hit count 3736076964
    Slowest loop: 2.10ms; fastest: 0.08ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 238, MaxWait: 13397ms, Underruns: 0, 0
    Scheduled moves: 59, completed moves: 59
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is assembling a command in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 202.67ms; fastest: 0.08ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    - WiFi -
    Network state is running
    WiFi module is connected to access point 
    Failed messages: pending 0, notready 0, noresp 3
    WiFi firmware version 1.22
    WiFi MAC address b4:e6:2d:53:0c:9a
    WiFi Vcc 3.37, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 27816
    WiFi IP address 192.168.1.200
    WiFi signal strength -39dBm, reconnections 0, sleep mode modem
    Socket states: 0 0 0 0 0 0 0 0
    


  • Stall detection is very tricky to get tuned.

    What are your steps per mm on Z?
    What is your lead screw lead and pitch?
    Are you using 1.8 or 0.9 degree motors for Z?
    Is it a single Z motor, or multiple?

    For best results using stall detection on Z you need high steps per mm and a single motor.

    In the end, I managed to get it working, but found that the sensitivity was greatly influenced by motor temperature. It would consistently work right after the printer was turned on, but once the motors warmed up it would either trigger too soon, or wouldn't trigger at all. And tuning for the warmed up temp meant it wouldn't work at first power up. I switched back to a z probe ASAP.


  • administrators

    You may have to experiment with motor speed too, especially if you are using low inductance motors. Stall detection is harder to get working on the XY axes of Core XY machines. I think this is because of the long belt lengths, and because it's possible for one motor to drive the other when an axis is against its stop.


 

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