Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


gpoa2019:calm-thermostat

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
gpoa2019:calm-thermostat [2019/05/02 09:10]
Martin Ptáček vytvořeno
gpoa2019:calm-thermostat [2019/05/02 11:29] (aktuální)
Martin Ptáček
Řádek 4: Řádek 4:
  
 ===== Assignment ===== ===== Assignment =====
-The project should make use of: DHT22 (digital temperature,​ humidity sensor), Relay switch (output for the boiler), LCD HT1621 (7-seg display; ​create ​new universal library), Photoresistor (for brightness settings), Quadrature encoder and capacitive buttons (for control; create custom library for ESP32), Connectivity with Home Assistant IoT platform. The final solution consisting of hardware, electronics & software should be compliant with the CALM Concept, namely with regards to reliability,​ easy and logic of use.+The project should make use of: DHT22 (digital temperature,​ humidity sensor), Relay switch (output for the boiler), LCD HT1621 (7-seg display; ​acreate ​new universal library), Photoresistor (for brightness settings), Quadrature encoder and capacitive buttons (for control; create custom library for ESP32), Connectivity with Home Assistant IoT platform. The final solution consisting of hardware, electronics & software should be compliant with the CALM Concept, namely with regards to reliability,​ easy and logic of use.
 ---- ----
  
Řádek 16: Řádek 16:
 {{esp32.jpg|ESP32 DevKitC}} {{esp32.jpg|ESP32 DevKitC}}
  
-For temperature sensing I have chosen DHT22 module. Even though it is definitely not the cheapest solution, it provides sufficient temperature accuracy, +- 0.5°C as advertised. Moreover, it provides ​als relative humidity measurement,​ which is very handy. The boiler that is connected to thermostat is controlled by simple relay connecting ​two wires together. For control of desired temperature in the old-days way I used a standard quadratic encoder, the same that is today often used in 3D printers. There is a necessity of putting a capacitor at least on the CLK signal (but better both quadrature signals) because the testing of software filtration didn't succeed and I reckon it's not worth the work.+For temperature sensing I have chosen DHT22 module. Even though it is definitely not the cheapest solution, it provides sufficient temperature accuracy, +- 0.5°C as advertised. Moreover, it provides ​also relative humidity measurement,​ which is very handy. The boiler that is connected to thermostat is controlled by simple relay links two wires together. For control of desired temperature in the old-days way I used a standard quadratic encoder, the same that is today often used in 3D printers. There is a necessity of putting a capacitor at least on the CLK signal (but better both quadrature signals) because the testing of software filtration didn't succeed and I reckon it's not worth the work.
  
 A lot of attention was placed on choosing the right display for the thermostat. The [[https://​www.aliexpress.com/​item/​LCD-Module-2-4-inch-6-Digit-7-Segment-LCD-Display-Module-HT1621-LCD-Driver-IC/​32885549612.html?​spm=a2g0s.9042311.0.0.27424c4dBDDfXT|HT1621 LCD Display]] is not only reasonably priced but also provides conveniently large digits. The downside is the software available for the IC. Unfortunately none of the few available libraries possessed the necessary features I demanded, therefore I started the development of my own (not from scratch). ​ A lot of attention was placed on choosing the right display for the thermostat. The [[https://​www.aliexpress.com/​item/​LCD-Module-2-4-inch-6-Digit-7-Segment-LCD-Display-Module-HT1621-LCD-Driver-IC/​32885549612.html?​spm=a2g0s.9042311.0.0.27424c4dBDDfXT|HT1621 LCD Display]] is not only reasonably priced but also provides conveniently large digits. The downside is the software available for the IC. Unfortunately none of the few available libraries possessed the necessary features I demanded, therefore I started the development of my own (not from scratch). ​
Řádek 30: Řádek 30:
 ===== IoT Integration ===== ===== IoT Integration =====
  
-Originally I used a MQTT broker-client architecture using [[flespi.io|flespi.io]]. The problem with this solution was an inconvenient scalability and user interface solution. Then I noticed a very elabora ​project of [[hass.io| Home Assistant]] that provides many problems elegantly solved. On the other hand, it has also some downsides. At the end, I was using a combination of MQTT client (ESP32) that is connected to Home Assistant ​centre ​(Raspberry Pi 3).+Originally I used a MQTT broker-client architecture using [[flespi.io|flespi.io]]. The problem with this solution was an inconvenient scalability and user interface solution. Then I noticed a very elaborate ​project of [[hass.io| Home Assistant]] that provides many problems elegantly solved. On the other hand, it has also some downsides. Its development,​ especially [[https://​esphome.io/​|ESPHome]] integration platfrom, is still in rapid progress, which caused me many problems. At the end, I was using a combination of MQTT client (ESP32) that is connected to Home Assistant (Raspberry Pi).
  
 ===== Summary ===== ===== Summary =====
  
-Many of the problems of CalmFire thermostat were solved in this project and the thermostat is already ​in the state of capability to regulate ​temperature in a building. On the other hand, there are still problems to be solved and especially, to concentrate ​to fulfil ​the CALM technology ​resolution, which has so far not been deeply considered.+Many of the problems of CalmFire thermostat were solved in this project and the thermostat is already ​capable ​of regulating ​temperature in a building. On the other hand, there are still problems to be solved and especially, to concentrate ​on reaching ​the CALM technology ​goal, which has so far not been deeply considered.
  
 {{currentState.jpg|Current state of CalmFire thermostat}} {{currentState.jpg|Current state of CalmFire thermostat}}
  
 ===== Further Development ===== ===== Further Development =====
-In the future development,​ there will be a construction of a PCB board (probably DIY to be accessible to everyone) and construction of a 3Dprinted/​laser ​cuted case and mounts.+In the future development,​ there will be a construction of a PCB board (probably DIY to be accessible to everyone) and construction of a 3Dprinted/​laser ​cutted ​case and mounts.
  
-===== References ​===== +===== Sources ​===== 
-https://​github.com/​Brunez3BD/​WIFIMANAGER-ESP32 +  ​* ​https://​github.com/​Brunez3BD/​WIFIMANAGER-ESP32 
-https://​github.com/​adafruit/​Adafruit_Sensor +  ​* ​https://​github.com/​adafruit/​Adafruit_Sensor 
-https://​github.com/​adafruit/​DHT-sensor-library +  ​* ​https://​github.com/​adafruit/​DHT-sensor-library 
-https://​github.com/​knolleary/​pubsubclient +  ​* ​https://​github.com/​knolleary/​pubsubclient 
-https://​github.com/​skorokithakis/​kicad-lib +  ​* ​https://​github.com/​skorokithakis/​kicad-lib 
-https://​hackaday.io/​project/​13483-esp32-kicad-library+  ​* ​https://​hackaday.io/​project/​13483-esp32-kicad-library 
 +  * http://​www.14core.com/​wiring-the-6-digit-7-segment-2-4-inch-ht1621-lcd-display-module-on-microcontroller/​
gpoa2019/calm-thermostat.1556781001.txt.gz · Poslední úprava: 2019/05/02 09:10 autor: Martin Ptáček