Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Improve / optimize PT100 temperatures

    Scheduled Pinned Locked Moved
    Firmware wishlist
    4
    17
    947
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • benecitoundefined
      benecito
      last edited by

      @dc42 Any more clues on how to get a Temperature offset / calibration working for a PT100 daughter board with M308?
      I didn’t find anything about the R component for PT100‘s in the documentation.

      Also any chance an option for an actual (and simple) temperature offset will be added in the future?

      Phaedruxundefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator @benecito
        last edited by

        @benecito said in Improve / optimize PT100 temperatures:

        with M308?
        I didn’t find anything about the R component for PT100‘s in the documentation.

        https://duet3d.dozuki.com/Wiki/M308

        See the documentation for M308

        Additional parameters for MAX31865-based PT100 sensors
        
        Rnnn Series resistor value. Leave blank to use the default for your board.
        Fnn (where nn is 50 or 60) The local mains frequency. Readings will be timed to optimise rejection of interference at this frequency.
        

        Z-Bot CoreXY Build | Thingiverse Profile

        benecitoundefined 1 Reply Last reply Reply Quote 0
        • benecitoundefined
          benecito @Phaedrux
          last edited by

          @phaedrux It's been a while and because of various reasons this has become more relevant again.
          I tried again and it does not really work for me. So far I used

          M308 S1 P"spi.cs1" Y"rtd-max31865" A"Nozzle"
          

          While this gives me a reading of 35.1°
          R400 gives me approximately the same R401 gives me 35.9° and R399 gives me 34.8°
          So not really an option for fine tuning the temperatures.
          Any other ideas?

          I would still love to see an option to make this easier (and also think it would make sense in a lot of cases).
          For example an "O" parameter in M308 that simply accepts offsets in a way like "O0.6" or "O-1.1" for corrections of 0.6° and -1.1°.

          benecitoundefined 1 Reply Last reply Reply Quote 0
          • benecitoundefined
            benecito @benecito
            last edited by

            Does the PT100 daughter board even have a series resistor?

            dc42undefined 1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators @benecito
              last edited by dc42

              @benecito the PT100 daughter board has a 400 ohm reference resistor. So a value of R400 should give the same reading as without the R parameter. You can use fractional values such as R400.1. Very roughly, the reading in deg Kelvin will be proportional to the R value.

              The maximum temperature deviation caused by the MAX31856 chip should be no more than 0.5C according to the datasheet. The reference resistor has 0.1% tolerance so the maximum error it introduces should be no more than about 0.25C. Hence the total error should be no more than 0.75C plus the error introduced by the tolerance of the PT100 and any relevant wiring resistance.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              benecitoundefined 1 Reply Last reply Reply Quote 0
              • benecitoundefined
                benecito @dc42
                last edited by

                @dc42 thanks for the reply! If there is a 400 ohm resistor at least that part makes sense 😉
                I just tried using fractional values, but it did not work for me. Everything from R400 to R400.9 gives me the same reading with a change of about 0.7° if I go up to R401.
                Did this change since RRF3.3?

                Overall I am still very happy with the precision I get within one printer! I'd just like to get all the printers I build to be as close to each other as possible. Right now they are within 1° of each other, but with chocolate that already makes quite a difference, so ideally I'd like to get them within 0.2° of each other and thus be able to ship them calibrated.

                dc42undefined 2 Replies Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators @benecito
                  last edited by

                  @benecito you are correct, the R value for PT100 sensors accepts integer values only. I will change this in RRF 3.5beta1, possibly even in RRF 3.4.2.

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators @benecito
                    last edited by

                    @benecito I've put candidate 3.4.2beta1 binaries including this fix at https://www.dropbox.com/sh/iic3wmqb1m0pj7r/AACh921ueffhGhhDR07z7M8Ea?dl=0. If you wish to use them, please upgrade to release 3.4.1 first, then when you have that working you can update to 3.4.2beta1.

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    benecitoundefined 2 Replies Last reply Reply Quote 0
                    • benecitoundefined
                      benecito @dc42
                      last edited by

                      @dc42 Good to know I'm not too stupid to use it, and thanks for sharing the beta!
                      I'll give it a try as soon as I find a little time!

                      Sorry if I have to ask again, but wouldn't it be much easier vor everyone to be able to tune the temperatures by applying an actual offset instead of fiddling with ADC offsets or resistor values? Also I think this should not be very hard to implement.

                      1 Reply Last reply Reply Quote 0
                      • benecitoundefined
                        benecito @dc42
                        last edited by

                        @dc42 Just tried it and it works. Better than nothing but I'd still prefer the easier option!

                        1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators
                          last edited by dc42

                          @benecito said in Improve / optimize PT100 temperatures:

                          Sorry if I have to ask again, but wouldn't it be much easier vor everyone to be able to tune the temperatures by applying an actual offset instead of fiddling with ADC offsets or resistor values?

                          If there is an error in the reading, then the best way to correct it depends on the nature of the error. If the reference resistor isn't quite the right value, or the PT100 element isn't quite the right value, then adjusting the R parameter is the correct solution; because adding an offset would lead to reading errors at higher temperatures.

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Unless otherwise noted, all forum content is licensed under CC-BY-SA