Re: Does someone want to know how fast they can print/extrude? look here
Looks great 🙂
Firmware are a few hard limits set, as i've explained before.
MK2 had acceleration values of 9000, feedrate of 500.
To get real speed in marlin you'd need to set these, and also up the dreaded Jerk value of 10 to 20 or more in configuration.h
But there are more limits with the TMC drivers than in the MK2, the hard values of Normal and Silent are somehow tied to the mesh bed leveling and endstop detection.
I've messed with them before, but it was a fail for endstop detection.
I'll stay at this speed level for now, printing faster than 250mm/s brings other problems anyway. Cooling. Matte spots on the outer layers. weaker prints and so on
Might ask one of the firmware guys like metacollin or brigandier, but they've got their hands full with the inconsistent extrusion issue.
Edit: but i think the processor limits us, the MCU isn't fast enough to handle linear advance and more than a couple thousand steps per second.
Printing fast will hit the roof of the MCU and it will limit your speed even if you bore up the firmware.
That's why i disabled LA in the first place in the speed test gcode, to make some more room for simple commands and increase speed
Re: Does someone want to know how fast they can print/extrude? look here
Edit: but i think the processor limits us, the MCU isn't fast enough to handle linear advance and more than a couple thousand steps per second. Printing fast will hit the roof of the MCU and it will limit your speed even if you bore up the firmware.
Is there a way around that? i.e. Has anyone had good success driving a Prusa I3 MK3 with a fast 32-bit ARM 3D Printer board? Like a Duet or a smoothieboard or something? Which of them would be the best? I could possibly repurpose the Einsys board for something else if I were to upgrade, so it wouldn't be wasted.
On the other hand, a Duet costs almost as much as an entire Ender 3, so, meh, maybe this is the end of the road for MK3 upgrades. Not sure.
Re: Does someone want to know how fast they can print/extrude? look here
Edit: but i think the processor limits us, the MCU isn't fast enough to handle linear advance and more than a couple thousand steps per second. Printing fast will hit the roof of the MCU and it will limit your speed even if you bore up the firmware.
Is there a way around that? i.e. Has anyone had good success driving a Prusa I3 MK3 with a fast 32-bit ARM 3D Printer board? Like a Duet or a smoothieboard or something? Which of them would be the best? I could possibly repurpose the Einsys board for something else if I were to upgrade, so it wouldn't be wasted.
On the other hand, a Duet costs almost as much as an entire Ender 3, so, meh, maybe this is the end of the road for MK3 upgrades. Not sure.
Klipper.
Klipper is two parts, a barebone firmware that replaces the firmware on the printer, and the rest of the software runs parallel to OctoPrint on the Raspberry Pi.
The Pi has 4x 1.2 GHz, so it does all the brute force calculations that normally we do on the 20MHz ATMEGA built into the 8 bit Prusa boards.
Lots of progress is being made on Klipper for the MK3 right now, because the MK3 does not have the processor power to get nice prints because it's step limited via Bresenham algorithm + linear correction + linear advance and more.
Klipper Discord Channel
https://discordapp.com/channels/448951856660480030/450674720061259776
Klipper can do roughly 100000 steps per second on the pi, resulting in a much smoother finish and much faster prints, compared to the few thousand the ATMEGA can do.
But some things are currently not working, like mesh bed leveling and live z adjust. Arksine is working on it.
Some things will never work like power panic or some functions of the filament sensor.
Klipper is not easy to work with, requires the Pi all the time, requires a perfectly level bed, and a few other things.
But this is the direction to go in.
Either a fast and intelligent board like a Duet, or a dumb board with a little atmetga and a big external processor telling it what to do.
You get speeds that are absolutely bonkers with Klipper, and changing settings doesn't require a firmware reflash.
If you have a spare printer, or you don't use your current printer for important stuff, then this is definitely up your alley.
Re: Does someone want to know how fast they can print/extrude? look here
Any idea why I am capping out at ~650%? Should be able to go faster, whether it extrudes well or not.
Re: Does someone want to know how fast they can print/extrude? look here
Somehow, at least in this video, the Klipper's "250mm/sec" looks faster than what I get at the "250mm/sec" speed produced during DevilHunter's print speed test:
Wouldn't you agree? I guess because of the 4K acceleration? I mean, if this is the acceleration and speed I was getting, I'd probably be satisfied at 250mm/sec. On the other hand, according to Martin's analysis, I maybe wouldn't really be saving all that much time... or, would I? Perhaps this is where subjective impressions lead me astray.
Re: Does someone want to know how fast they can print/extrude? look here
David my analysis was for the moderate 250mm/sec speed. If you want a higher speed then you do need higher accelerations. For example in the set I am detailing below at 470mm/s I was running an acceleration of 4625mm/s²
Any idea why I am capping out at ~650%? Should be able to go faster, whether it extrudes well or not.
Jitx what acceleration were you using? To get the very high speeds you need a high acceleration. See the modification I made to the gotta go fast g-code below so I could get the test to run from start to skirt failure due to forces applied at 950%
; gotta go fast
;Layer number [layer_num]
{if layer_num==3}M220 S100{endif}; Let the first 2 layers run at normal print speeds
{if layer_num==3}M204 S800{endif}; Let the first 2 layers run at normal print speeds
{if ((layer_num - (layer_num / 25) * 25) == 0)&&(layer_num>3)}M220 S{layer_num*2+100}{endif}; Ramp up the speed
{if ((layer_num - (layer_num / 25) * 25) == 0)&&(layer_num>3)}M204 S{800+layer_num*9}{endif}; Ramp up the accelleration
The results of my test using Sunlu PLA+ at 215°C/195°C, bed 60°C and K=30 Fan at 100% from layer 2 onwards and an X-Y Jerk of 2 (To force the corners to use gradual acceleration)
In Slic3r I set the max print speed to 1500mm/s, max volumetric speed at 300mm/³s
I had to stop the print at 950% speed 475mm/s as the skirt failed and the print started to pull away from the bed due to the forces the high speed nozzle was applying to it. Layer bonding was good throughout and the wall thickness both in the middle of the runs and the corners at 50mm/s and at 475mm/s was 0.45mm. The motor pitch was changing at every transition and the ringing becoming more spread out indicating it was an actual speed increase. The ringing also became more pronounced and had more waves before it faded indicating that the acceleration was also increasing at each transition.
End result on my V6 0.4mm copper plated block and nozzle with no sock I achieved a linear speed of 475mm/s (with every indication that 500mm/s was possible) and a volumetric flow of 42.7mm³/s. This just blows away the default Slic3r volumetric rate of 15mm³/s. This gives a whopping 185% speed increase.
Due to the failure mode a 0.8mm V6 plated copper nozzle would be required to find the actual limit. All though I suppose I could run the test with a 0.3mm layer height and a line width of 0.8. The 0.4nozzle should be able to handle that as the flat tip diameter is 1mm. Also this test was run at the tuned temperature, K value and bed temperature I use to print Sunlu PLA+. So there is head room on the temperature and K value if I do find a failure point with my proposed test.
Regards,
Martin
Martin Wolfe
Re: Does someone want to know how fast they can print/extrude? look here
In the end I ran the test with 0.3mm layer height and a line width of 0.9 starting at 300%. It was a failure the instant it got to layer 3 which is where the test starts at 300% the extruder started clicking. The pressures involved in 0.9mm line width at 0.3mm layer height at 300% were too much but 300% worked fine with a 0.45mm line width and a 0.2mm layer height.
May have to redo the first test with 3 solid layers at the base starting at 500% to see it would have reached 999.9%
Regards
Martin
Martin Wolfe
Re: Does someone want to know how fast they can print/extrude? look here
@martin Wow! Your print and acceleration speeds are very impressive! 😀
; gotta go fast
;Layer number [layer_num]
{if layer_num==3}M220 S100{endif}; Let the first 2 layers run at normal print speeds
{if layer_num==3}M204 S800{endif}; Let the first 2 layers run at normal print speeds
{if ((layer_num - (layer_num / 25) * 25) == 0)&&(layer_num>3)}M220 S{layer_num*2+100}{endif}; Ramp up the speed
{if ((layer_num - (layer_num / 25) * 25) == 0)&&(layer_num>3)}M204 S{800+layer_num*9}{endif}; Ramp up the accelleration
Ah, good, it's also great news that you've solved this conundrum that had been holding me and jltx back.
Does your gcode snippet need to be copied into each of the 500 "gottta go fast" entries of DevilHunter's speedtest gcode? Since you've already done the work of doing that, perhaps you could post the modified DevilHunter speedtest so that other folks like me, jltx, DevilHunter, and whoever else can simply download and run it? I received a spool of untinted PLA filament today, and I'd like to see if I can replicate your impressive results.
Re: Does someone want to know how fast they can print/extrude? look here
Does your gcode snippet need to be copied into each of the 500 "gottta go fast" entries of DevilHunter's speedtest gcode? Since you've already done the work of doing that, perhaps you could post the modified DevilHunter speedtest so that other folks like me, jltx, DevilHunter, and whoever else can simply download and run it?
That code snippet is the whole thing it is a replacement for the 500 entries. Just delete all 500 entries and place one copy of my code in its place. I'll post the full test later on today.
Regards,
Martin
Martin Wolfe
Re: Does someone want to know how fast they can print/extrude? look here
Here is the full details of the test I used for PLA+ including the G-Code file that has increasing acceleration as well as speed.
Print temperature 205/195
Bed Temperature 60
Fan 100%
300mm³/s
K value 30
Line width 0.45mm
Layer height 0.2mm
Spiral vase (1 perimeter)
0 Solid layers top/bottom
0% Fill Density
10mm skirt
First layer speed 30mm/s (also used on layer 2)
First layer/default acceleration 800mm/s²
Jerk X-Y 2 (This forces gradual acceleration on the corners so that they hold together)
After layer change G-code
;AFTER_LAYER_CHANGE
;[layer_z]
; gotta go fast
;Layer number [layer_num]
{if layer_num==3}M220 S100{endif}; Let the first 2 layers run at normal print speeds
{if layer_num==3}M204 S800{endif}; Let the first 2 layers run at normal print speeds
{if ((layer_num - (layer_num / 25) * 25) == 0)&&(layer_num>3)}M220 S{layer_num*2+100}{endif}; Ramp up the speed
{if ((layer_num - (layer_num / 25) * 25) == 0)&&(layer_num>3)}M204 S{800+layer_num*9}{endif}; Ramp up the accelleration
The files
Each band is 5mm high, increases extruder speed 50% and acceleration by 225mm/s²
-------------------------------------------------------------------------------------------
I did try running the test at 0.3mm layer height and 0.9mm line width using the 0.4mm plated copper nozzle and V6 block. It failed immediately at 300% with extruder clicks. This is where I set the test to start for it. The pressures obviously too much for the extruder to handle but the initial part at 100% printed.
The 0.3mm G-Code starting at 300% is:-
;AFTER_LAYER_CHANGE
;[layer_z]
; gotta go fast
;Layer number [layer_num]
{if layer_num==3}M220 S300{endif}; Let the first 2 layers run at normal print speeds
{if layer_num==3}M204 S800{endif}; Let the first 2 layers run at normal print speeds
{if ((layer_num - (layer_num /16) * 16) == 0)&&(layer_num>3)}M220 S{layer_num/16*50+300}{endif}; Ramp up the speed
{if ((layer_num - (layer_num / 16) * 16) == 0)&&(layer_num>3)}M204 S{layer_num/16*225+800}{endif}; Ramp up the accelleration
Each band is 4.8nn high, increases extruder speed 50% and acceleration by 225mm/s²
Regards
Martin
Martin Wolfe
Re: Does someone want to know how fast they can print/extrude? look here
Martin,
I have good news, and, unfortunately, what I think may be some bad news. The good news is that I was able to print your PLA 0.2mm layer height test all the way to completion without any catastrophic failures using the untinted PLA I had just received:
The bad news is:
1. I don't think it ever got above 300mm/sec. Maybe less.
2. Starting somewhere around the 85 or 90mm height (sorry I didn't pay better attention as to exactly when), I stopped hearing a change in pitch at each subsequent layer
3. Subjectively speaking, it didn't seem any faster than the results at the end of DevilHunter's test. This isn't definitive, but it just didn't seem to be going any faster.
Since the first layer height is 30mm/sec in your test, then even if it makes it to 1000%, that would still "only" be 300mm/sec, which is still impressive in absolute terms but it doesn't really advance beyond what we were getting with DevilHunter's test.
Maybe I'm misunderstanding something, or running the wrong test to go faster? Is this the same test where you thought you were getting 475mm/sec before it detached from the base?
One suggestion I do have: use a wider brim and/or build a higher brim. Maybe I got lucky with mine, but in your case I think it will help holder it down better.
Re: Does someone want to know how fast they can print/extrude? look here
The bad news is:
1. I don't think it ever got above 300mm/sec. Maybe less.
2. Starting somewhere around the 85 or 90mm height (sorry I didn't pay better attention as to exactly when), I stopped hearing a change in pitch at each subsequent layer
While the first layer speed is only 30mm/s it transitions to the full test speed at layer 3. The deliberately slow first two layers are for good bed adhesion and to enable a smooth transition to the vase portion.
I was definitely hearing changes in pitch all the way up. The print head was really whizzing around. Still it was on a new X-carriage with the binding problems of my old one solved and freshly oiled steel rods and bearings. One thing at around 2 thirds of the way up it hit one of my printers resonant frequencies. I nearly terminated at that point but it got past without any damage. With regards to you hitting a wall that can be seen from the spacing on the ringing. From 90% up there is no change in that.
With regards to your suggestion about a brim I was thinking of a couple of solid layers at the bottom would do the trick.
Regards,
Martin
Martin Wolfe
Re: Does someone want to know how fast they can print/extrude? look here
With regards to you hitting a wall that can be seen from the spacing on the ringing. From 90% up there is no change in that.
Yes, I noticed that too. So, it sounds as though for some reason I'm hitting a wall that you're not. I wonder why? Are you running firmware 3.2.1? That's what I'm using.
Anyhow, I'm wondering as to whether this is the print test that you said you were getting 475mm/sec speeds and >4000 acceleration on? Or was that a different test?
Re: Does someone want to know how fast they can print/extrude? look here
It was the same test and yes I am running 3.2.1. The following lines in my code transition from the slow first 2 layers to the full test speed:-
{if layer_num==3}M220 S100{endif}; Let the first 2 layers run at normal print speeds
{if layer_num==3}M204 S800{endif}; Let the first 2 layers run at normal print speeds
Regards,
Martin
Martin Wolfe
Re: Does someone want to know how fast they can print/extrude? look here
It was the same test and yes I am running 3.2.1. The following lines in my code transition from the slow first 2 layers to the full test speed:-
{if layer_num==3}M220 S100{endif}; Let the first 2 layers run at normal print speeds
{if layer_num==3}M204 S800{endif}; Let the first 2 layers run at normal print speeds
Regards,
Martin
Are you sure you posted the right test? The only references I see to layer_num in that gcode file comes at the very end of the file, and it appears to be commented out:
; layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]\n\n; gotta go fast\n;Layer number [layer_num]\n{if layer_num==3}M220 S100{endif}; Let the first 2 layers run at normal print speeds\n{if layer_num==3}M204 S800{endif}; Let the first 2 layers run at normal print speeds\n{if ((layer_num - (layer_num / 25) * 25) == 0)&&(layer_num>3)}M220 S{layer_num*2+100}{endif}; Ramp up the speed\n{if ((layer_num - (layer_num / 25) * 25) == 0)&&(layer_num>3)}M204 S{800+layer_num*9}{endif}; Ramp up the accelleration\n
Also, the file still has all 500 of the "gotta go fast" sections from DevilHunter's prior post.
I even downloaded your zip file a second time to re-confirm this.
Anyhow, I look forward to downloading and trying the test where you experienced your great results. I just don't think the zip of the test you posted is that test.
Re: Does someone want to know how fast they can print/extrude? look here
Yes just downloaded it and opened it up in word. Those 500 entries are what my if statements compile to in the slicer. DevilHunters test involved putting all 500 entries in. This just generates them on the fly when slicing.
Extract From The Test File
G1 X76.403 Y60.348 E0.02749
G1 X76.792 Y59.695 E0.02570
;BEFORE_LAYER_CHANGE
G92 E0.0
;0.8
G1 Z0.800 F10800.000
;AFTER_LAYER_CHANGE
;0.8
; gotta go fast
;Layer number 3
M220 S100; Let the first 2 layers run at normal print speeds
M204 S800; Let the first 2 layers run at normal print speeds
; Ramp up the speed
; Ramp up the accelleration
G1 F1283
G1 X77.286 Y58.996 E0.02899
G1 X77.808 Y58.380 E0.02735
.
.
.
.
G1 Z4.998 X75.524 Y62.600 E0.02735
G1 Z4.999 X75.755 Y61.826 E0.02735
G1 Z4.999 X76.034 Y61.111 E0.02599
G1 Z5.000 X76.404 Y60.347 E0.02871
G1 Z5.000 X76.638 Y59.953 E0.01553
;BEFORE_LAYER_CHANGE
G92 E0.0
;5.2
G1 Z5.000 F10800.000
;AFTER_LAYER_CHANGE
;5.2
; gotta go fast
;Layer number 25
; Let the first 2 layers run at normal print speeds
; Let the first 2 layers run at normal print speeds
M220 S150; Ramp up the speed
M204 S1025; Ramp up the accelleration
G1 F1283
G1 Z5.000 X76.817 Y59.654 E0.01180
G1 Z5.001 X77.286 Y58.996 E0.02735
This is the transition at layer 25, 5mm into the test. Note that it has my comments in there and does increase both speed and acceleration. My comments appear on every layer but the speed and acceleration changes only offer when they are ment to at every 25th layer.
Regards,
Martin
Martin Wolfe
Re: Does someone want to know how fast they can print/extrude? look here
Of possible (?) relevance is this at the beginning of the gcode of your test file:
M203 X200 Y200 Z12 E120 ; sets maximum feedrates, mm/sec
and I don't see that being over-ridden anywhere.
Also, I'm a bit rusty in my reading of regular expressions, but something I noticed in passing is that according to the Marlin definition, the syntax is:
M203 [E<units/s>] [T<index>] [X<units/s>] [Y<units/s>] [Z<units/s>]
so shouldn't E, if it is to be defined at all, be defined before X, Y, or Z in the M203 gcode? The parser might simply ignore anything after Z. I mean, if the E is ignored, then it would explain the thinning of the walls at the higher speeds. i.e. the extruder is being limited to too low of a number. Of course, that has been true in all the tests, not just Martin's. It's just that only now did I have a reason to look it up.
The other thing that seems relevant is best illustrated by this excerpt from the gcode:
;BEFORE_LAYER_CHANGE
G92 E0.0
;95.2
G1 Z95.000 F10800.000
;AFTER_LAYER_CHANGE
;95.2
; gotta go fast
;Layer number 475
; Let the first 2 layers run at normal print speeds
; Let the first 2 layers run at normal print speeds
M220 S1050; Ramp up the speed
M204 S5075; Ramp up the accelleration
G1 F1283
.
.
.
So at the last layer set, as in all the layers, the base feedrate is 1283mm/minute = 21.4mm/sec. That is then being multiplied by a factor of 10.5 (since M220 S01050 says that the the feedrate should be inflated by 1050%). Well, that equals a feedrate of 224.5mm/sec, and that would appear to be the maximum print speed ever aspired to by the gcode in the given test file.
If it's not any of the above, then for now I'm stumped. Perhaps DevilHunter or jltx can try Martin's test file? Hopefully it works for them, and I'm just doing something wrong.
[Edit: So, I went ahead and made these crude changes to Martin's gcode, and then re-ran it, again using untinted PLA
M203 E240 X400 Y400 Z24 ; sets maximum feedrates, mm/sec
I changed all the
G1 F1283
to be
G1 F3000 ; 50mm/sec feedrate
The print quality started to visibly degrade at 300mm/sec (see photos below), but still no catastrophic failure. Unfortunately, at 350mm/sec, the firmware kept interrupting because it thought it had detected a crash.
So, at that point, I stopped the test. Unfortunately, I'm not sure it ever fully got the benefit of the accelerations that Martin intended to test. In any event, I *do* hear a change in pitch all the way up, so something about Martin's code (or maybe the modified version of it) is right, because this seems to be faster than I've ever been able to print before. So, that's real progress.
I'm not sure why the firmware thought it was detecting a crash. I certainly didn't hear anything which hinted at a crash occurrence. I still haven't installed a copper hot-end, though I am using a copper nozzle. Therefore, an open question in my mind is whether or not the copper hot-end would help at all. ]
Re: Does someone want to know how fast they can print/extrude? look here
I tried the modified martin test again, this time with K=50, but it made the print fidelity arguably worse:
As with the prior modded test, it completes the 325mm/sec layer set, and then within moments of starting the 350mm/sec layer set, it "crashes", or at least the firmware thinks it does. So, I stopped the test.
Any ideas as to what the "crash" is?
So, anyway, as DevilHunter said somewhere near the beginning, it's beginning to look as though around 250mm/sec is the practical limit unless print fidelity doesn't matter, in which case 325mm/sec would be the maximum. Maybe a copper hot-end would push those numbers up.,,,
[Edit: interestingly, the "fake" crash detections do, in fact, always seem to happen on the Y-axis: https://shop.prusa3d.com/forum/hardware-firmware-and-software-help-f64/y-axis-fake-crash-detections-let-s-debug-t15501.html ]
[Edit2: Hmmm... Looks like turning off crash detection may be an option. That seems worth a try, since they don't appear to be real crashes anyway. ]
Re: Does someone want to know how fast they can print/extrude? look here
Last post, I guess, since I don't want to monolog. I turned off crash detection and ran it with K=20:
It failed at 350mm/sec. I let it continue to 375mm/sec anyway, but I didn't hear a change in motor pitch at that speed, so yet again something is holding it back after 350mm/sec.
Anyway, this does raise the practical limit at which it can print, at least for infills or the like, to 325mm/sec.
Also, starting at 350mm/sec, there was some audible "clunking" sounds. Whatever it is, I guess that's what the crash detection was detecting.
Re: Does someone want to know how fast they can print/extrude? look here
That near failure condition the waves and ripples look like they would make a good lampshade/diffuser. 🙂
Regards,
Martin
Martin Wolfe