Looked at new thermostats, nah I'll DIY this

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • evilkitty
    Badcaps Veteran
    • Nov 2017
    • 299
    • USA

    #1

    Looked at new thermostats, nah I'll DIY this

    My dad had picked up a new thermostat complaining about the old one not being sensitive enough or not being accurate, It appeared to not be able to turn the second heating coil on, maybe it only had 1 relay? Anyway i thought for that price i can do it myself, well i decided to modify it:* That is a raspberry pi 0 v1, so no built in wifi or camera plug
    at 1st i had a A+ pi in there, before the pi0 was released and i needed more space to make the front panel

    there are 2 things i am not happy with and both are the power supply, that blue LED is well insanely bright (visible through the face plate) and the coil wine

    I would guess i am pulling under 300ma at any given time (100ma board + wifi + a single relay)
    *Programed/designed so that both relays will never have there coil powered up at the same time
    *the lcd is so low power it should be under 0.025ma
    at least that supply has never let me down in the few years i have used it
  • ratdude747
    Black Sheep
    • Nov 2008
    • 17136
    • USA

    #2
    Re: Looked at new thermostats, nah I'll DIY this

    Nice. Have you studied control systems before?

    You might want to look up Two-Position controls for tuning in your controls. That way you can get it properly "damped", underdamped will be too slow to react, overdamped will be unstable (and will overshoot, causing unnecessary switching on/off which will wear out your relays). Two position controls aren't too bad to engineer; "two position" refers to that there are two positions in use ("on" and "off"). If you wanted to get fancy with it (which would mean slightly more complex controls engineering), you could have a mode to control the AC and heat at the same time, which would be a three-position control system. Just be glad it isn't like some modern commerical boilers which are variable output, which require a PID control system to utilize. My college had one of these installed (after the 3 year old non-variable one fried a lot due to switching on/off too much) and this was one of the things showed to me in my control theory (controls engineering) class.

    Have fun with it.
    sigpic

    (Insert witty quote here)

    Comment

    • evilkitty
      Badcaps Veteran
      • Nov 2017
      • 299
      • USA

      #3
      Re: Looked at new thermostats, nah I'll DIY this

      never studied them
      controlling heat/cooling is not possible at the same time, the same unit does both, there is a slide switch to decide what mode the unit is in (i what i made only replaced the temp reading system)
      I designed the software do support a desirable temp range, under the concept lets warm the place up a little and shut off a while; the offset value is the desirable range, so if the unit is set to cool with a Target of 75 with a offset of 5 the system will not turn on till 80 and run till 75
      i also set a lag delay in the temp readings so the min time between states over a 2 seconds, and i ended up putting in a second lag if the temp changes a lot in a short period of time, so until the temp is stable it will not act; this prevents bad readings from turning the unit on, well it drops the probability of that happening to under 1%
      if you can read python this can explain it better than i can with english
      https://github.com/GM-Script-Writer-...bin/thermostat

      the heating system at work is like you described, run 30 seconds off 30 second; rinse, wash, and repeat
      Last edited by evilkitty; 11-26-2017, 08:34 PM.

      Comment

      • ratdude747
        Black Sheep
        • Nov 2008
        • 17136
        • USA

        #4
        Re: Looked at new thermostats, nah I'll DIY this

        ^ I thought you had replaced the entire controls, not just a temp readout. My bad there.
        sigpic

        (Insert witty quote here)

        Comment

        • evilkitty
          Badcaps Veteran
          • Nov 2017
          • 299
          • USA

          #5
          Re: Looked at new thermostats, nah I'll DIY this

          moding was cheaper and easier, decided to just fix the problem component
          given that slide switch has 4 positions...

          I did use the old tubes as inputs so i can monitor them
          putting a 9th wire in that insulation was not easy for that led that turns on after sunset
          thought it was white turned out to be blue, it was salvaged from one of those silly push button keychain lights you get free here and there

          If something goes very bad i can move the wires to the top jumper and use the original tubes

          Comment

          • desert-rat
            Badcaps Legend
            • Mar 2014
            • 4103
            • USA

            #6
            Re: Looked at new thermostats, nah I'll DIY this

            Some times I have problems explaining a standard heat cool thermostat to my customers. Hate to thank explaining wifi to them.

            Comment

            • redwire
              Badcaps Legend
              • Dec 2010
              • 3907
              • Canada

              #7
              Re: Looked at new thermostats, nah I'll DIY this

              Where did you put the temperature sensor?

              I found the heat made by a thermostat messes up operation.

              Honeywell mercury-switch tube, the skinny flex wires heat up, up to 10 degrees at 0.2A. Took me long time to figure out why the temperature was never consistent. see pic

              The Pi and relays can make heat too.

              Another house I owned, the wall had drafts and cold air blowing through the junction box. That made the temperature move around too.

              edit: added pic
              Attached Files
              Last edited by redwire; 12-01-2017, 01:09 PM.

              Comment

              • evilkitty
                Badcaps Veteran
                • Nov 2017
                • 299
                • USA

                #8
                Re: Looked at new thermostats, nah I'll DIY this

                inside the red square there is a D18B20 sensor
                I tried to keep it in a low area of the box away from other components cause heat radiates and rises
                Attached Files
                Last edited by evilkitty; 12-02-2017, 10:05 AM.

                Comment

                • redwire
                  Badcaps Legend
                  • Dec 2010
                  • 3907
                  • Canada

                  #9
                  Re: Looked at new thermostats, nah I'll DIY this

                  OK, I couldn't see it. As long as it gets air flow, as I found relays/triacs make enough heat to cause the thing to oscillate on/off.

                  NEST is so expensive, $250 and I hate that it has a battery.
                  It would take years to maybe pay for itself and the install.

                  Comment

                  • evilkitty
                    Badcaps Veteran
                    • Nov 2017
                    • 299
                    • USA

                    #10
                    Re: Looked at new thermostats, nah I'll DIY this

                    that ic is hidden under the 9 wires going to the raspberry pi 0
                    there is no way you could see it from that angle

                    screw batteries, i got my power from mains
                    this is probably under $50 in parts
                    ~1 40cm dupont wires on ebay
                    ~10 for a pi 0 (shipped from eu; got a local micro center?)
                    ~2 assorted resistors on ebay
                    ~3 prototyping boards on ebay
                    ~0.5 Common anode LCD displays on ebay
                    ~1 pin headers
                    ~1 2N3906 transistors on ebay (over cautious on pulling power from logic pins)
                    ~1.5 switch
                    ~8 wall wort
                    ~2 relays on ebay
                    ~0.75 face plat
                    ~4 22 cubic inch old work box
                    ~1.5 D18b20 sensors on ebay
                    scrap Ethernet wire
                    on hand 0.07 diodes
                    on hand Darlington transistors (overkill for controlling relays)
                    on hand leds (i got 100 for 0.10 on ebay)
                    time and effort on design, testing, and programing and have fun doing it

                    Comment

                    • Curious.George
                      Badcaps Legend
                      • Nov 2011
                      • 2305
                      • Unknown

                      #11
                      Re: Looked at new thermostats, nah I'll DIY this

                      Originally posted by evilkitty
                      I designed the software do support a desirable temp range, under the concept lets warm the place up a little and shut off a while; the offset value is the desirable range, so if the unit is set to cool with a Target of 75 with a offset of 5 the system will not turn on till 80 and run till 75
                      You typically have a variety of such "fudge factors".

                      Almost always, you want a certain amount of hysteresis in the loop -- turn the heat on at X and off at X+delta so the plant doesn't get commanded back on, in short order (the temperature must fall to below X to do so).

                      Modern HVAC systems also have timeouts built in so the plant can't cycle back on too quickly (ACbrrr compressors don't like being commanded back on while they are still "under pressure" from the last activation; gas furnaces like to be able to vent any fumes before reengaging; etc.)

                      Ideally, you also want to factor in an "anticipator" to limit the amount of overshoot -- watch to see how far beyond X+delta the temperature climbs and use that, "next time", to shut off the plant before the actual temperature reaches X+delta (i.e., knowing that if you shut it off "early", it will still "coast" a bit and bring the house to your desired X+delta)

                      [This isn't as easy as it appears!]

                      In this way, you give the user (occupant) the ability to set the size of the "comfort zone" and YOU sort out how to control the plant to achieve those results!

                      If you add provisions for "programmability" (i.e., have the setpoint change over time so the house isn't kept warm while you're asleep, away, etc.), then you can also use your knowledge of the upcoming schedule changes to avoid unnecessarily heating the house -- when you know you'll be adjusting the setpoint lower, in short order!

                      [I've spent a fair bit of effort working on this problem :> ]

                      Comment

                      • sam_sam_sam
                        Badcaps Legend
                        • Jul 2011
                        • 6039
                        • USA

                        #12
                        Re: Looked at new thermostats, nah I'll DIY this

                        Originally posted by evilkitty
                        I designed the software do support a desirable temp range, under the concept lets warm the place up a little and shut off a while; the offset value is the desirable range, so if the unit is set to cool with a Target of 75 with a offset of 5 the system will not turn on till 80 and run till 75

                        Your temp range would work better @ 3* F not 5* F

                        i also set a lag delay in the temp readings so the min time between states over a 2 seconds, and i ended up putting in a second lag if the temp changes a lot in a short period of time, so until the temp is stable it will not act; this prevents bad readings from turning the unit on, well it drops the probability of that happening to under 1%

                        Normally you would want a minimum of 3 minutes so your compressor does not short cycling which is not good for a compressor to do this
                        Change over on most newer air conditioning unit can be done with a minimum of one minute time out and only because if you have a air handler that has a VFD drive it has to have time to power down so it can do the next command

                        I do like your project at one time I thought of doing a project very similar but the time to write the program and to build the controller board I just could not find the time to do it
                        Last edited by sam_sam_sam; 12-07-2017, 05:25 AM.

                        Comment

                        • Curious.George
                          Badcaps Legend
                          • Nov 2011
                          • 2305
                          • Unknown

                          #13
                          Re: Looked at new thermostats, nah I'll DIY this

                          Originally posted by redwire
                          Honeywell mercury-switch tube, the skinny flex wires heat up, up to 10 degrees at 0.2A. Took me long time to figure out why the temperature was never consistent. see pic
                          The "legacy" thermostats employ a length of nichrome acting as an "anticipator" (i.e., "feed forward" term). While heat is being called for, the anticipator heats up to accelerate the thermostat's idea of the current indoor temperature. In this way, the thermostat stops calling for heat before it would, otherwise, thereby reducing overshoot (improving damping) in the control loop.

                          The Pi and relays can make heat too.
                          Anything that dissipates power can be a source of heat. But, you can also make allowances for that in your control algorithm.

                          Another house I owned, the wall had drafts and cold air blowing through the junction box. That made the temperature move around too.
                          You can actually use a device's self-heating as a means of sensing air flow. E.g., by knowing how much power you are intentionally dissipating in a device, you can calculate how much you expect it to heat up. By comparing this to the "actual" temperature in a device that doesn't have the same "operating constraint", you can determine how much heat is being carried away from the device -- by air in motion.

                          [This is a cheap way of designing "fan monitors"]

                          Comment

                          • redwire
                            Badcaps Legend
                            • Dec 2010
                            • 3907
                            • Canada

                            #14
                            Re: Looked at new thermostats, nah I'll DIY this

                            The "heat anticipator" rheostat built into mercury switch thermostats, I've never seen it work. It adds positive feedback and you get an oscillator. You want PWM in your home heating ?

                            The intent was to model overshoot- when the furnace burner shuts off the heat exchanger and ducts still have heat so the home heats up beyond the thermostat's setpoint, until the fan shuts off.
                            A thermostat on old furnaces switched the gas valve (typ. 24VAC 0.28A).
                            Modern furnaces control board have a dummy ~1k ohm resistor load. So the anticipator rheostat doesn't work anymore. Hurrah.


                            OP's thermostat, I would think
                            it should have hysteresis, usually a +/- 1 degree.
                            A long average (say 1 minute) temperature to decide when to start heat/cool.
                            A short average (say 15 sec) to decide when to stop heating/cooling.

                            Comment

                            • Curious.George
                              Badcaps Legend
                              • Nov 2011
                              • 2305
                              • Unknown

                              #15
                              Re: Looked at new thermostats, nah I'll DIY this

                              Originally posted by redwire
                              The "heat anticipator" rheostat built into mercury switch thermostats, I've never seen it work. It adds positive feedback and you get an oscillator. You want PWM in your home heating ?
                              An HVAC plant oscillates, by definition (unless you have infinite insulation). How do you consider the heat coming on, then off, then on, again? Using whatever control strategy you choose!

                              The intent was to model overshoot- when the furnace burner shuts off the heat exchanger and ducts still have heat so the home heats up beyond the thermostat's setpoint, until the fan shuts off.
                              Not all HVAC plants have fans. Ever live with baseboard radiators? Steam heat? Radiant tile?

                              The anticipator plays the role of the D term in a PID controller. It aims to compensate for lag in the controlled system -- one of the toughest issues to address in any control system!

                              A thermostat on old furnaces switched the gas valve (typ. 24VAC 0.28A).
                              Modern furnaces control board have a dummy ~1k ohm resistor load. So the anticipator rheostat doesn't work anymore. Hurrah.
                              Modern furnaces "run on" for a fixed time after the thermostat has finished calling for heat -- usually a minute or two (DIP switch on the controller inside the furnace). The manufacturer's intent is that this open-loop run-on can be tweeked (via that DIP switch) to flush the duct work (duct work represents transport delay -- lag!) of the remaining warm air along with move residual heat from the heat exchanger into the duct. Without pushing "cooler" air through in the process (once the warm air has been exhausted).

                              Our plant used to "coast" a full degree beyond the upper setpoint due to the amount of stored energy in the control system when the thermostat stopped calling for heat. This caused the temperature variation that we encountered in the house to be wider than we'd have liked.

                              [In general, more hysteresis -- a larger "comfort zone" -- is more efficient but less comfortable]

                              OP's thermostat, I would think
                              it should have hysteresis, usually a +/- 1 degree.
                              A long average (say 1 minute) temperature to decide when to start heat/cool.
                              A short average (say 15 sec) to decide when to stop heating/cooling.
                              Ideally, a control should map onto the intuitive expectations of its user. The control system should do what it needs to do in order to facilitate that mapping, within the other constraints placed on it.

                              The only reason for a "1 degree" change is because a digital thermostat displays the temperature in 1 degree increments. If the thermostat turned off at "68 degrees" (when it was really 68.932 degrees) instead of when the display indicated "69 degrees", the user -- lacking those extra digits beyond the decimal point) would consider it as misbehaving -- especially as it would start calling for heat at 68 degrees, as well (68.0000) instead of 67 degrees.

                              Note that legacy "analog" thermostats made it difficult for a user to determine if the thermostat was cycling on/off at 68, 68.2, 67.9, 68.7, 69.5, etc. degrees so the user didn't fret over the action of the controls. As long as the indoor temperature was "about 68" he was happy.

                              Specifying a too narrow comfort zone for a given controlled system could lead to lots of short-cycling which can be hazardous to the equipment and wasteful ($$). Furthermore, conditions may change in the controlled environment (e.g., windy or damp days may "feel" colder and/or alter the response of the controller in a less-than-desireable way).

                              Anything that is software-based should be smart enough to recognize these sorts of conditions and tweek its behavior accordingly -- just like a user knows to bump the setpoint up a degree or two when it "feels colder" (even though the thermostat ensures that it ISN'T colder, indoors!)

                              Otherwise, you'll be hard pressed to beat the cost, ease of use (i.e., no batteries to change) and reliability of a coiled bimetal spring and mercury switch!

                              Comment

                              • redwire
                                Badcaps Legend
                                • Dec 2010
                                • 3907
                                • Canada

                                #16
                                Re: Looked at new thermostats, nah I'll DIY this

                                I see you have knowledge of the control systems theory but in actual practice, my point is home thermostats perform quite poorly. PID control is doomed for home heating/cooling for many reasons. We could argue but it doesn't benefit the thread.

                                OP's thermostat has good use even for basic logging.
                                I have seen data logs of a thermostat/furnace predict maintenance problems.
                                A dirty flame-rod, causing sluggish ignition or false flame-out trips, a data log shows the heat taking too long to come up. You can actually forecast HVAC trouble, if your software is smart. Wouldn't it be good to know ahead of time your furnace or A/C is struggling.

                                Comment

                                • Curious.George
                                  Badcaps Legend
                                  • Nov 2011
                                  • 2305
                                  • Unknown

                                  #17
                                  Re: Looked at new thermostats, nah I'll DIY this

                                  Originally posted by redwire
                                  I see you have knowledge of the control systems theory but in actual practice, my point is home thermostats perform quite poorly. PID control is doomed for home heating/cooling for many reasons. We could argue but it doesn't benefit the thread.
                                  PID really only makes sense when you have finer-grained control over the "actuator" . Most home HVAC's are either on or off. Maybe you'll have some (automatic) control over blower speed...

                                  Most plants are only crudely sized to their dwellings and the emphasis seems to be more on how quickly the "living conditions" can be changed rather than how efficiently.

                                  The controls typically are only concerned with simple things like time of day variation -- or, perhaps, "remote" control (phone/internet). Rarely smart control -- despite the fact that the thermostat has very little to do all day long, every day long!

                                  OP's thermostat has good use even for basic logging.
                                  I have seen data logs of a thermostat/furnace predict maintenance problems.
                                  A dirty flame-rod, causing sluggish ignition or false flame-out trips, a data log shows the heat taking too long to come up. You can actually forecast HVAC trouble, if your software is smart. Wouldn't it be good to know ahead of time your furnace or A/C is struggling.
                                  I've instrumented the HVAC, here. So, I (i.e., my controller) can "notice" ignition trouble, clogged filters, calcified pads (evap cooler), reduced cooling/heating efficiency (i.e., how much energy it requires to make a given change in indoor temperature given knowledge of outdoor conditions), etc.

                                  But, most folks wouldn't appreciate those capabilities when making a purchase (which is when they'd have to rationalize the additional cost/complexity). It's only after the controls start offering advice that their true value can be understood and appreciated!

                                  Comment

                                  • evilkitty
                                    Badcaps Veteran
                                    • Nov 2017
                                    • 299
                                    • USA

                                    #18
                                    Re: Looked at new thermostats, nah I'll DIY this

                                    I have thought about adding a log feature, but had not decided on how i wanted to store it or in what format nor how to view it i never thought of using performance to check for needed repair work, though performance will vary with weather conditions

                                    Comment

                                    • Curious.George
                                      Badcaps Legend
                                      • Nov 2011
                                      • 2305
                                      • Unknown

                                      #19
                                      Re: Looked at new thermostats, nah I'll DIY this

                                      Originally posted by evilkitty
                                      I have thought about adding a log feature, but had not decided on how i wanted to store it or in what format nor how to view it i never thought of using performance to check for needed repair work, though performance will vary with weather conditions
                                      What you store and how you store it depends on the resources (i.e., free memory) you have available. Create a circular buffer (FIFO) and push data packets into it, expecting it to fill (sooner or later). Thereafter, the oldest data will be overwritten by new data.

                                      How often you actually read the data will determine if any data is ever lost and, if so, how much. As long as you read it often enough to prevent a complete "wrap" of the FIFO, you're all set.

                                      Don't "format" the data prettily as you insert it into the FIFO. Making things pretty usually makes them take up more space!

                                      Instead, just jam the "raw" data in a terse form into the buffer. Pretty it up when you extract it and present it to the user!

                                      So, you could make a packet that is just:

                                      (time, ONorOFF)

                                      If the HVAC came on at 12:34 and went off at 12:46 you would have:

                                      (1234, ON)
                                      (1246, OFF)

                                      Of course, ON and OFF are really just one bit. And, if you are only representing time to 1 minute precision, then you can represent 24 hours (24hrs*60min) with an 11 bit value (0..2047 will allow you to represent the times of 0..1439).

                                      So, the above example would be:

                                      (754, 1)
                                      (766, 0)

                                      two 12 bit (11+1) entries.

                                      Whatever "thing" (PC?) presents this information to the user (graph?) can be responsible for diagnosing any performance issues.
                                      Last edited by Curious.George; 12-16-2017, 12:23 AM.

                                      Comment

                                      • evilkitty
                                        Badcaps Veteran
                                        • Nov 2017
                                        • 299
                                        • USA

                                        #20
                                        Re: Looked at new thermostats, nah I'll DIY this

                                        when i said what format i mean like a array or sqlite
                                        [{"on":1,"t":20556,"on2":0,"n":1513434346},{"on":1,"t":19832,"on2":1,"n":1513434436}]
                                        on2 would be the aux heating, only set if unit in heat mode, so it doubles as a mode check
                                        maybe i should use both and only dump it to the db every 100 entries or something
                                        maybe i should store the log data on my other rpi
                                        Last edited by evilkitty; 12-16-2017, 08:26 AM.

                                        Comment

                                        Related Topics

                                        Collapse

                                        • chth96
                                          How can I test coil whether it is really broken or not?
                                          by chth96
                                          I have old game console which have connected to 220v outlet by previous owner and It is not able to turn on.

                                          I checked continuity of fuse in PSU unit with a multimeter which is shown in the below picture with a orange circle around it, and It seems that fuse became open circuit.

                                          I also found that as well as bulging capacitor, there is unidentified coil which has residue all over its surface

                                          unidentified coil which has residue all over its surface


                                          I want to replace this round black fuse and unidentified coil if it got broken.
                                          ...
                                          02-20-2024, 01:07 AM
                                        • bauto601
                                          KDM 480W PSU upgrade succes! (opinions?)
                                          by bauto601
                                          Back in 2020 i bought a (2nd hand) compact ATX psu to replace my current one. My PC case only fits very short ATX power supplies so i didn't really have the choice of buying a decent 80Plus unit. The current unit is a modded YoungYear unit that i made a thread about a while ago:
                                          A "nice" YoungYear unit? - Badcaps

                                          The "new" unit is a KDM-M6480 480W psu, the 480W number is a typical KDM bullshit claim of course, but the 24A rating on the 12V rail seemed reasonable and the "Active PFC" claim gave me a bit of hope that this was going to be decent-ish....
                                          12-26-2023, 03:05 PM
                                        • waterchill
                                          What part is this coil from a MacBook A2681 ?
                                          by waterchill
                                          Hi everyone

                                          I'm struggling to point out what part is this? It is a coil, but the parameters say: 10OHM - 50% - 1A - 0.05Ohm

                                          So it is a coil with 0201 dimensions, 1A max current, 0.05ohm resistance but what is 10ohm? For a coil we need specs like 1uH or so.

                                          IAny ideas? It is from a MacBook A2681

                                          Thank you...
                                          08-08-2024, 01:46 AM
                                        • momaka
                                          A Dead/DOA Gigabyte GP-P450b 450W ATX PSU
                                          by momaka
                                          More eBay specials: this time a Gigabyte GP-P450b 450W ATX PSU for $8 with free S&H. Listed “For part/not working”, as usual. Showed up in a beat up EVGA box without any padding… but that's understandable given the total price. PSU made it out fine without damage. It's a non-modular (yay!), pretty modern-day looking PSU with a black paint and all black cables (meh, not my favorite, but figure it's good to keep a few of these in case I do need one for a more modern PC build, just so my old gray boxes don't look too odd in there.)




                                          And a shot of the label:...
                                          01-26-2022, 03:26 AM
                                        • tmcw
                                          Drying Oven - Preset Temp Fail
                                          by tmcw
                                          Here's an unusual one...

                                          This is a Gallenkamp oven, used in a laboratory space, goes up to 220 Celcius, but is usually maintained at about 115 Celcius. Used for drying glassware, molecular sieves, and so on. Oven is in excess of 20 years old.

                                          It heats up fine, there is an orange light on the front that indicates that the unit is heating, and when it reaches the preset temp, the orange light goes out. All good so far.

                                          However, after the preset temp is reached, the temperature continues to rise, power to the heating elements isn't cut off.
                                          ...
                                          01-21-2021, 03:11 AM
                                        • Loading...
                                        • No more items.
                                        Working...