<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于I2C和單總線(xiàn)通信的全天分段熱水智能控制器

基于I2C和單總線(xiàn)通信的全天分段熱水智能控制器

作者: 時(shí)間:2017-06-04 來(lái)源:網(wǎng)絡(luò ) 收藏

傳統的溫控熱水器大多把溫度作為唯一的控制參數,系統利用對環(huán)境溫度進(jìn)行實(shí)時(shí)監測并將溫度設定值與測量值進(jìn)行比較,只要測量值小于設定值就啟動(dòng)循環(huán)泵加熱以達到滿(mǎn)足用戶(hù)需要的目的。這類(lèi)熱水器功能單一且浪費了大量的水、電資源。

一般情況下,家庭使用熱水的時(shí)間點(diǎn)比較固定,基本可以分為早、中、晚3個(gè)時(shí)間段。針對這一情況,本設計采用Microchip的PIC16F72單片機為主控制器,根據DS18B20所采集的溫度數據以及用戶(hù)設置的時(shí)間段(3段)上下限數值和溫度設定值對循環(huán)泵的啟動(dòng)和停止進(jìn)行控制,實(shí)現對熱水器水箱溫度的有效控制。這樣循環(huán)泵在其它時(shí)段便不會(huì )工作,節省了大量的電能。當用戶(hù)需要在非設置時(shí)間段內使用熱水時(shí),可以按下加熱鍵進(jìn)行快速加熱,從而保證了用戶(hù)也能及時(shí)用到熱水。顯然這種控制器在滿(mǎn)足用戶(hù)需求的前提下顯著(zhù)增強了溫控系統智能化程度,大大提高了資源利用率,給用戶(hù)帶來(lái)了真正的實(shí)惠。

1 總體設計及工作原理

全天分段熱水智能控制器主要由單片機控制模塊,溫度采集模塊,日歷時(shí)鐘模塊、液晶顯示模塊、時(shí)間段上下限及預加熱溫度設置模塊、電機驅動(dòng)模塊和外部存儲模塊等部分組成。其系統框圖如圖1所示

單片機PIC16F72作為控制器的核心,快速響應各種給定信號和反饋信號,并發(fā)出相應的指令控制各個(gè)部分,保證整個(gè)系統有序工作。檢測熱水器水箱溫度并通過(guò)送入到單片機中進(jìn)行處理,時(shí)鐘芯片及外部存儲器通過(guò)與單片機間進(jìn)行通信。溫度顯示實(shí)時(shí)溫度和設置溫度。時(shí)間顯示設置時(shí)段及系統時(shí)鐘。在實(shí)際溫度小于設置溫度3度時(shí),如果時(shí)間在設置的3段范圍內,水泵啟動(dòng),當實(shí)際溫度大于設置溫度時(shí),水泵停止工作。加熱鍵根據用戶(hù)需要實(shí)現快速加熱。

本文引用地址:http://dyxdggzs.com/article/201706/348326.htm

2 系統硬件設計

單片機選用微芯公司的PIC16F72,完全可以滿(mǎn)足本系統中要求的采集、外部中斷、控制、數據處理及存儲空間的需要,在用PIC16F72設計系統時(shí),首先要構成一個(gè)最小系統,單片機才能正常工作,即電源、晶振、復位缺一不可。本系統采用的是+5 V電源,晶振采用的是4 MHz和兩個(gè)30 pF電容構成的無(wú)緣晶振,復位電路采用的是改進(jìn)型RC復位電路,即在經(jīng)典的RC復位電路基礎上增加了一個(gè)二極管構成放電回路,這樣不但可以避免電源毛刺造成系統不穩定,而且電源緩慢下降也能可靠復位。

2.1 溫度采集電路

系統需要對熱水器水箱溫度進(jìn)行測量控制,測溫的關(guān)鍵是要選擇合適的感溫元件和合理的采集電路。文中采用的是美國DALLAS公司推出的數字DS18B20,與傳統的熱敏電阻不同,DS18B20將溫度傳感器與A/D轉換器集成在一個(gè)芯片上,可直接將被測溫度轉換為全型數字信號直接供單片機處理,且具有結構簡(jiǎn)單、體積小、功耗低、用戶(hù)可自行設定預警上下限溫度等特點(diǎn),因此使硬件設計大大簡(jiǎn)化,對應的硬件電路如圖2所示。

傳感器DS18B20測量溫度范圍為-55~125℃,完全滿(mǎn)足系統要求。DS18B20通過(guò)一個(gè)單線(xiàn)接口發(fā)送或接受信息,因此從中央處理器到DS18 B20僅需連接一條線(xiàn)。在1s(典型值)內把溫度變換為數字,以9位數字值方式讀出溫度,無(wú)需校準,即可提供工業(yè)級的測溫范圍和精度。

2.2 實(shí)時(shí)時(shí)鐘及外部存儲芯片

本系統實(shí)時(shí)時(shí)鐘采用低功耗的CMOS時(shí)鐘芯片PCF8563實(shí)現,它提供一個(gè)可編程時(shí)鐘輸出,一個(gè)終端輸出和掉電檢測器,所有的地址和數據通過(guò)接口串行傳遞。每次讀寫(xiě)數據后,內嵌的字地址寄存器會(huì )自動(dòng)產(chǎn)生增量,日歷時(shí)間編碼格式為BCD。PCF8563制作數字時(shí)鐘編程簡(jiǎn)單,可靠實(shí)用,配合其超低維持功耗(典型值為0.25μA,Vdd=3.0 V,Tamb=25 C),當系統斷電時(shí),只需用一個(gè)后備電池就可以長(cháng)時(shí)間掉電保持實(shí)時(shí)時(shí)間計時(shí),本系統選用壽命長(cháng)、性?xún)r(jià)比高、可靠性強的便攜式紐扣電池CR2025。利用二極管的單向導電性實(shí)現了系統的掉電保護功能。當CPU正常運行時(shí),系統電源為時(shí)鐘芯片提供電源,其正常工作,當系統掉電時(shí),紐扣電池為時(shí)鐘芯片提供電源,其保持準確計時(shí)。如圖3所示。

外部存儲芯片選用的是AT24C02B,主要用于存儲時(shí)間段上下限與設置溫度數據,采用進(jìn)行讀寫(xiě)數據和地址。

2.3 液晶顯示電路

液晶用于顯示溫度、時(shí)間以及循環(huán)泵的工作狀態(tài)(STOP或RUN),且提供了友好的人機交互界面,可方便輸入需設置的時(shí)間段上下限和溫度值。本系統選用的是編程簡(jiǎn)單,體積小,性?xún)r(jià)比很高的1 602,為了提高視覺(jué)效果和美觀(guān),采用的是白色背光,模塊最佳工作電壓為5.0 V,顯示容量為16x2個(gè)字符,可分兩排顯示。對應的電路連接如圖4所示。


2.4 按鍵模塊

系統中共用4個(gè)按鍵,分別為設置鍵、增加鍵、減少鍵、加熱鍵。設置鍵用于設置溫度和時(shí)間;增加和減少鍵用于修改時(shí)間和溫度數值;加熱鍵用于任意時(shí)間需要加熱時(shí)快速加熱。按鍵在閉合及斷開(kāi)的瞬間均伴隨有一連串的抖動(dòng),為了確保CPU對鍵的一次閉合或斷開(kāi)僅作一次處理,保證系統的可靠性,本設計在軟件上加入了可靠的按鍵消抖程序。

2.5 繼電器

綜合考慮,本設計選用了直流輸入控制,交流過(guò)零導通,過(guò)零關(guān)斷輸出型無(wú)觸點(diǎn)固態(tài)繼電器。與傳統的電磁繼電器相比,其在操作中不會(huì )產(chǎn)生電弧,因而具有高穩定性。本設計輸入控制電壓為5 V,該繼電器對應的驅動(dòng)電流只有15 mA左右,其啟動(dòng)性能平穩且提供了10 ms以下的開(kāi)關(guān)速度,顯著(zhù)提高了系統數據的吞吐量。

3 軟件的實(shí)現

程序設計是本設計的核心部分。整個(gè)程序包括主程序、按鍵處理子程序、I2C總線(xiàn)讀寫(xiě)子程序、讀寫(xiě)子程序、定時(shí)器子程序、鍵中斷服務(wù)子程序、按鍵消抖子程序、上電自檢子程序和顯示子程序等。

主程序流程圖如圖5所示,初始化主要是各I/O口、各寄存器、定時(shí)器的初始化,上電自檢,開(kāi)定時(shí)器和定時(shí)中斷允許,顯示LOGO,讀時(shí)鐘以及當前溫度并顯示等。然后判斷標志位F是否等于1,若F=1,說(shuō)明加熱鍵按下,則CPU直接查詢(xún)溫度判斷循環(huán)泵的啟動(dòng)或停止,當實(shí)際溫度小于設置溫度3度時(shí),水泵啟動(dòng)且LCD顯示對應的RUN,當實(shí)際溫度大于設置溫度時(shí),水泵停止工作且LCD顯示對應的STOP;若F=0,說(shuō)明加熱鍵沒(méi)按下,則CPU先進(jìn)行時(shí)間段判斷,再進(jìn)行溫度判斷,當時(shí)間在設置的三段范圍內且實(shí)際溫度小于設置溫度3度時(shí),水泵啟動(dòng),否則水泵停止工作。

設定按鍵外部中斷為高優(yōu)先級,使主程序能實(shí)時(shí)響應按鍵處理,進(jìn)行相應的操作。若長(cháng)按設置鍵,則進(jìn)入設置環(huán)節,否則有按鍵按下時(shí)則背光亮5秒鐘,便于用戶(hù)讀取時(shí)間和溫度,然后自動(dòng)熄滅。鍵處理子程序是本設計的重點(diǎn)和難點(diǎn)。其流程圖如圖6所示。

單片機與DS18B20之間數據交換采用單總線(xiàn),由于只有一根線(xiàn)通信,所以必須采用嚴格的主從結構,當主機呼叫從機時(shí),從機才能應答,主機訪(fǎng)問(wèn)單線(xiàn)期間必須嚴格遵循單線(xiàn)命令的序列,如果命令序列混亂,單線(xiàn)器件不會(huì )響應主機。

單片機與時(shí)鐘芯片PCF8563及外部存儲器之間通信采用I2C總線(xiàn),I2C總線(xiàn)是由數據線(xiàn)SDA和時(shí)鐘SCL構成的串行總線(xiàn),可發(fā)送和接受數據,最高傳送速率100 kbps。各種被控制電路均并聯(lián)在這條總線(xiàn)上,但每個(gè)電路和模塊都有唯一的地址。本設計中的PCF8563和AT24C02B雖然掛在同一條總線(xiàn)上,其地址分別為0xa2和0xa0,彼此獨立,互不相關(guān)。這點(diǎn)在編程時(shí)必須注意,很容易出錯。I2C總線(xiàn)的優(yōu)點(diǎn)是簡(jiǎn)單和有效。由于接口直接在組件之上,因此,I2C總線(xiàn)占用的空間非常小,減少了電路板的空間和器件引腳的數量,降低了成本。

系統采用單片機C語(yǔ)言編寫(xiě),開(kāi)發(fā)環(huán)境是Microchip的MPIAB IDE V8.50,在線(xiàn)調試及下載工具是ICD3。

4 結束語(yǔ)

文中從硬件和軟件的角度出發(fā),設計了一套基于PIC16F72單片機的溫度智能控制系統。與傳統的溫控系統相比,本系統大大地提高了資源利用率,且元器件選擇頗具考究,有很大創(chuàng )新,硬件結構簡(jiǎn)單、體積小巧,成本低廉、界面直觀(guān)、安全可靠。并且在設計時(shí)考慮到以后擴展系統工程的需要,單片機留出了一定的控制引腳以便于外接其他功能模塊。該控制器已經(jīng)成功運用在小型即熱式電熱水器中。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>