Sensorless Homing crashing at ending script of first print
-
config.g:
M915 X Y S3 R0 F0
cura start:
M915 X Y S6 R1 F1
cura end:
M915 X Y S1 R0 F0
s3d start:
M915 X Y S7 R1 F1
S3d end:
M915 X Y S3 R0 F0
Only the S3D end code matches the config line.
Also note that because you change the M915 in the start gcode, and only change it back in the end gcode, if you cancel a print it won't be changed back unless you also have it in the cancel.g. For this reason you might want to have the sensorless homing version of your M915 in your homing files as well.
If you send M915 by itself in the console it will respond with the currently set value. You can use that to check its state before, during, and after printing to see how it's actually configured.
Another thing to keep in mind is that sensitivity also changes with temperature. So at the end of a print it may not behave the same as it does at the start of the print.
-
@Phaedrux Thanks so much! I would probably not have thought of changing the cancel.g file. I added M915 X Y S3 R0 F0. I also changed the stop.g file to include the same.
I will certainly fix the ending gcode to reflect the the config.g M915. Also, the reason I have the cura and s3d start to include the different M915 is because for the print, I want it to engage stall detection. Is there an easier way to do this through DWC and not the slicer?
Also, I understand regarding the heat. I have a 120mm noctua blowing on my board, and I have a 40x20 noctua attached to the motors themselves, for extra cooling.
-
@djstephenson1 said in Sensorless Homing crashing at ending script of first print:
Is there an easier way to do this through DWC and not the slicer?
The slicer is an ok place to put it, but since the only place where it changes is in the homing files, perhaps it makes most sense to change it in the homing files exclusively. At the start of the file configure it for homing and at the end configure it for normal detection.
@djstephenson1 said in Sensorless Homing crashing at ending script of first print:
Also, I understand regarding the heat. I have a 120mm noctua blowing on my board, and I have a 40x20 noctua attached to the motors themselves, for extra cooling.
I'm referring to the temperature of the motors themselves as that is where the back emf for stall detection is generated.
-
@Phaedrux I actually just thought a way to do this without having to employ a slicer. I realized that by changing all the files that are called up in DWC buttons, that I can make sensorless homing and stall detection work.
-
Yes placing the relevant commands in separate macros is a good way to do it because it means only changing it in a single place, it can be executed manually, or it can be called in other places as a macro with M98.
-
@Phaedrux okay I am starting to get it now. How successful could a macro be? Would it be easier for calibration, actual stall detection, or both?
-
Well it would be easier to tune, since you only have one place to change, and it's more flexible because you can just click on the macro to change the config. So it has benefits, but it won't change the actual performance of the stall detection.
-
@Phaedrux can you expand on what you mean by "won't change the actual performance of the stall detection?"
-
@Phaedrux do you have a basic structure I could use to build off of?
It would really help an enormous amount. And I will be sure to include it in the dozuki so others can tune theirs too!
-
Perhaps something like this?
stalld-printing.g
; sets stall detection values to be used when printing M915 X Y S7 R1 F1 ; Stall-d threshold 7, Action to 1 - log it, Filter mode 1 -filtered, one reading per 4 full steps
stalld-homing.g:
; sets stall detection values to be used when homing M915 X Y S3 R0 F0 ; Stall-d threshold 3, Action to 0 - no action, Filter mode 0 - unfiltered, one reading per full step
Place M98 P"stalld-homing.g" at the start of each homing file, and M98 P"stalld-printing.g" at the end of each homing file. This way you can take the commands out of your slicer and also just make changes to the stalld files for adjusting.
-
Yes that's exactly it. I use the same method for changing motor currents, etc
-
@Kolbi you guys are rock stars. Thank you so much. I will make sure that this info is out there for everyone else.
-
@djstephenson1 No worries. I keep meaning to do the same type of thing to my homing routines too; having homeall call the individual axes, but I've been in a combination of busy and lazy
-
@djstephenson1 I just did this to my files since it was fresh on the brain but I decided to leave the homeall.g as a standalone (not calling each homing file from within it).
You can see it here if you want: https://github.com/rkolbi/RRF-machine-config-files/tree/master/Prusa MK3s -
@Kolbi Awesome! I will certainly check it out
-
@Kolbi Your github is great!
-
@djstephenson1 Thanks! Glad you like it / found it useful.