Transcript:
Twelve options to sense the surface of a 3D printer’’s bed Twelve solutions to the same problem. Twelve sensors that are all different. But there can only be one. Well, actually, each one of these has an upside, so let’’s see what they can and can’’t do Myth busting 3D-printer style. Essentially, these should all do the same thing:. When using autoleveling on a 3D printer or even on other machines that need their tool to be at a perfect distance from a workpiece like a PCB router, these sensors probe a few different points on the surface and then compensate for any misalignment of the bed or workpiece. Since the sensor itself is the only input, the machine gets about how the surface is aligned or deformed, it’’s kinda critical that it senses stuff reliably and can even detect your surface. The easiest option are inductive sensors, but those only detect metals and are useless for glass, then you’ve got optical ones, which can detect any surface as long as it’s, not totally transparent, mechanical ones that physically extend to the surface and touch it and, Lastly, capacitive sensors that will detect every surface and then some. To test their repeatability, I built this assembly. That should provide a near-perfect linear motion for testing the sensors. Essentially it’s an IGUS W rail, which as a sliding mate, should have a better repeatablity than ball bearings and the backlash, These typically have doesn’t matter much since Gravitiy is essentially pre-tensioning things here, then we’ve got another IGUS part, a 2mm pitch trapezoid spindle attached to a 0.9° stepper motor. The two shafts here are touching inside the coupling, so we’re not getting any springiness. Again to take care of any tipping effects on the rail it’’s mounted off-center. The entire thing is driven with an MKS Gen Board that was literally sitting in the “scraps” bin and a few lines of Arduino code. And yes. You can still run standard Arduino code by itself on any 3D printer board that would otherwise run the Marlin firmware or similar. All it does is to run the sensor into the surface backs up by a bit and then does that again 41 more times. In the end, it reports the standard deviation of all measurements, which essentially tells us what sort of precision we can expect from each sensor. To check that this construction even worked as intended. I mounted a steel rod to the carriage and let it close a circuit. As it touched the aluminum block and that came in with a repeatability much better than one micron and basically, it was never further off than a single microstep. Yes, the microstepping might not be perfect, but it’’s still an indicator that this apparatus works pretty well for these measurements. So the unit’s I’ve got lined up. Here are four different industrial inductive sensors, the smaller, 2mm trigger distance, 5V type, a 4 and 8mm type and the Prusa PINDA probe. And yes, Prusa definitely has the smallest and shortest one of them all. Also, in the category of Inductive sensors is the one from the BQ Hephestos 2, But that one turned out to be defective. So I couldn’’t include it. The capacitive ones are also industrial types, with 8 and 20mm sensing distances. This huge guy was actually pretty expensive in comparison at around 8 bucks and even worse, it also didn’’t work. Bummer, Mechanical probes are the BLTouch and a standard microswitch with and without the lever, the BLTouch retracts on its own while a switch like this will need some sort of servo to lift it up, which will introduce inaccuracies on top of what the sensor itself can do. And, Lastly, the optical sensors are David Crocker’’s infrared probe. I got from Think3DPrint3D and a Sharp sensor that outputs an analog voltage. According to how far away it senses an object which is really cool but needs a comparator to generate that on/off signal the board requires. So that’’s how we’’re going to do it. Let’’s get to mythbusting #1 Optical Sensors can sense plain glass. That’’s actually one. That’’s a bit more complex than it might look like at first sight. Glass is transparent, obviously, at least to the naked eye. But because these sensors work with infrared light, what they see could be completely different to what we see. These sensors work based on reflected light, so having a surface that is glossy like this could throw them off as well Now. The simple answer is yes. Both the optical sensors can detect that sheet of glass. David Crocker’’s sensor easily detects the glass, but the Sharp sensor gets thrown off track quite a bit. First off all, it requires a much larger distance to trigger at all, and even then it started drifting and eventually smashed into the glass. The custom sensor did trigger reliably against glass but still came with a huge penalty in precision:. The readings onto glass had a tolerance fifteen times as large as the ones onto an opaque block. So while it works, it’’s, not something that is really advisable #2 You can just run a standard 6 to 36V probe from 5V Ok? This one is actually easy to test. Out of all the 6 to 36V probes, none worked on 5V except the 8mm capacitive one. And even then, it was much less sensitive than on 12V and only triggered against metal parts while with the higher supply voltage and a voltage divider on the output, it reliably also triggered against printed parts and had a larger trigger distance than on 5V So that one is busted. #3 Capacitive probes are unreliable. So the theory with capacitive probes is that they sense pretty much anything. – Plastic glass, wood, metal humans, etc. The problem is things like moisture in the air also influence the readings – in theory. So as a really simple test, I let the system do 21 measurements and then just started breathing over the sensor. And oh, boy, did that throw it off? Almost instantly, It started, triggering about 200µm earlier, – That’s 02mm So basically a full layer height off target. So even if you had a less extreme humidity change, it would still throw the sensor off by a significant amount. I also did the same with the inductive sensors and while they did show a marginal change, it was always in the single-digit micron range, which might as well have been from thermal expansion. Speaking of the topic, the capacitive sensor also showed by far the greatest deviation when blasted with a hairdryer on low. So are capacitive sensor, unreliable and unprecise Well? If you look at the base reading in a consistent environment, they aren’t that bad, but as soon as anything changes, you will run into Issues #4 Probing slower gets you better readings. There are a few things that go into this – first off some sensors like the Sharp optical one only take a reading a few times per second, so by the time they trigger, you might already be past the point. That would be the perfect spot. The same thing might be true for the printer’’s firmware, which only reads values every now and then. The code I’’m using, is checking the sensor after every microstep, so that shouldn’’t be an issue. But still, sensor delay, etc still are. So every sensor was tested at two different speeds, – 135mm/s and twice as fast so 27mm/s, which is about the range. You would expect a normal. Z-axi’s to move at And basically, every single sensor was less precise when run at the faster speed. They all showed about 20% Better repeatiability at the slower speed, some a bit less some a bit more, so while that’’s not going, turn a great sensor into an unusable one or vice-versa it’’s still a considerable improvement. If you just need that extra bit of precision #5 Sensors drift with heat. So you might have noticed the effect that when you run the autoleveling cycle with the bed cold. The nozzle height will end up slightly different than when probed hot And this is very real effect, but after testing all the relevant sensors I’’m not quite sure that the sensors themselves are actually the problem there. It looks like the larger the trigger distance is the larger the temperature drift is going to beThe inductive and optical ones. Were all decent, Maybe not the 8mm inductive one, but the others are all at least usable when heated up. Though what also played into this was the apparatus simply heated and expanded too, so the measured trigger point unavoidably moved back too. What could also play into This is that at higher temperatures, copper and aluminum are less conductive so for the sensor it’s as if there was a thinner sheet of material, which shortens the trigger distance #6 Just use aluminum tape for inductive sensors. So the myth is that if you want the advantages of an inductive sensor, you can simply use some aluminum tape even on the bottom of a glass sheet and the sensor will still trigger. So I used some standard aluminum tape and the 4 and 8mm inductive sensors do trigger against just the roll of material, but none of the inductive sensors actually triggered against a layer of tape, even on the top surface of a glass sheet. So while multiple layers might work, they are going to add some thickness and even then you’’re only going to get a fraction of the nominal trigger distance And that leads us into #7 Larger trigger distance sensors are less precise. While none of the industrial sensors are actually made to detect a set distance precisely each time, they can still be incredibly good at it. For the inductive sensors, I had 2, 4 and 8mm types and they all performed virtually identical. They all achieved sub-micron repeatibilities except for the 5V 2mm type and even that one was better than 2µm. So That’’s busted #8 Inductive sensors trigger much closer when sensing aluminum. Before I try and explain why this is the case and end up with half the viewers and getting bored and the other half getting ready to roast me. Let’’s just stick to the FACTS:. Yes, inductive. Sensors do lose quite a bit of their trigger distance, even against a solid block of aluminum. The distance, the sensor says, is against iron or steel and with aluminum. You get about half of that. Capacitive sensors, aren’t affected by this and last #9 Anything sensor with a standard deviation better than 50µ is probably good enough. And this one is from the Bltouch Kickstarter campaign – the sensor measured in with a standard deviation of about 25µ. Let’’s take a step back and look at what the standard deviation means. Say, you have a bunch of measurements and you plot out how many of them are? How far off? Typically noisy sensors like show a normal distribution, which looks like this. All the standard deviation says, is that about ⅔ of the measurements are better than that standard deviation range. So, with a bed leveling approach that uses just three points on average, two of them will be measured more precisely than the standard deviation, and one of them will be worse. In turn, this point, then again has about a ⅔ chance of falling within the range of two standard deviations, which means that statistically every three prints that 50µ sensor is going to have be off by more than + – 100µ or 01mm. And if You’’ve ever played around and experienced the difference, 100µ can make to the first layer of a print. You’’ll probably agree that that’’s too much. Now, of course, a more precise sensor can still have those measurements that are far off, but it’’s much less likely to happen. So if you look at the measured standard deviations of the sensors, I’ve tested I’D say they are all very usable, maybe with the exception of the SHARP optical sensor and the capacitive one. Everything else is like, really good. Out of those, the BLTouch performed the worst. But if you take it a bit slower it’’s still way more than good enough. So, yeah, that’’s the story behind all the different sensor options. What surprised me was how precise the inductive sensors turned out to be. I was expecting them to be much noisier. What I’’d, also like to retest is the Sharp sensor. This one is the analog type, but they are also making ones just trigger at a set distance, and I think that might make it a bit less noisy. This video is sponsored by Aleph Objects, Inc, a Free Software Libre Innovation and Open Source Hardware company, headquartered in Loveland, Colorado, USA, and Makers of Lulzbot desktop 3D printers. Watch my reviews of both Lulzbot 3D printers here and check the links in video description for more info on the machines straight from Aleph Objects. So I if this video, so if this video was helpful to you, give it a thumbs up. If not leave a comment on what I can Improve, Also consider subscribing to the Channel and click that Bell or Youtube might not show you updates as new videos. Come out and livestreams go live. If You’’re going to be shopping on Amazon or other shops, check out the affiliate links from the video description or head over to Patreon to support the channel directly and get access to monthly Q&A hangouts and more And that’s it for today. Thanks for watching and I’’ll see you in the next one.