非洲一级片_床戏真做h不要了_白袜袜格罗丫新春啪啪特辑_蘑菇视频旧版免费下载

當前位置 : 首頁 > > T-BOX方案 > 旋鈕溫控器方案

軟硬件全開源,航芯方案分享 | 旋鈕溫控器方案


溫控器用于控制室內暖通設備,通過暖通設備為室內環境提供冷源和熱源,從而調節室內溫度環境,為人們提供舒適的生活環境。


旋鈕式溫控器更為結構簡潔、操作簡便,降低了用戶的使用難度,提供智能化的控制方法,實現節能與舒適的平衡。


航芯推出的旋鈕溫控器解決方案,采用有豐富外設功能的ACM32F0x0系列作為主控芯片,最低功耗可達0.5uA,具有高整合度、高抗干擾、高可靠性等特點,有助于提高產品性能,幫助客戶加快智能溫控設備的開發。


本文將帶你深入了解基于航芯ACM32F0x0系列如何快速搭建旋鈕溫控器項目,干貨滿滿,開源分享,更多資源請在文末獲取哦!


1. 供暖設備應用概述


北方的供暖主要有兩種方式:集體供暖和分戶供暖,分戶供暖較受用戶歡迎,這種方式用戶可以根據自己的需求和喜好按需供暖。分戶供暖催生了很多新型供暖設備,比如電磁壁掛爐、燃氣壁掛爐、空氣能熱泵等。


這些供暖設備搭載控制器,通過旋鈕溫控器可實現精準智能溫度控制,控制器負責接收旋鈕溫控器的RF信號來控制供暖設備的開啟和關閉加熱,而旋鈕溫控器放置在用戶房間里,可實時檢測房間溫度變化,發送RF信號實時調節溫度,使房間溫度始終保持在用戶設定的舒適溫度范圍內。


2. 技術規格


?  溫度控制范圍:-10℃~45℃

?  溫度顯示范圍:5℃~35℃

?  工作溫度:-20℃~55℃

?  供電方式:1.5V * 2,2節五號電池

?  待機功耗:12uA

?  遙控距離:室內≥30m


3. 功能特點


?  可通過旋鈕調節設定溫度

?  實時顯示當前環境溫度和當前加熱狀態

?  ℃/℉溫標切換

?  0.5℃/1℃溫度差值切換

?  高、低溫報警,顯示屏溫度閃爍

?  低電量報警,顯示屏顯示低電量圖標


4. 方案介紹


旋鈕溫控器分為遙控器和接收器,遙控器放在用戶房間,實時采集室內溫度,顯示溫度并實時調節;接收器則放在加熱裝置旁邊,用于接收遙控器的RF信號,控制繼電器,從而開啟和關閉加熱。


旋鈕溫控器的遙控器可采用ACM32F030C8T7或ACM32F070CBT7做主控,框圖如下:




?  使用ADC來實現對旋鈕溫度調節;


?  使用IIC接口,讀取溫濕度傳感器SHT30模塊的溫濕度;


?  使用芯片的LVD模塊進行電池低電檢測;


?  使用芯片自帶的LCD驅動來驅動斷碼LCD屏,顯示設置溫度、實時溫度、加熱狀態等;


?  使用SPI接口和RF 433模塊通信,發送RF信號控制加熱器的開關;


?  通過TouchKey來喚醒產品,并實現℃/℉溫標切換、0.5℃/1℃溫度差值切換,加/減設定溫度;


?  為了實現產品的低功耗,需要在低功耗下顯示LCD,所以采用stop低功耗模式,RTC定時喚醒和TouchKey喚醒。


旋鈕溫控器的接收器采用ACM32F030K8T7或ACM32F070KBT7做主控,可以通過三檔撥動開關來選擇常開、常關、自動三種工作模式,在自動模式下根據接收遙控器發來的RF信號進行控制繼電器的開啟和關閉,方案框圖如下:




5. 軟件設計


01. ADC采集


正常待機下不對旋鈕進行AD采樣,只有當被TouchKey喚醒后定時采樣。


以下是部分代碼:




02. 讀取溫濕度傳感器SHT30


溫濕度傳感器采樣IIC接口,定時一分鐘采集一次傳感器的溫濕度數據,部分代碼如下:




03. 電池低電檢測


采用芯片自帶的LVD模塊檢測電池電量,低于設定的閾值2.51V就閃爍低電圖標報警提示,以下是部分代碼:




04. LCD顯示


使用4*24 LCD顯示,在喚醒狀態每隔200ms刷新一次LCD顯示內容,以下是部分代碼:






05. RF 433模塊


RF模塊采用RFM300H,SPI通訊,為了方便處理RF數據,采用狀態機來處理RF模塊的配置,數據發送等,以下是部分代碼:






06. TouchKey檢測


通過TouchKey可喚醒產品,切換溫標、溫度差值、顯示設定溫度等,部分初始化代碼如下:




07. 低功耗處理


為了實現低功耗,采用stop模式,進入休眠前先判斷休眠標志位是否允許進入休眠,再關閉定時器、SPI、IIC等外設,設置IO口狀態,配置RTC定時1min喚醒、TouchKey喚醒,以下是部分代碼:





08. 遙控器程序整體流程圖




09. 接收器程序整體流程圖




06 資源分享


旋鈕溫控器方案軟硬件資源:

https://gitee.com/acm32-mcu/acm32f0_temperature_control