Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. My Project
  3. Questions for a thermostat project.

Questions for a thermostat project.

Scheduled Pinned Locked Moved My Project
8 Posts 5 Posters 778 Views 3 Watching
  • 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.
  • dbemowskD Offline
    dbemowskD Offline
    dbemowsk
    wrote on last edited by dbemowsk
    #1

    So this project at this point in time is not a MySensors based project, but I may make it into one in the future and use one for my home. That said,

    MY PROJECT

    My project is a digital thermostat using an arduino uno and a 3.2 inch touch screen TFT shield. This thermostat is going to replace the thermostat in my RV.
    One difference from an RV thermostat to a normal house thermostat is that the house system typically runs on 24 volts AC whereas the RV runs on 12 volts DC. My original plan was to use the incoming 12 volts to power the uno. The specs for the UNO say that you can put up to 12 volts in the barrel jack. The only problem I have with this is that the linear regulator that the UNO has gets quite hot when running it from 12 volts. This heat will no doubt affect the temp sensor that reads the open air temp. I need to find a reasonably small way to regulate 12 volts to 5 volts without a lot of heat.

    MY DESIGN:

    And now a bit about my design. I have most of this built and my firmware is nearly ready. I am designing it as an auto changover setup with a relay for fan speed (low or high). Here is the board setup that I have.
    thermostat setup
    The area of the board marked in yellow will be where the screw terminals will go for connecting it to the system. The 3 relays are heat, cool and fan. I was originally going to use 5 volt relays supplied from the 5 volt pin on the arduino. I found out that when two relays would trigger, the UNO would reset. I tried adding a capacitor to the power line near the relays, but that didn't help. I am changing the relays to 12 volt relays so I can just use the incoming 12 volts to power them. I am triggering them with NPN transistors connected to 3 digital pins.

    Here are a few more pics of the setup. I have designed and 3D printed a case for this also.
    boards mounted in case
    This is with the TFT shield in place.
    case with TFT shield
    And this is with the cover in place. The cover needs a little bit of cleanup work, but otherwise not too bad.
    alt text

    MY FIRMWARE

    And now a look at the firmware. The first image is the main screen. The main screen shows the current temp with the HVAC, fan status and set point on the right side of the screen.
    main screen
    The main screen has two touch areas, the gear in the upper left corner and the set point box. Touching the gear icon gets you to the settings page, seen here.
    settings screen
    When you touch to change any setting, it is stored in the EEPROM on the UNO allowing it to recover on the same settings if it were to loose power. Most of the settings are pretty self explanatory except for the threshold and changeover settings.

    The threshold value is either added or subtracted from the set point to offset when the heater or AC is switched on to know if it should have the fan on high or low. if the temp is with the threshold value of the setpoint, the fan is set to low, otherwise set it to high. On the RV, this just sets the fan to low or high. On a house multi-stage HVAC system it could switch stages.

    The changeover value tells the system how many degrees the temperature must go up or down from the setpoint before the system changes over from heating to cooling or vice versa.

    Clicking Exit at the bottom will take you back to the main screen.

    On the main screen, clicking anywhere in the box that shows the set point temp will take you to the setpoint screen.
    set point screen
    This screen is self explanatory in its function. The up and down arrows let you set a new setpoint, and Exit at the bottom will take you back to the main screen. The setpoint value is also saved to EEPROM on any change in value.

    Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
    Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

    skywatchS 1 Reply Last reply
    4
    • dbemowskD Offline
      dbemowskD Offline
      dbemowsk
      wrote on last edited by dbemowsk
      #2

      My main question with this was what is a small cheap and cool (literally) way of getting the 5V I need for the UNO from my 12 volt supply. Preferrably something other than a linear regulator.

      Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
      Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

      mfalkviddM zboblamontZ 2 Replies Last reply
      0
      • dbemowskD dbemowsk

        My main question with this was what is a small cheap and cool (literally) way of getting the 5V I need for the UNO from my 12 volt supply. Preferrably something other than a linear regulator.

        mfalkviddM Offline
        mfalkviddM Offline
        mfalkvidd
        Mod
        wrote on last edited by mfalkvidd
        #3

        @dbemowsk what you're looking for is called a dcdc buck converter.

        A linear regulator burns the unused voltage. So if the input is 12 and the output is 5V, 7V is burned away, causing an efficiency of 5/12=42%. 58% will be converted to heat.

        A buck converter usually has about 80-90% efficiency. 10-20% will be converted to heat.

        The lm2596 could be a good choice. https://www.aliexpress.com/item/33008773592.html The datasheet says 80% efficiency at 5V output which mean 20% will be converted to heat. That's about 1/3 of the heat produced by a linear regulator.

        The downside with a buck converter is that they have ripple on the output voltage. The nrf24 is very sensitive to ripple, so you might need extra capacitors to smooth out the ripple.

        It is probably possible to find a buck converter that has higher efficiency and lower ripple for your use case if the lm2596 is insufficient.

        1 Reply Last reply
        1
        • dbemowskD dbemowsk

          So this project at this point in time is not a MySensors based project, but I may make it into one in the future and use one for my home. That said,

          MY PROJECT

          My project is a digital thermostat using an arduino uno and a 3.2 inch touch screen TFT shield. This thermostat is going to replace the thermostat in my RV.
          One difference from an RV thermostat to a normal house thermostat is that the house system typically runs on 24 volts AC whereas the RV runs on 12 volts DC. My original plan was to use the incoming 12 volts to power the uno. The specs for the UNO say that you can put up to 12 volts in the barrel jack. The only problem I have with this is that the linear regulator that the UNO has gets quite hot when running it from 12 volts. This heat will no doubt affect the temp sensor that reads the open air temp. I need to find a reasonably small way to regulate 12 volts to 5 volts without a lot of heat.

          MY DESIGN:

          And now a bit about my design. I have most of this built and my firmware is nearly ready. I am designing it as an auto changover setup with a relay for fan speed (low or high). Here is the board setup that I have.
          thermostat setup
          The area of the board marked in yellow will be where the screw terminals will go for connecting it to the system. The 3 relays are heat, cool and fan. I was originally going to use 5 volt relays supplied from the 5 volt pin on the arduino. I found out that when two relays would trigger, the UNO would reset. I tried adding a capacitor to the power line near the relays, but that didn't help. I am changing the relays to 12 volt relays so I can just use the incoming 12 volts to power them. I am triggering them with NPN transistors connected to 3 digital pins.

          Here are a few more pics of the setup. I have designed and 3D printed a case for this also.
          boards mounted in case
          This is with the TFT shield in place.
          case with TFT shield
          And this is with the cover in place. The cover needs a little bit of cleanup work, but otherwise not too bad.
          alt text

          MY FIRMWARE

          And now a look at the firmware. The first image is the main screen. The main screen shows the current temp with the HVAC, fan status and set point on the right side of the screen.
          main screen
          The main screen has two touch areas, the gear in the upper left corner and the set point box. Touching the gear icon gets you to the settings page, seen here.
          settings screen
          When you touch to change any setting, it is stored in the EEPROM on the UNO allowing it to recover on the same settings if it were to loose power. Most of the settings are pretty self explanatory except for the threshold and changeover settings.

          The threshold value is either added or subtracted from the set point to offset when the heater or AC is switched on to know if it should have the fan on high or low. if the temp is with the threshold value of the setpoint, the fan is set to low, otherwise set it to high. On the RV, this just sets the fan to low or high. On a house multi-stage HVAC system it could switch stages.

          The changeover value tells the system how many degrees the temperature must go up or down from the setpoint before the system changes over from heating to cooling or vice versa.

          Clicking Exit at the bottom will take you back to the main screen.

          On the main screen, clicking anywhere in the box that shows the set point temp will take you to the setpoint screen.
          set point screen
          This screen is self explanatory in its function. The up and down arrows let you set a new setpoint, and Exit at the bottom will take you back to the main screen. The setpoint value is also saved to EEPROM on any change in value.

          skywatchS Offline
          skywatchS Offline
          skywatch
          wrote on last edited by skywatch
          #4

          @dbemowsk Great looking project!

          Whilst you have gone to some length to post your project you left out a crucial bit of information - that is, how much current do you need at 5V?

          Your original problem with 5V relays was probably due to not enough current available at 5V, nothing to do with the relays themselves. You might also want to investigate latching relays as that would save a lot of energy and they come in 3.3v versions as well......

          Once you know the current required, search for an LDO dc switching regulator that gives about 50% more than this (just for safety and longevity of components) and then you have the answer.

          As you are already soldering your own boards then adding a regulator and some caps shouldn't be too much of an issue for you.

          1 Reply Last reply
          0
          • dbemowskD dbemowsk

            My main question with this was what is a small cheap and cool (literally) way of getting the 5V I need for the UNO from my 12 volt supply. Preferrably something other than a linear regulator.

            zboblamontZ Offline
            zboblamontZ Offline
            zboblamont
            wrote on last edited by
            #5

            @dbemowsk Can heartily recommend the MP2315 type buck converters which were suggested to me here by @axillent as exceptionally efficient, spec says over 90% efficient and 3A, but 2A would probably be safer...
            Have 2 of the USB type in my UPS (photo is somewhere here) as duty and standby, barely warm to the touch running the Pi3+Arduino gateway+HDD...

            1 Reply Last reply
            1
            • nagelcN Offline
              nagelcN Offline
              nagelc
              wrote on last edited by
              #6

              Another buck regulator that might work:
              https://lowpowerlab.com/shop/product/133

              Felix used it for a doorbell project and I have used for a thermostat. In those cases, we had to rectify first to get DC, but wouldn't need to since you already have DC.

              dbemowskD 1 Reply Last reply
              1
              • dbemowskD Offline
                dbemowskD Offline
                dbemowsk
                wrote on last edited by
                #7

                @mfalkvidd and others. I am aware of what buck converters are and have used them before, what I was trying to avoid was changing the design of the case to make more room for something like that, but I guess if it comes down to it I may have to. I was hoping that someone might have a solution that might fit my space constraints. I like the one that @nagelc suggested as it looks like it might fit in the space I have. Another option I thought of if I had to change the size of the case was to use a couple batteries. I have some extra 18650's in my parts bin, I would need to check the current draw to determine how long they would last powering the UNO and the TFT shield.

                As for the relays, I am switching them from the original 5 volt coil ones to 12 volt coils. I have decided to power them from the 12 volt supply as I should have plenty of current from that to hold a relay or two since that comes from the house batteries of the motorhome. There would never be more than two relays energized at one time since one relay is for heating and one for cooling, So it would either be a heating or cooling relay and possibly the fan relay being powered at any given time. I like the suggestion @skywatch made about using latching relays to save power, the only problem in using those is that I am limited to 3 data lines (D0 - D2) because of the TFT shield. My understanding of latching relays is that there are two types. Single coil which uses reversing the polarity for set and reset, or the dual coil type which use one coil for set and the other for reset. I think in either case I would have to use more than one data line for each relay which won't work.

                Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                1 Reply Last reply
                0
                • nagelcN nagelc

                  Another buck regulator that might work:
                  https://lowpowerlab.com/shop/product/133

                  Felix used it for a doorbell project and I have used for a thermostat. In those cases, we had to rectify first to get DC, but wouldn't need to since you already have DC.

                  dbemowskD Offline
                  dbemowskD Offline
                  dbemowsk
                  wrote on last edited by
                  #8

                  @nagelc Just ordered one of those buck converters from Digikey. Thanks for the suggestion. That might fix my whole issue.

                  Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                  Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  34

                  Online

                  11.7k

                  Users

                  11.2k

                  Topics

                  113.1k

                  Posts


                  Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • MySensors
                  • OpenHardware.io
                  • Categories
                  • Recent
                  • Tags
                  • Popular