FSR

From RepRap
Revision as of 14:14, 27 March 2014 by Johann (talk | contribs) (Adjusting sensitivity)
Jump to: navigation, search
Crystal Clear action run.png
FSR

Release status: working

Fsr.jpeg
Description
Force Sensing Resistors
License
GPL
Author
Contributors
Based-on
Categories
autolevel
CAD Models
External Link


Instead of the retractable Z probe, now using Force Sensing Resistors (FSR) sandwiched between the glass print surface and the triangle frame. We use three FSR wired in parallel, connected to the Z_MIN endstop pin. This allows calibrating the print surface with 0.02 mm repeatability, which is good enough for printing PLA on cold naked glass.

When the hotend pushes down on the print surface, the FSR changes quickly from 5MΩ to <50Ω, depending on the force. Less than one pound (or 500g) of pressure can trigger the Z_MIN endstop digital input pin, because it's using a 20kΩ internal pull-up resistor inside the Arduino or similar microcontroller.

Johann's first prototype used the heated bed thermistor (analog) input pin, but that's actually not necessary. The endstop (digital) input pin works just fine, without any additional parts.

<videoflash>HcnhCNh2Ln4</videoflash> Mini Kossel with FSR

Configuration

Because Force Sensing Resistors are normally open (NO) make sure that you have the following in Configuration.h:

const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.

Testing

When none of your endstops are touched and there's less than 300g of added weight on the build surface the result of M119 should look like this:

SENDING:M119
PC>Reporting endstop status
PC>x_max: open
PC>y_max: open
PC>z_min: open
PC>z_max: open

When you put a weight of about one pound or 500g (e.g. two rolls of blue tape) on the print surface, it should look like this:

SENDING:M119
PC>Reporting endstop status
PC>x_max: open
PC>y_max: open
PC>z_min: TRIGGERED
PC>z_max: open

Adjusting sensitivity

If you get z_min: TRIGGERED even with less than 300g of weight on the build surface, your FSR endstops are too sensitive. To fix this, increase the size of the sticky pads on top of the FSR sensors, e.g. 1 by 1 inch clear Scotch Restickable Strips. By extending over the edge of each FSR circle, they will support the print bed more and reduce the FSR response.

If you get z_min: open even with more than 500g of weight on the build surface, your FSR endstops are not sensitive enough. To fix this, reduce the size of the sticky pads on top of the FSR sensors, e.g. 1/2 by 1/2 inch clear Scotch Restickable Strips. By putting all the weight on the middle of the FSR circle, they will increase the FSR response.

If you get z_min: TRIGGERED when the build surface is empty, and z_min: open when you put weight on it, your endstop is probably still configured normally closed (NC). But for FSR it must be configured normally open (NO). Make sure you have the following in Configuration.h and then recompile Marlin and upload the firmware to the printer electronics again:

const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.

Links