Scientific take on pressure advance
-
@deckingman Ok, thanks for pointing out the different schools of thought on this subject. My analysis was applied to the case of a direct drive extruder only as I do not actively use Bowden setups myself. Nevertheless the additional dynamic factors you mention can also be individually evaluated in order to narrow them down to those which will or won't have a material impact on the system dynamics as a whole.
As far as pressure build up is concerned the term is being used a bit loosely in this case in order to describe what is mainly an issue of unwanted energy storage and dissipation taking place between the input (extruder drive) and output (nozzle) of the system. As such we do know what causes this energy storage and dissipation to take place. The challenge that needs to be addressed lies in modeling those effects in order to allow PA to be improved to more effectively account for them. This admittedly will remain a complex problem to solve.
The factors you have mentioned are all relevant to this challenge with the exception of the plastic expansion due to temperature effect which is unlikely to have a meaningful role in this situation simply because the time scales involved in the acceleration and deceleration of the flow (when PA is active) are too short for there to be a meaningful temperature change in the plastic itself.
The factors that are material to this analysis are therefore the elastic energy storage and frictional or viscous dissipation effects in the solid plastic and the molten plastic respectively.
In the case of your mixing extruder with the large melt chamber I would expect that the increased size of melt chamber with its increased volume for elastic energy storage would be more likely to account for the higher PA you require for your setup.
-
@h975 said in Scientific take on pressure advance:
The factors you have mentioned are all relevant to this challenge with the exception of the plastic expansion due to temperature effect which is unlikely to have a meaningful role in this situation simply because the time scales involved in the acceleration and deceleration of the flow (when PA is active) are too short for there to be a meaningful temperature change in the plastic itself.
I'm not sure that I follow your reasoning or maybe you misunderstood my own. If we assume a nozzle diameter of 0.5mm, a layer height of 0.3mm, and a print speed of 60mm/sec that means that we have a filament throughput of about 3.5mm^3/sec. So that's 3.5mm^3 of filament at ambient temperature of say 20 deg C going into the system which we are then heating by about 180 deg C. That increase in temperature would lead to thermal expansion but if that expansion is constrained by the restriction of the nozzle, then the pressure would increase. While a print move is in progress, there is 3.5mm^3 /second of cold filament going into the system which is being heated by around 180 deg C. This might be contributing to the pressure inside the melt chamber. Certainly if the system was sealed and static and we simply heated a fixed volume of plastic, there would be a significant increase in pressure. So it all depends on the volume of the melt chamber, the size of the nozzle hole, the throughput of filament, the temperature increase and probably a few other factors that I can't be ar*ed to think about at this time of night .
-
This post is deleted! -
Two PA layman questions:
-
Given two PA algorithms, how would you evaluate which one is better?
-
Are their software tools (FEA?) that can simulate the behavior of the molten plastic, in the nozzle, and deposited.
-
-
@zapta We need to be careful here. Even the term "pressure advance" is misleading IMO. From the early work that I did a couple if years ago, this is my understanding of the manifestation of the issue.
Assuming we start with the condition that the print head is stationary and there is zero flow at the nozzle. When we commence a move, the print head accelerates from rest up to a given speed. Therefore it follows that the flow rate of filament must also accelerate. It does but there is a time lag. That is to say, the extruder accelerates and so does the cold, rigid filament exiting the extruder (assuming there is no slippage). But there is a lag before the molten filament exiting the nozzle starts to accelerate because it takes time for the filament to melt and because it becomes a viscous fluid. We therefore conclude that there must be a build up of pressure between the extruder output and the nozzle output. We know that we can make the filament exit the nozzle faster, such that it will match the speed of the hot end by making that pressure pulse happen sooner. Hence the term pressure advance.
But (and it is a big BUT), at the end of that moves, the opposite effect happens. That is to say, the print head goes into a deceleration mode and the speed decreases. However, there is a lag before the reduction in pressure caused by the deceration of the extruder translates into a reduction of flow at the nozzle tip. Again, we know that we can compensate by reducing the pressure (at the exit of the extruder) sooner. So in this case, we are actually retarding the pressure, not advancing it. So IMO "pressure compensation) would be a better term to use.
The net result of what is essentially a time lag in the the filament flow rate at the nozzle tip, is that we get under extrusion at the start of a move and over extrusion at the end of a move. Therefore, IMO the best way to evaluate the effectiveness of pressure compensation is to print a series of long straight lines starting and ending at zero speed. If those lines are spaced at say 10mm apart, then any latent pressure build up will force filament out of the nozzle during that 10mm non-print move which is pretty obvious to see. When pressure compensation is right, there will be a series of long parallel lines of filament with maybe a small blob at the ends. With insufficient compensation, there will be lines of filemant at 90 degrees during the non- print move. So start with no compensation and increase it gradually until no filament is laid down during the non- print move. -
@deckingman let me trot out my feature request for velocity based extrusion (https://forum.duet3d.com/topic/22527/velocity-based-extrusion) ...maybe that's something for RRF 4...
-
@oliof, the PA algorithm used by RRF is the same as the velocity-based algorithm described in those links, except for one thing. The author of those links uses a curve to determine the additional extrusion for a given velocity. RRF uses a straight line with slope K where K is the pressure advance amount.
I was already planning to implement non-linear pressure advance, i.e. using a curve instead of a straight line. But at this stage I have only a vague idea what the shape of that curve should be, or how to go about calibrating it.
-
@dc42 said in Scientific take on pressure advance:
@h975 ... There is a further complication: I don't believe the compression of filament within the Bowden tube behaves like a linear spring. So there are two non-linear effects to compensate for.
I think the solution will be to use a non-linear PA algorithm, which is more or less what you are suggesting. However, before we can say what sort of nonlinear PA curve is needed, we need to do some more measurements on systems with and without long Bowden tubes, and work out a good method of calibration. Your suggestions will be welcome!
I agree that the filament in the Bowden tube will not behave as a linear spring.
The reason I say that is because I am proposing that as a system with certain parallels, the Bowden tube could be viewed as a loaded structural column with fixed-free end conditions and lateral support. The buckling of such a column will produce a buckled shape which is a string of half-waves in the form of a sin wave. The number of half waves produced is associated with defined critical load limits being reached in the column. Each successive critical load limit that is reached will produce another half wave. The relationship between the number of half waves and the critical load limit is non-linear. For that reason I would say that the filament will not load up linearly.
The equation describing the critical load points is : F(cr) = n^2Pi^2EI/4L^2 where F is the load, n is the number of half waves produced, L is the length of the 'column' and EI is the product of the Youngs modulus and the second moment of area of the filament.
As the above formula is derived for statically loaded columns and the filament is in reality moving in a tube thereby adding friction effects to the driven load, this will not allow an exact application of this formula to predict all variables, but the point is that the same principles of column loading still apply and therefore an analysis of it can, I believe provide valid insight into the system behaviour.
As far as the friction effects are concerned it is my view that these will also not behave linearly. Each half wave will produce another contact point with the Bowden tube which will have the effect of increasing the frictional resistance to movement in the same non linear way as for the spring effect. The friction effects will stack up as you go up the length of the tube thereby adding to the load carried by the filament column.
Note that the critical loads are discrete quantities meaning that the filament would load up in a stepwise fashion as each new critical load level is reached.
I have an idea for a test that can be done to characterize the dynamics in the Bowden tube in order to gain greater insight into this part of the system. I will post this later in a response to your proposal on using a force transducer to test the response of the system.
I agree that a non linear PA algorithm would be the correct way to go. Hopefully the way forward will become clearer once the above hypothesis has been tested.
-
@dc42 said in Scientific take on pressure advance:
... measuring the input force would at least allow us to determine the relationship between pressure and flow rate in the steady state condition, and the relationship between force and compression of the filament in the Bowden tube.
Another way to approach this (for a Bowden tube setup) might be to mount a torque transducer on the stepper motor shaft and then mount a filament monitor such as your magnetic filament monitor to measure the displacement at the end of the Bowden tube. As you want to measure the response under conditions where the filament is moving in the tube (so as to include the effects of friction) you would then need to add a load at the end of the Bowden tube with a known set of load vs speed characteristics. If you then run a test where you monitor the input displacement of the stepper motor vs the output displacement seen at the filament monitor and plot that against time and nett input force measured as the torque on the input (converted to drive force by the relationship of T = F x r) less the known load force at the output (and input) then you can plot the response of the Bowden tube system. You can then do this test while changing various parameters and determine the dependency of the system to that particular parameter. I would suggest testing for different speeds, accelerations, loads, length of tube and friction factor. For the last parameter you could maybe use a nylon tube so as to maintain the relevance to the original filament used and being able to make direct comparisons vs changes in other parameters.
The load applied at the end of the tube could be a simple filament drive hob with load varied by changing the spring tension on the adjuster arm. The action of the drive hob biting into the filament during extrusion requires a force to be exerted on it which is proportional to the depth of engagement with the filament and probably also speed of rotation. The load that the drive hob exerts on the filament could be accurately measured by also connecting a stepper motor with torque transducer at the end of the Bowden tube test setup and first measuring the torque required to drive the filament through the hob at various speeds while keeping the engagement with the hob constant. The input drive hob would have to be exerting no force on the filament during this test. Once the load characteristics for that level of drive hob engagement has been determined the stepper motor on the output side can be disconnected so it doesn't add its own load when running the main test. The same test would also have to be done for the drive hob on the input side while not running the filament through the output side. Both of the drive hob loads would have to be accounted for in the nett drive force calculation.
Once this is done the main test can be done and an accurate characterization of the Bowden tube system could be obtained qualitatively and quantitatively. This might allow you to predict the required PA for the Bowden tube part of the system based purely on physical properties of the system with potentially no tuning required or at least reducing tuning to tweaking.
The PA requirement attributable to the molten flow dynamics in the hot end itself would still have to be solved for separately.
-
@h975 Further to my last post I would like to add that this test should show whether there is any hysteresis in the system between the acceleration and deceleration phases where PA is active.
-
@h975 One further factor to note would be that the filament used in the test would have to be inserted into the tube until it reaches the bottom drive hob, all while keeping the tension on the input drive hob released, so that there are no pre-existing indentations on the filament when it passes through the output side drive hob. Not doing so would have the effect of distorting the characterization of the load. The length of filament used in each test can only be as long as the Bowden tube itself at which point a fresh length of filament would have to be inserted.