• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    benecito
    last edited by 4 Oct 2021, 22:08

    For my chocolate printers I am looking for a way to improve temperature readings even further, and also keep temperatures the same across all of them.
    Setup is a duet 3 mini with PT100 daughterboard.
    The extruder is made from two heating elements and heaters. One is a cartridge close to a heating cartridge the other one is a heating foil with sensor. Both are class A PT100’s.
    There also is a thermistor in another heating foil for a preheater as the duet 3 mini can only handle one daughterboard and temperatures are not that important here.

    I also have two calibrated ebro thermometers which are within 0.2° of each other, which I use for reference.

    If leaving all of them in one room I have various deviations (all of them within 1.5°).
    If I heat all of them to the same temperature I also have some deviations within 2°.
    I know this already is not to bad, but I'd like to improve it some more and don't mind spending a little time on it.

    With the thermistor I suppose I could use the L and H parameters in M308 but I did not find anything like it for the PT100’s.
    I suppose (especially with the PT100’s as they are quite linear) the easiest way would be a „offset“ parameter within M308. The basic idea is an offset which is added/subtracted from the actual raw reading before it is used for anything else.

    This would make calibrating multiple printers to behave the same so much easier. (Probably not just for me)

    Does something exist and I simply don’t know of it, or else could something like this be added to RRF?

    undefined 1 Reply Last reply 4 Oct 2021, 22:18 Reply Quote 0
    • undefined
      T3P3Tony administrators @benecito
      last edited by 4 Oct 2021, 22:18

      @benecito moved to the firmware wishlist.

      www.duet3d.com

      1 Reply Last reply Reply Quote 0
      • undefined
        dc42 administrators
        last edited by dc42 10 May 2021, 05:58 5 Oct 2021, 05:55

        @benecito if your PT100 readings are that far out, then most likely you are using a 2-wire connection and you have too much resistance in the wiring. One of the plus points of using PT100 sensors is that used properly, they need no calibration unless you need better than 0.2C accuracy.

        It's possible to use more than one daughter board on the Duet 3 Mini if you pick up CS signals for the second one from IOx_OUT pins.

        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

        undefined 1 Reply Last reply 5 Oct 2021, 06:12 Reply Quote 0
        • undefined
          benecito @dc42
          last edited by 5 Oct 2021, 06:12

          @dc42 I indeed am using 2 wire sensors, but just because I also tried a 4 wire sensor. The difference was 0.3°C - which is still a fraction of the difference I actually have and matches the resistance in the wires quite perfectly.
          For me it would be easier to wire in a 2 wire configuration and compensate for the 0.3°C. Over all I'd like to get the readings as precise as possible, but below 0.5° for sure!

          You think an option for calibration could be added in the near future?

          @dc42 said in Improve / optimize PT100 temperatures:

          It's possible to use more than one daughter board on the Duet 3 Mini if you pick up CS signals for the second one from IOx_OUT pins.

          Good to know! How exactly do I wire it? Probably will not change it in the near future, but might do so with the next revision. Just grab a free IOx_OUT pin and wire it to spi2.cs1/2 while still keeping the second stacked on top?

          undefined 1 Reply Last reply 5 Oct 2021, 08:02 Reply Quote 0
          • undefined
            dc42 administrators @benecito
            last edited by 5 Oct 2021, 08:02

            @benecito you can use 2-wire sensors but switch to 4 wires close to the sensor. That's what I do.

            The problem with trying to compensate for wiring resistance when using a 2-wire connection is that if there are connectors involved, then you should not assume that the wiring resistance is constant.

            You can compensate for resistance error in the sensor itself using the M308 R parameter.

            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

            undefined 1 Reply Last reply 9 Oct 2021, 16:55 Reply Quote 0
            • undefined
              benecito @dc42
              last edited by 9 Oct 2021, 16:55

              @dc42 said in Improve / optimize PT100 temperatures:

              @benecito you can use 2-wire sensors but switch to 4 wires close to the sensor. That's what I do.

              That’s also what I tried. Like I said it makes a difference of 0.3° for me

              @dc42 said in Improve / optimize PT100 temperatures:

              The problem with trying to compensate for wiring resistance when using a 2-wire connection is that if there are connectors involved, then you should not assume that the wiring resistance is constant.

              How does this matter if I want to calibrate each setup?

              @dc42 said in Improve / optimize PT100 temperatures:

              You can compensate for resistance error in the sensor itself using the M308 R parameter.

              Does not work for me - are you sure this works with a daughter board? A value of 9950 got me close but temperatures are all over the place afterwards.

              1 Reply Last reply Reply Quote 0
              • undefined
                benecito
                last edited by 6 Nov 2021, 00:04

                @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?

                undefined 1 Reply Last reply 16 Nov 2021, 05:04 Reply Quote 0
                • undefined
                  Phaedrux Moderator @benecito
                  last edited by 16 Nov 2021, 05:04

                  @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

                  undefined 1 Reply Last reply 29 Jun 2022, 15:10 Reply Quote 0
                  • undefined
                    benecito @Phaedrux
                    last edited by 29 Jun 2022, 15:10

                    @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°.

                    undefined 1 Reply Last reply 29 Jun 2022, 15:11 Reply Quote 0
                    • undefined
                      benecito @benecito
                      last edited by 29 Jun 2022, 15:11

                      Does the PT100 daughter board even have a series resistor?

                      undefined 1 Reply Last reply 29 Jun 2022, 16:04 Reply Quote 0
                      • undefined
                        dc42 administrators @benecito
                        last edited by dc42 29 Jun 2022, 16:04

                        @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

                        undefined 1 Reply Last reply 30 Jun 2022, 11:07 Reply Quote 0
                        • undefined
                          benecito @dc42
                          last edited by 30 Jun 2022, 11:07

                          @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.

                          undefined 2 Replies Last reply 1 Jul 2022, 11:09 Reply Quote 0
                          • undefined
                            dc42 administrators @benecito
                            last edited by 1 Jul 2022, 11:09

                            @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
                            • undefined
                              dc42 administrators @benecito
                              last edited by 1 Jul 2022, 13:15

                              @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

                              undefined 2 Replies Last reply 4 Jul 2022, 07:25 Reply Quote 0
                              • undefined
                                benecito @dc42
                                last edited by 4 Jul 2022, 07:25

                                @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
                                • undefined
                                  benecito @dc42
                                  last edited by 4 Jul 2022, 16:13

                                  @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
                                  • undefined
                                    dc42 administrators
                                    last edited by dc42 7 Apr 2022, 18:08 4 Jul 2022, 18:07

                                    @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