filament position to Arduino over Panel due interface
-
Hi All,
After participating in this thread;https://forum.duet3d.com/topic/31702/filament-diameter-compensation/9
I think its potentially viable to use an Arduino based filament sensor that receives extruded filament length and pushes appropriate filament diameter corrections over the panel due interface.
I think I can push corrections by using the Arduino code for the CNC pendant as a starting point but I don't know how to read the current filament extrusion length from the panel due interface.
Is the panel due message set defined anywhere? If so is it something I can read with an Arduino? I assume so given the pendant does pass through.
Also could I use a dedicated gcode command to send a message over the panel due interface to the Arduino to set the distance between the sensor and nozzle?
Any constructive thoughts would be much appreciated.
All the best
Barry M -
@CNCModeller the PanelDue uses the object model information so you can query that over the UART interface using M409
-
@T3P3Tony said in filament position to Arduino over Panel due interface:
@CNCModeller the PanelDue uses the object model information so you can query that over the UART interface using M409
That's great news, I now need to figure out what that actually means lol. Definitely some reading ahead!
Many thanks @T3P3Tony, time to go back to school... again...
Cheers
Barry M -
So after some research.... and a quick look at the PrintEye code by @EasyTarget
https://forum.duet3d.com/post/110578
I think I have a plan based on the Json unpacking in PrintEye, to extract the following data:
extr: the positions of the extruders
efactor: the current extrusion factors (see M221 command), one value per extruderThen sending a M221 to tune the extrusion factor after a user defined position delay based on filament path length between the sensor and the extruder melt zone.
The only kink is I'm not sure how to send a value to the Arduino to set the filament path length between the sensor and the extruder melt zone. I may have to hard code this to start with, or add a local display to set the value.
Does anyone know if I can add user defined elements to the json package sent to the Arduino as a response to M408? My thoughts are set a value for the filament path delta for each extruder with a user defined G/MCode (?) in the config.g.
I need to do some prototyping and merge it with Thomas Sanladerer's code and I possibly have a way forward!
https://www.printables.com/model/57154-infiDANK
https://www.youtube.com/watch?v=RYgdLPe_T0cMultiple extruders needs a little thinking but I guess I could just connect multiple sensors to the one Arduino.
Also passthrough for the PanelDue, but I could use the code by @dc42 for the CNC pendant to sort that.
Will report back as and when I make progress! Another project to add to the list
Cheers
Barry M