UNSOLVED Stall not being detected...
I am trying to configure stall detection, but it's not detecting a stall, under any circumstance. I think I've set it to maximum sensitivity:
M915 Y S-64 F0 H150 R3
But the rehome.g file is never executed, even if I stop the motor manually. I tried S64, in case I misread the description, but that does not detect a stall, either. I've tried F0 and F1, and my H is set far below my speed.
I am running Duet 2 Wifi, OpenBuilds nema 17 motors rated at 1.6A & set to 1A, 16uStep/full-step, and at about 10 revs/second (high speed, only a small flywheel attached, so I can grab it to stall it).
This is my rehome.g file:
; rehome.g ; This is run if a stalled motor is detected. M220 S40 ; continue at 40% speed M300 ; send a beep (if connected to web), as an indicator g4 s1 ; pause 1 second, as an indicator
I also tried enabling logging, but get no indication there, either.
Thanks in advance!
I forgot to mention, I am using a 6A 24v power supply, so there should not be an issue with that.
I also tried bumping my current up to 1.6A, and that did not help.
Are you trying to register a stall during normal operation like printing, or for homing?
How are you commanding movement when you're trying to force a stall?
How did you determine your H value? Can you show your calculation?
Hmin = full_steps_per_rev * rated_current * actual_current/(sqrt(2) * pi * rated_holding_torque)
@Phaedrux , I am trying to detect it during normal operation. This is not a printer application, so there are no E moves. Only two axes move at any given time, and one (Z) is very slow. Because of that, I am only trying to detect stall on one axis (Y), a high-speed rotary that is configured as linear (set up with 1 rotation per "millimeter").
(Full steps/rev * Rated Current * actual current ) / ( Sqrt(2) pi rated holding torque in NM) =
(200 * 1.68 *1) / (1.4142135623731 * 3.14159265358979 * 0.536677939)
So I used 150, but my RPS is around 10, which is WAY faster than 150 full-step per second. There are very few 3d printers that spin any motor at 10 RPS, so I do not believe the minimum speed is an issue. I've tried stalling the motor at start-up, and at speed, and it is not detecting it.
This is my motor:
And this is the site I used to convert the 76 oz*in to Nm:
The reason I am trying to detect the stall is because it can run without stalling 100 times in a row, then stall inexplicably. No change in code, no change in load. When it does stall, sometimes it stalls halfway through accel (probably at the resonance speed), and sometimes its at decel, but once in a while it's while it's running at full speed. At 1.6A, it's more reliable than at 1A, but it is not 100% reliable anywhere.
It is also more reliable when warm (i.e. after running a "burn-in" sequence for a few minutes). Warm, I'm having better luck with .5A than cold at 1A, but no matter the current, it's not detecting it.
According to the web dashboard, my Y axis, which is not detecting, is going 339mm/sec.
Also, I checked the Dashboard for Vin, and it never drops below 24.0. At idle, it's mostly 24.1, sometimes 24.2. Running, it's mostly 24.1, and occasionally 24.0 (rarely).
Can you give some more details about what the motor is driving? What kind of loads/forces are applied to it? What do you think it causing it to skip steps in the first place?
There is no load.
Just a small 1.5" x .5" aluminum knob (flywheel).
Oh, yeah...and occasionally my hand stopping the knob for a forced stall. But the whole reason I started this exercise is because it would randomly stall with no changes made. At higher currents, it takes a lot more than a little fingertip pinch to get it to stop--you have to GRAB it.
That's going to be hard to detect if it's just some resistance from resonance vibration.
The stall guard feature is intended to detect an impact that causes a back EMF spike, like the nozzle impacting with a print. This may be too subtle to detect.
But it's not even detecting if I grab it at full speed. I would expect it could, at 339 "mm" per second.
I just tested, and the motor can run these speeds even as low as 260mA, but no 250.
When it stalls in operation, is it coming to a full stop?
Will have to see what DC42 thinks. I'm no expert on stalls. Just my best guesses.
@Phaedrux , Thank you for your help.
Yes, it comes to a full stop when it stalls, no matter when it stops (i.e. during accel, decel, or full speed).
Photo of the motor and mass? Is it well balanced?
@Phaedrux , probably not...although I ordered a steel knob, I received an aluminum one. Like I said, the knob is only 1/2" thick x 1.5" OD, the motor is about 1-3/4" long, so I think that's a dual stack motor.
When warm, it would run reasonably reliably with at .26A current. After letting it cool down, .5A is not enough to get it moving--it is stalling every time there, now, and .8A is hit & miss. I don't really want to have a long warmup cycle just to get this reliable.