1. Install the FS Control board to the lower position of the auxiliary panel in the electronics cabinet.
2. Attach the control board cable from "DUET" on the control board to the "LCD" connector on the Duet main board:
3. Install each sensor to a filament assist tension arm with the 2x M2 screws:
4. Attach cables between the sensors and the Control board. It does not matter where you plug them in, unless you have more than 3. (If you have more than 3, ensure that the select resistor is unique on each I2C circuit. i.e. one sensor board each with a resistor populated next to "HI", "LO", and none at all.
5. Configure Filament sense in the firmware:
To check functionality, select the tool to be tested and send:
M591 D2 P5 C10 R40:120 E3.0 S0 ; laser sensor for filament assist drive, connected to endstop input 10 (E7), tolerance 40 to 120%, 3mm comparison length, enabled
Then send M591 while turning the idler wheel. Any amount of idler wheel rotation should change the reported value from M591.
6. If that is working, configure the filament sensor by adding the same line to tprime#.g and tpre#.g in the system config files.
TROUBLESHOOTING
First, read through the Duet forums to understand how the system is working: https://duet3d.dozuki.com/Wiki/Duet3dFilamentMonitor_LaserVersion
The Diabase control board has only one function: combine inputs from multiple sensors into one output that the Duet understands. It is essentially a gated passthrough.
The sensor is watching the idler wheel, not the filament directly. This is an advantage in that it is a consistent surface, leading to more accuracy in normal conditions. It is also a disadvantage in that it can slip, in which case it is not an accurate indication of filament movement.
During a normal test print, typing M591 will report the average % of commanded value is reported by the sensor. We typically find ~80%. The "R" parameter should be a window around this value which defines acceptable values before a failure is reported. The normal false-positive failure mode is slippage of the idler wheel. This means a lower R value (i.e. R10:120) would prevent false-positives. It may also miss potential failures due to partial jams/underextrusion.
The "E" parameter is also important for tuning - averaging over longer distances will prevent some false positives due to spurious slippage, but also take longer to pause a print in the event of an actual failure.