I read Johann’s post about using force-sensitive resisters (FSR) for automatic bed leveling, and it seemed like just what I was looking for. Very simple, and not that expensive. So I ordered a set of three FSR sensors. Here are some places where you can order them:
And this is what one looks like out of the bag:
I connected three of these in parallel into a single end stop input on the Printrboard and gave it a try. Well, it wasn’t as easy as I thought. It turns out the setup was very fussy. Sometimes it took too much pressure to trigger. And at other times it stayed triggered. After a number of attempts, I read the data sheet and discovered that the resistance changes greatly. In the “useful” range of the sensor, the resistance goes from 30 k Ohms at 20 grams to just above 1 k Ohm at 1 Kg. That’s a pretty wide range, and it turns out the weight of the glass bed is enough to change the resistance noticeably. After a lot of experimentation, here is what I ended up with:
The small squares on each FSR are thin pieces of paper. Without these squares, it took too much force to trigger the endstop. The FSR have a border around the outside that is ever so slightly thicker than the sensor itself, so you need either some spongy tape that can deform, or something like these pads. With the pads, however, I still had issues with it being hard to get just right. My solution was to add a 10K potentiometer into the circuit, as shown here:
In this photo, the end stop connector is in the center top (it’s the black connector next to the row of white connectors). With this change I was able to get things to work reasonably well, but it still felt too fussy to me.
As it turns out, I was also becoming interested in learning how to make circuit boards and decided to see if I could make a custom circuit board that would make this a whole lot easier. I’ll cover this journey in a future blog post.