Nagiging thermostat: paano ito nangyari

Nagiging thermostat: paano ito nangyari

Pagkatapos ng ilang taon ng mabungang trabaho, napagpasyahan na dalhin sa publiko ang aming unang produkto para sa pagkontrol sa klima sa isang matalinong tahanan - isang matalinong thermostat para sa pagkontrol sa maiinit na sahig.

Ano ang device na ito?

Isa itong smart thermostat para sa anumang electric heated floor hanggang 3kW. Ito ay kinokontrol sa pamamagitan ng isang application, isang web page, HTTP, MQTT, kaya madali itong isinama sa lahat ng smart home system. Bubuo kami ng mga plugin para sa mga pinakasikat.

Maaari mong kontrolin hindi lamang ang isang electric heated floor, kundi pati na rin ang isang thermal head para sa isang water heated floor, isang boiler o isang electric sauna. Gayundin, gamit ang nrf, magagawang makipag-ugnayan ng thermostat sa iba't ibang sensor. Halos lahat ng mga sensor na nauugnay sa klima ay kasalukuyang nasa pagbuo. Dahil nakabatay ang device sa ESP, napagpasyahan namin na hindi naaangkop na alisin ang mga opsyon sa pag-customize mula sa mga user. Samakatuwid, gagawin namin ito upang mailipat ng user ang device sa developer mode at mag-install ng iba pang firmware, halimbawa, na may suporta para sa HomeKit o mga third-party na proyekto.

*pagkatapos mag-install ng third-party na firmware na may suporta para sa HomeKit o iba pang sikat na proyekto, hindi posible na bumalik sa orihinal sa pamamagitan ng OTA (Over-the-Air).

Mga paghihirap na aming naranasan

Upang sabihin na walang sinuman ay magiging hangal. Susubukan kong ilarawan ang pinakamahirap na problema na lumitaw at kung paano namin nalutas ang mga ito.

Ang paglalagay ng device ay isang hamon. Parehong sa mga tuntunin ng mga gastos sa mapagkukunan at mga gastos sa oras (binuo sila nang halos isang taon).

Mayroong maraming mga pagpipilian sa merkado. At ang pinakasikat ay ang 3D printing. Alamin natin ito:
Klasikong 3D printing. Ang kalidad ay nag-iiwan ng maraming nais, gayundin ang bilis ng produksyon. Gumamit kami ng 3D printing para sa mga prototype, ngunit hindi ito angkop para sa produksyon.

Photopolymer 3D printer. Narito ang kalidad ay mas mahusay, ngunit ang epekto ng presyo ay pumapasok. Ang mga prototype na naka-print sa isang katulad na printer ay nagkakahalaga ng mga 4000 rubles, at ito ay isang bahagi ng katawan sa dalawa. Maaari kang bumili ng iyong sariling printer, na magbabawas sa presyo, ngunit ang presyo ay magiging astronomical, at ang bilis ay hindi kasiya-siya.

Silicone casting. Itinuring namin ito ang pinakamahusay na pagpipilian. Ang kalidad ay mabuti, ang presyo ay mataas, ngunit hindi kritikal. Ang unang batch ng 20 kaso ay iniutos pa para sa field testing.

Ngunit binago ng pagkakataon ang lahat. Isang gabi, hindi ko sinasadyang na-post sa internal chat para sa mga developer na may problema sa mga kaso, ang presyo ay masyadong mataas. At kinabukasan, sumulat ang isang kasamahan sa isang personal na mensahe na ang isang kaibigan ng kanyang kaibigan ay may TPA (thermoplastic machine). At sa unang yugto maaari kang gumawa ng isang amag para dito. Binago ng mensaheng ito ang lahat!

Napag-isipan kong gumamit ng mga injection molding machine noon, ngunit ang huminto sa akin ay hindi ang pangangailangan na mag-order ng isang batch ng hindi bababa sa 5000 piraso (bagaman kung susubukan mo, mas mababa ang makikita mo sa pamamagitan ng Chinese). Napatigil ako sa presyo ng amag. Mga $5000. Hindi ako handa na bayaran ang halagang ito nang sabay-sabay. Ang halaga para sa amag sa pamamagitan ng aming bagong minted na kasamahan ay hindi astronomical, ito ay nag-iba sa paligid ng $2000-$2500. Bukod dito, pumayag siyang makipagkita sa amin at napagkasunduan namin na ang pagbabayad ay gagawin nang hulugan. Kaya nalutas ang problema sa mga hulls.

Ang pangalawa at hindi gaanong mahalagang kahirapan na nakatagpo namin ay hardware.

Ang bilang ng mga pagbabago sa hardware ay hindi mabibilang. Ayon sa mga konserbatibong pagtatantya, ang ipinakitang opsyon ay ang ikapito, hindi binibilang ang mga intermediate. Sa loob nito sinubukan naming lutasin ang lahat ng mga pagkukulang na natukoy sa panahon ng proseso ng pagsubok.

Kaya, dati ay naniniwala ako na hindi na kailangan ng isang hardware watchdog. Ngayon, kung wala ito, ang aparato ay hindi mapupunta sa produksyon: dahil sa kapritsoso ng platform na aming pinili.
Isa pang analog input sa ESP. Dati naisip ko na ang bawat ESP pin ay unibersal. Ngunit ang ESP ay may isang analog pin lamang. Natutunan ko ito sa pagsasanay, na humantong sa muling paggawa at muling pagsasaayos ng mga naka-print na circuit board.

Unang bersyon ng mga naka-print na circuit board

Nagiging thermostat: paano ito nangyari

Nagiging thermostat: paano ito nangyari

Pangalawang bersyon ng mga naka-print na circuit board

Nagiging thermostat: paano ito nangyari

Nagiging thermostat: paano ito nangyari

Ang penultimate na bersyon ng mga naka-print na circuit board, kung saan kailangan naming agarang lutasin ang mga problema sa analog pin

Nagiging thermostat: paano ito nangyari

Nagiging thermostat: paano ito nangyari

Tulad ng para sa software, mayroon ding maraming mga pitfalls.

Halimbawa, pana-panahong bumabagsak ang ESP. Kahit na ang ping ay napupunta dito, ang pahina ay hindi nagbubukas. Mayroon lamang isang solusyon - muling pagsusulat ng aklatan. Maaaring may iba pa, ngunit lahat ng sinubukan namin ay hindi gumana.

Ang pangalawang makabuluhang problema, sapat na kakaiba, ay ang bilang ng mga kahilingan sa ESP kapag binubuksan ang isang pahina. Gamit ang GET o ajax, nahaharap kami sa katotohanan na ang bilang ng mga kahilingan ay naging napakalaki. Dahil dito, hindi nahuhulaang kumilos ang ESP, maaari itong mag-reboot o magproseso ng kahilingan nang ilang segundo. Ang solusyon ay lumipat sa mga web socket. Pagkatapos nito, makabuluhang nabawasan ang bilang ng mga kahilingan.

Ang pangatlong problema ay ang web interface. Higit pang impormasyon tungkol dito ay nasa isang hiwalay na artikulo na ilalathala sa ibang pagkakataon.

Sa ngayon, sasabihin ko lang na ang pinakamagandang opsyon sa ngayon ay ang paggamit ng VUE.JS.

Ang balangkas na ito ang pinakaangkop sa lahat ng aming nasubukan.

Maaaring matingnan ang mga opsyon sa interface sa mga link sa ibaba.

adaptive.lytko.com
mobile.lytko.com

Nagiging thermostat

Ang pagkakaroon ng pagtagumpayan ang lahat ng mga paghihirap, dumating kami sa resultang ito:

Nagiging thermostat: paano ito nangyari

Nagiging thermostat: paano ito nangyari

Konstruksiyon

Ang termostat ay binubuo ng tatlong board (mga module):

  1. Tagapamahala;
  2. Pinamamahalaan;
  3. Display board.

Manager – isang board kung saan matatagpuan ang ESP12, hardware na "watchdog" at nRF24 para sa pagtatrabaho sa mga sensor sa hinaharap. Sa paglulunsad, sinusuportahan ng device ang DS18B20 digital sensor. Ngunit nagbigay kami ng kakayahang magkonekta ng mga analog sensor mula sa mga tagagawa ng third-party. At sa isa sa mga pag-update ng software ng device sa hinaharap, idaragdag namin ang kakayahang gumamit ng mga sensor na kasama ng mga third-party na thermostat.

Nagiging thermostat: paano ito nangyari

Pinamamahalaan – power supply at load control board. Doon ay naglagay sila ng 750mA power supply, mga terminal para sa pagkonekta ng mga sensor ng temperatura at isang 16A relay para sa pagkontrol sa pagkarga.

Nagiging thermostat: paano ito nangyari

Display – sa yugto ng pag-unlad na aming pinili Susunod na pagpapakita 2.4 pulgada.

Madali kang makakahanap ng impormasyon tungkol dito sa Internet. Nais kong idagdag na ito ay maginhawa para sa halos lahat, maliban sa presyo. Ang isang 2.4-inch na display ay nagkakahalaga ng humigit-kumulang 1200β‚½, na walang pinakamagandang epekto sa huling presyo.

Kaya napagpasyahan na gumawa ng isang analogue upang umangkop sa aming mga pangangailangan, ngunit sa mas mababang presyo. Totoo, kakailanganin mong i-program ito sa klasikong paraan, at hindi mula sa kapaligiran ng Nextion Editor. Ito ay mas mahirap, ngunit kami ay handa para dito.

Ang isang analogue ay isang 2.4-pulgada na matrix na may touchscreen at isang board na may STM32 na nakasakay upang kontrolin ito at bawasan ang pagkarga sa ESP12. Ang lahat ng kontrol ay magiging katulad ng Nextion sa pamamagitan ng UART, pati na rin ang 32 MB memory at isang ganap na flash card para sa pag-record ng mga log.

Ang modular na disenyo ay ginagawang madali upang baguhin ang isa sa mga module at ang output ay isang ganap na naiibang aparato.

Halimbawa, mayroon nang mga opsyon para sa "board 2" sa ilang bersyon:

  • Pagpipilian 1 - para sa maiinit na sahig. Power supply mula sa 220V. Kinokontrol ng relay ang anumang load pagkatapos nito.
  • Pagpipilian 2 – para sa pinainitang tubig na sahig o balbula ng baterya. Pinapatakbo ng 24V AC. Kontrol ng balbula para sa 24V.
  • Pagpipilian 3 – power supply mula sa 220V. Kontrol ng isang hiwalay na linya, tulad ng boiler o electric sauna.

afterword

Hindi ako isang propesyonal na developer. Nagawa kong pag-isahin ang mga tao sa isang layunin. Para sa karamihan, lahat ay nagtatrabaho para sa ideya; upang makagawa ng isang bagay na talagang kapaki-pakinabang; isang bagay na magiging kapaki-pakinabang sa end user.

Sigurado akong hindi magugustuhan ng ilang tao ang disenyo ng kaso; para sa ilan – ang hitsura ng pahina. Karapatan mo ito! Ngunit kami mismo ang pumunta sa ganitong paraan, sa pamamagitan ng patuloy na pagpuna sa aming ginagawa, at higit sa lahat, bakit. Kung wala kang mga tanong tulad ng mga nabanggit sa itaas, ikalulugod naming makipag-chat sa mga komento.

Ang nakabubuo na pagpuna ay mabuti, at kami ay nagpapasalamat para dito.

Kasaysayan ng ideya dito. Para sa mga interesado:

  1. Para sa lahat ng katanungan: Telegram group LytkoG
  2. Sundan ang balita: Telegram information channel Lytko News

At oo, nag-e-enjoy kami sa ginagawa namin.

Pinagmulan: www.habr.com

Magdagdag ng komento