18 ms·
3D Printer Auto Bed Leveling Mesh Visualizer
- nycdatasci 3y agoContext?
- mardifoufs 3y agoA 3d printer bed is never actually flat, especially since 3d printers are cheaper and the tolerances are usually pretty loose compared to a super flat, precisely ground CNC bed for example. One of the biggest issue/pain point in 3d printing for a while was to adjust the bed to make jt flat, or at least as flat as possible so that you can actually print without massive issues on the first layer. The process used to be manual, tedious and hit or miss (due to drift in the screws, or thermal expansion) etc. Nowadays most new printers come with a sensor that probes the bed at multiple points (say in a grid of 4x4), then using for example a lagrange interpolation you can get a mesh that represents how flat your bed is. Then, using the visualisation you can either manually adjust the bed (with screws that rise or lower a certain corner), or even just let your printer compensate for the deviations. That is, the printer moves the Z axis even when it is still printing on the same layer to make the print surface "virtually" flat (not always ideal if the Z axis stepper is trash, or if the deviation is too wide, or if there's too much vibration). That means that usually, the issue of bed levelling is mostly solved for newer printers! Some printers also just use the nozzle itself as a probe, combined with a load cell. But those are usually on the higher end. The most common way is just a small probe of known size that sticks out and then calculates how much it extended before reaching the bed. (Some even use a pretty high res lidar to make sure the first layer is fine, even in some sub 900$ printers).
- NegativeLatency 3y agoOr an inductive sensor: https://help.prusa3d.com/article/p-i-n-d-a-superpinda-sensor-testing_2091 https://help.prusa3d.com/article/p-i-n-d-a-superpinda-sensor...
- mardifoufs 3y agoYep, having that by default since I think 2018, is one of the reasons prusas have a reputation of being super easy to use. It's way better than even a bltouch. Nowadays it's a lot more common thankfully though I don't think other big players use inductive sensors. Even prusa is now using a load cell that apparently will be used for much more than just bed levelling (the load cell could be able to tell if filament is stuck, because the motor will push without extrusion leading to a variation in load for example). Very exciting times in 3d printing honestly (and I say that as someone that is pretty "bearish" on 3d printing usually)
- lawn 3y agoIt's often not the bed that isn't flat, but that the rest of the printer itself moves and expands.
- mardifoufs 3y agoYeah or the bed itself is fine, but it's on a bad bed support. That's why even a perfectly flat glass bed plate can be completely uneven since the structure itself is crooked! Considering that quite a few printers are self assembled too (with basically no torque specs, and users that have little means to build it accurately), it's just compounded even more.
- zokier 3y ago3D printer made of Invar/Kovar next? :)
- dotnet00 3y agoThere are also issues like even if extremely flat, the way most printers mount the bed, it's going to bend measurably simply from expanding upon heating up and the distance between the mounting points not expanding the same amount.
- londons_explore 3y agoAs long as you always print with a hot bed, that effect doesn't matter - just calibrate it when hot.
- Mashimo 3y agoYou mean "As long as you always print with the same bed temperature"? Because there is a difference how your bed looks from 60 C for PLA to 110C for ABS.
- londons_explore 3y agoJust do the first layer at 110 for all materials. PLA actually adheres far better at 110C, but obviously you need to cool it down before building too many extra layers on top. Slicers have a setting for "Bed temperature initial layer" for exactly this reason.
- Mashimo 3y agoI find it easier and faster to just print PLA at 50 - 60 C bed and use probes for mesh and z level. I never heard of anyone printing PLA with 110C first layer.
- Baeocystin 3y agoI usually start my PLA prints at ~80C for the first layer, dropping to 65C for the rest. I first tried it because I was playing with PEO plates that had an iridescent pattern I wanted to strongly embed in the layer, but it turns out to be a good general pattern overall. Really reduced the amount of support material I need on certain prints, which is a big plus.
- NegativeLatency 3y agoKinda neat to see a scaled up visualization of the vertical height differences of your printer bed. https://marlinfw.org/docs/gcode/G029-ubl.html https://marlinfw.org/docs/gcode/G029-ubl.html
- shadycuz 3y agoSome 3d printers have automatic bed leveling. Which is a process where the printer will touch the print bed in many places with a probe. This allows the printer to detect peaks and valleys, which it can then compensate for. The website above allows you to visualize that data.
- flatline-84 3y ago3D printers can do a variety of "bed mesh" leveling, which is where they probe the bed in a grid pattern and then can compensate for any deformities in the bed via software. This ensures that the first layer (arguably the most important) for any print is perfectly flat and level. This visualizer takes the output of the bed mesh calibration sequence (where each point is a z-offset, usually from what the printer has defined as 0 based on the end stop) and graphs it so you can see your bed deformation. Most Klipper frontend UIs already have support for this though
- Doxin 3y agoFor a 3d printer the distance between the print bed and the nozzle when printing the first layer is very important. If the distance is too big the print doesn't stick to the bed and you end up with spaghetti. If the distance is too small either not enough plastic comes out so your print doesn't stick; no plastic at all comes out so your print doesn't stick; or the nozzle digs into the printbed, damaging it. Since the thickness of layers in a 3d print is around 0.1-0.3mm the margin for error is rather tight. Since no one is going to invest in precision ground printbeds you need to get that precision by some other method. One of those methods is to probe the bed height at various points before printing, and driving the Z-axis to correct for that during the print. The linked tool can be used to visualize how nonflat your printbed is given a set of such probes. The default example seems to have a ±0.25mm error, which isn't amazing but should be usable with mesh leveling and not at all without.
- kayson 3y agoOctoprint has a plugin (Bed Mesh Visualizer) that does this.
- smcleod 3y agoKlipper's frontend (Mainsail) has this built in. https://docs.mainsail.xyz/ https://docs.mainsail.xyz/
- flatline-84 3y agoThere's also Fluidd https://docs.fluidd.xyz/ https://docs.fluidd.xyz/
- cassac 3y agoPrusa Link/Connect also has this.
- antirez 3y agoAre you sure PrusaLink has it? I've an MK4 with latest firmware and I can only see the usual temperature graph and file browser, and that's it. Not that the bed visualizer would be so useful with the MK4: this printer (like the XL) really does not have leveling issues.
- yokoprime 3y agoI think you're confusing the control screen with leveling mesh visualizer. Prusa Connect does not have this, Prusa Link is even more bare bones.
- numpad0 3y agoIME, ABL is not that important. Personally I spray bed with a hairspray and tweak leveling screws while first layer is going on[1], that's just fine. Old Marlin ABL also has bug/tendency to report erroneous tilt towards the last corner it measures, I suspect due to Z axis missing step from microstepping. Ultimately it was too finicky for me without resorting to closed-loop drivers, which also almost completely solved the leveling problem. 1: I know it is a big flat NO to touch a robotic equipment in operation, unless said robot is specifically designed to be almost completely incapable of applying any force to any parts of a human body, but I'm smart and I consider my printer a co-bot so it's okay(it's not okay. A better solution is needed).
- dotnet00 3y agoABL is not that important if you don't mind babysitting the printer. But it's an amazing quality of life improvement otherwise. Especially if you're printing stuff that needs precision. Manually leveling an ender 3 was tolerable to me for about a month while learning 3d printing and figuring out if it was something I would be into long term, but over the course of a year I went from that, to trying various ABL sensors and bed replacements, to now a custom built Mercury One.1 with 3 point kinematic auto bed leveling, and it's such a night and day difference in terms of usability. It physically levels the bed and automatically determines the z offset, so I don't have to do anything when using different print surfaces and when operating at different temperatures/in an enclosure. Heat expansion is pretty noticeable (I've destroyed pei plates with the nozzle by calculating z offset when cold but attempting to print when hot), and while sticking your hand under the bed of a printer printing PLA is not that dangerous, with ABS the bed is at 110C, not at all worth the risk, so autoleveling is very helpful. It makes it so much easier to just submit a print job, forget about it and find it finished perfectly, without involving any finicky adhesives.
- lvturner 3y agoI'm with you, adding an auto bed leveler was the single biggest upgrade on my 3D printer, for the type and printing I do and the frequency I use, it's really just made it fire and forget (I'm sure I could improve it /even/ further) where as previously I felt I had to re-level after every print.
- bbbbbenji 3y agoI've also made something similar. It was originally for the Prusa Mini, but I've updated it with a beta that accepts an arbitrary array of probe points: https://bbbenji.github.io/PMSBLM/beta/ https://bbbenji.github.io/PMSBLM/beta/
- Mashimo 3y agoTitle needs [2019] It's something that is build in on most UIs now days.
- m4rc3lv 3y agoThis is really cool!
- picadores 3y agoSo that is two layers of filler to create a perfect bed to print on?
- Mashimo 3y ago~0.6mm, two layers of you use 0.3mm, people often use 0.2mm layer height though. But I think mesh bed can handle this.
- picadores 3y agoHow does the printer compensate for precision loss do to movement? In industrial robotics, there is the concept of measuring the inprecissions in the machinery at any given point (direct measurement) and compensate that via variables in the robotic matrice. Is there something similar for printers?
- Mashimo 3y agoI'm not sure. But in the end you are laying molten plastic on top of each other. Even with a perfect flat print surface you will have slightly uneven extrusion that will be noticeable on top down lighting. Silver cubes with direct lighting https://github.com/lord-carlos/mk3-upgrade/blob/master/assets/images/20190525T190444.jpg?raw=true https://github.com/lord-carlos/mk3-upgrade/blob/master/asset... Same cube with top down light: https://github.com/lord-carlos/mk3-upgrade/blob/master/assets/images/skele_602_silver.jpg?raw=true https://github.com/lord-carlos/mk3-upgrade/blob/master/asset... What we have is Pressure Advanced. Where we stop extruding (as much) right before a corner. And we do that by doing some test prints with different values and eye balling it. Also some firmwares like klipper have some math in it to compensate for heat expansion over time of the printers frame. Or something like that.
- numpad0 3y agoMost hobby printers do not compensate at all. There are input shaping to reduce vibration, and hacked together closed-loop upgrades, personally I haven't heard of any more sophisticated controls.
- RoseyWasTaken 3y agoABL has been recently improved with the Beacon 3D probe (https://beacon3d.com/ https://beacon3d.com/), I haven't had a chance to try it myself yet, as my cheap induction probe has been working reliably ever since I mounted it. But, the Beacon 3D along with mesh leveling and selective leveling area are my favorite recent innovations in 3D printing.
- stavros 3y agoDoes it work well? All I want is a reliable first layer, as that's what causes 99% of my failed prints.
- TaylorAlexander 3y agoLook in to the Prusa Mk4 which uses the nozzle itself with a built in load cell to probe the bed, providing perfect offsets every time!
- stavros 3y agoAh, damn, that's great! Not CoreXY, but I'm sure someone will put this on a CoreXY printer, and then no more bed leveling!
- TaylorAlexander 3y agoOh someone has put this on a CoreXY: ;) https://www.prusa3d.com/product/original-prusa-xl-3/ https://www.prusa3d.com/product/original-prusa-xl-3/
- stavros 3y agoAhaha XLent.
- jyxent 3y agoThe Bambu Lab CoreXY printers have force sensors in the bed for leveling using the nozzle: https://wiki.bambulab.com/en/x1/maintenance/replace-the-heatbed-force-sensor https://wiki.bambulab.com/en/x1/maintenance/replace-the-heat... Vorons also have a nozzle probing design: https://github.com/VoronDesign/Voron-Tap https://github.com/VoronDesign/Voron-Tap