Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. Viscoelastic
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 31
    • Best 8
    • Controversial 0
    • Groups 0

    Viscoelastic

    @Viscoelastic

    12
    Reputation
    2
    Profile views
    31
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Viscoelastic Unfollow Follow

    Best posts made by Viscoelastic

    • PA asymmetry & speed sensitivity & easy way to calibrate for it

      Following on from a previous topic on pressure advance in which I detailed some of the theory relating to the flow dynamics of molten plastics I have put in a substantial amount of work into figuring out a suitable way in which to verify the theory on a practical level. The point of the test method that I have come up with is to firstly determine whether there is in fact an asymmetry between acceleration PA and deceleration PA and whether PA is sensitive to changes in extrusion speed. Secondly this method is intended so serve as a simple way to determine the correct PA setting for the start (acceleration PA) and end (deceleration PA) of a print loop/line at various extrusion speeds, thereby allowing for calibration of a system that takes account of such asymmetry and speed sensitivity.

      The method used requires the printing of single wall thickness test cylinders of 40mm outer diameter and 5mm height and with a cutout in the perimeter so that the start and end of the line does not overlap. Test pieces can then be printed with different PA values and the start and end of the line can then be measured with a vernier to determine wall thickness. Measurements must be taken above the level of the bottom layer to avoid measurement distortions due to elephant foot effects. I took all measurements at half the height of the test pieces for consistency and also at the thick end of the wedge shape for line starts (see explanation for this wedge shape further down). Once the start and end of the line equals the same wall thickness as the average line width around the cylinder, the correct PA levels for that extrusion speed have been determined. This test can be repeated for a number of different speeds thereby determining the speed dependency of the extruder/material combination. The firmware could then be set up to fit a curve to the data and interpolate between the calibrated values in order to determine the correct PA levels at any other speeds up to the maximum calibrated speed. The test cylinder looks like this :

      20210917_123858.jpg

      I have sliced this with a staggered pattern on the heat bed so that I can sequentially print 4 parts per print job (at a given speed), thereby allowing me to test 4 different PA values at each end of the line at a time. Each print takes only 4 to 6 minutes depending on the speed at which I am calibrating. It would be possible to set up even more test pieces in one print job, allowing you to test even more PA values per print job.

      The results of the testing I have done indicate the following :

      1. There is a very definite asymmetry between acceleration and deceleration PA. (see test results posted further down)
      2. There is a clear cut extrusion speed dependency. (see test results posted further down)
      3. It appears that the implementation of the PA formula as it is at present may need to be revisited. (see explanation further down)
      4. Line starts require a defined extrusion start distance before axis movement starts

      Note : I started out by having to test for the correct values at start and end of line in separate print jobs as the system does not allow for asymmetric PA values to be used at present, but eventually I managed to put together a print job with S3D that changes the PA values mid arc and again at the start of a line, on each level. This was a bit complicated to do but I managed to get it done with some effort. It does leave artifacts mid arc where the PA values change but since I wanted to see the effect at the start and end of the line this was acceptable for pure test purposes. Once this system is setup in the firmware it would be easy to do without the artifacts.

      Test results (from initial testing using symmetric PA only):

      PA Test results.png
      Discussion on implementation of PA formula

      The results of the testing show that even if the width at the start of a print line can be tuned to the correct width it is always followed by a thinning of the line which then gradually thickens out again until it reaches the full line width some distance further around the arc of the test cylinder. This would seem to indicate that the extruder acceleration is switched off before the output velocity of the molten plastic from the nozzle outlet has reached the velocity of the filament input into the melt chamber and therefore lags the required velocity for some time before finally catching up.

      The same phenomenon (but relating to the deceleration PA) can also be observed at the start of the line where it follows immediately after the end of the previous line. It seems that the extruder deceleration is switched off before the output velocity from the nozzle reaches zero, meaning that the pressure decay in the nozzle does not allow zero pressure to be reached at the end of the line. Even if a Slicer retract is done at the end of the line. then this residual pressure remaining in the nozzle is immediately restored after the unretract resulting in excess pressure at the line start with resultant blobbing.

      I have prepared an input vs output velocity graph indicating what seems to be happening vs what should be happening.

      Note : The sloped yellow line overlaps with the first part of the blue line. The black and red lines partially overlap also.

      Extrusion velocity profiles for PA.png

      Lastly if I calculate an actual extrusion velocity using the PA formula with a PA value of only 0.15 together with an extruder acceleration of 1750mm/s^2 and a requested extrusion speed of 2.5mm/s then the actual extrusion velocity would have to be 265mm/s which the extruder could obviously never reach. The acceleration phase therefore clearly has to be stopped well before this velocity would be reached and I am guessing that it is stopped as soon as the requested velocity (2.5mm/s in this example) is reached. This has the effect of using a higher acceleration rate than would be used without the PA but at the same time causes the acceleration to be terminated too early.

      The correct application of the PA formula I believe would be to apply the new effective acceleration rate calculated by the formula over the same time interval as the original acceleration rate would have required. This would also equal the time interval required for the positional axis to reach its required speed. This would ensure that output acceleration continues at a constant rate until the required speed is reached, without lagging behind the requirement. The same argument goes for the deceleration except that a negative input velocity would be required at the end of the acceleration phase.

      Line starts :

      One further important discovery I made relates to the way the start of the print line is handled. The extruder and positional axis start moving simultaneously at the start of the line but at this point the plastic is at the level of the end of the nozzle, which is up in the air. This is incorrect as enough plastic would have to be at the level of the build plate by the time that movement of any axis starts. In order to ensure that the correct amount of plastic is extruded at the start of the print loop/line an initial amount must be extruded, equal to a volume made up of the height of the layer and a diameter equal to the width of the line being printed. Unless this is taken care of, the start of any print line is always wedge shaped (when PA is being used). In order to correct this, an extra extrusion start distance must be used before the axis starts to move. I was able to compensate for this by defining an extra restart distance in S3D. In this manner I was able to eliminate this problem and line starts became parallel.

      Important observation regarding slicing

      Furthermore after examining the G Code from the S3d slicer I noticed that in any closed loop the start and end of the loop are 100% coincident meaning that there is an overlap leading to excess plastic being deposited in this junction. This excess plastic is not related to PA factors. This slicing problem can be sort of taken care of by setting up coasting at the end of the line so as to control the amount of overlap that will occur between the start and end of the line. This is however not ideal as it will result in open ended lines being cut short by the amount of coasting set up. A better way to do that would be for the slicer to have a setting which allows for overlap to be specified on closed loops. I am not sure how other slicers print the start end junction of a print loop.

      posted in Tuning and tweaking
      Viscoelasticundefined
      Viscoelastic
    • Scientific take on pressure advance

      Re: Enhancing pressure advance

      There has been quite a bit of discussion on the topic of pressure advance (see above thread amongst others) as well as an expressed sentiment that this should be looked at from a more scientific point of view (deckingman). As I have been using PA quite a bit I have also recognized that it does need some further improvement. I would like to raise this topic once more and take a look at it on the basis of the relevant engineering principles. Hopefully a consensus can be reached, and Duet3D convinced to implement the necessary changes. I will point out that I am not a plastics expert although I am an engineer and have done some research in order to get a better understanding of the matter.

      In order to understand how the plastic behaves during extrusion it is necessary to consider its’ rheology. Plastics are non-newtonian in nature and typically behave as pseudoplastics, meaning their viscosity at low shear rates (which is proportional to flow rate for a given nozzle size) will be constant (linear) and then as the shear rate increases beyond a certain threshold the viscosity will start reducing (nonlinearly) to its’ minimum at the high shear rate threshold at which point the viscosity will again become constant. This is referred to as shear thinning behaviour.

      The viscosity itself (at a reference temperature) as well as the point at which the viscosity vs flow rate changes from constant/linear to reducing/nonlinear is determined by the average molecular weight (MW) of the plastic. Viscosity is proportional to MW so the higher the MW the higher the viscosity. Plastics such as Nylon and PETG are typical low MW plastics having a constant viscosity over a wider range of the flow rates used in 3d printing, whereas ABS, PC and PP for example are higher MW plastics whose viscosity will reduce nonlinearly from relatively low flow rates with possibly a small window of constant viscosity flow at very low flow rates. In plastic profile extrusion (such as extrusion of plastic pipes for example), extrusion rates do reach the level at which the lower constant viscosity limit is reached. I am not sure whether this level is reached in 3d printing processes.

      The shear stress generated in the molten plastic is the mathematical product of viscosity and shear rate. For a given nozzle geometry, this is proportional to the pressure required in the hot end while extruding. Due to this shear (flow) rate dependency, the pressure required to extrude plastic through the nozzle will therefore always increase with increasing flow rate, albeit that it will do so with a decreasing rate (due to the shear thinning effect on the viscosity). See below graph showing he characteristic curve of a pseudoplastic.

      Schematic of shear stress vs shear rate for Pseudoplastic vs Newtonian fluids.png

      It must also be noted that thermoplastics behave in a viscoelastic manner when subjected to a stress i.e pressure. This means that when the plastic is forced through the nozzle under pressure the plastic will compress elasticly (based on its' storage modulus) as well as heating up due to viscous friction (based on its' loss modulus) as it absorbs some of the pressure energy. The energy absorbed in the plastic is proportional to the pressure it is subjected to, which is in turn proportional to the flow rate. This means that at a higher flow rate more energy is stored in the molten plastic than at lower flow rates.

      The relevance of this to extrusion in a 3d printer, is that when the plastic is pressurized, for example when accelerating it to the set extrusion velocity, there is an elastic as well as viscous absorption of pressure energy which takes place. When the plastic is depressurized during the deceleration phase, only the elastic component will be released again as the viscous component has been absorbed as thermal energy.

      There are a number of implications following on from the above:

      1. The energy released under deceleration is always less than that absorbed during acceleration, therefore PA under acceleration and deceleration would have to be different.
      2. The PA required during deceleration would have to be less than that required for acceleration.
        Note : Some low molecular weight plastics with a broader constant viscosity vs flow rate window could be extruding on a part of the viscosity curve where elastic effects are still relatively low and therefore the difference in required PA between acceleration and deceleration phases would not be very pronounced. This I believe would account for some of the test results obtained by deckingman. For higher MW plastics the difference in required PA values would be more pronounced though and therefore make separate PA values essential in an optimal implementation of PA.
      3. A PA that is too high during the (transient) acceleration phase will result in an excess pressure at the end of the acceleration phase. This excess pressure will then bleed excess filament into the print bead (over a distance proportional to the excess pressure) until the pressure reaches the required steady state pressure. This results in a print bead that is too high/thick at the start, and when the nozzle approaches this point again at the end of that specific print loop, it will plough into that excess plastic, pushing it ahead of itself and outwards, resulting in further artifacts on the print surface.
      4. A PA that is too high low during the (transient) deceleration phase will result in an excess pressure at the end of the deceleration phase. This excess pressure will bleed excess filament into the print bead until the pressure reaches its’ minimum (should be zero if PA value were correct) during the time available before the flow is accelerated again at the beginning of the next print segment. As this pressure bleed off happens at a zero/low velocity the excess plastic is concentrated and forms a blob.
      5. A PA that is too low during the acceleration phase or too high during the deceleration phase will result in gaps for both the acceleration as well as the deceleration phase.
      6. In order to use it optimally, PA would have to be tied to the speed at which it has been determined, as was also found by bot. This is because the amount of PA required (at a given temperature) is dependent on the extrusion flow rate as well as the elastic energy storage (storage modulus) and viscous losses (loss modulus) in the plastic. Making provision for this would therefore require tuning PA at more than one speed and then interpolating between those tuning points at all other speeds. The number of tuning points used would have to be a balance between the accuracy required and the effort that a user is willing to expend.
      posted in Tuning and tweaking
      Viscoelasticundefined
      Viscoelastic
    • RE: Issues with pressure advance since RRF 3.4

      @argo I have been meaning to do a test between the two firmware versions for a few weeks now and finally got a chance to do so on the weekend.

      I have two identical cartesian bedslinger machines both running everything directly off a MB6HC with SBC. One is running on version 3.3 and the other is running on version 3.4.0. I am not presently using input shaping. Both machines have direct drive Titan Aqua extruders.

      I printed a 50mm single outline square with a 1mm gap in one side, so that I can measure line starts and ends as well as seeing what happens at the corners of the print. I used a PA setting of 0.055 using ABS at a print speed of 45mm/s for both machines and a retraction of 0.4mm.

      I did not see a difference between the two firmware versions, either at the corners or at line starts or ends. This was determined by measuring the difference in thickness at line starts and ends as well as the first corner vs the thickness midspan between the line start and the first corner. In each case I measured the same difference.

      Based on some of your earlier comments and those from @dc42 it seems therefore that this problem may be confined to systems running with an attached tool board. Did you see any difference in printing when both machines were running on version 3.3 firmware? If not, then you can pretty much eliminate the mechanical hardware difference between the two machines as a cause of the problem.

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: PA asymmetry & speed sensitivity & easy way to calibrate for it

      @bot said in PA asymmetry & speed sensitivity & easy way to calibrate for it:

      ...I found that when compensating for the width of extrusion at the end/start of line (by adding a gap), and extruding a small amount of plastic to ensure it touches the substrate, before x/y movement begins, there was an excessive blob left at the start...

      After thinking about this some more I would like to comment on this particular observation. I have also seen this behavior even with PA active. If PA is inactive then this would just be accentuated a bit more. I believe that this blob left at the start is due to a residual pressure remaining in the nozzle from the end of the previous line. In the case that PA is inactive this would be due to the fact that no allowance is made to ensure pressure decay by the end of the print line. In the case of PA being active I believe this would be due to the fact that the present implementation of PA does not allow the pressure to fully decay by the end of the print line even though it does obviously allow for a greater pressure decay than when it is not active.

      If you are using a retract movement at the end of lines then the pressure is momentarily relieved by it during the move to the start of the new line and then it is restored by the unretract resulting in excess pressure at the line start with resultant over-extrusion creating a blob. As such the extra restart is necessary but it gets messed up by the fact that it is done with excess pressure. In my case I was able to get rid of the blob by reducing the amount of extra restart distance used but it is not in my view the correct way of dealing with the problem.

      This is why I am also saying that the implementation of the PA formula may need to be revisited. I am hoping that dc42 will shed some light on this topic also as it will help to be able to understand why there is residual pressure remaining at the end of the print line even with PA being active. The PA should really result in a complete decay of pressure by the end of a print line.

      posted in Tuning and tweaking
      Viscoelasticundefined
      Viscoelastic
    • RE: Issues with pressure advance since RRF 3.4

      @argo Based on everything you've written, the most logical conclusion still seems to be that there may be a problem with RRF 3.4 running with the toolboard. Nevertheless there is one thing that caught my attention and which I think is worth looking into before trying to go further down the rabbit hole as this may be exacerbating (if not causing) the problem.

      Looking at your print settings further back in this thread I see that you are running accelerations of 2000mm/s^2 for perimeters and 5000mm/s^2 for infill together with speeds of 160mm/s for perimeters and 250mm/s for infill.

      If the equation shown on the old PA dozuki page is still used for pressure advance then the actual amount of advance is dependent on both the PA factor as well as the acceleration setting used. This means that for the same PA factor your two different accelerations (for perimeters vs infill) will give correspondingly different amounts of actual advance. Calculating the actual amount of advance resulting from your settings under the two different scenarios shows that you will have an increase in PA amount that is almost in direct (linear) proportion to the higher speed you are using for your infill vs the perimeter. However, as the plastic is non-newtonian in nature the relationship between print speed and required amount of advance will not be linear and that may be the reason why you cannot find a PA setting that works for both the corner as well as the infill.

      Looking at your last print above it seems that you still have too much advance for your infill (line starts are very thick whereas line ends are excessively thin right at the end) but yet not enough for the perimeters (bulging at the corners).

      I would suggest to try tuning your PA factor to the correct amount required for your perimeters (to get a sharp corner) and then tuning the actual amount of advance for the infill by tuning (down) the acceleration used for the infill until you find the right balance that works for both perimeters as well as infill. In that way you may be able to actually eliminate this problem (Even though it does not explain the difference between the results achieved with RRF3.4 vs RRF 3.3).

      Of course the above scenario does once again point to the fact that PA really needs to be speed sensitive and indeed some others users in this thread have also pointed this out.

      I hope the above helps.

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: PA asymmetry & speed sensitivity & easy way to calibrate for it

      @dc42 said in PA asymmetry & speed sensitivity & easy way to calibrate for it:

      @h975 thanks for sharing your research.

      I have prepared an input vs output velocity graph indicating what seems to be happening vs what should be happening.

      Your graphs for the input velocity profile are not correct. The input velocity should jump to (PA * acceleration) at the start and thereafter be parallel to the black line until the acceleration ends, at which point the velocity should drop sharply by (PA * acceleration). You have shown this drop for the blue line, but not the initial jump. Likewise at the start of deceleration, the input velocity should drop sharply by (PA * acceleration) and then remain below and parallel to the black line until the end of deceleration.

      Ahh, yes looking at the PA formula again that should have been clear to me.

      Lastly if I calculate an actual extrusion velocity using the PA formula with a PA value of only 0.15 together with an extruder acceleration of 1750mm/s^2 and a requested extrusion speed of 2.5mm/s then the actual extrusion velocity would have to be 265mm/s which the extruder could obviously never reach.

      It's actually 262.5 mm/sec. What will happen is that if the maximum extruder jerk configured using M566 is less than 262.5mm/sec (which should always be the case), the acceleration of the entire move will be reduced to bring (PA * acceleration) down to the extruder jerk limit. That's why high values of PA sometimes slow down the print, because it reduces acceleration. However, the required extruder acceleration during a printing move will typically be much lower than 1750 mm/sec^2 except perhaps when using a very large nozzle.

      Ok that should indeed be 262.5 (0.15x1750) plus the 2.5 (requested extrusion speed) coming to 265 mm/s. Based on the explanation for the implementation of the PA curve you have given me I have recalculated some values and can see that an extrusion acceleration of 1750mm/s^2 would indeed almost never be reached.

      Since the entire acceleration phase is reduced to honor the jerk limit, that means that the extrusion acceleration line would end up following the same gradient set by the uncompensated acceleration line plus the PA x extrusion acceleration (which is effectively the actual extrusion jerk offset) i.e the compensated acceleration line has a constant offset to the uncompensated line. The PA factor would in fact then only determine the size of that constant offset up to the jerk limit at which point the offset would equal the jerk limit.

      I have looked at how the plastic profile extrusion (such as pipe extrusion for example) industry has modelled the flow of molten plastics and what I am seeing is that the plastic flow behavior is modelled either according to the Maxwell model (simple) or the Burgers model (more complex but more accurate). For a start I believe we should follow the simple Maxwell model which models the (viscoelastic) flow as a dashpot plus spring in series. This implies that there should not be a velocity offset at the point where PA is first triggered and the offset would then increase with time to its maximum value at the point where the end of the acceleration or deceleration phase is reached. There are formulas under this model to predict the strain/deformation of the material in response to stresses but as far as I am aware these are only applicable in the linear elastic range of the material so these would not be directly usable here. All you could possibly get from those formulas is an insight into the factors determining the curve, so the rest would then still be down to calibrating the values required for an empirically determined curve. My gut feel is that the shape of that curve would take the form of y = ax^n where y is equal to the instantaneous velocity, x is the time and a is determined by the offset to the requested velocity with its origin going through zero and n would be an exponent more than likely greater than 1.

      I could send you a pdf with a good whitepaper providing a good introduction to this topic if you want.

      posted in Tuning and tweaking
      Viscoelasticundefined
      Viscoelastic
    • RE: Issues with pressure advance since RRF 3.4

      @norder said in Issues with pressure advance since RRF 3.4:

      @argo
      My guess, after looking at the photos all once, is that the problem might be the value of the overlap between fill lines and outside perimeters set in the slicer.

      Good observation. It does look as if there may be an excessive infill overlap on the corner which may be pushing it out a bit. If you get your line starts and ends printing correctly then you should also be able to reduce the infill overlap you are using without running into problems with infill not connecting to the perimeter.

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: PA asymmetry & speed sensitivity & easy way to calibrate for it

      @dc42 Yes, actually you are right about that. I have done some calculations with respect to the extruder and axis accelerations, velocities, times and distances etc in order to put some numbers to the principles so it is easier to see how these parameters relate to each other at line start and end.

      What I see is that at 30mm/s print speed, the extruder must extrude a 0.067mm length of filament (1mm track, 0.24mm high) during the acceleration move (with a PA factor of 0.15 for my printer configuration) and the additional length that is pushed into the extruder for the PA compensation is 0.449mm. When the deceleration move starts at this speed the extruder switches directly to retraction during which time 0.382mm is retracted leaving a balance of 0.067mm to be extruded over the length of the deceleration. This is what it looks like for the present symmetric PA setup. For higher speeds the deceleration move would not result in an immediate retraction but would be made up of an initial deceleration followed by a retraction.

      Getting back to the gap I mentioned in my previous post it must then be coming from a lack of plastic at the line start (not end, as previously thought) Reviewing the parameters I was using on that test I can see why that was happening and we should probably disregard that result from this analysis.

      Lastly, while some of my reasoning (post from 21 September) was incorrect with respect to why the present implementation of the PA line is causing problems, I remain convinced that I am right in saying that this implementation of PA is responsible for some of the problems we are seeing, particularly at line starts. The reason for that is obviously a different one and I would like to present that below.

      Firstly, the theory on modelling plastic flow through a nozzle as established in other plastics extrusion industries and as I presented in an earlier post. This would point to the requirement that the extruder velocity at the start of acceleration should be zero and for deceleration it should be the requested print speed and both should change from there at a faster rate than the requested rate with a step change/jerk at the end of that (but not at the start).

      Secondly the mere presence of blobs at line starts (See the table I supplied in my first post for reference) indicates excess material/pressure there. Since it seems this is not due to residual pressure it has to come from somewhere else and a simple consideration of the present PA implementation with initial jerk, in itself points to the likelihood that this would be a cause of blobs. The only reason why these blobs are not always there in my view can be explained by what I outlined in my first post under the heading "Line starts".

      As a simplification/starting point one may try to keep the shape of the PA curve/line linear but at the very least the starting offset would have to be eliminated. Note : This is based on the assumption that positional axis line starts and ends do not implement jerk, which I remember @dc42 saying in another post but I am not sure whether this is still the case. At corners in a print line where positional axis jerk is implemented there would obviously have to be an jerk in the PA line as well. As a final note here, in theory at least it may be possible to have a much higher jerk value for the extruder when releasing pressure than when building it and some use could possibly be made of this principle to speed up printing where jerk values cause a slowing down of the print.

      In summary my request would be to make PA asymmetric and speed sensitive and to eliminate the starting offset from the PA acceleration/deceleration line at line starts and ends (at least in a beta version). This would allow for further testing to validate the theories I have put forward.

      posted in Tuning and tweaking
      Viscoelasticundefined
      Viscoelastic

    Latest posts made by Viscoelastic

    • RE: Issues with pressure advance since RRF 3.4

      @norder said in Issues with pressure advance since RRF 3.4:

      @argo
      My guess, after looking at the photos all once, is that the problem might be the value of the overlap between fill lines and outside perimeters set in the slicer.

      Good observation. It does look as if there may be an excessive infill overlap on the corner which may be pushing it out a bit. If you get your line starts and ends printing correctly then you should also be able to reduce the infill overlap you are using without running into problems with infill not connecting to the perimeter.

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: Issues with pressure advance since RRF 3.4

      @argo said in Issues with pressure advance since RRF 3.4:

      @viscoelastic

      3 corners out of 4 never have any retraction with the test objects I print. Seam is set to aligned so the seam gets placed always at the same corner. To show that the retraction isn’t the culprit I showed one of the other corners which looks the same. This would with my understanding rule out retraction issues. Or did you mean something else and I misunderstood you?

      I think you may have misunderstood me, but not to worry 😊 The only reason I am bringing up retraction (and more specifically negative extra restart distance when doing retractions) is because of the role that will play in trying to assess optimal PA factors and the PA factor in turn then would play a major role in limiting bulging at corners. The retraction settings mentioned before therefore end up playing only an indirect role in determining what can happen at corners. What I am aiming at is to try to get to the highest possible PA factor that will allow proper printing of infill but also produce the greatest reduction of bulging at corners.

      At this stage it is a bit difficult to say from the last image posted whether there is still any scope for increasing PA. This is because when looking at the infill I can see that line starts are still wider than line ends. If the line start widths are reduced by adding a negative extra restart distance to retractions it will be easier to see from the line ends whether you can actually increase the PA factor any further.

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: Issues with pressure advance since RRF 3.4

      @argo I am not sure whether it is so clear from my previous explanation but what I mean is not to print without retraction but to use retraction together with a negative extra restart distance specified in your slicer. I know Simplify3D and PrusaSlicer do have these settings available but I am not sure about other slicers. Using this setting will result in a shorter unretract distance being used after any retraction has been done. This would help to narrow down the start side of any print line and therefore give you some additional scope for adjusting your PA settings for line ends or corners.

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: Issues with pressure advance since RRF 3.4

      @argo That does seem to have made quite a difference at least to the infill so far. The only other thing I can think of as far as settings are concerned relates to retraction. This does play quite a big role in determining the quality of the line start which can otherwise make quite a big blob.

      Depending on the slicer and the slice settings used you may find that a retract movement may or may not be accompanied by a corresponding unretract at the beginning of the next line (you will have to look at your gcode file to see). If the slicer does do a full unretract then you may find that this will cause a blob at the start of any line and you will not be able to control this with PA as that will only make the blob bigger while narrowing down the end of the line. What I have therefore found is that it is necessary to do a certain amount of retract at the end of a line without unretracting at the start of the next line. If you tune the amount of retract correctly (and ensure that it does not unretract) then you should more or less be able to prevent a blob from forming at the line start while using the PA to tune the line end and corners (as far as possible). I can't at this point explain why the above seems to be necessary, just that it does seem to be the case.

      If I look at the last print you have shown above then it does look to me as if you have blobs forming at line starts on infill. It also looks like you have a line starting and ending at the corner junction of the inside perimeter but I cannot say for sure so maybe just check your slicer to see whether that is so.

      If you can get rid of the blobs/excess line thickness at the start of a line in the above manner then it would give you a bit more freedom to further adjust your PA factor to optimize the line ends which may or may not improve the corners.

      The above is all I can suggest at this point as far as settings go. If that does not sufficiently correct the problem then you are back to having to look at firmware or hardware.

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: Issues with pressure advance since RRF 3.4

      @argo Based on everything you've written, the most logical conclusion still seems to be that there may be a problem with RRF 3.4 running with the toolboard. Nevertheless there is one thing that caught my attention and which I think is worth looking into before trying to go further down the rabbit hole as this may be exacerbating (if not causing) the problem.

      Looking at your print settings further back in this thread I see that you are running accelerations of 2000mm/s^2 for perimeters and 5000mm/s^2 for infill together with speeds of 160mm/s for perimeters and 250mm/s for infill.

      If the equation shown on the old PA dozuki page is still used for pressure advance then the actual amount of advance is dependent on both the PA factor as well as the acceleration setting used. This means that for the same PA factor your two different accelerations (for perimeters vs infill) will give correspondingly different amounts of actual advance. Calculating the actual amount of advance resulting from your settings under the two different scenarios shows that you will have an increase in PA amount that is almost in direct (linear) proportion to the higher speed you are using for your infill vs the perimeter. However, as the plastic is non-newtonian in nature the relationship between print speed and required amount of advance will not be linear and that may be the reason why you cannot find a PA setting that works for both the corner as well as the infill.

      Looking at your last print above it seems that you still have too much advance for your infill (line starts are very thick whereas line ends are excessively thin right at the end) but yet not enough for the perimeters (bulging at the corners).

      I would suggest to try tuning your PA factor to the correct amount required for your perimeters (to get a sharp corner) and then tuning the actual amount of advance for the infill by tuning (down) the acceleration used for the infill until you find the right balance that works for both perimeters as well as infill. In that way you may be able to actually eliminate this problem (Even though it does not explain the difference between the results achieved with RRF3.4 vs RRF 3.3).

      Of course the above scenario does once again point to the fact that PA really needs to be speed sensitive and indeed some others users in this thread have also pointed this out.

      I hope the above helps.

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: Issues with pressure advance since RRF 3.4

      @argo I have been meaning to do a test between the two firmware versions for a few weeks now and finally got a chance to do so on the weekend.

      I have two identical cartesian bedslinger machines both running everything directly off a MB6HC with SBC. One is running on version 3.3 and the other is running on version 3.4.0. I am not presently using input shaping. Both machines have direct drive Titan Aqua extruders.

      I printed a 50mm single outline square with a 1mm gap in one side, so that I can measure line starts and ends as well as seeing what happens at the corners of the print. I used a PA setting of 0.055 using ABS at a print speed of 45mm/s for both machines and a retraction of 0.4mm.

      I did not see a difference between the two firmware versions, either at the corners or at line starts or ends. This was determined by measuring the difference in thickness at line starts and ends as well as the first corner vs the thickness midspan between the line start and the first corner. In each case I measured the same difference.

      Based on some of your earlier comments and those from @dc42 it seems therefore that this problem may be confined to systems running with an attached tool board. Did you see any difference in printing when both machines were running on version 3.3 firmware? If not, then you can pretty much eliminate the mechanical hardware difference between the two machines as a cause of the problem.

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: Asymmetric Pressure Advance

      @dc42 said in Asymmetric Pressure Advance

      .... Extruder jerk complicates this a little, however RRF uses extruder jerk rarely, mostly only when the slicer has produced bad GCode e.g. tiny segments for which the extrusion amount is specified with too few decimal places.<

      Looking at this there is clearly a scenario in which extruder jerk would be implemented (not PA related?) which I have not thought of, but looking only at the PA formula I come to the conclusion that extruder jerk will automatically be implemented any time that there is an axis acceleration or deceleration since according to the formula Vactual = Vrequested + (K*actual acceleration), with the variables in the equation all referring to the extruder parameters.

      According to this there would be an instantaneous velocity change required by the extruder the moment that any acceleration or deceleration is required i.e jerk. This would be irrespective of whether or not the position axis required jerk or not.

      This jerk obviously has to take place by default at the end of any acceleration or deceleration phase, but should only take place at the beginning of an acceleration or deceleration phase if there is also jerk taking place on the position axis i.e such as at corner transitions (but not at line starts or ends).

      What is your take on this?

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: Asymmetric Pressure Advance

      @dc42 That would take care of making the PA speed sensitive and would be a huge step forward for the PA functionality. I look forward to seeing that being implemented.

      In what manner are you expecting to determine the non-linear curve required if I may ask? As each materials curve will look different I was thinking along the lines of determining PA values at a few regular intervals along the extrusion velocity envelope and then fitting a curve to that in order to determine the equation describing the curve. That would admittedly require some time to calibrate so I was wondering whether you might already have thought of a better way.

      There would nevertheless still need to be an asymmetry factor or some such to account for the difference between acceleration and deceleration. Are there any plans for that?

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: Asymmetric Pressure Advance

      @phaedrux said in Asymmetric Pressure Advance:

      @h975 Given the elastic nature of the plastic it wasn't really matching what the slicer expected in the first place.<

      Sure but unfortunately the current PA is still not making the extruder do what the slicer expects it to.

      That's why pressure advance came along. So it does alter the extrusion amount by shifting it in time, but the total amount of extrusion at the end of a line should be the same.<

      Agreed, but this statement would only be fully correct if the current implementation of PA was managing to pull that off precisely. Unfortunately it is presently still doing quite a poor job of it as it does not take into account the dynamics of the fluid flow under acceleration vs deceleration and it does not take into account the shear thinning effect at higher velocities. This shear thinning effect changes the viscosity and therefore requires that PA should be matched to the differing print velocities accordingly. This cannot be done with the present one size fits all PA factor.

      Ultimately of course it is important to ensure that we have both the correct amount of plastic at the correct position as well as the correct total amount of plastic in the line and not just one or the other. Meeting these two requirements would require the abovementioned fixes to PA plus the fix to the extruder jerk mentioned in my previous post.

      Implementing these changes would not cause less total plastic to be extruded in a line, it would only cause it to be distributed at the correct locations. I am therefore fully in support of the request for asymmetric PA by @CCS86 albeit that I would like to request that the additional changes be looked at also.

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic
    • RE: Asymmetric Pressure Advance

      @dc42 said in Asymmetric Pressure Advance:

      @ccs86 if we do that then the total extrusion will be changed and the filament used will no longer be the same as calculated and commanded by the slicer. Would that be acceptable?

      Since the extruder is not presently doing exactly what the slicer 'expects' it to do during acceleration or deceleration moves (with or without PA as it is implemented at present), would the total amount of filament extruded in a print not already not match the value calculated by the extruder?

      As I see it, implementing an asymmetric and speed sensitive PA where extruder jerk commanded by PA is matched to whether or not there is also jerk taking place on the positional axis, would be a necessary upgrade in order to get the extruder to do what the slicer 'thinks' it is doing.

      Surely such a fix should get the total amount of extrusion closer to that calculated by the slicer? Or am I missing something?

      posted in General Discussion
      Viscoelasticundefined
      Viscoelastic