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

    Reverse polarity of heater (peltier heating/cooling)

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    31
    8.4k
    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.
    • blandifiedundefined
      blandified
      last edited by blandified

      Hey all!

      So we have a peltier unit that when you send current one direction, it heats. If you reverse the current, it cools.

      Long story short, we need to heat and we also need to cool.

      We are thinking of accomplishing this reversing of the current through an H-bridge, similar to how you can reverse directions of a motor.

      However, we will need some sort of control voltage to determine direction of current. We are working on the hardware portion of this (but if you have recommendations we would love to add them to our research!).

      1.) What do you guys recommend for the Duet side of things? Since our design will probably be an H-bridge outside the Duet, the Duet shouldn't see this reversing of current so it should be fine. Will the temperature sensors be okay with increasing current for both heating and cooling to desired temperatures?

      2.) Last minute thought: Instead of the external H-bridge, is there a way to reverse current through software only? This is to try and avoid external parts that can go bad.

      EDIT: Just as FYI, this is the peltier we bought and will be using.

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

        You will need to use an external H-bridge anyway, although I guess a DPDT relay would work if you can stand the noise.

        Will the heating/cooling be a single function (i.e. maintain a set temperature using either heating or cooling as appropriate), or two separate functions?

        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

        blandifiedundefined 1 Reply Last reply Reply Quote 1
        • blandifiedundefined
          blandified @dc42
          last edited by blandified

          Hey @dc42 thanks for your help in everything so far. We haven't decided on the function/software portion yet. I am looking through the Heat.cpp file here, I am assuming this is the cpp file we will be modifying.

          In regards to a single function or two separate functions, we were originally thinking just to modify the Heat.cpp, unless you recommend something else.

          Something like the below pseudocode:

          if (desiredTemp < currentTemp)
          // Do cooling function (reverse direction of current)
          else
          // Regular Heat.cpp functionality

          (side note, we need cooling because we are making a BioPrinter, which sometimes needs cold environment to print the cells and bio ink. So, once we get this part down, it would be awesome for the future of the Duet, as people will begin to see it as a viable option for bio printers as well)

          The above is the software portion. When I get the team assembled again, I'll post our ideas for the hardware portion provided you don't have recommendations for compatibility with the Duet.

          edit: actually, let me pick your brain on the hardware portion too, as we were thinking a simple mosfet h-bridge but want to make sure it will work with Duet/reprap firmware

          1 Reply Last reply Reply Quote 0
          • blandifiedundefined
            blandified
            last edited by blandified

            Actually a DPDT relay would be simpler than an H-bridge, just thinking outloud.

            The approach would be the same though:

            if (desiredTemp < currentTemp)
            // Send a control voltage to DPDT relay to send current one direction
            // Do cooling function (might need to swap some increment/decrements in existing code)
            else
            // Stop the control voltage to DPDT relay to have current go the other direction
            // Regular Heat.cpp functionality

            edit: this guy talks about it here using the GPIO pins, but I believe all our GPIO pins are filled because of our Duex5 expansion board.

            1 Reply Last reply Reply Quote 0
            • blandifiedundefined
              blandified
              last edited by blandified

              Just as FYI, this is the peltier we bought and will be using.

              1 Reply Last reply Reply Quote 0
              • blandifiedundefined
                blandified
                last edited by blandified

                @dc42 Actually, is there a more detailed spec sheet of how the pins on the extruder heaters work?

                This is our peltier heater (and technically it should cool): https://tetech.com/product/te-195-1-0-0-8/

                1.) When we hook up the peltier directly, we are able to raise the temperature to a set amount (although it does overshoot a bit so is currently unreliable).

                2.) No matter the polarity of the peltier, it only gets hot and doesn't get cold.

                3.) Also, both sides of the peltier get hot instead of one side getting hot and the other side getting cold.

                So...that's why I ask if there is a more detailed spec on the pins of the extruder heaters, we would like to check to make sure the voltage/current/etc being supplied is compatible with the peltier shown in the link above.

                Any ideas?

                Thank you!

                1 Reply Last reply Reply Quote 0
                • dragonnundefined
                  dragonn
                  last edited by

                  I am curious for what are you going to use that peltier? It is only rated up to 80C, are you making a heatbed using peltier devices?

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

                    If you want one side of a Peltier to cool, you must prevent the other side getting too hot, e.g. by having a heatsink on it with a fan blowing cool air over it. Also take care not to exceed the ideal current of the Peltier you are using.

                    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

                    blandifiedundefined 1 Reply Last reply Reply Quote 1
                    • blandifiedundefined
                      blandified @dragonn
                      last edited by

                      @dragonn

                      We are working on a bio-printer, so we only need to heat up the cell solutions to a maximum of 80deg but we also need to be able to cool it (ideally to about 4deg).

                      1 Reply Last reply Reply Quote 1
                      • blandifiedundefined
                        blandified @dc42
                        last edited by

                        @dc42 We have been working on this, with the same result so far.

                        Which is why we are looking to see exactly what the pins are/do for the extruder heaters. We want to make sure the + and - pins are compatible with the peltier.

                        Do you have any additional technical specs of these pins?

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

                          The extruder heater outputs have one pin connected to +VIN and the other connected to ground via the mosfet. The pins are marked VIN and E0- (or E1-) on the underside of the board. However, on earlier PCB revisions the markings are incorrect. The E0- or E1- pin is always the pin closest to the E1 motor connector, and the other pin is VIN.

                          Maximum recommended current power output is 6A each. The mosfets can handle much more; the limitations is due to the PCB traces and the terminal blocks.

                          There is a link to the Duet schematic on the wiki.

                          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

                          blandifiedundefined 1 Reply Last reply Reply Quote 1
                          • blandifiedundefined
                            blandified @dc42
                            last edited by

                            @dc42

                            1.) Does this mean that VIN is 24V (we have a 24v PSU) and E0- is 0V?

                            Just wanting to clarify this point because I believe the peltier needs + and - voltage instead of + and ground/0 voltage, I will double check with the peltier supplier though.

                            2.) If that is the case, I am assuming the voltage cannot be adjusted to be +12 and -12V because the mosfet pulls the E0- pin to ground and therefore cannot be changed from the original 24V to 0V?

                            1 Reply Last reply Reply Quote 0
                            • dragonnundefined
                              dragonn
                              last edited by

                              Maybe I don't have much experience with peltier devices. But from a electrical point of view they is no difference between for example +12V, -12V and +24V, 0V for a peltier device since it haves only two wires. I even have one and it works fine with just +12V and ground (I am doing an experiment with cooling the heatbreak with a peltier device :D).

                              blandifiedundefined 1 Reply Last reply Reply Quote 0
                              • blandifiedundefined
                                blandified @dragonn
                                last edited by

                                @dragonn

                                Okay we just wanted to make sure the peltier didn't need to be operated in a specific-only way, but if your peltier works with 12V and ground then ours should too.

                                It is just strange because we can't get the peltier to cool at all, both sides get hot, even with a heatsink and fan, switching polarities doesn't work.

                                1 Reply Last reply Reply Quote 0
                                • dragonnundefined
                                  dragonn
                                  last edited by

                                  It only does that when connected to Duet? When you connected it directly to a power supply it still works like it should?

                                  blandifiedundefined 1 Reply Last reply Reply Quote 1
                                  • blandifiedundefined
                                    blandified @dragonn
                                    last edited by

                                    @dragonn

                                    We actually haven't tried connecting directly to our power supply. We have this one here and were worried that the peltier would draw too much current and burn out. We will try when we meet again though!

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

                                      At full power (24V) the spec sheet at https://tetech.com/wp-content/uploads/2013/11/TE-195-1.0-0.8.pdf indicates that your peltier will generate a 150-200W of waste heat. To remove this effectively you will need the sort of heatsink and fan that is used for cooling the CPU in high-end PCs. So I suggest you use a lower voltage. Even at 12V there will bet 40-80W of waste heat to get rid of.

                                      Please note, running the Peltier on 24V at 50% PWM is not the same as running it from 12V, unless you use a diode + inductor filter and a high enough PWM frequency.

                                      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

                                      blandifiedundefined 1 Reply Last reply Reply Quote 1
                                      • dragonnundefined
                                        dragonn @blandified
                                        last edited by

                                        @blandified connecting it for short time (few seconds) wont damage it and it should already get a lite bit cold. And as far I know a Peltier device is maybe partly but it self limits the power when then temp difference between cold and hot side goes to big.

                                        1 Reply Last reply Reply Quote 1
                                        • blandifiedundefined
                                          blandified @dc42
                                          last edited by

                                          @dc42

                                          Ahhh this sounds like it may be the reason, thank you for pointing this out! We will experiment...

                                          Our Duet Ethernet is hooked up to a 24V 350W power supply, so as I understand it, that means the extruder heaters/motors/bed heater are all running off this 24V, which is why we chose 24V motors and heaters.

                                          But we want to take your suggestion and run the heaters at 12V instead. Is this something we can change internally (in the firmware or config file) or do we have to swap our 24V power supply with a 12V power supply in order to accomplish this?

                                          The closest thing I can find is this:

                                          M307 V12

                                          source: http://reprap.org/wiki/G-code#M307:_Set_or_report_heating_process_parameters

                                          "Vnnn VIN supply voltage at which the A parameter was calibrated (RepRapFirmware 1.20 and later). This allows the PID controller to compensate for changes in supply voltage. A value of zero disables compensation for changes in supply voltage. "

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

                                            You will need to provide either a second PSU or a buck regulator to provide 12V to drive the peltier.

                                            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

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