Tool Distribution Board improvements
-
Hi Duet3D guys,
It would be desirable to have a tool distribution board with CAN ID, and not just a termination / passive distribution board.
The aim would be to be able to detect which 1LC boards are hanging from which Tool Board and its order and to be able to automatically assign e.g. docks to tools, auto-configure present tools, physically switch tools on the fly, etc.
Do you think it is possible?
Best regards,
-
@Marcossf can you explain in more detail way you are trying to achieve?
-
@dc42 Hi David,
Imagine a machine with several docks that can accommodate different tools/printheads. Each tool has an 1LC board into, and it can be different in terms of features from each other, but a unique CAN-ID.
We have a bunch of settings that define the tool itself, and if the Tool Distribution Board were intelligent, we could know in which dock each unique CAN ID is in (by its connector) and in which order it is or what are absent, and take the settings of this current printhead. Making termination unnecesary.
We could even be able to do it hotswap, for example at a pause (monitoring the Can ID daemon and a power supply control circuit board/timer for the 1LC maybe).Right now, this is the big limitation we see to Duet3D for "non-standard-ultra-nerd" machines with many printheads or tools configured. Another thing is the lack of arrays, which would simplify a lot the variables and the necessary code for this (waiting for 3.5 )
Have everyone a great Christmas holiday.
-
@Marcossf is the basic requirement to know what tool if any is in each dock, and what its CAN address is?
One way I can imagine doing that is to have a pair of pogo pins on the dock that contact pads on the tool, and to have a resistor on the tool between those pads. Different tools would have different value resistors.
A more sophisticated way would be to put a RFID tag on each tool and have a RFID reader in each dock. The RFID tag would contain not only the CAN address of the tool but other details about its type and capabilities. You can buy RFID reader modules for only a few pounds/dollars/euros now.
-
@dc42 said in Tool Distribution Board improvements:
@Marcossf is the basic requirement to know what tool if any is in each dock, and what its CAN address is?
One way I can imagine doing that is to have a pair of pogo pins on the dock that contact pads on the tool, and to have a resistor on the tool between those pads. Different tools would have different value resistors.
A more sophisticated way would be to put a RFID tag on each tool and have a RFID reader in each dock. The RFID tag would contain not only the CAN address of the tool but other details about its type and capabilities. You can buy RFID reader modules for only a few pounds/dollars/euros now.
@dc42 in principle how would the RFID reader integrate with the duet?
My use case would be to identify a work holding pallet and hence job loaded on my CNC mill. This would automatically set the work offsets and the appropriate gcode file for the operation at hand.
This can currently be done by probing identifying features on the pallet, but an RFID based solution would be much more time efficient, less prone to user error, and generally elegant.
Any thoughts would be much appreciated.
Cheers
Barry M -
@dc42 said in Tool Distribution Board improvements:
@Marcossf is the basic requirement to know what tool if any is in each dock, and what its CAN address is?
One way I can imagine doing that is to have a pair of pogo pins on the dock that contact pads on the tool, and to have a resistor on the tool between those pads. Different tools would have different value resistors.
A more sophisticated way would be to put a RFID tag on each tool and have a RFID reader in each dock. The RFID tag would contain not only the CAN address of the tool but other details about its type and capabilities. You can buy RFID reader modules for only a few pounds/dollars/euros now.
That approach is what we now do. It is not difficult.
Imagine a machine has 3 docks, but there are 26 possible tools in different combinations. The part of detecting that tool x is in dock # is the approach we now do (two micro switches on the tool and a combination of pins in the dock that activate a certain logical position combination and the 1LC tool CanID).
If a toolboard were active, it would know the CAN ID of a tool that is on a certain connector on that tool distribution board, or several chained together. This eliminates even those switches, fewer points of failure.
-
@Marcossf I don't think an active tool distribution board of the sort you envisage is possible without radical changes to the CAN protocols that we use. The CAN bus does not support man-in-the-middle devices, because the ACK but has to be set in real time by the receiving nodes.
We are looking into integrating RFID readers into Duet 3 systems. One possibility is to connect a RFID reader with UART interface to a UART-capable port on the Duet. Another is to connect it to a UART port on a custom expansion board based on a SAMMYC21 or possibly RP2040. If several RFID reads are to be read (e.g. one per tool dock) then RS485-enabled RFID readers could be used.