Diamond hot end potential print speeds and pressure advance testing
-
Coordination of axes - the highest speed a move will be run at is determined by the lowest maximum feed rate and acceleration of any axis taking part. So if you ask for a G1 X100 Y100 Z100 then the move has to move at the maximum z feedrate as this will usually be the slowest axis. In your experiment the limitation would only be the extruder maximum feedrate being coordinated with x and y. So if the extruder hits max feedrate the x and y axes of each coordinated move i.e. G1 X10 Y20 E0.05 would only move at the extruders max rate, not their maximum rate.
I'm using the smaller 20mm pancake stepper http://uk.omc-stepperonline.com/nema-17-bipolar-step-motor-35v-1a-13ncm184ozin-17hs081004s-p-101.html but its actually rated 1A and I run it 550mA normally for PLA/ABS and 700mA for PETG, I have a nice light ally heatsink bonded to the back of it. I've been using 700mA for this test but I suppose I could go to 750 or 800 as a maximum reasonable current. Perhaps fairest test condition are to use 600mA then we are both inputting the same power to the extruder (presuming were comparing 1 extruder to 1 extruder rather than to 3). Be interested to see what happens if you set each of your 3 to 200mA and then run them all. Whether its the same result as with 1?
Ahh yes. When you said coordination of axes, I didn't realise that you were considering the extruder as being an axis, but of course you are right in saying that if the maximum extruder speed is too low, it would limit the maximum print speed. However, I've just checked and there are no worries on that score. Max extruder speeds are set to 3600 mm/min = 60 mm/sec (for each one). So more quick "back of a fag packet" calcs (why do I say that - gave up smoking years ago).
Anyway, the area of 1.75mm dia filament is about 2.4mm^2. So at 60mm/sec means 144 mm^3/sec and the best (guestimated) melt rate I saw was about 32. That was using all three extruders. I don't know if the maximum E speed is per extruder or for all 3 combined (David?) but assuming the worst case, maximum extruder speed was still about 4 times higher than the demand. For info, max X and Y speeds are set to a bit above what I could reasonably expect for the longest diagonal of my bed, at the accelerations I use. Namely, X is set to 50,000 mm/min = 833 mm/sec and Y is set to 35,000 mm/min = 583 mm/sec.
Ref steppers. Personally I think the torque is more important than the current rating. The ones I settled on are rated at 18Ncm 0,7Amp whereas the small ones, although rated at 1 Amp only have 13 Ncm torque. so mine are about 38% more torque but of course they are a bit bigger and heavier. 13 Ncm is probably more than adequate but if you do get skipped steps where I didn't, that might be an explanation.
Cheers
Ian
-
Pressure advance demands extruder jerk every time the acceleration changes. So enabling it can reduce printing acceleration if the amount of pressure advance is high and the configured maximum extruder jerk is low. This is probably the reason why you observe that enabling pressure advance increases print time.
David.
Can you explain (preferably in layman's terms) how pressure advance actually works. Even the name is a little confusing as we want to reduce pressure, so perhaps "pressure retardation" or some such might be a better term to use (if indeed that is what it does). My limited understanding is that the extruder (or rate of extrusion) will slow down towards the end of a move. But at what point does it start to slow? What does the "S" parameter actually do? Does it change the absolute amount that the extrusion rate will slow by, or does it alter the point within the move when it start to slow? or a combination of both or some other factor?
Can you also confirm if and where jerk is used when accelerating an axis from rest, up to a given speed, decelerating, changing direction and accelerating again in the opposite direction.
Thanks
Ian
-
Okay so managed to get up to some higher speeds
Settings as above but kept extruder temp at 205 which does seem about right for this specific PLA.
140mm/s working fine long infill without any issues.
160mm/s some holes appearing in the long infill
180mm/s a few more holes, but it would still work as infill. Outer perimeters were still okay as they were being laid down at 90mm/s.Didn't manage to get to 200mm/s as the baby started crying, and I'd already reached the point where it had already "failed".
As for extrusion rate I make it:
0.13mm2 nozzle area x 0.3mm layer height x 160mm/s print speed = 6.24 mm3/sI did a couple of videos but they have screaming baby in the background and I haven't time to edit them.
-
David.
Can you explain (preferably in layman's terms) how pressure advance actually works. Even the name is a little confusing as we want to reduce pressure, so perhaps "pressure retardation" or some such might be a better term to use (if indeed that is what it does). My limited understanding is that the extruder (or rate of extrusion) will slow down towards the end of a move. But at what point does it start to slow? What does the "S" parameter actually do? Does it change the absolute amount that the extrusion rate will slow by, or does it alter the point within the move when it start to slow? or a combination of both or some other factor?
Can you also confirm if and where jerk is used when accelerating an axis from rest, up to a given speed, decelerating, changing direction and accelerating again in the opposite direction.
Thanks
Ian
Ian, have you read https://duet3d.com/wiki/Pressure_advance ?
Jerk is not used when accelerating an axis from rest, or decelerating to rest. Its primary purpose is to allow the print head to make small changes in angle without s!owing down, such as when printing a sequence of short line segments to approximate a circle.
-
David,
Ref pressure advance - I had read that but it was a long time ago and I don't recall seeing the mathematical explanation - must have been short of caffeine at the time. Anyway, thanks for the link which explains it perfectly.
Ref Jerk - Thanks for the clarification. That's what I expected.
Ian
-
Simon,
That's interesting. I take it that was with your 0.4mm nozzle. Do you plan on doing a repeat with a larger nozzle?
Ian
-
Yes 0.4mm. If I get chance I will try it with a big nozzle, probably next time I need to print a large strong part (not that often to be fair).
-
Just been experimenting with pressure advance. Man it's like some magic switch! Cured all the roughness and the blobs are history.
Two things.
My Bowden tubes are only about 165mm so given that the Wiki states typical values are 0.1 to 0.2 for Bowden set ups, previously I had tried settings from 0.01 up 0.2. None of which made any noticeable difference. So I assumed it was maybe something to do with using a mixing hot end - some sort of interaction between filament inputs perhaps. It turns out that a Diamond hot end with Titan extruders and 165mm Bowden tubes needs a pressure advance setting of 0.5 for each of the 3 extruders!
I needed to increase extruder Jerk a lot. It did slow down the short 30mm Y moves when I had it set to 600. Changed it to 1200 and there was a noticeable increase in speed. Almost up to the same speed as not having any pressure advance but not quite. Changing it to 2400 made no further difference. Switching to tool3 (all 3 extruders) and there was a further increase and I'd say there is no noticeable difference in speed between no pressure advance and a lot of pressure advance (using all 3 extruders). Long moves aren't much affected as it's only the acceleration phase of the extruders. I am of course using very high pressure advance and the short Y moves are speed limited by carriage acceleration in any case, so it's not an issue (especially as the quality of the print is so much improved).
I tested up to 150mm/sec and down to 40mm/sec with a single extruder and from 40 up to 250 with all 3 extruders. The same pressure advance setting works well for all configurations.
Well done David! I don't know how you came up with the algorithm but once the right value has been found for a particular machine, it seem that it works for all speeds and for single filaments and mixing of 3 filaments.
I'll do a bit or a write up on my blog, with another little video to accompany it.
Ian
PS. I'm seriously thinking that 200mm/sec plus print speeds with no reduction in quality might actually be achievable. Not an issue for most people, but when you have a 355mm x 340mm x 760mm print volume, speed starts to become important.
-
I'm glad it's working well for you. Did you also reduce the amount of retraction you are using? Be careful if you are using E3DV6 hot ends (not the Lite version), because pressure advance has the effect of retracting before the ends of some printing moves, so you can easily end up with too much retraction in total for the V6 if you don't reduce your retraction settings.
I am surprised that with Bowden tubes only 165mm long you needed pressure advance as high as 0.5. I guess I need to do some more experimentation.
-
I've seen an interesting effect with a circular thin-walled object printed with extremely elastic flex41 filament. There was a large chunk missing from one side. I can't recall whether it was at the start of extrusion or end so I guess I had too much or too little advance.
Ian I'd suggest playing with advance printing a single perimeter thick object as this seems the most sensitive to the level set, especially with flexibles where it's really on a knife edge with this type of object. Circular seems logical as there are no corners to accelerate or decelerate around and jerk comes into play more. 1200 doesn't sound too crazy for a titan, I'm having to play it differently on my delta running flex3drive as acceleration and jerk have to be set very differently to optimise retraction.
-
Hi David,
I'll likely need less retraction but haven't got around to tuning it yet - the test object only does one retraction on layer change. Not sure about your comments - had you forgotten that it's a Diamond hot end? If you were just referring to the heat sinks, then they are E3D V6 Lites.
Yes, the high number surprised me too. Maybe its a feature of the Diamond hot end because it has 3 inputs? Or maybe it's the Titans?
I'll be posting a video soon - the extruder action looks absolutely crazy but it prints beautifully.
Ian
-
I've seen an interesting effect with a circular thin-walled object printed with extremely elastic flex41 filament. There was a large chunk missing from one side. I can't recall whether it was at the start of extrusion or end so I guess I had too much or too little advance.
Ian I'd suggest playing with advance printing a single perimeter thick object as this seems the most sensitive to the level set, especially with flexibles where it's really on a knife edge with this type of object. Circular seems logical as there are no corners to accelerate or decelerate around and jerk comes into play more. 1200 doesn't sound too crazy for a titan, I'm having to play it differently on my delta running flex3drive as acceleration and jerk have to be set very differently to optimise retraction.
Hi Simon,
Yes I'll have a play around with some "real life" objects at some time. Obviously different filaments may need different pressure advance settings, just as they need different temperatures, speeds, etc. Easy enough to do using slicer start code or macros. For now, I'm just experimenting with maximum melt rates.
-
Hi David,
I'll likely need less retraction but haven't got around to tuning it yet - the test object only does one retraction on layer change. Not sure about your comments - had you forgotten that it's a Diamond hot end? If you were just referring to the heat sinks, then they are E3D V6 Lites.
Yes, the high number surprised me too. Maybe its a feature of the Diamond hot end because it has 3 inputs? Or maybe it's the Titans?
I'll be posting a video soon - the extruder action looks absolutely crazy but it prints beautifully.
Ian
If you were only using retraction on layer change, then without pressure advance you are likely to get a blob at the start of each travel move tat follows a printing move anyway. Is that where the blobs are?
I hadn't forgotten that you were using a Diamond, but I understand it can use the E3DV6 or E3D Lite6 heatsink and other parts. My concern was that if you were using the V6 heatsinks then you need to be careful not to over-retract. The Lite 6 with its PTFE liner is much more tolerant of retraction and probably a better choice for printing PLA.
-
Ian, another great blog post and excellent discussion here. There is a lot to learn from the issues/characteristics you highlight at different points as the filament is being extruded. Also the discussion on pressure advance suggests it could fix a pattern I see at certain points on some of my prints.
I agree with your write up on the blog that real world printing is what matters, but would still like to know what the baseline is for just the hotend and extruder - mark a point on your filament tight against the frame before the extruder, extrude 50mm into air, and find the maximum speed where that mark still moves 50mm.
Have you tried your results with 'Autospeed' in Slic3r? (Print settings -> Speed -> Autospeed (advaned))
-
If you were only using retraction on layer change, then without pressure advance you are likely to get a blob at the start of each travel move tat follows a printing move anyway. Is that where the blobs are?
I hadn't forgotten that you were using a Diamond, but I understand it can use the E3DV6 or E3D Lite6 heatsink and other parts. My concern was that if you were using the V6 heatsinks then you need to be careful not to over-retract. The Lite 6 with its PTFE liner is much more tolerant of retraction and probably a better choice for printing PLA.
Hi David,
Without pressure advance but with a lot of (firmware) retraction (about 4mm with 165mm long Bowden tubes), the blobs started to appear at above 70mm/sec or so print speed. It was as if the filament was oozing and got deposited in blobs along the length of the long (300mm plus) non-print move. In fact, that's exactly how I visually observed it happening. As the print speed was increased, the blobs got worse (more pressure build up before the long non-print move). Enabling pressure advance has completely eliminated them. i.e there is no oozing during the long non-print move. Trying to control that by only using retraction would mean having to have more and more retraction as the print speed is increased.
Thanks for the heads up ref the heatsinks. RepRap.me recommend using the lite version rather than the V6 so that's what I've always used. It could be I end with zero or near zero retraction - don't care as long it prints well.
The video is being rendered as I write this. I'll post a link as soon as I get it uploaded to YouTube. I think you'll find it interesting if not amazing to watch. Yes, the extruders run backwards at high speeds but just give a bit of jerk at "normal speeds". At high speeds it looks (and sounds) crazy, but prints beautifully.
Ian
-
…..............................would still like to know what the baseline is for just the hotend and extruder - mark a point on your filament tight against the frame before the extruder, extrude 50mm into air, and find the maximum speed where that mark still moves 50mm.
Have you tried your results with 'Autospeed' in Slic3r? (Print settings -> Speed -> Autospeed (advaned))
Hi Rob,
Extruding in air is on my list (everyone want me to try something).
Haven't tried the slic3r autospeed feature. It's experimental which has always put me off. I prefer to set my own speeds for perimeters (large and small), infill, solid layers etc etc. but I might give it a go one day.
Ian
-
Blog is done - link here https://somei3deas.wordpress.com/2017/06/25/duet-pressure-advance-experiments/
If you don't want to read the words, the (crazy) video is here https://www.youtube.com/watch?v=lnYYNfVoxmQ&t=304s
This one is much shorter - less than 8 minutes.
Ian
-
Ian, I finally found time to watch your videos. I'm very impressed by the printing speeds you have been able to achieve! I'm glad that pressure advance helped you. Your video is an excellent demonstration of what pressure advance does and how the extruder movement appears.
Is the carriage that carries the Titans driven, or towed by the main carriage?
-
Hi David,
Thanks for the feedback.
The extruder carriage is just dragged around by the main carriage. If you look closely at the video you'll see one of the 7/02 guide wires had snapped - need to replace it with 16/02 or some such. Not surprising given that I've been chucking 1.6kg around at up to 300mm/sec. (Y is worse at over 3kg). The wires are to keep the Bowden tubes in compression during large or fast moves. There is a bit of an explanation of it all here https://somei3deas.wordpress.com/my-corexy-printer-build/ and a video here https://www.youtube.com/watch?v=5RptHCX7z0o&t=184s
I initially thought about putting motors, belts and pulleys on the extruder carriage and mirroring the main XY motors but dismissed it due to complexity. It's also complicated by the fact that the extruder Y carriage and Y axis are wider than the main carriage.
Effectively there is some decoupling between the axes so when the main carriage is doing short moves, the extruder carriage remains more or less stationary (see video). The downside to that is that when doing big fast moves, the extruder carriage lags behind the main carriage slightly so gets jerked at the start, then at the end of the move, the inertia tries to carriy it on while the main carriage is decelerating, resulting in another jerk at the end. However, the extruder carriage is light compared to the main carriage and even at those silly speeds, I didn't notice anything particularly horrible happening. The wires prevent the Bowden tubes from pulling the hot end mount up on it's sliding dowels.
Time will tell. If I end up having to drive the extruder carriage as well as the main carriage, I'd be inclined to use a shaft with pulleys top and bottom connected to each set of belts and a central pulley connected to the motor, probably with 1:2 gearing (1 on the motor, 2 on the shaft).
It continues to evolve….............
-
I have given this some thought, and come to the conclusion that the Diamond needs 3 times as much pressure advance as a similar single-filament hot end would. Here's why.
Let's suppose that you are extruding with only 1 filament. When you add extra steps to pressurise the single extruder, the extra pressure in the mixing chamber will make filament flow back through the two inactive heat breaks, compressing the filaments in those Bowden tubes until the pressure is equialised. Ideally we should pressurise both of them too. But since we don't, we will need 3 times the pressure advance movement on the main extruder drive to allow for the back flow and get the same hot end pressure.
If you extrude with all 3 filaments equally, this is a better situation. However, because each extruder is only extruding 1/3 of the total filament, the amount of pressure advance applied to each extruder is only 1/3 of what is required. So again you need 3x the pressure advance.
Ideally, we should calculate the pressure advance based on the total speed of extrusion of all 3 filaments, and apply that amount of pressure advance to all extruder drives regardless of the mix. I may implement this in a future firmware release.