Extruder motors skip steps with pressure advance enabled
-
I hear what you say about the head being capable of acceleration of (double) 10000 mm/s^2. But my point was that, according to the Wiki, M204 applies to the entire move. That includes the extruder pushing filament through the hot end. Which in turn means that the melt rate of the filament has to accelerate at the same speed, which is kinda impossible. So the print head might be capable of ripping people's hands off, but there is no way on God's earth that the filament could be melted and extruded at those kind of speeds and accelerations. Non print moves fine but not extrusion moves.
Maybe I'm wrong but it'd explain the behaviour that's on your video. Or maybe as I said, there is some interaction between M204 and PA (yes, a bug if you like).
Anyway, easy to test to find out... -
@edgars-batna Oh and don't forget that in your config, you have the steps per mm set to 88 but then you change micro-stepping to 16X from 8X which gives you 176 steps per mm. If you remember, you did that deliberately so that you can set mixing to 0.5:0.5.
I kinda doubt that your E steps per mm and 16x micro stepping are what causes the problem because they are common values for non-geared extruders and AFAIK, nobody else has reported the same problem. But I admit that I'm clutching at straws and have run out of ideas.
-
So, finally reached the end of this thread.
@deckingman Just some info here:
M204
actually does understand theSnnn
parameter (although it is not documented) and will act as if you provided the value to bothPnnn
andTnnn
, i.e.M204 S50
will translate internally toM204 P50 T50
. But either way machine limits (i.e.M201
) always take precedence.
Simplified example: in case you have setM201 X20 Y20 Z20 E20
and then useM204 S1000000000
it will still limit to the 20mm/sĀ² ofM201
.@Edgars-Batna
That one out of the way: I also have ~100 steps/mm@x16 for E and used values for PA between 0.1 and 0.15 without having the issues described as you do. So I rather think it is some kind of issue with mixing extruders. We have seen issues there before. @deckingman should know.You did ask about what happens if a extruder move is shorter than one microstep. There was a bug fixed with 2.02 regarding this where these extruder moves simply where dropped. Now it accumulates fractions of a microstep and once it has a full microstep accumulated it will issue this. (It should have been like that ever since but there was a bug).
A bit above you said that resetting mixing ratio to
1.0:1.0
did not have any influence. Can you confirm that you also adjusted the steps/mm in this case?Also can you please once more post the block of settings with
M201
(accel)M566
(InstantDv in mm/min) (and/orM205
- same but mm/s)M204
(printing/travel accel)M92
(steps/mm)M350
(microstepping)M567
(mixing-ratio)
as it is now? I lost track whether it is still the same as in
config.g
in your OP or has changed in between. -
@wilriker Good to know about M201 taking precedence over M204 - thanks for clearing that up (but Slicers shouldn't mess about with these things IMO).
And yes, I had problems with PA messing with arc moves using a mixing hot end which took about a year to get resolved. But it's fine for me now using around 0.4 - 0.5 PA (but my steps per mm are about 400).
-
@deckingman I suppose wilriker's post clarifies what happens with M204, which I can confirm works as expected.
@wilriker Thanks for looking through it. The thread is as long as the story behind this. I've done like a dozen modifications to various parts of my printer over the last year, but I don't complain. The printer got at least twice better in all aspects now.
Regarding mixing: I've already tried disabling it. Behavior is the same. There's no need to adjust steps/mm for 1.0:1.0 mixing if I set the same value at double microsteps. I'm happy to rerun any tests if required.
To reiterate, if I change this:
M350 X16 Y16 E8:8 Z16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z2126.732 E88.208871:88.208871 ; Set steps per mm
M350 X16 Y16 E16:16 Z16 I1to this:
M350 X16 Y16 E8:8 Z16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z2126.732 E88.208871:88.208871 ; Set steps per mm
M350 X16 Y16 E256:256 Z16 I1Then it skips way less in the worst (third) gcode I originally posted, but it still skips. Trivial prints do not appear to visibly skip, but there are a few minor layer inconsistencies which are with high certainty caused by a skip that is simply inaudible. I repeat, skips are not sporadic and are load-independent; the skips are deterministic.
Regarding mixing,
1.0:1.0:
M350 X16 Y16 E16:16 Z16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z2126.732 E88.208871:88.208871 ; Set steps per mm
M350 X16 Y16 E16:16 Z16 I1
M567 P1 E1.0:1.0 ; set tool mix ratios more comments for greedy spam filter: let my posts alone!0.5:0.5:
M350 X16 Y16 E8:8 Z16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z2126.732 E88.208871:88.208871 ; Set steps per mm
M350 X16 Y16 E16:16 Z16 I1
M567 P1 E0.5:0.5 ; set tool mix ratiosM350 recalculates the steps/mm.
@wilriker said in Extruder motors skip steps with pressure advance enabled:
Also can you please once more post the block of settings
Until yesterday evening I ran with the values like in the original config.g. Then I tweaked the values a bit during a print (plus the E256 stepping config above):
M566 X2000 Y2000 Z600 E750:750 ; Set maximum instantaneous speed changes (mm/min)
M203 X96000 Y96000 Z800 E7500:7500 ; Set maximum speeds (mm/min)
M201 X24000 Y24000 Z1200 E1500:1500 ; Set accelerations (mm/s^2)
M906 X2100 Y2100 Z2000 E2400:2400 I40 ; Set motor currents (mA) and motor idle factor in per centM593 F20
M204 is per gode file, usually M204 S10000The rest is same, still at 0.5:0.5.
@wilriker said in Extruder motors skip steps with pressure advance enabled:
You did ask about what happens if a extruder move is shorter than one microstep. There was a bug fixed with 2.02 regarding this where these extruder moves simply where dropped. Now it accumulates fractions of a microstep and once it has a full microstep accumulated it will issue this. (It should have been like that ever since but there was a bug).
But I'm sort of seeing the exact opposite. Instead of accumulating, it sort of forces a single microstep movement. Maybe the firmware got corrupted? Should I reupload?
@wilriker said in Extruder motors skip steps with pressure advance enabled:
That one out of the way: I also have ~100 steps/mm@x16 for E and used values for PA between 0.1 and 0.15 without having the issues described as you do. So I rather think it is some kind of issue with mixing extruders. We have seen issues there before.
I wouldn't move it out that fast. I can print most prints without too obvious problems at lower values, but then some prints just fail. Have you tried the exact gcode as I posted it? But I suppose it won't fit your printer... Maybe this is easier to work with: 0_1548425317168_EccentricGearTest 0 0.gcode
Would be interesting to see layer width consistency on your printer.
-
@edgars-batna I looked into the file you posted. The first thing I noticed is that you sliced using volumetric extrusion. Just for testing could you slice that file again with volumetric extrusion disabled and see if this changes anything? Because that is something I don't use. And maybe you found an issue with volumetric extrusion and PA here.
I am currently in the middle of converting my machine to 24V and thus I cannot print the file you provided anytime soon, sorry.
Ref corrupted firmware: it is quite unprobable that a corrupted firmware will have just this one thing reversed. But it surely cannot harm to reinstall it.
-
@wilriker Just a heads-up: I just reuploaded 2.02a and removed the second extruder from the config.g entirely and the behavior is the same.
Will try disabling volumetric extrusion.
-
Just for reference, these are the places with absolute worst behavior (Top+Lid+2.gcode in original post) from that video:
Excerpt from gcode:
G1 X307.783 Y59.405 E0.01269
G1 X307.955 Y59.360 E0.01269
G1 X309.040 Y59.360 E0.07748
G1 X309.211 Y59.405 E0.01269
G1 X309.383 Y59.360 E0.01269
G1 X309.925 Y59.360 E0.03873
G1 X309.925 Y55.870 E0.24921
G1 X310.033 Y55.542 E0.02466
G1 X310.092 Y55.447 E0.00801
G1 X310.472 Y55.094 E0.03701
G1 X310.814 Y54.981 E0.02576
G1 X311.896 Y54.981 E0.07726
G1 X312.068 Y55.027 E0.01269
G1 X312.240 Y54.981 E0.01269
G1 X313.325 Y54.981 E0.07748
G1 X313.496 Y55.027 E0.01269
G1 X313.668 Y54.981 E0.01269
G1 X314.753 Y54.981 E0.07748
G1 X314.925 Y55.027 E0.01269
G1 X315.096 Y54.981 E0.01269
G1 X316.181 Y54.981 E0.07748
G1 X316.353 Y55.027 E0.01269
G1 X316.525 Y54.981 E0.01269
G1 X317.610 Y54.981 E0.07748
G1 X317.781 Y55.027 E0.01269
G1 X317.953 Y54.981 E0.01269
G1 X319.038 Y54.981 E0.07748
G1 X319.210 Y55.027 E0.01269
G1 X319.381 Y54.981 E0.01269
G1 X320.466 Y54.981 E0.07748
G1 X320.638 Y55.027 E0.01269
G1 X320.810 Y54.981 E0.01269
G1 X321.895 Y54.981 E0.07748
G1 X322.066 Y55.027 E0.01269
G1 X322.238 Y54.981 E0.01269
G1 X323.323 Y54.981 E0.07748
G1 X323.495 Y55.027 E0.01269
G1 X323.666 Y54.981 E0.01269
G1 X324.751 Y54.981 E0.07748
G1 X324.923 Y55.027 E0.01269
G1 X325.095 Y54.981 E0.01269
G1 X326.180 Y54.981 E0.07748
G1 X326.351 Y55.027 E0.01269
G1 X326.523 Y54.981 E0.01269
G1 X327.608 Y54.981 E0.07748
G1 X327.780 Y55.027 E0.01269
G1 X327.951 Y54.981 E0.01269
G1 X329.036 Y54.981 E0.07748
G1 X329.208 Y55.027 E0.01269
G1 X329.380 Y54.981 E0.01269
G1 X330.464 Y54.981 E0.07748
G1 X330.636 Y55.027 E0.01269
G1 X330.808 Y54.981 E0.01269
G1 X331.893 Y54.981 E0.07748
G1 X332.064 Y55.027 E0.01269
G1 X332.236 Y54.981 E0.01269
G1 X333.321 Y54.981 E0.07748
G1 X333.493 Y55.027 E0.01269
G1 X333.664 Y54.981 E0.01269
G1 X334.749 Y54.981 E0.07748
G1 X334.921 Y55.027 E0.01269
G1 X335.093 Y54.981 E0.01269
G1 X336.178 Y54.981 E0.07748
G1 X336.349 Y55.027 E0.01269
G1 X336.521 Y54.981 E0.01269
G1 X337.606 Y54.981 E0.07748
G1 X337.778 Y55.027 E0.01269
G1 X337.949 Y54.981 E0.01269
G1 X339.034 Y54.981 E0.07748
G1 X339.206 Y55.027 E0.01269
G1 X339.378 Y54.981 E0.01269
G1 X340.463 Y54.981 E0.07748
G1 X340.634 Y55.027 E0.01269
G1 X340.806 Y54.981 E0.01269
G1 X341.886 Y54.981 E0.07710
G1 X342.082 Y55.020 E0.01429
G1 X342.234 Y54.981 E0.01121
G1 X343.319 Y54.981 E0.07752
G1 X343.491 Y55.027 E0.01269
G1 X343.663 Y54.981 E0.01269
G1 X344.748 Y54.981 E0.07748
G1 X344.919 Y55.027 E0.01269
G1 X345.091 Y54.981 E0.01269
G1 X346.176 Y54.981 E0.07748
G1 X346.348 Y55.027 E0.01269
G1 X346.519 Y54.981 E0.01269
G1 X347.598 Y54.981 E0.07704
G1 X347.744 Y55.012 E0.01061
G1 X347.999 Y55.132 E0.02016
G1 X348.339 Y55.472 E0.03437
G1 X348.461 Y55.730 E0.02032
G1 X348.487 Y55.841 E0.00813
G1 X348.490 Y59.300 E0.24703The places are obvious as they sort of oscillate. Maybe underflow somewhere?
Oh my, it's 2019 and we still haven't figured out how to use double precision or at least exponential notation:
G1 X387.722 Y86.349 E0.00507
G1 X387.540 Y86.167 E0.01838
G1 X387.358 Y86.349 E0.01838
G1 X387.292 Y86.376 E0.00507
G1 X386.359 Y86.376 E0.06664
G1 X386.294 Y86.349 E0.00507
G1 X386.112 Y86.167 E0.01838
G1 X385.930 Y86.349 E0.01838
G1 X385.864 Y86.376 E0.00507
G1 X384.931 Y86.376 E0.06664
G1 X384.865 Y86.349 E0.00507
G1 X384.683 Y86.167 E0.01838
G1 X384.501 Y86.349 E0.01838
G1 X384.436 Y86.376 E0.00507
G1 X383.503 Y86.376 E0.06664
G1 X383.437 Y86.349 E0.00507
G1 X383.298 Y86.210 E0.01400
G1 X383.150 Y86.358 E0.01493
G1 X382.645 Y86.358 E0.03608
G1 X382.497 Y86.210 E0.01493
G1 X382.359 Y86.349 E0.01400
G1 X382.293 Y86.376 E0.00507
G1 X381.360 Y86.376 E0.06664
G1 X381.294 Y86.349 E0.00507
G1 X381.113 Y86.167 E0.01838
G1 X380.931 Y86.349 E0.01838
G1 X380.865 Y86.376 E0.00507
G1 X379.932 Y86.376 E0.06664
G1 X379.866 Y86.349 E0.00507
G1 X379.684 Y86.167 E0.01838
G1 X379.502 Y86.349 E0.01838
G1 X379.437 Y86.376 E0.00507
G1 X378.503 Y86.376 E0.06664
G1 X378.438 Y86.349 E0.00507
G1 X378.256 Y86.167 E0.01838
G1 X378.074 Y86.349 E0.01838
G1 X378.008 Y86.376 E0.00507Maybe disabling volumetric extrusion could cause it to get worse as the values would be lower. I'll try...
Without cough volumetric extrusion cough cough:
G1 X165.838 Y66.956 E0.00211
G1 X165.656 Y66.774 E0.00764
G1 X165.474 Y66.956 E0.00764
G1 X165.408 Y66.983 E0.00211
G1 X164.475 Y66.983 E0.02771
G1 X164.410 Y66.956 E0.00211
G1 X164.228 Y66.774 E0.00764
G1 X164.046 Y66.956 E0.00764
G1 X163.980 Y66.983 E0.00211
G1 X163.047 Y66.983 E0.02771
G1 X162.981 Y66.956 E0.00211
G1 X162.799 Y66.774 E0.00764
G1 X162.617 Y66.956 E0.00764Maybe I need absolute E values?
-
@edgars-batna Absolute E values will be converted internally to relative ones as soon as that line of GCode is parsed so there will probably be no change in switching to this.
Still I'd like to know what happens if you print this file with regular relative extrusion. It still might be that there is a bug in the combination of PA and volumetric extrusion. Even though I did not find anything suspicious in the source code. But everything regarding movement is very complicated and distributed so it is easy to miss some aspects if you are not very familiar with the code.
-
@wilriker @deckingman I'm now running the EccentricGearTest in non-volumetric mode and the print speed feels like 150% than what was in volumetric mode and I'm sure it extrudes same amount of filament. The extruder motors still produce knocking sounds as if losing steps, but this time it's independent of E microstepping - same thing happens on 16 and 256.
0_1548436488558_EccentricGearTest 0 0 non-volumetric.gcode
0_1548436494441_EccentricGearTest 0 0 volumetric.gcodeLayer width is still inconsistent and I can hear the steps are lost.
EDIT: added files
-
@wilriker I'm in the code after all. First place I think needs some clarifying:
dev branch
GCodes.cpp:2333
volumetricExtrusionFactors seems to be used squared when only one E parameter is present, why?if (eMoveCount != 0) { // Set the drive values for this tool float eMovement[MaxExtruders]; size_t mc = eMoveCount; gb.GetFloatArray(eMovement, mc, false); if (mc == 1) { // There may be multiple extruders present but only one value has been specified, so use mixing const float moveArg = eMovement[0] * distanceScale; float requestedExtrusionAmount; if (gb.MachineState().drivesRelative) { requestedExtrusionAmount = moveArg; } else { requestedExtrusionAmount = moveArg - virtualExtruderPosition; virtualExtruderPosition = moveArg; } // rawExtruderTotal is used to calculate print progress, so it must be based on the requested extrusion before accounting for mixing, // otherwise IDEX ditto printing and similar gives strange results if (moveBuffer.moveType == 0 && !doingToolChange) { rawExtruderTotal += requestedExtrusionAmount; } for (size_t eDrive = 0; eDrive < eMoveCount; eDrive++) { const int drive = tool->Drive(eDrive); float extrusionAmount = requestedExtrusionAmount * tool->GetMix()[eDrive]; if (extrusionAmount != 0.0) { if (gb.MachineState().volumetricExtrusion) { extrusionAmount *= volumetricExtrusionFactors[drive]; } rawExtruderTotalByDrive[drive] += extrusionAmount; // Don't count extrusion done in filament loading or tool change macros towards total filament consumed, it distorts the print progress moveBuffer.coords[drive + numTotalAxes] = extrusionAmount * extrusionFactors[drive]; #if HAS_SMART_DRIVERS if (moveBuffer.moveType == 1) { SetBit(moveBuffer.endStopsToCheck, drive + numTotalAxes); } #endif } } } else { // Individual extrusion amounts have been provided. This is supported in relative extrusion mode only. if (gb.MachineState().drivesRelative) { for (size_t eDrive = 0; eDrive < eMoveCount; eDrive++) { const int drive = tool->Drive(eDrive); float extrusionAmount = eMovement[eDrive] * distanceScale; if (extrusionAmount != 0.0) { if (gb.MachineState().volumetricExtrusion) { extrusionAmount *= volumetricExtrusionFactors[drive]; } rawExtruderTotalByDrive[drive] += extrusionAmount; // Don't count extrusion done in filament loading or tool change macros towards total filament consumed, it distorts the print progress if (moveBuffer.moveType == 0 && !doingToolChange) { rawExtruderTotal += extrusionAmount; } moveBuffer.coords[drive + numTotalAxes] = extrusionAmount * extrusionFactors[drive] * volumetricExtrusionFactors[drive]; #if HAS_SMART_DRIVERS if (moveBuffer.moveType == 1) { SetBit(moveBuffer.endStopsToCheck, drive + numTotalAxes); } #endif } } } else { platform.Message(ErrorMessage, "Multiple E parameters in G1 commands are not supported in absolute extrusion mode\n"); } } }
DriveMovement.cpp:241
mp.cart.accelStopStep = (uint32_t)((dda.accelDistance + accelCompensationDistance) * effectiveStepsPerMm) + 1;
DriveMovement.cpp:249
mp.cart.accelStopStep = (uint32_t)(dda.accelDistance * effectiveStepsPerMm) + 1;
and some others where a +1 is added. How do I interpret this? Does this mean acceleration will occur for a full microstep? Shouldn't this be rounded instead of forced to +1?
I'm fresh to the code and I can't wait to fix my printer, so any help is much appreciated... Need to figure out how to build this so I can break my machine for good and move on...
-
@edgars-batna I couldn't help and had to get my machine back working to try to print the EccentricGearTest non-volumetric. Only a couple of layers though because I only sloppily set it back to working condition and it was unable to cope with the high jerk for Y. Anyway, until I stopped it there were no observable skipped steps for the extruder. running with PA at 0.1s. Also no issues reported in
M122
(which I would not expect also on your side).Ref double application of
volumetricExtrusionFactors
: a couple of lines above that it will multiplyrequestedExtrusionAmount
with the current extruder's mixing-ratio. In your case at 0.5 this will half the extrusion amount for this extruder. And this value will then be multiplied to convert it back from volumetric to "regular" extrusion. So I don't see anything wrong there.About this +1 I would have to read the code more in depth to answer that. Maybe @dc42 can step in here?
-
@wilriker said in Extruder motors skip steps with pressure advance enabled:
@edgars-batna I couldn't help and had to get my machine back working to try to print the EccentricGearTest non-volumetric. Only a couple of layers though because I only sloppily set it back to working condition and it was unable to cope with the high jerk for Y. Anyway, until I stopped it there were no observable skipped steps for the extruder. running with PA at 0.1s. Also no issues reported in
M122
(which I would not expect also on your side).M122 never reported any errors for me.
There are places that take the speed changes and extrusion amount into consideration in the code and I'm trying to find anything obvious there, but it's a long shot as I'm sure nothing obvious was left there by the mighty firmware devs. With enough jerk and with low enough segment size these parameters are nearing zero. My theory is that there could be a condition when no pressure advance is actually required, but I'm in well over my head now. My other theory is that my family will print a gun and kill me and the printer once it's is up and running first thing in the morning.
-
@edgars-batna said in Extruder motors skip steps with pressure advance enabled:
M122 never reported any errors for me.
Meh! That's what I wanted to say that I do not expect any errors in
M122
in your side either. This happens when you get lost on negations.There are places that take the speed changes and extrusion amount into consideration in the code and I'm trying to find anything obvious there, but it's a long shot as I'm sure nothing obvious was left there by the mighty firmware devs.
I think finding obvious errors is rather unlikely. Simply because those would most probably have affected others as well.
With enough jerk and with low enough segment size these parameters are nearing zero. My theory is that there could be a condition when no pressure advance is actually required, but I'm in well over my head now.
You could try to only print very tight arcs using
G2|G3
. This should result in segments being a short as 0.2mm. if you also change direction as often as you can it should lead to PA not being applied.My other theory is that my family will print a gun and kill me and the printer once it's is up and running first thing in the morning.
I suggest a knife. This is less likely to hurt the person using it.
-
@wilriker I've got more findings. Could you please try something for me:
- Remove filament
- If possible, remove or disconnect axes so that motors can run at high jerk. We need to achieve high jerk, or the problem does not occur.
- Try to get to at least 1500 jerk, ideally 2000 for XY and around 1000 for E.
- Accelerations can be set to same values as jerk. Top speeds are unimportant, but at least 30mm/s on XY and, I dunno, 75mm/s for extruder. We're running without filament and, potentially, the axes.
- If running with axes, make sure you've got space for at least 200mm for X and 100mm for Y movement.
- Set E microstepping to 16, volumetric or non-volumetric doesn't matter, I suggest trying both. Obviously this only works for low stepsPerMM extruder setups, so for geared extruders the values might need to be way higher.
- Set PA to 0.6 for the test: M572 D0:1 S0.6
- Enable cold extrudes: M302 P1
- Run this macro: 0_1548503110156_PA tiny segment test 4.gcode
I've found that unless I increase XY jerk to above 1500 skipping barely happens on my printer.
The skipping is caused by these small segments:
G1 X172.798 Y66.774 E0.00764
G1 X172.616 Y66.956 E0.00764
G1 X172.550 Y66.983 E0.00211
G1 X171.617 Y66.983 E0.02771
G1 X171.551 Y66.956 E0.00211
G1 X171.369 Y66.774 E0.00764
G1 X171.187 Y66.956 E0.00764
G1 X171.122 Y66.983 E0.00211
G1 X170.189 Y66.983 E0.02771
G1 X170.123 Y66.956 E0.00211
G1 X169.941 Y66.774 E0.00764
G1 X169.759 Y66.956 E0.00764
G1 X169.694 Y66.983 E0.00211
G1 X168.760 Y66.983 E0.02771And there is a semi-sudden change in behavior depending on printer configuration where skipping appears and is rampant. It must be related to startSpeed == endSpeed == topSpeed condition, but I'm still just building up theory and repro cases.
-
@edgars-batna Looks like could be homing in on something. I had a notification from GitHub that you had made a comment regarding the issue I raised with Slic3R generating "random" segment lengths for arcs. This was once thought to be the root of the problem that I was having with PA. AFAIK, the slicer issue was never fixed but eventually something changed in firmware and the problems I was having went away. Sooooo.....
If I get chance, I'll run your gcode file on my machine - I can run at those accels and jerk settings without probs (although my machine doesn't print well with those values). For test purposes, without filament, I can set steps per mm the same as yours (and mixing ratios too). Give me some time though - I'm in the middle of quite a large print run........
-
@deckingman Interesting coincidence. For reference, here's the slic3r PE issue: https://github.com/prusa3d/Slic3r/issues/1000
The thing about pressure is that in the gcode I posted above it alternates between 0.0297 and 0.0296 and I don't see any obvious means to take such errors into account and prevent PA from happening. This low-precision stuff is something that should have been left to rot in the past...
There are a few things I'd like to try in the code using the process of elimination to see how the behavior changes, but I'm afraid to brick my Duet (yeah, I'll try it anyway).
-
@edgars-batna Yes, that's the one I started - I'm irp53 on Github - (my initials and year of birth). Guess you must be mdealer.
You could try a different slicer - see if it makes any difference? - Just a thought.......
-
@deckingman said in Extruder motors skip steps with pressure advance enabled:
@edgars-batna Yes, that's the one I started - I'm irp53 on Github - (my initials and year of birth). Guess you must be mdealer.
You could try a different slicer - see if it makes any difference? - Just a thought.......
Yes, mdealer - that's me.
So far I haven't seen any free slicers that work as expected. Slic3r came close, but is nearly abandoned now. Slic3r PE is now the best one out there as far as I can tell. It has bugs, but it's actively moving forward. They've done a good job so far, even considering the bugs. They've worked around so many other issues already (e.g. Perl).
Btw, I'm modifying and testing the firmware as we speak. Just by commenting out extrusionPending (the fraction from previous move, which was added in 2.02) extruders no longer skip as hard. They still skip, tho, which sort of confirms that this can be an old issue. Tightly balancing between 3-4 potential problems in some corner cases here and my printer has "corner case" etched all over it.
-
@edgars-batna Yes I agree with you about slicers. Tried them all - free and paid. My problem is multi-colour with 5 extruders - none of them do that well (if at all) apart from Slic3R. PE version of slic3r is now too tightly aligned with PE firmware for MMU style multi colour printing so I have to turn off all that stuff and use my own macros and post processing scripts. I'm actually starting to hate it with a vengeance and reverted back to non PE Slic3R. There has been a bit of movement on non PE Slic3R - there are some dev versions around which aren't bad.
Brae of you to modify and test the firmware - I wouldn't know where to start with any of that stuff.