The imminent 3.2beta release of RepRapFirmware includes support for filament monitors connected to Duet 3 expansion and tool boards. This post describes how I added filament monitors to the two Hemera tools on my E3D Tool Changer.
Making room for the filament monitors
For best results the filament monitors must be placed as close as possible to the filament inlet. I had fitted my Hemera tools with a second dock brace to improve rigidity, and unfortunately this second brace occupies some of the space needed by the filament monitor. So I designed a single large dock brace to replace the two individual ones, with a cutout for the filament monitor at the right hand end. I added this design to https://www.thingiverse.com/thing:4194982.
Fitting the filament monitors
I chose to fit a laser filament monitor to one tool and a rotating magnet filament monitor to the other.
The laser filament monitor is smaller and simpler, but it only works with some filaments. In spite of the cutout in the dock brace, the standard housing was a little too wide to fit in the available space; so I reduced the width of the housing in the model and added nut traps so that the two nuts would be recessed. I added the modified design to https://www.thingiverse.com/thing:2746340. It’s possible to fit the laser filament monitor right on top of the Hemera filament inlet.
The standard housing for the rotating magnet filament monitor does fit in the available space, but due to its greater height it makes the knurled head of the Hemera filament tension adjusting screw difficult to grip. The ideal solution would be a screw with an extended head. Lacking this, I decided to use a short piece of PTFE tubing between the Hemera filament inlet and the filament monitor.
This arrangement isn’t ideal, because when the extruder retracts filament, the filament will tend to bunch up in the tubing a little. As a result, the amount of movement registered by the filament monitor during the retraction and subsequent re-prime operation will be a little less that the true amount.
Connecting the filament monitors
The IO1 connector on the tool board is intended for use with filament monitors, because it provides the 3.3v power needed by both the laser and magnetic filament monitors.
Firmware configuration and calibration
Filament monitors connected to tool boards are configured using M591 in the same way as filament monitors connected to the main board. I added these lines to my config.g file, later than the M584 line that declared the extruders, because RepRapFirmware will insist that the filament monitor port declared in the M591 command is on the same board as the extruder drive.
; Filament monitors M591 D2 P3 C"22.io1.in" S0 ; magnetic filament monitor on tool 2, disabled M591 D3 P5 C"23.io1.in" S0 ; laser filament monitor on tool 3, disabled
To calibrate the filament monitors, run a print using the associated tool with the filament monitor disabled. You can restart the calibration at any time by sending M591 D# S0 where # is the extruder number. To see the calibration data, send M591 D# without any additional parameters. You can use the calibration data to chose which R and L parameters to \add to the M591 commands in config.g.
Finally, enable the filament monitors using M591 D# S1.