4

I have run the K-factor Calibration Pattern generator to tune LIN_ADVANCE and found that when K=0, the whole middle part of the line is thinner. I was expecting that LIN_ADVANCE would only make a difference short after where the speed was increased or decreased, as described by the first picture on this page.

Running 01_.gcode

So from this picture, it looks as the best setting is around K=0.8 and that is also what was set as default in Configuration.h for Chiron. But when I tried the Printing Direction-setting set to 45 degrees the result was different. Then the best setting was around K=0.4.

The picture below shows a second test, where I set K=0 and just changed the fast speed. The faster the thinner lines were printed. I have tested printing long lines and seen that thickness will not compensate, even after a long time.

Running x01_.gcode

So why is my printer printing thinner lines when going fast and not using LIN_ADVANCE? Isn't the number of E-steps per mm printed line constant and not depending on the speed?

Here is a zip-file with the files used and pictures. (let me know if not possible to download)

ADDED 2021-02-22: To learn more about LIN_ADVANCE I made a second test today. To rule out most of the uncertainties that can affect the result, I let the bed stay heated between all four tests. Every test started at 210ºC, then 200, 190 and last 185ºC. The printer waited more than one minute between each temperature change. Bed temperature set to 60ºC. The lines are numbered in the order they are printed. Each test started by printing four lines at 20 mm/s to get "normal" nozzle pressure. Each line is 20+40+20=80mm long. Today I had acceleration set to 1200 and jerk to 8, which are higher than before (500,5). I changed because I use these values in Cura. Unfortunately, the bed is not 100% flat.

LIN_ADVANCE = 0.0 LIN_ADVANCE = 0.0

LIN_ADVANCE = 0.4 LIN_ADVANCE = 0.4

LIN_ADVANCE = 0.8 LIN_ADVANCE = 0.8

LIN_ADVANCE = 1.2 LIN_ADVANCE = 1.2

What I learned from these today's test:

  1. Very little ooze when going from 190 to 185ºC. (#46 is good)
  2. At higher temperatures after pausing for a minute, the printer needed some 10 to 15cm of printing distance to get the pressure back. (#16, #17)
  3. Next time I will print every second line as a reference and test fewer speed changes.
  4. Next time I will also test higher temperatures.
  5. The lines are printed thinner at higher speed, independent of temperature when K=0. (I thought it only happened at (too) low temperature).
  6. LIN_ADVANCE setting shall probably be lower when printing at higher temperatures (affected by filament viscosity).
  7. It might be different behaviour between the grey and the orange filament. Orange looks better, but the grey one sticks better to the bed.
  8. It is fun to do testing. :)

I did another test the first day, where I tested K=0 to K=0.8 and where the speed was 20+50+20 mm/s and the length was 60+180+60mm. Temp was 190ºC. It seems to show that even after 180mm of fast printing, the thickness is not recovered: 180mm test

The pictures above are uploaded at a lower resolution. Original pictures and the G-code can be downloaded from here.

dotswe
  • 360
  • 2
  • 10

1 Answers1

3

In your case, since linear advance makes the issue disappear, the reason of the thinner lines is the same as explained in the link you provided:

enter image description here

The section (2) simply is very long because you probably have a Bowden setup which takes more than the length of the middle section to recover. However it does recover, see the first line (k=0) in the first image.

At higher (constant) speed the flowrate decreases further due to pressure in the nozzle causing a reduced supply of filament, but this effect cannot be corrected by linear advance because linear advance assumes a linear relationship between pressure in the nozzle and extrusion.

FarO
  • 3,906
  • 13
  • 31
  • 1
    Why can't linear advance also compensate for pressure at the nozzle? I thought that was the whole point. – R.. GitHub STOP HELPING ICE Feb 18 '21 at 16:47
  • @R..GitHubSTOPHELPINGICE Maybe it was worded in a poor way, but linear advance is a correction which assumes a linear relationship between pressure and flow, assuming that the increased pressure basically is absorbed by expansion of the components (which is indeed a linear behaviour). Given the assumption, it anticipates the supply of filament to reach the desired pressure at the desired time. However 1) plastic is non-newtonian fluid and 2) the extruder starts sliding/deforming the filament at higher pressures, adding an additional non-linear term which cannot be compensated by LA/PA. – FarO Feb 18 '21 at 17:49
  • 1
    I'm not sure what you mean by (2). The extruder should not slip at all; if it does you have a serious problem to fix. It does compress the filament but that's fairly well modeled as a spring (linear). It's only (1) that should have nonlinear effects and they should be small until extreme speeds. – R.. GitHub STOP HELPING ICE Feb 19 '21 at 02:24
  • @R..GitHubSTOPHELPINGICE I meant also deformation of the filament, so in general the motion of the gear does not correspond to the motion of the filament, see http://www.extrudable.me/2013/04/18/exploring-extrusion-variability-and-limits/ – FarO Feb 19 '21 at 09:34
  • I tested if section(2) would eventually get the same flow by extending the fast part to 180mm, but I could not see that it changed it did.But I found two possible problems with my setup. 1: I used a low temperature setting (185º). That can also contribute to less supply of filament. 2: Then nozzle height might have been too low during the test. I was aiming for 0.2mm, but then I had problems getting the filament to stick to the bed. I will fix these two issues and run more tests later today. – dotswe Feb 21 '21 at 01:36
  • @dotswwe I run PLA at 230°C for best strength. You can go for 210 if you prefer easier bridging but 185°C is barely flowing – FarO Feb 21 '21 at 23:54
  • I did a final test to see what Marlin actually does. I removed the stepper drivers and connected a logic analyser to X_STEP, E_STEP and their direction pins. Pulseview has a nice stepper-plugin. Using that I could verify what you wrote. The number of E-steps per mm printed line is constant. This is also true when K-value is high, but where they are placed is different. So even if a 180mm fast-printed line is not enough, eventually the line-width would be the same as for the slow-printed line. I see the disadvantage with Bowden now. – dotswe Feb 23 '21 at 05:17