<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應用 > 基于HT48 R54A單片機的太陽能熱水器溫度測量系統(tǒng)設(shè)計

          基于HT48 R54A單片機的太陽能熱水器溫度測量系統(tǒng)設(shè)計

          作者: 時間:2013-08-14 來源:網(wǎng)絡 收藏

          0引言

          本文引用地址:http://www.ex-cimer.com/article/174835.htm

          隨著人民生活水平以及環(huán)保意識的不斷加強,越來越多的消費者傾向于選擇太陽能熱水器,帶輔助電加熱功能的太陽能熱水器尤其受到市場的青睞[1?3].帶輔助電加熱功能的太陽能熱水器可以根據(jù)用戶設(shè)定的溫度自動電加熱,要完成這一功能的首要前提是必須先準確熱水器的水溫。目前水溫的方法有:采用溫度DS18B20、采用熱敏電阻并通過電壓頻率轉(zhuǎn)換電路將電阻值轉(zhuǎn)化為頻率進行等方法[4?5].采用溫度DS18B20 測量水溫,接口電路簡單,但價格較貴。采用熱敏電阻并通過電壓頻率轉(zhuǎn)換電路測量水溫,由于引入電壓頻率轉(zhuǎn)換電路,增加了系統(tǒng)成本。作者在本文中提出了一種采用熱敏電阻測量溫度的簡單易行、價格低廉的方法,且占用極少I/O接口。這種方法也可應用于其他測溫系統(tǒng)中。

          1 太陽能熱水器溫度測量電路及原理

          太陽能熱水器溫度測量電路如圖1所示,圖1中的熱敏電阻是是負的溫度系數(shù)熱敏電阻(10 kΩ/25 ℃),即隨著溫度的增加,電阻值減小。通過識別電阻的大小,達到檢測溫度的目的。PA0,PA4 和PA5 為HT48R54A 的I/O 口,PA0,PA4和PA5可以根據(jù)實際需要,通過軟件指令實時設(shè)置其輸入/輸出狀態(tài)。

          圖1的測溫原理如下:

          首先,軟件設(shè)置PA0和PA5為輸入口,設(shè)置PA4為輸出口,且使PA4輸出高電平,1 kΩ固定電阻與104電容組成充電回路,實時讀取PA0狀態(tài),當PA0為低電平時,充電時間累加,當PA0為高電平時,104電容充電滿,停止充電時間累加,此時可獲取充電時間Tf ;同理可獲取熱敏電阻與104 電容組成的充電回路的充電時間TX .

          RC 電路充電時間計算公式為T = RC ,設(shè)固定電阻阻值為Rf ,熱敏電阻阻值為RX ,充電電容為C,則有:

          由(4)式可以求出熱敏電阻阻值RX ,根據(jù)熱敏電阻阻值大小,可以獲取對應溫度。

          2 系統(tǒng)軟件設(shè)計

          2.1 獲取充電時間的軟件設(shè)計

          根據(jù)測溫原理,溫度測量的關(guān)鍵是獲取固定電阻與104電容組成充電回路的充電時間Tf 、獲取熱敏電阻與104電容組成充電回路的充電時間TX .獲取1 kΩ固定電阻與104電容組成充電回路的充電時間Tf 的軟件流程圖如圖2所示。

          接地電阻相關(guān)文章:接地電阻測試方法



          上一頁 1 2 下一頁

          關(guān)鍵詞: 測量 傳感器 單片機

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();