Announcement

Collapse
No announcement yet.

The best way to drive a heating element?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    The best way to drive a heating element?

    I've got this circuit that I've been playing with on a breadboard. I'm not happy with it mainly because the MOSFET gets too hot and generally controlling the temp of the heating element with the Arduino has proven to be a little more cumbersome than I would like.

    What I would like to know, is what is the best way to set up a circuit like this? The heating element is just a PCB and its going to be mounted under a 3D-printed enclosure that a lizard will use to warm his belly.

    This is the general setup that I have now.



    This is what the heating element will look like (Im currently using a piece of etch board that I carved into something that looks kind of like this for my test circuit).



    VCC is coming from a buck converter that is rated for 20 amps - far more amperage than I would ever need for this circuit and right now I think I have it set to around 3 volts with my test heating element.

    I've got a temp sensor that I'm able to read accurately with the Arduino chip so ideally, I would use that value, then adjust the PWM feeding the MOSFET to maintain a temp on the heating element of around 45C to 50C.

    I realize this design isn't right so I'm seeking advice on how to do it properly.

    #2
    Re: The best way to drive a heating element?

    Use a mosfet that matches the situation you put it in...can't just pick off any random mosfet and expect it to work in any random circuit?

    Comment


      #3
      Re: The best way to drive a heating element?

      Originally posted by eccerr0r View Post
      Use a mosfet that matches the situation you put it in...can't just pick off any random mosfet and expect it to work in any random circuit?
      This is why Im here ... how would I spec such a mosfet?

      Comment


        #4
        Re: The best way to drive a heating element?

        lowest possible on resistance = lowest heat output.
        and make sure the gate can be fully driven with 5v, a lot of older fets want 10v for full gate drive.
        if the fet gets noticably hot then your probably not turning it fully on.
        (or fully off - but the resistor should take care of that)

        lets get some detail
        whats your heater drive voltage?
        whats the heater spec?

        when you say arduino - thats the software, is it a 5v module or a 3v arm based one?

        Comment


          #5
          Re: The best way to drive a heating element?

          We need MORE details than this.

          First, what kind of heating element are we talking about here? Power rating? Voltage rating? The power supply providing power to this heating element?

          2nd: as stj noted, what MCU are you using to drive the MOSFET? If it's a 3.3V MCU, its output voltage might not be high enough for most MOSFETs. Instead of changing the MCU, though, you could just build a Gate-drive circuit to properly drive the MOSFET.

          3rd: what MOSFET do you have available? The one you put on the schematic in your first post has a built-in diode that is FORWARD-BIASED from Drain to Source. Looks like a P-Channel MOSFET? Or perhaps you just placed it reversed on the schematic, with Source and Drain reversed? Either way, this is NOT right. If you are using a POSITIVE voltage supply on the heating element, then the diode will be conducting and keeping the element ON ALL THE TIME.

          4th: most heating elements tend to be INDUCTIVE (if even very slightly). Hence why we need the info I mentioned above. But regardless of that, you should put a reverse-biased diode across the heating element to shunt any inductive spikes - that is, diode should be connected with Anode tied to MOSFET Drain and Cathode tied to your positive supply.
          Last edited by momaka; 01-26-2023, 04:44 PM.

          Comment


            #6
            Re: The best way to drive a heating element?

            These are drawn all in relation to convention: top of page is most POSITIVE electrical power source, bottom of page is most NEGATIVE.

            Enhancement P-channel (IRF9640 and the like)

            Enhancement N-channel (IRF540, 2N7000, and the like)


            Note the latter two on each row that don't have dashed lines should only be used in digital designs (where LOTS of both N- and P- devices are used), it's implied that they are all enhancement mode devices, and they all share the same substrate (ICs). Else you should use the broken line version for discrete designs. Pay attention to the arrows, note that the broken line proper versions are different than BJT directions!

            For completeness,

            Depletion P-channel

            Depletion N-channel


            Depletion mode devices are usually only used in analog amplifiers and in a digital world, these are quite rare.

            Get them right!

            Comment


              #7
              Re: The best way to drive a heating element?

              Originally posted by stj View Post
              lowest possible on resistance = lowest heat output.
              and make sure the gate can be fully driven with 5v, a lot of older fets want 10v for full gate drive.
              if the fet gets noticably hot then your probably not turning it fully on.
              (or fully off - but the resistor should take care of that)

              lets get some detail
              whats your heater drive voltage?
              whats the heater spec?

              when you say arduino - thats the software, is it a 5v module or a 3v arm based one?
              You are correct on not driving the gate fully open because the goal is to use the MOSFET to limit the current to the heating element to sustain a certain temp.

              And if I'm approaching this from out of left field, I'm not opposed to a completely different design. I just assumed a FET would be the best component to use as they generally can handle harsher environments like this than a standard transistor ... though a power transistor might make more sense?

              The heater spec isn't really technically known other than it has about 1.5 ohms of resistance to it ... this test board that Im using its a piece of home etch copper board that I took the dremmel to and carved out the pattern so that its one continuous line in a snake pattern over the whole board, but Im wanting to convert that into a fabed PCB with the same theory behind it ... though I don't really know if there is a way to determine the resistance of the PCB from the design software.

              The Arduino would just be reading the temp sensor then adjusting voltage to the gate to choke or open the current flowing to the heating element and that's all that would be doing.

              The Arduino is a 5V (Nano) But I also have AT-Tinys that can operate at 3 volts or even a Pico that does 3 volts if that's what would work better but my thoughts are that more voltage swing is better in this application?

              Comment


                #8
                Re: The best way to drive a heating element?

                Originally posted by momaka View Post
                We need MORE details than this.

                First, what kind of heating element are we talking about here? Power rating? Voltage rating? The power supply providing power to this heating element?
                I already described the heating element in my first post ...

                and I posted a cad drawing of what the final heating element is going to look like. I don't have specs because it doesn't exist yet.
                Originally posted by momaka View Post
                2nd: as stj noted, what MCU are you using to drive the MOSFET? If it's a 3.3V MCU, its output voltage might not be high enough for most MOSFETs. Instead of changing the MCU, though, you could just build a Gate-drive circuit to properly drive the MOSFET.
                Arduino NANO - 5 Volts
                Originally posted by momaka View Post
                3rd: what MOSFET do you have available?
                IRF510N
                IRF520N
                IRF530N
                IRF540N
                IRFZ44N
                IRF640N
                IRF740
                IRF840
                IRF3205
                IRF9540N

                And pretty much anything that Amazon carries that I can get for less than $10

                Originally posted by momaka View Post
                4th: most heating elements tend to be INDUCTIVE (if even very slightly). Hence why we need the info I mentioned above. But regardless of that, you should put a reverse-biased diode across the heating element to shunt any inductive spikes - that is, diode should be connected with Anode tied to MOSFET Drain and Cathode tied to your positive supply.
                I'm ok with that... but I'm also wondering what that diode is protecting since this circuit is intended to always be on and current will always be flowing in one direction.

                Comment


                  #9
                  Re: The best way to drive a heating element?

                  Originally posted by eccerr0r View Post
                  These are drawn all in relation to convention: top of page is most POSITIVE electrical power source, bottom of page is most NEGATIVE.

                  Enhancement P-channel (IRF9640 and the like)

                  Enhancement N-channel (IRF540, 2N7000, and the like)


                  Note the latter two on each row that don't have dashed lines should only be used in digital designs (where LOTS of both N- and P- devices are used), it's implied that they are all enhancement mode devices, and they all share the same substrate (ICs). Else you should use the broken line version for discrete designs. Pay attention to the arrows, note that the broken line proper versions are different than BJT directions!

                  For completeness,

                  Depletion P-channel

                  Depletion N-channel


                  Depletion mode devices are usually only used in analog amplifiers and in a digital world, these are quite rare.

                  Get them right!
                  When I'm asking a question about a concept that I don't fully understand - which I do from time to time ... I go into Easy EDA and I grab a symbol that looks like the device I have a general question about ..... the schematic in this post was the same one I used in my last post where my question was about the resistor that goes from gate to ground and SPECIFICALLY, my question was about whether or not that resistor has an affect on making sure the mosfet turns off when digital voltage goes to 0.

                  What NEVER occurs to me when I have a question ... is that the symbol of the mosfet makes any difference at all because my questions are never about topics that are that precise in nature to where I would even be thinking about the kind of mosfet that I would be using as a visual aid to set up the question.

                  I could just ask questions and describe the circuit layout with words ... and waste everyone's time because no one will visualize the circuit the same way its in my head when I describe it in words ... and that can be a fun discussion ...

                  Instead, I prefer to offer some kind of visual connection to what is in my head so that we can all get that part out of the way in mere seconds then we can discuss the question specifically ...

                  I have never once been paid to do electronics work ... this has never been anything that I have made a living doing ... this is a hobby that I dabble in OCCASIONALLY ...

                  Now if you wanna talk about networking ... router configs, vlan design scenarios, Java programming ... the layouts of TCP/IP packets ... the practical application scenarios of long range wifi ... what works and what doesn't ... server administration and best practices for network management in various scenarios ... VPN implementations ... work distribution throughout a network and how to maximize it ... different theories on the best way to implement java classes and why some work better than others ... among MANY other such related topics ... then I can get down to brass tax with you all day long ...

                  But when I post a schematic of a MOSFET ... I don't give a fuck what kind of a mosfet the symbol represents from Easy EDA ... its a mosfet ... if its the wrong one, I know I have you to count on to tell me so ... but I seriously never even knew nor cared to know that dashed lines meant something different than solid lines...

                  I'm not designing electronics to run elevators here or control 747s ... im trying to keep a lizard warm ... because it sounded like a fun little project... I seriously don't give a shit about the minutia details of this stuff because this is not what I do with my life. If I'm wrong ... then just tell me I'm wrong ... but I'm not going to study this stuff to become an EE ... I like to play with it because its fun and it give me a mental change of pace from what I do do day in and day out ... and as I already pointed out ... right underneath the schematic ... I said I knew it was wrong ... and that I'm here to understand how to do it right ... maybe you can give me some credit for at least wanting to do it right?
                  Last edited by EasyGoing1; 01-30-2023, 09:39 AM.

                  Comment


                    #10
                    Re: The best way to drive a heating element?

                    There is something about this circuit that I have not mentioned yet that may be of some use ... on the prototype heating element that I made ... in order to keep it at around the right temp, I measured about 1.4 amps going through the heating element and the voltage source was less than 5 volts (the SD voltage, not the gate voltage).

                    I realize that's not a whole lot of concrete numbers from which to go on here ... but maybe in this scenario ... think more general ... what kind of mosfet or WHATEVER component would be best ... that could handle a source to drain current flow of - worst case scenario - 2 amps at say 6 volts flowing through a yet to exist heating element that will have anywhere from half an ohm to 2 ohms of resistance at the most ... to where the mosfet (or whatever component would be the best component to use in this scenario) would not get too hot to touch... and so that I can swing that current from like close to 0 amps up to that final 2 amps using a voltage source at the gate that can go from 0 to 5 volts.


                    That's really all I'm after here...

                    Is a MOSFET even the right device to use in this kind of a simple circuit? If not, what would be better? From my experience, MOSFETS don't seem to do so well in terms of turning on gradually with voltage changes at the gate because they get to a point very early (in a 0 to 5V range) where they just turn all the way on and it would be nice to have some kind of linear relationship between gate voltage and current flow from S to D ... and Im sure components like that exist ... I just haven't had any apparently but I'm not opposed to buying some ... I just don't know how to find them.

                    Comment


                      #11
                      Re: The best way to drive a heating element?

                      mosefets are extremists.
                      they like to be on, or off.
                      not in between.

                      that said, maybe you could use the mosfet itself as the heat source - i know mosfets are used in electronic loads to generate heat.
                      dont blame me if it runs away and shorts out though

                      Comment


                        #12
                        Re: The best way to drive a heating element?



                        1. I don't know why, technically you pick a random symbol, it's 50-50 whether you picked a N- or P- channel, but you always pick P where it should be N. And then you wire it weird.

                        2. MOSFETS do work in between on and off just fine, just need to deal with the heat and drive. There are a lot of "MOSFET" audio amplifiers out there that use MOSFETs as linear drivers (versus class D which are on/off). I can't say it's the best way to use a MOSFET as a linear driver as the feedback circuitry needed for linear operation can be complex where it's easier to exploit BJTs for this purpose. And BTW: the MOSFET used in linear mode will produce the same amount of heat as a BJT doing the same job!

                        All in all it sounds like you should stick to using relays and buying complete controllers - and don't bother with MOSFETs/microcontrollers.

                        Here's an example: get ebay item 265741686409 and a 120V heat pad...
                        Last edited by eccerr0r; 01-30-2023, 01:04 PM.

                        Comment


                          #13
                          Re: The best way to drive a heating element?

                          Originally posted by eccerr0r View Post


                          1. I don't know why, technically you pick a random symbol, it's 50-50 whether you picked a N- or P- channel, but you always pick P where it should be N. And then you wire it weird.

                          2. MOSFETS do work in between on and off just fine, just need to deal with the heat and drive. There are a lot of "MOSFET" audio amplifiers out there that use MOSFETs as linear drivers (versus class D which are on/off). I can't say it's the best way to use a MOSFET as a linear driver as the feedback circuitry needed for linear operation can be complex where it's easier to exploit BJTs for this purpose.
                          So then a power transistor is the better choice? Like a TIP120?

                          Originally posted by eccerr0r View Post
                          All in all it sounds like you should stick to using relays and buying complete controllers - and don't bother with MOSFETs/microcontrollers.

                          Here's an example: get ebay item 265741686409 and a 120V heat pad...
                          Ahhh but this is where you're missing the whole point ... it's not really all about the lizard having a warm piece of printed plastic to chill out on ... its about the process of figuring out the project ... writing the code ... getting the PCB ... putting it together ... and having it sit there keeping a lizard warm. Anyone could buy an off-the-shelf solution ... but not everyone can make one and have the satisfaction of making it.

                          You're trying to solve what you perceive as a problem but in reality ... that solution would only make things worse.

                          It was never about the end goal ... its about the process... and the end goal becomes a bonus when its done.

                          Comment


                            #14
                            Re: The best way to drive a heating element?

                            Originally posted by stj View Post
                            mosefets are extremists.
                            they like to be on, or off.
                            not in between.

                            that said, maybe you could use the mosfet itself as the heat source - i know mosfets are used in electronic loads to generate heat.
                            dont blame me if it runs away and shorts out though
                            Yeah that would make the Arduino code ... ummmm ... "interesting" ... the mosfet is attached to the heating element and adding to the heat that the element is getting from the mosfet ... the code wont be an on / off situation and tracking gradual thermal changes in a setup like this is proving to be a worthy challenge for the arduino code because when you cut off the current going into the element, the temp doesn't just stop where its at ... it keeps rising ... and so when it crosses the boundaries you want that becomes an issue .. also that it takes a long time to actually warm up in the first place also kind of makes the coding more challenging its not a binary process at all actually ... I need to look into PID algorithms like how 3D printers maintain heat for hot ends and beds etc ... I know there's some interesting code that they use that leverages some known principles of thermal runaway and retention that lets them compensate with some excellent results especially since those algorithms work in air conditioned rooms ... heated rooms ... makes no difference when you set the hot end on a 3d printer to 205C ... it never goes plus or minus by more than one or two degrees or the printer considers that a failed print and they bail out.

                            Comment


                              #15
                              Re: The best way to drive a heating element?

                              By the way, I measured out the trace on the PCB heating element that Im going to order for this and the estimated resistance of that element is just over 2 ohms if that matters to anyone.

                              Comment


                                #16
                                Re: The best way to drive a heating element?

                                i didnt say dont learn the frequencies and general usage with regard to calling protocol etc.
                                i just said dont talk to government.

                                knowing or having a pdf of the global(ish) frequency plan is a good start.
                                Attached Files

                                Comment


                                  #17
                                  Re: The best way to drive a heating element?

                                  Originally posted by eccerr0r
                                  How long have you been on bcn?
                                  Here ... you see this drawing ... this is literally the equivalent in my mind of the image I posted when I started this thread ... I didn't come in here and say "Hey check out this exact perfect schematic I designed ... isn't it great? ... cause if I said that, then you would be entitled to criticize it ... but when I'm giving you the equivalent of this drawing right here and saying I know this isn't a working circuit and Im here to find out what will work ... then you criticizing me is you being an asshole.

                                  I come in here posting this and you're quibbling over dashed lines in schematic symbols...

                                  Comment


                                    #18
                                    Re: The best way to drive a heating element?

                                    The BS is going to stop.
                                    <--- Badcaps.net Founder

                                    Badcaps.net Services:

                                    Motherboard Repair Services

                                    ----------------------------------------------
                                    Badcaps.net Forum Members Folding Team
                                    http://folding.stanford.edu/
                                    Team : 49813
                                    Join in!!
                                    Team Stats

                                    Comment


                                      #19
                                      Re: The best way to drive a heating element?

                                      yes, lets get serious.

                                      fets are extremists.
                                      so get a logic-level fet and drive it directly with the PWM to run the heater.
                                      and as the heater is a coil - fit a reverse diode across it.

                                      Comment


                                        #20
                                        Re: The best way to drive a heating element?

                                        I'll post the final circuit I decided on when I get the PCB ordered.

                                        Comment

                                        Working...
                                        X