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

    Convert Marlin Thermistor Table To M305

    Scheduled Pinned Locked Moved
    General Discussion
    5
    12
    3.5k
    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.
    • Dougal1957undefined
      Dougal1957
      last edited by

      you don't need to RRF doesn't use thermistor tables and you need to supply the correct values and then do a pid tune and the Duet will take care of it

      use something like

      M305 P1 T100000 R4700 B3950

      This will set the Duet thermistor params for you then do a PID autotune using M303 and follow the guide at Duet Temp Tuning

      1 Reply Last reply Reply Quote 0
      • DjDemonDundefined
        DjDemonD
        last edited by DjDemonD

        If you want to determine the Beta value (or verify it) you can use this spreadsheet. Choose two temperatures that are either side of the range you typically want to use i.e. 180-250 for hotends then you get a better approximation of the actual temperature. I've used it with unknown brand thermistors.

        But as Doug said if the Beta value is known then you just enter it and then autotune.

        https://1drv.ms/x/s!Apv79JfGbPIwgv9DIbujMxNtMwHQpg

        Simon. Precision Piezo Z-Probe Technology
        www.precisionpiezo.co.uk
        PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

        1 Reply Last reply Reply Quote 0
        • wilrikerundefined
          wilriker
          last edited by

          I know that RRF does not make use of thermistor tables. But after all I read just setting this thermistor with

          M305 P1 T100000 B3950

          will not give me a good precision at higher temperatures - but as a hotend thermistor this is of course what it is all about. And PID autotune is no help here because this would only set hotend heater power based on the imprecise readings of the thermistor.
          This beta value of 3950 is being given for 25/50°, so I will probably have to raise this. I found a temperature-resistance-table for another 100K 3950 thermistor and plugged its values into the calculator at https://configurator.reprapfirmware.org/ and it gave me a B value of something above 5000.

          The thermistor tables of Marlin must have the temperature-resistance-relation somehow encoded in the given code snippet (or maybe some code that depends on this) so it is mainly a question how to get this information out of there to plug these values into the above linked calculator for RRF.

          Manuel
          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
          with probably always latest firmware/DWC (incl. betas or self-compiled)
          My Tool Collection

          1 Reply Last reply Reply Quote 0
          • wilrikerundefined
            wilriker
            last edited by wilriker

            My main issue is that I have nothing to externally confirm the real temperature. So if I set the hotend to e.g. 190°C then of course RRF will heat up until the thermistor reports 190°C.
            But I cannot confirm if that is accurate or if this is rather 175°C or 210°C in reality. Then there is no use in measuring the resistance at these temperatures because I could not tell what exact temperature that reading is at.

            I own neither a thermocouple nor an IR thermometer.

            EDIT: Best thing I have is a DHT22 - I could strap one with kapton tape to the hotend and slowly heat it up. Just kidding - worst case I melt the DHT22 to the heatblock. 😂

            Manuel
            Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
            with probably always latest firmware/DWC (incl. betas or self-compiled)
            My Tool Collection

            Nuffeundefined 1 Reply Last reply Reply Quote 0
            • Nuffeundefined
              Nuffe @wilriker
              last edited by

              @wilriker You can put the thermistor to a boiling water and measure the resistance. 100C will give you at least one accurate point.

              wilrikerundefined 1 Reply Last reply Reply Quote 1
              • wilrikerundefined
                wilriker @Nuffe
                last edited by

                @nuffe said in Convert Marlin Thermistor Table To M305:

                @wilriker You can put the thermistor to a boiling water and measure the resistance. 100C will give you at least one accurate point.

                @nuffe Why didn't I come up with this? 🤦

                I just remembered that I bought an overly expensive BBQ thermometer a couple of years ago that a basically used once. I have to check if I can poke this somehow into the hotend. That should give me another reading at least around 200°C (don't remember what its top temp was but it probably should go a lot higher).

                Manuel
                Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                with probably always latest firmware/DWC (incl. betas or self-compiled)
                My Tool Collection

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

                  I suggest you use configtool at https://configurator.reprapfirmware.org/. Go to the Heaters page, click on Calculate thermistor coefficients, then enter 3 temperatures and the corresponding resistances from the resistance vs. temperature table. I suggest you choose 25C, a value at the bottom end of the extrusion temperature range you use (e.g. 180C), and a value at the top end of that temperature range (e.g. 250C). It will calculate the B and C values for you. Then go to the final page, click Finish, view the config.g file, and extract the M305 line from it.

                  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

                  wilrikerundefined 1 Reply Last reply Reply Quote 0
                  • wilrikerundefined
                    wilriker @dc42
                    last edited by

                    @dc42 I know, I even referenced the calculator in my first post. My issue was that I would have had no means to measure the real temperature - until I remembered my BBQ thermometer. I can not use the thermistor reading if I want to calibrate this exact thermistor. 😁

                    Manuel
                    Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                    with probably always latest firmware/DWC (incl. betas or self-compiled)
                    My Tool Collection

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

                      With reference to your original question, in the Marlin temperature table I think the first value is the theoretical 10-bit ADC reading and the second value is the temperature that gives that reading. If we call the ADC reading A and the thermistor resistance R, then A = 1024 * R / (R + 4700). From that, R = 4700 * A / (1024 - A).

                      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

                      wilrikerundefined 1 Reply Last reply Reply Quote 1
                      • wilrikerundefined
                        wilriker @dc42
                        last edited by

                        @dc42 Thanks!

                        One question regarding the procedure of measuring resistance at various temperatures: can I measure this resistance while the thermistor is plugged into the Duet? I would need to use the heater cartridge to heat it up but that will only work if a thermistor is plugged in as well (even if the temperature is off). And I don't see how I could fit the thermistor in my current MK8 hotend to the V6 heaterblock while at the same time having the new thermistor in the block... oh, wait... I could insert the existing thermistor into the filament path, couldn't I?

                        Manuel
                        Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                        with probably always latest firmware/DWC (incl. betas or self-compiled)
                        My Tool Collection

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

                          No you can't measure the thermistor resistance with the Duet operating and the thermistor connected to the Duet. You could unplug the thermistor when the temperature is stable, and measure the resistance quickly before the temperature drops very much.

                          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