Motor don't turn at direction change



  • Hello i'm Using a Zesty Nimble Extruder to print with a 0.9° Steppermotor. Duet2Ethernet with Duex5 Extensionboard (FW:2.02(RTOS))

    at a certain printspeed the E-Motor works fine as long as the direcktion of the print head doesn't change. If the direction changes, it seems that the rotor of the stepper couldn't keep up with the controller signals of the motordriver. It works fine at 20mm/s, without any issues, but if i print at 40mm/s the rotor suddenly stops turning and the stepper makes noise (missing stepps).

    Here are is my Config:
    M350 X16 Y16 Z16 E16:16:8:16 I1 ; Configure microstepping with interpolation
    M92 X80.00 Y80.00 Z639.585 E620:4100:1911.07:620 ; Set steps per mm
    M566 X900.00 Y900.00 Z100.00 E500:120:200:500 ; Set maximum instantaneous speed changes (Jerk) (mm/min)
    M203 X30000.00 Y30000.00 Z1200.00 E20000:20000:20000:20000 ; Set maximum speeds (mm/min)
    M201 X2500.00 Y1500.00 Z2500.00 E300:400:200:400 ; Set accelerations (mm/s^2)
    M906 X1600.00 Y1600.00 Z1600.00 E1600:1600:1600:1600 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout gcode

    My first thought was that the clock frequency of the Duet Stepperdriver (120KHz) was overreached.
    So i calculated the max rev/sec.
    with a 0.9° motor @ 8 microsteps it should be possible to get a max rotational speed of 37.5rev/sec.

    I also calculated the rev/sec i really need, with my hardware configuration and it seems that i only need 14rev/sec to print at a speed of 40mm/s.

    It could be a problem with a to high Acceleration or Jerk value but i tested it also and it did not work either.

    Maybe you can help me with this problem or you guys have any idea what it could be.



  • You have 4 extruder drivers defined. With quite different parameters across the 4.

    Which one is the Nimble that shows the problem?



  • The third one



  • Hmmm... a couple of those numbers don't seem to make sense. I could be off... lets run through some math. In particular, Max speed for the extruder does not "sanity check".

    • 20000 mm min * 1911 steps mm = 34220000 steps min

    • 34220000 / 400 steps per turn on a .9 motor = 85,550 RPM, which is 1425 revs per second.

    You were talking about needing the extruder to turn in the 15 to 40 Rev/Sec area. That only needs a pulse rate of 400*40=16000 / sec. for a 0.9 degree stepper. No strain producing that.

    We can calculate about (1911/400) = Revs MM = 4.7. Combined with your statement about 40 revs sec / 4.7 revs mm = 8.5 mm sec. Multiply that by 60 to get minutes and we get about 510 mm / min. That would be a much more appropriate number for M203. Something like 500 or 600.

    I'm not sure if that will help or not, but it makes a lot more sense.



  • @Philipp-R said in Motor don't turn at direction change:

    14rev/sec to print at a speed of 40mm/s.

    I also don't get that.

    1911 Steps per mm. (approx)
    400 steps to turn a 0.9 motor one full rev.
    400/1911 = .2 mm per rev (approx)

    14 rev sec * .2 mm per rev would mean you are going to extrude 2.8 mm of filament from the extruder in one second, while X and Y move 40mm.

    I just checked some slicer output and I'm seeing just a tiny bit over 1 mm of output across 40mm of movement. Your calculations seem about 2.5 to 3x too much.

    Are you using a very large nozzle? Something else that generates this much filament?



  • Per a statement by DC42 several months back, Extruders only use accel and jerk when they reverse. They do not use these numbers when 'changing speed' in typical slicer output that has lots of short G1 commands with very small numbers of mm for the E movement.

    Nonetheless, for purely debugging, you could try setting Jerk to 0 and accel really low. I don't expect that to change anything, but the "proof is in the pudding".



  • Just to add a bit of clarity here the nimble he is using I am guessing from the e-steps is a V2 which has a gear reduction of 20:1 so it will be a 1.8 degree motor.

    Looking at your config I think you have the settings for the nimble widely of what is needed

    These are my settings on a V2 for you to compare

    M92 X200 Y200 Z200 E1667 ; Set steps per mm
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M566 X900 Y900 Z900 E40 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z18000 E2400 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E120 ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E500 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    

    As you can see my motor current, acceleration, max instant speed changes, max speed and jerk are all a lot lower than yours!

    HTH

    Doug



  • @Dougal1957 settings match up pretty well to "sanity check" calculations. Give them a try!



  • @Danal said in Motor don't turn at direction change:

    Per a statement by DC42 several months back, Extruders only use accel and jerk when they reverse. They do not use these numbers when 'changing speed' in typical slicer output that has lots of short G1 commands with very small numbers of mm for the E movement.

    Nonetheless, for purely debugging, you could try setting Jerk to 0 and accel really low. I don't expect that to change anything, but the "proof is in the pudding".

    They only use jerk when retraction is in play, but it always uses acceleration. However, typically, the acceleration of the E axis is much greater than X and Y (it's actually not absolutely a bigger value, but the extruder doesn't need to accelerate as fast as XY) so it is never limited... ie it doesn't usually use the E accel value (except, again, during retraction).

    IMO, you have much too high of a E jerk value for your extruder. I don't use a nimble, but I use an odd extruder setup with about 4500 steps/mm and I can't go much above 1.2 mm/s E jerk or the motion is lost or the motor stalls.

    Try decreasing your M566 E value to 120, then 100, then 90, then lower if need be. I can't see lower than 60 ever being necessary, and at that point (below about 120), pressure advance will be really slowing down the XY axes to accommodate the E jerk (unless you have very conservative XY accel already).



  • @Danal as far as i know the M203 Command only limits the axis velocity. If the velocity would overreaches the maximum in M203, it would automaticly set to the given Values (20000mm/min) in M203.
    So i think it doesn't depend on that



  • @Danal said in Motor don't turn at direction change:

    @Philipp-R said in Motor don't turn at direction change:

    14rev/sec to print at a speed of 40mm/s.

    I also don't get that.

    1911 Steps per mm. (approx)
    400 steps to turn a 0.9 motor one full rev.
    400/1911 = .2 mm per rev (approx)

    14 rev sec * .2 mm per rev would mean you are going to extrude 2.8 mm of filament from the extruder in one second, while X and Y move 40mm.

    I just checked some slicer output and I'm seeing just a tiny bit over 1 mm of output across 40mm of movement. Your calculations seem about 2.5 to 3x too much.

    Are you using a very large nozzle? Something else that generates this much filament?

    At 14rev/sec i extrude 10mm/s of Filament. I use a selfmadde Extruder which uses some kind of gear ratio. So everthing is fine at that Point. But thanks for your commitment 🙂



  • @Danal said in Motor don't turn at direction change:

    Per a statement by DC42 several months back, Extruders only use accel and jerk when they reverse. They do not use these numbers when 'changing speed' in typical slicer output that has lots of short G1 commands with very small numbers of mm for the E movement.

    Nonetheless, for purely debugging, you could try setting Jerk to 0 and accel really low. I don't expect that to change anything, but the "proof is in the pudding".

    I already tried it and it doesn't work. It seems to me that the inertia at some point, in my case arround 14rev/sec, takes over the stepper torque. Maybe a more powerful Stepper would solve the problem. Becaus i am already at the limit of the 1.6A per phase.



  • @Dougal1957 said in Motor don't turn at direction change:

    Just to add a bit of clarity here the nimble he is using I am guessing from the e-steps is a V2 which has a gear reduction of 20:1 so it will be a 1.8 degree motor.

    Looking at your config I think you have the settings for the nimble widely of what is needed

    These are my settings on a V2 for you to compare

    M92 X200 Y200 Z200 E1667 ; Set steps per mm
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M566 X900 Y900 Z900 E40 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z18000 E2400 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E120 ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E500 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    

    As you can see my motor current, acceleration, max instant speed changes, max speed and jerk are all a lot lower than yours!

    HTH

    Doug

    Thanks Doug,

    i will try it tomorrow and reply to you if it worked. By the way i'm using a V1 Nimble (1:30).



  • @Philipp-R said in Motor don't turn at direction change:

    @Danal said in Motor don't turn at direction change:

    Per a statement by DC42 several months back, Extruders only use accel and jerk when they reverse. They do not use these numbers when 'changing speed' in typical slicer output that has lots of short G1 commands with very small numbers of mm for the E movement.

    Nonetheless, for purely debugging, you could try setting Jerk to 0 and accel really low. I don't expect that to change anything, but the "proof is in the pudding".

    I already tried it and it doesn't work. It seems to me that the inertia at some point, in my case arround 14rev/sec, takes over the stepper torque. Maybe a more powerful Stepper would solve the problem. Becaus i am already at the limit of the 1.6A per phase.

    Yah, I'm not surprised. It was a little bit of a "shot in the dark", just something easy to try.

    Do you happen to have the model number, or the specs, on the motor that is on the extruder? And what voltage do you run, 12 or 24?



  • @Philipp-R That config is exactly the same bar the steps/mm that I had on my V1 Nimble so the settings are valid for that as well but for a V1 I would have expected your Steps to be closer to 2700!

    Doug


  • administrators

    @Philipp-R, the problem may be that your motor is running out of torque due to insufficient supply voltage at high speeds. Use the motor EMF calculator at https://www.reprapfirmware.org/ to check this.



  • @Danal said in Motor don't turn at direction change:

    @Philipp-R said in Motor don't turn at direction change:

    @Danal said in Motor don't turn at direction change:

    Per a statement by DC42 several months back, Extruders only use accel and jerk when they reverse. They do not use these numbers when 'changing speed' in typical slicer output that has lots of short G1 commands with very small numbers of mm for the E movement.

    Nonetheless, for purely debugging, you could try setting Jerk to 0 and accel really low. I don't expect that to change anything, but the "proof is in the pudding".

    I already tried it and it doesn't work. It seems to me that the inertia at some point, in my case arround 14rev/sec, takes over the stepper torque. Maybe a more powerful Stepper would solve the problem. Becaus i am already at the limit of the 1.6A per phase.

    Yah, I'm not surprised. It was a little bit of a "shot in the dark", just something easy to try.

    Do you happen to have the model number, or the specs, on the motor that is on the extruder? And what voltage do you run, 12 or 24?

    i currently use a E3D Stepper: Comapct but Powerful version with 48mm bodylength. I also changed the motor to the smaller version with 40mm Body. I ran my motors at 24V.



  • @Dougal1957 said in Motor don't turn at direction change:

    @Philipp-R That config is exactly the same bar the steps/mm that I had on my V1 Nimble so the settings are valid for that as well but for a V1 I would have expected your Steps to be closer to 2700!

    Doug

    I use a special Extruder which need this 1900steps/mm 🙂


Log in to reply