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

    Pinda 2 probe with temperature compensation

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    5
    8
    1.3k
    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.
    • scgreenhalghundefined
      scgreenhalgh
      last edited by

      Hi all,

      I saw that RRP3 is now compatible with the temperature sensor on the pinda 2 probes. Is there anywhere where it is documented, in particular for the Duet Wifi? I am looking to change the board on a Prusa i3 Mk3!

      Thanks in advance!

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

        Does this help? https://forum.duet3d.com/topic/15495/duet3-with-pinda-2-probe-setup

        Z-Bot CoreXY Build | Thingiverse Profile

        scgreenhalghundefined 1 Reply Last reply Reply Quote 0
        • scgreenhalghundefined
          scgreenhalgh @Phaedrux
          last edited by

          @Phaedrux thanks but unfortunately not as I have a duet wifi, not a 3... Yet.

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

            Well the fundamentals should be pretty much the same. Wire up the probe and the thermistor separately. RRF3 is the same either board, the only difference it the pin names used in M950 to map the heater.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • Argoundefined
              Argo
              last edited by

              The PINDA 2 has 4 cables.
              White is the thermistor. You can connect it to Thermistor 2 on your Duet Wifi board.
              Black is the signal for the probe and goes into Z Probe in.
              Blue is ground an brown is +5V which you can "steal" from anywhere. I did chose to used the 5V/GRND from the expansion PINs on the board because they are right to each other.

              If you use the stock PINDA position you can use my config code:

              ; Z-Probe PINDA
              M574 Z1 S2 ; Set endstops controlled by probe
              M558 P5 C"^zprobe.in" I1 H0.7 F1000 T6000 A20 S0.005 ; PINDA
              M308 S2 P"e1_temp" A"PINDA" Y"thermistor" T100000 B3950
              G31 P1000 X23 Y5 Z0.985 	                 ; PEI Sheet Offset C0.0010 S20 H2	
              ;G31 P1000 X23 Y5 Z1.315 					; Textured Sheet Offset
              M557 X24:221 Y10:195 P9                     ; Define mesh grid
              

              As for the temperature compensation.
              For G31 there are S and C parameter available for that.

              From the documentation:

              Cnnn Temperature coefficient^2
              Snnn Calibration temperature^2
              
              2Optional parameters 'S' (temperature in oC at which the specified Z parameter is correct, default is current temperature) and 'C' (temperature coefficient of Z parameter in mm/oC, default zero) can be set. This is useful for probes that are affected by temperature. In RRF2 the bed temperature reading is used. In RRF3 you must specify which temperature sensor to use in the H parameter.
              

              Unfortunately there is no example or way described how to use those parameters exactly.
              What I did was, I chose a location where I expect no warping of the heat bed, removed the sheet and probed directly over the bottom left screw. That is the location the Prusa stock FW does also do it's temperature calibration.
              Then I did measure my Z height at 35°C, 40°C, 45°C and 50°C PINDA temperature.
              The problem then I had was that the inaccuracy wasn't linear but I think the "Temperature coefficient" parameter assumes that it is.
              That is why PRUSA does save a specific Z offest value for the specific temperatures in a table and uses it when the temperature has been reached.

              I already posted a possible solution in another thread:
              https://forum.duet3d.com/topic/13516/conditional-gcode-and-object-model-variables/64?_=1592403073563

              TL:DR

              if PINDA_Thermistor <25°C {
              G31 P1000 X23 Y5 Z0.995
              }
              else if PINDA_Thermistor >=25° AND PINDA_Thermistor <30° {
              G31 P1000 X23 Y5 Z1.005
              }
              else if PINDA_Thermistor >=30°C AND PINDA_Thermistor <35° {
              G31 P1000 X23 Y5 Z1.020
              }
              .
              . and so on...
              else {
              G31 P1000 X23 Y5 Z2.0 ; safety height
              }
              

              What we need are the variables to make proper use of the thermistor of the PINDA.

              1 Reply Last reply Reply Quote 3
              • jallen810undefined
                jallen810
                last edited by

                @Argo @Phaedrux did y’all ever figure this out how utilize this? I feel like I read somewhere that @dc42 was going to work the PINDA2 compensation into the next firmware release, has that happened with 3.1?
                I want to give this a shot to help with the excessive warping I experience in my heated chamber.

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

                  In RRF 3.1.x you can use any available temperature sensor to compensate the trigger height. So if you have a spare thermistor input, you can connect the PINDA thermistor to that.

                  A slight complication is that the PINDA doesn't provide a separate ground pin for the thermistor, so you have to use the common ground. This will reduce the accuracy of the reading a little.

                  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
                  • jallen810undefined
                    jallen810
                    last edited by jallen810

                    @dc42 said in Pinda 2 probe with temperature compensation:

                    . So if you have a spare thermistor input, you can connect the PINDA thermistor to that.

                    @dc42 if i just ziptied a spare thermistor to my existing probe could it do the same? Without a PINDA? that way i had the separate ground?
                    And forgive my ignorance on RRF3.0 still getting used to it,
                    do i just make an M950/M160 for this new thermistor and assign it to a "ghost" heater?

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