Bed Levelling squares
I printed out the bed levelling squares given in the course material and tweaked the Z distance to get a good result.Majority part of the the squares seems good but all the squares have little gaps near the edges and corners (Please see the attached images). I tried tweaking the Z distance some more but if i reduce the distance the gaps aren't visible but the surface becomes rough and uneven and if I increase the distance the individual layers don't stick.How do I fill up the small gaps with the same Z height ? or am I doing something wrong all together?
Here are the settings I used ;
1 : Material : PLA
2 : Nozzle Temp : 210
3 : Bed Temp : 60
4 : Layer Height : 0.2
5: Printer : Prusa I3 Mk3s
(All other settings were default values predefined in the slicer for PLA)
PS: I printed the single centre square before printing the 5 squares and encountered the same problem.
Welcome to the community! 🙂
Your squares look almost perfect, but to fill in those gaps you want to increase the perimeter overlap. That makes the nozzle print a little further into the perimeters at the end of a line so will add more plastic near the points where you are currently getting holes. It might have a slightly negative effect on the quality of the surface (since the nozzle will rub on any extra plastic at the skin-to-perimeter joint and give it a matte finish).
Assuming you're using PrusaSlicer, you can find the setting under Print Settings -> Advanced -> Overlap:
Start by increasing it by 5% and see how it goes. If need be increase by a further 5% and iterate as necessary. You want to find the sweet spot between having those gaps (overlap too little) and having overextrusion and bad surface quality where the skin meets the perimeters (overlap too big).
After that exercise, if you could print something higher, like a 20mm calibration cube, and post photos of the top layer, I will check if your extrusion multiplier needs a slight tweak, since that also influences this slightly (I ask for a cube as the nozzle-to-bed spacing also plays a significant role in the shape of the plastic for the first few layers, so although your multiplier looks spot on, small prints like bed levelling squares are not ideal for fine-tuning the extrusion multiplier).
Let me know how it goes with the perimeter overlap 🙂
@lmf5000 Hi Luke,
I did what you told me to and here are the results.
I had to increase the infill overlap by 15% to get these results.Also, I'm having trouble printing the top left square because the gaps in it still do not fill up completely.At times the perimeter walls doesn't print correctly.The bottom left square feels rough to touch as well with this setting but the gaps are gone , rest of them seem good. I think i'm still not there quite yet with the first layer but still went ahead with the xyz cube.Please let me know what you think.
Thank you so much for your advice btw. 😀
That's some good progress! You appear to be very slightly over-extruding (which is why the top surfaces look a little rough), so lower the extrusion multiplier (under Filament -> Filament Settings -> Extrusion multiplier). Start by reducing it by 0.01 (that's 1%) and keep going in 1% increments until the print quality stops improving. You might need to decrease by up to 0.05 before that happens, so about 5 iterations.
For the sake of this testing, you don't need to print the whole cube (since we're just interested in the top layer and a bit of the sides), so you could use the plane cut feature like so:
And that way you print just the top few milimeters of the print and save 80% of the time and material 🙂
To get back to the original issue with the perimeter gaps, I would say your settings are 95% perfect at this point and what you're noticing now is the imperfection of the 3D printing process - by which I mean if you repeat the print again with identical settings, you might very well get a completely perfect print, or you might get a defect in a completely different place 😆
Nonetheless, we'll double-check the physical setup first. Can you measure the height of your bed levelling squares with a caliper (accurate to 0.01mm) or micrometer? The height should be roughly equal to, or slightly lower than your first layer height setting (which should be 0.2mm if you kept the Prusa defaults, meaning actual square height in the range of 0.15-0.21mm is acceptable). If the squares are much thicker (0.25-0.3mm) then you would benefit from lowering your nozzle-to-bed distance slightly (say by 0.05mm) by tweaking your probe offset, or babystepping, or setting a Z-offset in the slicer. The extra "squish" makes the filament weld better to every other part of the print (perimeters, skin and eventually other layers in a real print).
Other things that will help at this point are slightly lowering the first layer speed (so the filament will weld more neatly to the perimeters instead of being pulled away prematurely by the nozzle), and increasing the perimeter overlap by yet another 5% (this will degrade surface quality, but the reduction in extrusion multiplier will counteract it somewhat).
Let me know how it goes 🙂
@lmf5000 Hi Luke! sorry about not replying sooner but the wire of my printer's thermistor broke somehow and i had to order a new one which took a lot of time due to the lockdown here. I put the the new thermistor back on today.However, i'm having problems with the hotend temperature.It is fluctuating a lot (10-15 degrees) can you please help me with the PID tuning and then maybe we could get back to our original issue?
First of all check that the thermistor is in the hotend securely - make sure it's not dangling or loose, or not pressed in all the way.
Once you're sure your mechanical setup is snug, you can follow our masterclass on PID tuning here - https://io3dp.kartra.com/portal/A7gtKjfkSp9c/subcategory/76
The basic gist of it is, you connect your printer to your PC in a way that you can send it serial commands. Turn on verbose mode so you can see what it's doing Then send it this command:
Where S200 is your temperature target. If you print at 210°C, then use S210 instead.
It should do five cycles of autotuning. If you get a thermal runway error, pre-heat the extruder to 200°C before you send the M303 command.
Once the autotune is finished, you should get a set of PID values. Send those to the printer using
M301 Px.xx Ix.xx Dx.xx
Where the PID values are from the previous step.
Then save to EEPROM using M500.
Turn off the heaters (and motors if applicable), turn the printer off and then on again, and send it M503 to look at what settings it has in memory after power-up. Verify that it's loaded the correct (i.e. new) PID settings. If not, your printer might not permit you to save to EEPROM. In that case the workaround is to put the M301 command in your starting script so the PID values get sent to the printer with every print.
Hope that helps, let me know how it goes! 🙂
The above link for the masterclass on PID tuning may have been changed and it leds to an error page.
The folowing links all currently working...
Rob in Australia
Good catch. I think I know what happened - the part after /portal/ is a token unique to each user - so my link works only for me, and your links work only for you (in fact I can't access any of the links you posted from my account). I will try and look for a way to post universally-visible links.
@lmf5000 Hi Luke, did the PID tuning , and the temperature has been stable till now (fluctuates +- 1 or 2 degrees but i think that is fine). Only issue i'm having right now is after first layer. For the first layer my nozzle temp is set to 215 degrees and from second layer onwards i set it to 205 degrees.However , after the first layer there is a sudden drop in temperature by 15-20 degrees.The temperature drops very quickly to about 195-200 degrees and then it gradually comes upto 205 and stays constant for the duration of the print afterwards.Is this sudden change something i should be worried about?
PID tuning will improve the printer's dynamic temperature response (which you're using when you change temperature like that) in addition to its static response (which you're using when you want to maintain a set temperature) so running a few more iterations of autotune around 210°C (the midpoint of 215 and 205) may improve the overshoot/undershoot. A slight undershoot when reducing temperature is normal. 5°C of undershoot is reasonable, so I'd expect it to dip to around 200°C or a little lower - however with very well-tuned hardware you might be able to achieve an undershoot of 3°C or less. The problem in your scenario is that after layer 1 the printer will start printing faster so filament flowrate increases - meaning more of a cooling effect from the filament. This, in addition to the requested temperature decrease, means that the nozzle is very likely to undershoot. Your PID parameters are tuned with no filament flowing out of the nozzle so the cooling effect of filament flowrate isn't catered-for during the autotune. Therefore your tuned PID parameters will be perfect for initial warmup and keeping a constant temperature, but may be quite far off for the situation that happens during the temperature transition upon starting layer 2 - so your printer's response may be quite far from perfect.
Personally I never found any benefit for using a different temperature for the first layer - I just use 210°C for PLA for all layers (and 230°C for PETG). You could try this strategy and see if you have better print results. The printer will certainly find it much easier to maintain stability if it doesn't have to change temperature after the first layer :). The longer the printer stays at one temperature, the more accurately it is able to maintain it (to an extent) because the Integral part of the control loop ("I" in "PID") applies small corrections over the long-term to move the average temperature of the hotend ever closer to the desired temperature. Requesting a temperature change will require starting back from scratch, with an agressive proportionate-dominated response in the beginning to quickly move the temperature, then a deriviate-based response to arrest oscillation, then finally a gradual return to stability. Something like this (process variable in this case is hotend temperature. Image shows heating, in your case just invert the graph so it represents cooling 😉 ):
@lmf5000 Aha! now I get the reason behind the sudden temperature drop. Makes sense😄.I'll try a few PID iterations and see if it improves.
I only used to print the first layer at higher temperatures because it apparently helps the first layer adhere better to the surface according to a lot of content I read and watched online but , now that I think about it I have printed the first layer at lower temperatures before and had pretty much no issues as far as bed adhesion was concerned.I'll try printing all layers at one fixed temperature and let you know how it goes. Thanks a lot!
You're welcome 🙂
Higher temperatures make the layers adhere to each other more strongly (better welding strength) and to the build plate as well - the downside is the filament is more liquid (less viscous) so the print definition (quality) is slightly reduced, all other things being equal. You'll get saggier bridges, more overheating in thin pointy features, worse overhangs and a more shiny (less matte) print finish. You can try finding the perfect temperature by experimentation, or you could print a temperature tower and see what looks and feels best on your hardware 🙂
We’re a bunch of 3D printing and design nuts. We just want to make great 3D design available to everyone.
Good design takes time, great design takes a process. You can learn this with us, to build your skill set in this rapidly expanding market.