PT1000 temps are way off

  • Hi,
    i just installed a new silicone bed heater with an embedded PT1000 and the temperatures displayed by the DUET are way lower than what I am reading with a thermocouple.
    At room temperature, 19/20°C the reading is correct.
    (I am using 2 different instruments and 3 different themrocouple type K to be sure to get a good reading )

    Duet ethernet with 2.02(RTOS) (2018-12-24b1)

    I tryied to play with the R value in the config.g but is not giving a linear result along the range I am working with, I need it to be at least within 5°C in across 50 - 120 °C
    I am worried that the embedded sensor is maybe not a PT1000

    ; Heaters, BED
    M307 H0 A77.3 C150.3 D5 S1 B0                      ; H0= Bed A= Gain C= Constant D= Dead Time S= Max PWM
    M305 P0 X500 R4700           			   ; Set thermistor + ADC parameters for heater 0 (PT1000)
    M143 H0 S140                                       ; Set temperature limit for heater 0 to 140C
    M570 H0 P120 T15				   ; Heater Fault configuration H= heater num. P=anomaly in seconds before fault T= Permitted excursion from the setpoint

    Below the temperature plotted varying the value of R :


    The guide is referring to H and L to adjust the reading but I dont understand what those values stands for, BTW its referred to older boards, 0.6 and 0.85

    any help appreciated 🙂

  • administrators

    Let me get this clear. You are saying that with default settings, the temperature read by your thermocouple is higher than the temperature read by RRF. Is that correct?

    Make sure that the thermocouple is of the correct type (J, K etc. ) for the equipment that is reading it.

    You can test the accuracy of RRF by connecting 1% tolerance or better fixed resistors in place of the sensor, and checking the temperature reading against the table.

  • @dc42
    yes, the temperature read by the thermocouples are higher than what DUET see.
    As you can see by the graph with R4700 the error is higher with higher temperatures.

    I am using 3 different instruments, a precision multimeter (Fluke 289), one cheap thermocouple digital thermometer with two type k thermocouples attached and one is a Fluke 62 IR thermometer (my build surface is matte black)
    All 3 instruments are giving a reading within 1% of eachother, even swapping the thermocouples around.

    I have the 1K resistor provided with the pt100 board and some 15, 45 and 47k resistors.
    I tryied to connect the 1K resistor to the bed input and it reads 2000°C

    how should I proceed to check the temperature against the table?

  • administrators

    I have just tested 1K and 2K 1% tolerance resistors on a Duet WiFi 1.04 bed heater thermistor connector with the heater configured for PT1000 (M305 P1 P0 X500). The readings I got were:

    1K: -3.5C
    2K: 266.6C

    According to the reading should be 0C for 1K, and even if the resistor has 1% less resistance the reading would be -2.5C. So either my resistor is slightly out of tolerance, or there is a small inaccuracy at low temperatures.

    The reading for 2K should be slightly over 266C according to the table, so it is giving accurate results at this value.

    So I suspect that your sensor is either faulty or is not a PT1000.

    The resistor we supply with the PT100 daughter board is 100 ohms, not 1K.

  • @dc42
    shouldn't be M305 P0 X500 instead of P1 ?

    I will source some 1% 1K and 2K resistors and make the same test here.
    I have 4 of this silicone heater ordered so I will test another one...the problem is I cant heat it without attaching it to the build plate, as you know ungluing a silicone heater is really a pain

    Thank you for your help

  • administrators

    I'm sorry, I did indeed use M305 P0 X500.

  • administrators

    If it's a PTC thermistor instead of a true PT1000, then you might be able to configure it as a thermistor with a negative B value.

  • @dc42 like this M305 P0 T100000 B-3950 C0 R4700 is giving 2000°C

  • administrators

    @paboman said in PT1000 temps are way off:

    @dc42 like this:
    M305 P0 T100000 B-3950 C0 R4700 ?

    Yes, but your T parameter will need to be close to 1010 and the B value around -400. Adjust T to get accurate readings at low temperatures, and B to get good readings at high temperatures. If you need to adjust linearity then you can try adding a C parameter too.

  • @dc42 is it possible to ask the firmware to show what resistance is the board reading at a given temperature ?

  • administrators

    @paboman said in PT1000 temps are way off:

    @dc42 is it possible to ask the firmware to show what resistance is the board reading at a given temperature ?

    No. but if you configure it as a PT1000 then you can use the table that I linked to earlier.

  • @dc42 Following your advice and instructions I was able to get reasonable good results!
    Can I tell to the heater manufacturer they made a 100% mistake with the sensor or this is still unknown ?

    Thank you again, I really appreciate 🙂


  • @paboman

    Can you tell me where you got your pt1000 and what your successful M305 config was?

    We are testing pt1000 as well and have been noticing some temp reading oddities. Thanks

Log in to reply