Stall Guard
-
@BlueDust, at low speeds stall detection gets less reliable and more sensitive to temperature. That's why the H parameter exists. You can try reducing it, but that may result in false stall warnings, especially when the motors get hot.
-
@dc42
Right now I am still not getting anything to happen. It cannot detect any stalls. I can hold the belts so the carriage doesn't move and nothing happens. So if I can get it to be too sensitive and at least see something work, I would be seeing some progress.I am trying this right now.... I am just changing these settings live during a print a small amount at a time to see if it does anything. So far it runs the rehome.g file when I update the M915.
M915 X Y S-10 F0 H200 R3But 10 minutes ago, I have this.
M915 X Y S-10 F0 H100 R3Appears minimum speed the Duet is showing is 25mms, but going up to 100mms during this print.
Is there any other config I can show you that would help troubleshoot this?
M92 X160 Y160 Z800 E834.377
M566 X500 Y500 Z2 E1000
M201 X1000 Y1000 Z250 E2400
M203 X9000 Y9000 Z800 E800
M906 X1000 Y1000 Z1600 E1000 I30M574 X1 Y1 S3
-
@dc42
I also wanted to add that when I hold the belts, they do not skip. The motors themselves are skipping/shaking.Also to compare it... This is my rehome file. Same any my homeall minus the Z axis, and it works.
M913 Y60 X60 ; reduce motor current to 60% to prevent belts slipping M915 X Y S3 R0 F0 H400 ; X sensitivity to 5, do nothing when stall, unfiltered G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position G1 H1 Y-305 F5000 ; home Y axis G1 H1 X-305 F5000 ; home X axis G1 X20 Y20 F6000 G1 H1 Y-305 F5000 ; home Y axis G1 H1 X-305 F5000 ; home X axis G1 X1 Y1 F6000 ; go back a few mm G92 X0 Y0 G90 M913 Y100 X100 ; motor currents back to normal
-
I feel like there is something I am missing to actually enable the feature during a print.
This doesn't do anything.M915 X Y S-64 F0 H0 R3
Do I have to put the M915 in the config.g file, or can I run a script to enable it like I do with all of the homing config files? I ask because I am just sending the M915 command to the printer while testing this out. It is not in the config.g file. I feel like if it is in there, it will be overridden after I home the printer and become irrelevant. SO if I am just implementing this command in the wrong place, that is why it is not working.
-
I'm guess H0 isinvalid and it's using the default instead. Try H50? Possibly the same with F0? I don't have the wiki open on my phone ATM.
I don't think there is anything wrong with sending it whenever you want. Nothing really needs to be in config.g.
-
@Phaedrux
I am just more confused now...
I have tried H50 already. I just went to the extreme with 0. I already use F0 for sensorless homing. It should just make it more sensitive at sharp movements and F1 should be used during normal printing.
I am just trying to get it to work during a print and just trip once so I have some proof this feature works. It currently doesn't make any sense to me why it works for homing and I can't get it to work during a print. I must have some other setting enabled/disabled that is affecting it. -
Is this on I duet wifi? Or maestro?
-
Duet2 Ethernet
-
12v or 24v?
-
@Phaedrux
24v -
I don't know if this is actually relevant, but I also read that this Stall Guard may need some fine tuning pointing to this formula sheet.
I filled it out best to my understanding, but do not know how to use it. -
Do you have a link to that sheet?
-
Have you tried getting it to detect a stall on a pure diagonal move to isolate just a single motor?
-
@Phaedrux
There is a link on the Sensorless homing wiki page that takes you to another page to talk about motors. This site has a link to download the calculation sheet I shared the screen shot of.https://duet3d.dozuki.com/Wiki/Choosing_and_connecting_stepper_motors
-
@Phaedrux
I just printed a large print with long movements and held the belts still.I can try printing a large calibration cube and see what happens.
Thanks. -
@BlueDust said in Stall Guard:
M915 X Y S-10 F0 H200 R3
With S-10 I would expect the motor to register stalled nearly all the time. You can check by sending M122 during a print and looking at the driver status.
On my delta I have M915 set to warn about motor stalls. Using the same M915 settings as when I test sensorless homing on that machine, I get occasional (false) warnings. So I know that it is working at least some of the time.
-
@dc42
I have been having a lot of trouble with the nozzle getting stuck in the print, and breaking different Z probes and why I want to fix this feature. I am having a lot of Z probe issues again caused by the crashes and not able to bed level. I will run m122 after I can print again.
Thanks -
I have this on my list to look at, but I need to get firmware 3.01-RC3 released first. Please remind me again on Monday, assuming 3.01-RC3 is released by then.
-
@dc42 said in Stall Guard:
M122
As I do use stall guard for homing, I wanted to compare both before and after I enabled it for printing...
This is before I enabled stall guard (printing)
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05 running on Duet Ethernet 1.02 or later + DueX5 Board ID: 08DGM-9T6BU-FG3S0-7JTDL-3SN6N-TS6VG Used output buffers: 3 of 24 (24 max) === RTOS === Static ram: 25712 Dynamic ram: 93836 of which 0 recycled Exception stack ram used: 656 Never used ram: 10868 Tasks: NETWORK(ready,628) HEAT(blocked,1232) DUEX(suspended,160) MAIN(running,1300) IDLE(ready,160) Owned mutexes: === Platform === Last reset 70:56:51 ago, cause: software Last software reset at 2020-02-28 21:23, reason: User, spinning module GCodes, available RAM 11240 bytes (slot 2) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: c Free file entries: 8 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 17.0ms, max retries 1 MCU temperature: min 33.7, current 36.2, max 39.4 Supply voltage: min 23.5, current 23.8, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: ok, SG min/max 0/201 Driver 1: ok, SG min/max 0/205 Driver 2: standstill, SG min/max not available Driver 3: ok, SG min/max 0/1023 Driver 4: standstill, SG min/max not available Driver 5: standstill, SG min/max not available Driver 6: standstill, SG min/max not available Driver 7: standstill, SG min/max 0/1023 Driver 8: standstill, SG min/max 0/1023 Driver 9: standstill, SG min/max 0/1023 Date/time: 2020-03-02 20:20:51 Cache data hit count 4294967295 Slowest loop: 261.76ms; fastest: 0.08ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 157, MinFreeDm: 132, MaxWait: 21532997ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 189, completed moves: 165, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.2 Heater 1 is on, I-accum = 0.3 === GCodes === Segments left: 1 Stack records: 3 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 doing "G1 X170.351 Y213.116 E12.2842" in state(s) 0 serial is idle 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: 372.96ms; fastest: 0.05ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 Interface state 5, link 100Mbps full duplex === Filament sensors === Extruder 0: pos 280.55, errs: frame 164 parity 0 ovrun 0 pol 5 ovdue 0
This is just what I had used to enable it this time...
M915 X Y S3 F1 H100 R3
Same print as above Diagnostic text. I just ran the M915 command mentioned above, printer rehomed itself, and I copied the M122 Diagnostic text.
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05 running on Duet Ethernet 1.02 or later + DueX5 Board ID: 08DGM-9T6BU-FG3S0-7JTDL-3SN6N-TS6VG Used output buffers: 1 of 24 (24 max) === RTOS === Static ram: 25712 Dynamic ram: 93836 of which 0 recycled Exception stack ram used: 656 Never used ram: 10868 Tasks: NETWORK(ready,628) HEAT(blocked,1232) DUEX(suspended,160) MAIN(running,1300) IDLE(ready,160) Owned mutexes: === Platform === Last reset 71:04:28 ago, cause: software Last software reset at 2020-02-28 21:23, reason: User, spinning module GCodes, available RAM 11240 bytes (slot 2) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: c Free file entries: 8 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms, max retries 0 MCU temperature: min 38.3, current 38.9, max 39.2 Supply voltage: min 23.7, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: ok, SG min/max 79/192 Driver 1: ok, SG min/max 80/184 Driver 2: standstill, SG min/max not available Driver 3: ok, SG min/max 0/1023 Driver 4: standstill, SG min/max not available Driver 5: standstill, SG min/max not available Driver 6: standstill, SG min/max not available Driver 7: standstill, SG min/max not available Driver 8: standstill, SG min/max not available Driver 9: standstill, SG min/max not available Date/time: 2020-03-02 20:28:27 Cache data hit count 4294967295 Slowest loop: 3.33ms; fastest: 0.09ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 142, MinFreeDm: 128, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 4941, completed moves: 4905, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.2 Heater 1 is on, I-accum = 0.3 === GCodes === Segments left: 1 Stack records: 3 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 doing "G1 X208.678 Y124.970 E0.4618" in state(s) 0 serial is idle 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: 6.89ms; fastest: 0.05ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 Interface state 5, link 100Mbps full duplex === Filament sensors === Extruder 0: pos 280.20, errs: frame 164 parity 0 ovrun 0 pol 5 ovdue 0
-
@dc42
I know I am a little late with this... Reminder.
As always, Thank you for your help!