Tobbens Adding Inductive Proximity Sensor Log
Introduction
This page documents adding a Research_On_Inductive_Proximity_Sensors#LJ12A3-4-Z.2FBX LJ12A3-4-Z/BX inductive proximity sensor to a Folgertech 2020 Prusa i3. Printer assembly up until this point is documented in Tobbens_Folgertech_Kit_Unboxing_Log and Tobbens_Folgertech_Kit_Assembly_Log. Not documented there is only the addition of an aluminum plate on top of the heat bed, like shown in the pictures on the right hand side.
Update: it appears the aluminum plate is not needed, as the sensor triggers on the heat bed. 3/7/16
Data
It is useful do document the repeatability of the sensor. +/1 0.1 mm repeatability would be the minimum requirement for 200 micron layer heights. Data on repeatability for 10 consecutive probes (units in millimters):
1.644000 1.648000 1.664500 1.663000 1.641000 1.664500 1.673000 1.649000 1.664250 1.660500 -------- Standard Deviation: 0.010193
The above data was collected by issuing the following commands to Marlin
G28 M48 P1 V2
Theory
The sensor if of NPN type and normally open. It is not drivable with 5 V, so we will feed it with 12 V. We expect the following two states if we wire it in directly:
The Z_min pin is part of the RAMPS' logical circuitry and will be damaged if it is exposed to 12 V, so we need to protect it. For that, we use a diode and internal Z_min pullup:
The diode stops current to flowing into the Z_min pin with harmful 12 V pressure, but allows the pullup voltage of 5V to flow down to ground.
Implementation
I used an IN4004 MIC. Any diode would work .
12 V directly from power supply. I did a quick and dirty solder directly to 12 V connectors, just to test if it works. The important steps are:
- Lower print head so it just touches print bed.
- Let sensor rest its blue end on bed with the nuts on its body just touching the mount point (side of fan in pic above).
- Put something of thickness ~0.5mm between blue sense head and print bed.
- Fixate sensor. In the pic above, this is done with two zip ties running around the fan.
Firmware
Updated Marlin in repo to auto bed compensate. You might want to fiddle with lines 400 - 402 of Configuration.h. They contain X, Y and Z_PROBE_OFFSET_FROM_EXTRUDER, These values define the sensor's position relative to the print head. X and Y are not important to get extremely accurate. Z_PROBE_OFFSET_FROM_EXTRUDER must be within 0.1 mm to get reasonable first layer heights.
I used trial-and-error to setup Z_PROBE_OFFSET_FROM_EXTRUDER. Thomas Sanladerer presents a more rigorous procedure here: https://www.youtube.com/watch?v=EcGFLwj0pnA
Usage
The printer will do the probing procedure upon receiving the G29 command. Bed compensation will be performed on every normal G1 or G0 move after that.
Posted video of homing followed by a nine-point probing procedure:
.
Here's another video showing probing directly on the MK2A heat bed: