Heater tuning feed forward related - M308 (discussion/question)

  • Hi,

    have not had time to try the new heating algorithm but I like the idea to push feed-forward into all aspects of a printer 🙂 that seems to get implemented (https://forum.duet3d.com/topic/19761/new-heater-tuning-algorithm)

    Related in general to feed-forward regarding temperature-control-loops I have a question:

    This is not directly related but given the fact that we have at where I work ntc10k-sensors from tite.../sensorsho... under 10euro (I am not affiliated with them) where we have very exact datasheets for the ntc that is embedded in a e.g. stainless-steel-sleeve, I find also in the datasheet a variable for "thermal time constant in sec. max = 15".
    I just started to read into it what that is, but it seems that how a ntc is made and capsuled (e.g. in epoxy=slower or in glass=faster) and where it is embedded in (e.g. stainless steel=slower or aluminum=faster) and the thermal paste/powder/etc. used has a huge influence on the inherent speed that it reacts to temperature changes.

    So long story short: Would it make sense for finetuning that new heater tuning algorithm to take that into account within M308 to have an optional variable where you can put in e.g. T90 in sec. (with "0.0"for seconds to reflect those superfast ones with T90 under a second if one can afford such a sensor which are everywhere avialable just they are very costly and are seldom available in 3mm housings) ?

    (Funfact in the datasheet I have here there is no "T90" which other companies have in their datasheet but here (as already written down) the "thermal time constant"(?) and vice-versa... no standard there I guess)


  • administrators

    The thermal time constant of both the heater and thermistor contribute to the dead time, which is measured by the tuning algorithm.

    15 seconds sounds very long to me. The dead time of a E3Dv6 hot end is only about 5.5 seconds, and some modern hot ends have dead times as low as 1 second.

  • @dc42

    O.K. so now I get it! The code does something like this (?): You calc how much pwm is needed for 5°C less and see how long it takes for the sensor to arrive there, then adjust your pwm val by the diffrence between your pre-calced temp and the actual by the sensor? Then you know a basic dead-time. Then you iterate with the adjusted vals again until the deviation is below a certain envelop. Or something like this...?

    O.K. so no need there. 🙂

    (Ähm - yeah 15sec is because of the thick stainless-steel-sleeve, we need in some low-to-middle-pressure fluid circuits. I guess for them /usit was easier to have one sleeve for more then 1 customer/client (we are too small at the moment in terms of quantities) for all those use-cases e.g. but I am working currently with them to make a version for us, with thin walls for low-pressure-fluid-circuits made out of aluminum to have something faster. Smaller we made it already (now in stainless, samples arrived) and switch to a material with higher thermal conductivity will be the next thing I am currently working on with them 🙂 . Sounds complicated for others but of course for the company it makes most sense to use the same sensors also for the printers that we anyway have in the inventory for other stuff...)



    In terms of speed, what would you suggest as ntc10k to measure our new one when it arrives against? Maybe you can e-mail me a name?

Log in to reply