Custom Thermister setup question



  • Hi guys, has anyone had any luck setting up custom thermistors for duet?

    I only have a huge table with lots of resistance values for this thermistor and a B parameter.

    I setup T and B in config file, but that doesn't help much.
    Also my thermistor has ridiculous resistance at room temperature - 3643kOhms,
    reprap calculator is not happy with that and won't help me with C value, returning an error.

    Without C value set it works, but inaccurate for roughly 30C, but not consistent, so adjusting H value won't help there, tried that.

    My thermistor parameters for the record (in Ohms):
    R@25C = 3643000
    R@50C = 1000000
    R@150C = 30000
    R@250C = 2700
    R@350C = 500
    etc...

    Is there any way to calibrate my duet by using multiple data points of actual resistance data? Or maybe there is some other way around this?



  • The SRS calculator here takes those values. Don't know if the RepRap firmware will be happy with the T value though.

    But I would measure some of the values for myself just the same (~0C in ice water, 100C in boiling water are easy)


  • administrators

    Thermistors that have such a high resistance at 25C are not recommended. It may not be possible for the firmware to determine whether the thermistor is connected when it is cold. The resolution at low temperatures will terrible, around 5C resolution @ 25C and 10C resolution @ 10C. The accuracy will probably be even worse. These issues make it difficult for the heater fault detection to work properly.

    If you need to cover a wide temperature range, I suggest a PT100 or PT1000, or a thermocouple if you need to use temperatures higher than one of those will handle.



  • Thanks for your reply, David! I studied all these options already quite deeply, they all have different drawbacks and the simplest and smallest form-factor solution is still a 500C thermistor in my opinion.
    3D printers don't need high resolution at low temperatures, nobody is printing plastic at 50C right? On other hand this thermistor is 2x2mm in size roughly which allows it to react to temperature change almost instantly.
    Thermocouples and PT100s are relatively huge and very inert therefore, thermal conductivity inside of them is quite low too. My hotend goes from 25C to 500C in 50 seconds, so slow thermistor reaction may get me in trouble. This hotend is also destined for market, therefore I have to make sure it is very stable. I came to conclusion that for high performance hotends PT100 and thermocouples are not the best solution. I am definitely going to dive back into this again, considering your opinion on this and see if I am wrong about this, after all my opinion was heavily based on the numbers from dyzedesign. Also, have you looked at this page too? https://dyzedesign.com/2016/09/comparison-between-temperature-sensors-used-in-3d-printers-part-2/ They cover this so deeply that I did not expect any misinformation there. They even include a chart, which is indeed accurate. Seems to me they have done quite a deep research on a subject.

    thermistor chart

    Also in my case, I am not too worried about resolution, because 0.03C resolution, while awesome, is a total overkill and not necessary in any plastic FDM printer anyways. Up to 2C degree resolution is absolutely acceptable, which is offered by this thermistor almost at any range, except for very low temperatures of course. These temps however are not used for anything in printer. Is there any way to adjust your firmware/software to tell printer to not read anything under 40-50C? Maybe replace that reading with some dummy value while printer is totally cold? Or will this introduce other problems then? Our heatblock is already perfectly shaped for this thermistor and there is not much room left for bulky sensors, since it's copper and there are different things to consider there, such as thermal capacity, weight etc. I am totally ok with 5C accuracy at low range, that I am seeing on this thermistor.

    Would really appreciate an advice on this and I apologize for my rant couple months ago, that wasn't nice. You guys do a hell lot of work on this project and covering everything on this for everyone is a very difficult task. I am actually using Duet without any screens now at all and to be honest I do not even feel a need for a localized screen on my printer. Web interface is very solid.
    Something I noticed while working with web interface:

    1. notifications are hard to read, for example after I send a gcode command and need to read a response, they disappear too quick, while other notifications that are not important stay there until closed. Minor tweak would fix that.
    2. easy "board reset" button would help too. I need that sometimes to reset heater fault, as I keep forgetting a gcode command for that.
    3. I am having connectivity issues after every reset and the board seems to sometimes not connect at all, so I have to unpower it. This seems to happen if I click reconnect before the board is ready to do that. At this stage the web client does not "understand" that the board is being reset and just throws ajax errors, maybe that's the reason for my connectivity issues. Not sure though.
    4. over the air firmware upgrade functionality works awesome, haven't seen this on any other boards. love that.

    Is stepper stall detection a good option for high performance 3D printer, or would you recommend to stay with classic endstops method for now? I haven't tested that feature yet at all, would appreciate ad advice.



  • @robm thanks a lot. Gonna give that a shot! I have factory document for those, so I don't have to do home measurements myself. I better rely on those 🙂 Boiling water will depend on altitude and other factors too, and I am not at sea level. I am confident about the factory report, it is a very professional document and I am familiar with the factory. They are not in China 🙂 My duet actually works without faults so far with this thermistor, just need to figure out how to tune proper values. Also going to research more about PT1000 etc, by David's suggestion.


  • administrators

    @vlad said in Custom Thermister setup question:

    Also, have you looked at this page too? https://dyzedesign.com/2016/09/comparison-between-temperature-sensors-used-in-3d-printers-part-2/ They cover this so deeply that I did not expect any misinformation there. They even include a chart, which is indeed accurate. Seems to me they have done quite a deep research on a subject.

    Don't believe the table or the chart, some of the figures for PT100 and thermocouple sensors in it are massively wrong for a Duet with daughter board. See https://forum.duet3d.com/topic/252/spurious-heater-faults-and-how-to-avoid-them/39. And they don't cover PT1000 sensors. BTW you can get some very small PT1000 sensors.

    Something I noticed while working with web interface:

    1. notifications are hard to read, for example after I send a gcode command and need to read a response, they disappear too quick, while other notifications that are not important stay there until closed. Minor tweak would fix that.

    You can see old notifications on the GCode Console page. The notifications will be more configurable in the next version of DWC.

    1. easy "board reset" button would help too. I need that sometimes to reset heater fault, as I keep forgetting a gcode command for that.

    There is already a hardware reset button on the board and Emergency Stop buttons in DWC and PanelDue.

    1. I am having connectivity issues after every reset and the board seems to sometimes not connect at all, so I have to unpower it. This seems to happen if I click reconnect before the board is ready to do that. At this stage the web client does not "understand" that the board is being reset and just throws ajax errors, maybe that's the reason for my connectivity issues. Not sure though.

    If you are getting Ajax error reports, you are running old firmware and DWC.

    Is stepper stall detection a good option for high performance 3D printer, or would you recommend to stay with classic endstops method for now? I haven't tested that feature yet at all, would appreciate ad advice.

    See https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing#Section_Configuring_sensorless_homing.



  • @dc42 Thanks David, just upgraded everything 🙂 i was running 1.19 on everything, including web server. Definitely going to try stall detection, sounds like a very cool feature. Also it's nice to see power outage memory functionality in the latest update!

    One minor thing I forgot to mention, please consider making GCODE command Input field in web interface resizable or just longer, there is plenty of room on the right. Many of more complex commands don't fit in that line. I updated this inside CSS already myself on my board, but thought I'd mention this.


  • administrators

    @vlad said in Custom Thermister setup question:

    One minor thing I forgot to mention, please consider making GCODE command Input field in web interface resizable or just longer, there is plenty of room on the right. Many of more complex commands don't fit in that line. I updated this inside CSS already myself on my board, but thought I'd mention this.

    Do you mean the one next to the Connect/Disconnect button? If so then I expect Chris kept that one short so that the layout works well on smartphones. The input box on the GCode Console page is much longer, so you can use that one for complicated commands.

    If you wish to discuss this further, please create a thread in the DWC Wishlist section of this forum.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.