引言
溫度是物聯網家居系統中一個十分重要的物理量, 對它的測量與控制有十分重要的意義。隨著各類物聯網家居的監控日益改善,各類器件的溫度控制有了更高的要求,為了滿足人們對溫度監控與控制, 本文設計了物聯網家居系統中基于單片機的多路無線溫度監控系統。
隨著信息科學與微電子技術的發展, 溫度的監控可以利用現代技術使其實現自動化和智能化。多路無線溫度監控系統就是朝著這一目標進行設計的。本次設計要求利用單片機及無線傳輸模塊實現無線溫度監測系統,實現溫控范圍調節及其超溫范圍報警。
1 技術要點
由于本系統是一個實時監控的系統, 對溫度的采集控制是實時的, 所以溫度采集的時間間隔, 數據發送接收的時間差,單片機與PC 機之間數據的傳送速度以及上位機程序對數據的分析處理是本系統的關鍵。通過對溫度傳感器,無線模塊的優化選擇,實現單片機與PC 機通過高速USB 接口進行通信及對上位機代碼的優化實現本系統的實時監控功能, 同時還要考慮的是溫度傳感器的各個參數,無線模塊的參數,以及硬件電路的優化搭建問題。
2 硬件及軟件設計
為了使系統能夠最優化的工作, 系統的硬件器件選擇將是十分重要的問題。
(1)溫度傳感器的選用
系統是做溫度監控的, 首要的工作就是如何選取溫度傳感器, 正確的選擇溫度傳感器對系統的性能和價格有著重大的影響。就溫度傳感器的溫度測量范圍、精度、響應時間、穩定性、線性度和靈敏度。等幾個因素的比較分析,本系統選用的是美國DALLAS 半導體公司生產的DS18B20 溫度傳感器。選用該傳感器的原因有: ①DS18B20 與微處理器僅需要一條線即可實現雙向通訊,簡化連接難度;②無需其他的AD 轉化器件,降低成本, 也減少了硬件制板的費用; ③可供使用電壓范圍大:3.0V 到5.5V 都可以使用,器件的功耗較低;④測溫分辨率高,最高可達0.125 度,便于溫度精確控制;⑤支持多點測試,多個DS18B20 可以并聯在一根線上,實現多點測溫。
(2)無線模塊的選用
本系統是多點監控, 同時他的數據傳輸是通過無線傳輸的,所以無線傳輸模塊的需要支持多點的數據的傳送。考慮穩定性, 傳輸數據的速度, 錯誤率等方面, 本系統選用的是NRF905 無線數據傳輸模塊,選擇該模塊的原因有:①433MHZ開放ISM 頻段免許可證使用,無需額外申請頻段;②傳輸速率高,最高數據傳輸速率可達50KB,滿足實時監控的需要;③自帶有CRC 糾錯功能,抗干擾能力強。所需電壓僅3.3V,功耗低;④125 個頻道,支持多點通信,滿足系統多點監控的需要。
(3)主控芯片選用
ATmega16 是ATMEL 公司推出的一款基于AVR RISC 構架的低功耗CMOS 的8 位單片機。ATmega16 在16MHz 時有16MIPS 的運算速度,具有兩周期硬件乘法器,從而使得設計人員可以在功耗和執行速度之間取得平衡, 且非易失性程序和數據存儲器資源較大能滿足程序代碼設計需要。外設資源豐富:2 個具有獨立預分頻器和比較器功能的8 位定時/計數器;一個獨立預分頻器和比較/捕捉功能的16 位定時/計數器;支持4 路PWM 輸出、8 路10 位ADC。支持TWI 接口、USART、SPI 接口多機通信滿足擴展功能的需要。
(4)其他外圍器件
USB 與PC 機通信中USB 控制芯片PDUSBD12,顯示模塊1602,報警蜂鳴器等。
2.1 系統的硬件連接方法
硬件方面主要由兩部分組成, 溫度采集發送部分和數據接受分析控制部分。
2.1.1 溫度采集發送部分
主要的連接器件有NRF905 無線數據傳輸模塊,DS18B20溫度傳感器采集模塊,1602 顯示模塊,報警模塊,及溫度異常處理模塊。其連接方法如圖1 所示。主控芯片M16 通過SPI 總線協議向無線模塊發送配置信息,使其工作初始化。溫度傳感器與M16 的連接使用的是單總線協議,來采集溫度。顯示芯片1602 來顯示采集到得溫度,同時使用蜂鳴器作為報警裝置,當溫度有異常時單片機會控制加熱設備或降溫設備來對異常進行處理。
2.1.2 數據接收分析控制部分
主要的連接器件有無線數據傳輸模塊,USB 傳送模塊,和PC 機構成。其電路連接如圖2 所示。同樣主控芯片M16 通過SPI 總線協議向無線模塊發送配置信息,使其工作初始化。接收到溫度后通過PDUSBD12 芯片利用USB 協議將數據發送到PC 機上,可以直接在VC 界面上顯示。PC 機可以自動分析數據是否存在異常,當存在異常時,PC 發送控制信號來遠程控制加熱或降溫設備對異常進行處理,同時發出報警信號,這樣可以將危險降到最低,實現自動化與智能化。
圖1 數據采集與發送 圖2 數據接收與分析
2.2 軟件程序的設計
由于系統由兩個模塊構成, 所以軟件程序的設計也分為溫度采集發送模塊程序設計和數據接受分析控制模塊程序設計。
2.2.1 溫度采集發送模塊
主要需要設計的程序有NRF905 的內部寄存器配置,溫度傳感器溫度采集程序,液晶顯示模塊程序,報警系統程序。程序流程圖如圖3:
圖3 主程序流程圖
2.2.2 數據接受分析控制模塊
主要需要設計的程序有NRF905 的內部寄存器配置,USB模塊的驅動編寫,上位機程序的建立,由于篇幅有限,源代碼及流程圖不再給出。
3 系統的工作流程
本系統主要由兩個模塊組成, 溫度采集發送模塊和數據接收監控模塊。
3.1 數據采集發送模塊
該模塊的主要功能是采集溫度和發送數據。主控單片機發出命令開始有DS18B20 進行溫度采集, 溫度傳感器將采集到的溫度傳回主控芯片,在1602 上進行顯示,然后主控芯片通過SPI 總線將數據傳送給無線發送模塊NRF905,由無線發送模塊將數據發送出去。同時主控芯片會檢測溫度是否異常,當溫度出現異常時會發出報警信號,同時啟動異常處理模塊。
具體工作流程如圖4:
圖4 采集發送模塊工作流程
3.2 數據接收監控模塊
該模塊的主要功能是接收和處理數據, 由單片機控制無線模塊接收數據, 同時控制USB 模塊將數據發送到PC 機上去,PC 機接收到溫度后會對溫度進行分析處理,當溫度由異常時,會發出報警信號,同時通過將控制指令發送至單片機,通過無線模塊來遠程控制異常處理模塊執行工作, 從而實現異常自動處理和雙報警, 從而最大限度的確保被監控地的預警和安全。具體工作流程如圖5:
圖5 接受監控模塊工作流程
4 結語
對本系統進行遠距離具體溫度測試, 經數據對比發現實地溫度采集與上位機顯示數據完全吻合, 且能實現實時溫度監控。同時可以通過PC 機對單片機進行遠程控制,性能穩定。
本系統采用的數據傳輸是通過無線技術實現的, 不僅僅可以用在物聯網家居上,還可以在很多環境條件惡劣,且不容易鋪設電纜的地方使用,同時移動起來比較方便,在不久的將來會有更大的利用價值。
(審核編輯: 智匯小新)
分享