Diamond hot end potential print speeds and pressure advance testing
-
Those are fair explanations sir. I'm not sure what the surface area in the volcano nozzle is. I will try to have another go at the test later I'll just start layer 2 at 140mm/s and go from there have you verified the speeds you were moving based on how far your carriage travelled using the frames in the video? I only ask as rarely do printers move actually at the speed expected, acceleration, jerk, coordination of axes, and pressure advance all seem to affect actual head speed.
I have seen the volcano run out of heating ability (if that's whats happening) with 0.8mm nozzle at about 45mm/s, and I was using flex3drive with 40:1 gearing so it wasn't lack of extruder drive torque.
What motor current are you using on your titans? and what motors?
-
Hi Simon,
Ref verification of speed - that's why I chose long moves. At 300mm/sec, and 1200 mm/sec^2 it takes 0.25 secs to get up to speed and 0.25 secs to slow down and travels 37.5 mm during each acceleration and deceleration phase. Meaning that it runs at 300mm/sec for 225mm which takes 0.75 secs so the total time to move 300mm @ 300mm/sec is 1.25 secs. At 50 frames per sec that should be 62.5 frames. Zooming in on the time line for ones of those moves, it's difficult to say precisely when it changes direction frame by frame but it looks like it's around 68 frames from start to stop so it ain't far out. Looking at it, I'd say any error would be in the acceleration and deceleration phases taking a little longer than theory would dictate but that the linear speed section is accurate.
I'm not running any pressure advance. Why would that affect print speed? I thought it just slowed down the extruder - not the carriage (which if true, would have the opposite effect of reducing extruder pressure relative to axis travel). Also, I thought jerk was only used for short instantaneous speed changes such as segmented circles. What do you mean by coordination of axes? That's also why I chose 90 degree infill so all moves are either pure X or pure Y or are you thinking something else?
Motors are these http://uk.omc-stepperonline.com/nema-17-bipolar-step-motor-29v-07a-18ncm255ozin-17hs100704s-p-260.html. Not the really short pancake ones that some people use but not the larger ones either. Rated at 0.7 Amps, driven at 600mA and 16 x micro stepping with interpolation.
Cheers
Ian
-
I'll take some video when I've got that heater fault sorted, to check my speed is accurate.
I have no idea why pressure advance slows down the printing speed but it does, try it on a dry run (or with filament) the higher you go the more it slows down, more noticeable on shorter moves. I suspect it has something to do with the next paragraph, as its reducing the extruder feedrate.
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?
-
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.
-
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