Do any Duet3D boards monitor the motor current ?



  • My "pet hate" is dumb controller boards that ignore important data - like the current that is feeding into each phase of stepper motors.

    Without making that data available to the firmware, the best any board without this could ever be is "dumb".

    For example - when an FDM print fails badly, the head typically flounders in print spaghetti - which is totally detectable by anything that monitors the instantaneous current of the step phases. Which, as best I can tell, nothing does?

    Same for milling when the bit gets blunt. Same for SLA and DLP when the print separates from the platform and the plunger lowers onto it... I can't think of any situation where it's not valuable to know when the behavior of the steppers suddenly changes mid-print for no apparent reason - it's always valuable info.

    So yeah - my question - do any Duet3D boards expose this info?

    If not - PLEASE add it to your upcoming features list...

    Chris.



  • Duet Wifi/Ethernet and Duet 3 have TMC drivers with stall detection. https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing



  • Can current monitoring detect air spaghetti? How is it done?



  • No, from the motor drivers perspective printing in air and printing properly looks the same. You might be able to use the load angle feature that stall guard uses to detect a collision but thats about it, and likely not very reliable.



  • This is a great philosophic ambition... but... Duet firmware can only do what the silicon in the driver chips allow, the feedback they give.

    TMC drivers do not directly report current. They do attempt to detect a full stall, based on some settable parameters in certain registers and they report back if they detect a stall.

    But... unless the XY movements actually hit something, you are not going to get a stall. And "air print" vs. "good print" has extremely small effect on XY or Extruder physical loading, and therefore that same small effect on current. The "air" v "good" 'signal' is more than overwhelmed by the 'noise' of other sources of variation.

    So Duet really doesn't have the choice to add this feature. At least not with Trinamic driver chips.


  • administrators

    @cnd said in Do any Duet3D boards monitor the motor current ?:

    My "pet hate" is dumb controller boards that ignore important data - like the current that is feeding into each phase of stepper motors.

    In normal mode the stepper drivers feed constant current into the motor. So they already measure the current - so that they can regulate it to match the current to asked for in your M906 command.

    The quantity that changes with motor load is the phase of the back emf of the motor compared to the current. The TMC2660 drivers on Duet WiFi/Ethernet, and also the TMC5160 and TMC2209 drivers used on Duet 3, measure that phase difference and express it as a number between zero (heavy load) and 1023 (light load). You can see the minimum and maximum recorded values of that number for each driver in the M122 report. These drivers can also use that number to trigger a stall warning. See the M915 command in the GCode wiki page.



  • @dc42 Would it be possible to get the load values placed into the object model? They might be useful when designing/tuning kinematics.


  • administrators

    @gtj0 said in Do any Duet3D boards monitor the motor current ?:

    @dc42 Would it be possible to get the load values placed into the object model? They might be useful when designing/tuning kinematics.

    Yes I can add them the min/max recorded the OM, that's the easy bit. But I presume you will need some way of resetting them too.



  • @dc42 said in Do any Duet3D boards monitor the motor current ?:

    @gtj0 said in Do any Duet3D boards monitor the motor current ?:

    @dc42 Would it be possible to get the load values placed into the object model? They might be useful when designing/tuning kinematics.

    Yes I can add them the min/max recorded the OM, that's the easy bit. But I presume you will need some way of resetting them too.

    Actually I was thinking of the last reported as well as the min/max but I'm not sure how the drivers report it and whether it's reasonable to include it.



  • @cnd said in Do any Duet3D boards monitor the motor current ?:

    the head typically flounders in print spaghetti

    For detecting air print and other irregularities, a camera with a machine learning algorithm is more pro-missing. E.g. https://www.thespaghettidetective.com/

    We just need to have a community driven open source one.


Log in to reply