家用數(shù)控煤氣熱水器控制器,家用,數(shù)控,煤氣,熱水器,控制器
東莞理工學院城市學院
本 科 畢 業(yè) 論 文
畢業(yè)論文題目:家用數(shù)控煤氣熱水器控制
器——軟件設(shè)計
學生姓名: 鐘浪清_______ _______
學 號:_____200548073337__________
系 別:_____計算機與信息科學系__ _
專業(yè)班級:____電子信息工程(3)班_
指導教師姓名及職稱:劉林泉 高級工程師
起止時間: 2009年 3月— 2009年 6 月
摘要
隨著計算機技術(shù)、測量儀器和控制技術(shù)的高速發(fā)展,在現(xiàn)代自動控制領(lǐng)域中,應(yīng)用了越來越多的先進測量控制技術(shù)、設(shè)備和方法。其中,由于單片微處理器的性能日益提高、價格又不斷降低,使其性能價格比的優(yōu)勢非常明顯。因此,如何將單片微處理器應(yīng)用到燃氣熱水器水溫自動控制領(lǐng)域,為越來越多的燃氣熱水器生產(chǎn)廠家所重視。
本論文的研究正是適應(yīng)了這種發(fā)展趨勢,將單片機應(yīng)用于燃氣熱水器水溫自動控制系統(tǒng)中。
論文首先簡要介紹了燃氣熱水器的有關(guān)情況,對燃氣熱水器溫度控制系統(tǒng)軟件功能進行了需求分析;然后,根據(jù)系統(tǒng)所要實現(xiàn)的功能進行了PID控制算法的研究;接下來,闡明了系統(tǒng)應(yīng)用軟件所要達到的技術(shù)要求,重點研究了系統(tǒng)軟件的可靠性問題,并且按照這些要求對基于單片機的燃氣熱水器溫度控制系統(tǒng)軟件進行了設(shè)計,最后編程實現(xiàn)并調(diào)試.
本論文軟件的設(shè)計成功地實現(xiàn)了燃氣熱水器水溫的單片機智能調(diào)節(jié),具有很高的實用價值。
關(guān)鍵詞:溫度控制 軟件設(shè)計 PID算法
ABSTRACT
With the highly speedy development of computer technology, measurement apparatus, and control technology, more and more advanced technology, equipments and methods for measurement and control are applied in modern automation control realm. In all of these, because of the enhanced performance and reduced price of single chip microcomputer, making the advantage that its ratio of performance to price been obvious. Therefore, how to apply the single chip microcomputer to the temperature control of gas water heater , more and more producers of gas water heater concerned attach importance to it.
? The work of this monograph adapts to the development tendency, applying the single chip microcomputer to the temperature control of gas water heater.
? First of all, the monograph talks something about the gas water heater, analyzes the function demand of all modules of the control system; then , confirms the choice of the software arithmetic of PID according? to the system function; finally, this monograph? specifies the technique request., discusses about the reliability of the control system and list the main programs of the ware.
In this monograph, we successfully take automation control of the temperature of gas water heater realm based on the single chip microcomputer into truth. It has a wide development space.
Key Words:Temperature control Single chip microcomputer Software design PID
目錄
1 緒論 1
1.1 課題研究的背景 1
1.2課題研究的目的意義 1
1.3系統(tǒng)設(shè)置要求 2
1.4本領(lǐng)域技術(shù)水品比較 3
2、系統(tǒng)設(shè)計技術(shù)基礎(chǔ) 3
2.1 RCM5700功能模塊 4
2.2傳感器的選擇性能的介紹 7
2.3關(guān)鍵器件選擇與性能介紹 12
3 數(shù)字溫濕度計的軟件設(shè)計 18
3.1 Dynamic C程序設(shè)計 18
3.2 RCM5700功能模塊的編程控制 19
3.3系統(tǒng)主控軟件設(shè)計 19
3.4 I/O接口及通信軟件設(shè)計 20
4系統(tǒng)調(diào)試 21
4.1 RCM5700功能模塊的測試 21
4.2系統(tǒng)各軟件功能模塊的測試 22
4.3系統(tǒng)軟硬件綜合測試………………… ……………………………………… 29
5 系統(tǒng)總結(jié)與展望 30
參考文獻 32
致謝 33
附錄 34
家用數(shù)控煤氣熱水器控制器
——軟件設(shè)計
鐘浪清
1 緒論
1.1 課題研究的背景
針對家庭煤氣熱水器水溫調(diào)節(jié)控制不方便的問題,結(jié)合溫度傳感器、單片機、電磁閥等器件,設(shè)計水溫調(diào)節(jié)自動控制器軟件,通過檢測水溫、控制供氣量,實現(xiàn)對水溫的設(shè)定和自動控制。用單片機模塊分路控制繼電器、發(fā)光二極管,可分別控制三路發(fā)光二極管,能設(shè)定溫度和時間。主要由溫度傳感器、電磁閥、溫度設(shè)定機構(gòu)和冷熱切換裝置組成。其控制原理是設(shè)置某個溫度數(shù)值,用溫度傳感器測量水溫,當出水閥的水溫高于用戶選擇的溫度時,經(jīng)過溫度控制系統(tǒng)的比較,輸出一個高電平信號控制多個出氣閥,降低煤氣管的出氣孔大小,從而使出水閥的水溫降低,當出水閥的水溫低于用戶選擇的溫度時,經(jīng)過溫度控制系統(tǒng)的比較,輸出一個低電平信號控制出氣閥,升高煤氣管的總出氣孔大小,從而使出水閥的水溫升高,通過觸摸鍵和液晶顯示屏實現(xiàn)人機交互界面,冷熱切換自動完成,運算放大電路和開關(guān)電路實現(xiàn)雙位調(diào)節(jié)。這類智能空調(diào)溫控器產(chǎn)品改善了人機交互界面,解決了“用戶調(diào)節(jié)水溫不方便”等問題。[11]
1.2課題研究的目的意義
針對家庭煤氣熱水器水溫調(diào)節(jié)控制不方便的問題,擬采用溫度傳感器和單片機控制系統(tǒng)的多個電磁閥,控制供氣量的大小,實現(xiàn)水溫控制,溫度調(diào)節(jié)。數(shù)字式溫度傳感器能把溫度物理量,通過溫度敏感元件和相應(yīng)電路轉(zhuǎn)換成方便計算機、plc、智能儀表等數(shù)據(jù)采集設(shè)備直接讀取得數(shù)字量的傳感器。這樣就方便我們選擇適合的水溫。
所以這個方案有很好的實際運用方面,在家庭使用中,往往由于出水冷熱不均而導致很多麻煩,也帶給人們很多煩惱,在沖涼過程中,水壓是隨著周圍家庭用水量而起伏變化的,周圍家庭用水少,自來水管的壓強就大,反之,自來水管壓強就小,但現(xiàn)在的家用熱水器卻是手動調(diào)整。當冷熱不均時,會導致用戶感冒生病,在這基礎(chǔ)下,我們研究的課題有著很大意義。家用數(shù)控煤氣熱水器控制器設(shè)計,它能直接控制水溫的變化,用戶可以選擇適合的水溫,溫度將在屏幕顯示出來,當水壓小時,系統(tǒng)會自動調(diào)節(jié)煤氣的出氣量,使溫度控制在用戶選擇的溫度中。?
? 通過硬件電路設(shè)計和軟件程序設(shè)計的數(shù)字式溫度計具有智能化、高精度、高可靠性等優(yōu)勢。溫度傳感器由相對溫度傳感器,單片機,電磁閥,信號放大器和總線接口構(gòu)成。設(shè)計水溫調(diào)節(jié)自動控制器軟件,通過檢測水溫、控制供氣量,實現(xiàn)對水溫的設(shè)定和自動控制。用單片機模塊分路控制繼電器、發(fā)光二極管,可分別控制三路發(fā)光二極管,能設(shè)定溫度和時間。?
1.3系統(tǒng)設(shè)置要求
針對家庭煤氣熱水器水溫調(diào)節(jié)控制不方便的問題,結(jié)合溫度傳感器、單片機、電磁閥等器件,設(shè)計水溫調(diào)節(jié)自動控制器電路,通過檢測水溫、控制供氣量,實現(xiàn)對水溫的設(shè)定和自動控制。用單片機模塊分路控制繼電器、發(fā)光二極管,可分別控制三路發(fā)光二極管,能設(shè)定溫度和時間。
電磁閥
交流電源
溫度傳感器DS18B20
控制
RCM5700
1602顯示
設(shè)定溫度
繼電器
直流電源
圖2.1系統(tǒng)結(jié)構(gòu)框圖
1.4本領(lǐng)域技術(shù)水品比較
智能化已成為熱水器發(fā)展的主導趨勢之一。智能控制燃氣熱水器控制器采用智能控制思想,將智能控制技術(shù)與微電腦控制技術(shù)有機的結(jié)合,構(gòu)成一個高智能的機電一體化產(chǎn)品。該產(chǎn)品涉及到多種控制因素,它將水、電、氣和火融為一體。形成了智能控制燃氣熱水器的新概念,它具有以下特點:
(1)自動恒溫 根據(jù)水氣狀態(tài)控制器可自動調(diào)節(jié)水閥和氣閥的開度使出水溫度保持在設(shè)定的溫度上。
(2)超低水壓啟動 本控制器的水氣閥僅存有邏輯關(guān)系而無物理制約,因而有效地解決了高樓層低水壓用戶使用一般全自動熱水器不能正常洗浴的困難。
(3)數(shù)碼顯示鳴響提示 采用兩位LED數(shù)碼管顯示器,可顯示設(shè)定溫度、出水溫度、工作狀態(tài)(如無水、無氣、打火、火滅等),同時,有聲音提示。
(4)自動記憶 可自動記憶上次的洗浴溫度(與斷電無關(guān))。
(5)安全程度高 采用兩套電磁閥與多種安全保護措施,可防干燒,無火漏氣現(xiàn)象。
(6)操作方便 只需供電、供水、供氣、設(shè)定洗浴溫度即可正常工作。
市場前景及效益分析
精確恒溫。根據(jù)國家對燃氣熱水器恒溫標準的有關(guān)規(guī)定:恒溫效果關(guān)鍵看采用什么樣的“燃氣比例閥”及其反應(yīng)的速度。當水壓發(fā)生波動的時候,其出水溫度的波動范圍不能超過±3°C。新型恒溫燃氣熱水器可以將水溫的波動范圍控制在±1°C,這樣會讓您在沐浴的過程中更舒適。 高效節(jié)能。在節(jié)能方面不僅僅體現(xiàn)在節(jié)約用氣上,而且還要節(jié)約用水。
操作智能化。一款好的新型恒溫燃氣熱水器還得操作簡單方便,設(shè)計人性化。應(yīng)具備以下基本功能:1)遙控技術(shù),2)定水流量提示和定時功能;3)寬頻調(diào)溫功能;4)CALL(呼叫)功能等等。該控制器適用于各種容量的天然氣熱水器,是新一代熱水器的主流產(chǎn)品,具有極大的市場前景。[6]
2、系統(tǒng)設(shè)計技術(shù)基礎(chǔ)
2.1 RCM5700功能模塊
2.1.1 簡介
小型微處理器模塊 RCM5700 兼具微型 PCI Express 插卡的外形尺寸和帶有 10/100 Base-T 以太網(wǎng)功能和 128KB 靜態(tài)隨機存儲器的高性能 Rabbit? 5000 微處理器。RCM5700 同樣配備了1MB 的板載閃存。Rabbit? 5000 微處理器特性包括硬件 DMA,能與至多六個串行口共享的輸入/ 輸出線并具備四級其它引腳功能 ---其中包括可變相位 PWM, 外部輸入/ 輸出總線, 正交解碼器, 輸入捕獲。這使其成為一款快速,高效,適用于各種不同嵌入式應(yīng)用的理想的核心模塊。[7]
RCM5700 配有一個工作頻率可達 50MHz 的 Rabbit 5000 微處理器, 閃存, 雙時鐘( 主振蕩器和實時時鐘), 以及一個復位和管理 Rabbit 5000 所必須的電路。一個板邊接插件將RCM5700 用戶接口連接到裝有 RCM5700 的主板的 52- 腳微型 PCI Express 插槽上。RCM5700 從其安裝的主板上接受其 +3.3 V 的電壓。RCM5700 可通過主板與其它與CMOS 相容的數(shù)字設(shè)備連接。
2.1.2優(yōu)點
RCM5700 的優(yōu)點:(1)使用完整設(shè)計和生產(chǎn)的,具有“ 運行就緒/ 編程就緒” 的微處理器模塊,能使您快速完成產(chǎn)品開發(fā)并投入市場。(2)比購買和組裝單獨組件更具競爭力的價格。(3)簡單的 C 語言程序開發(fā)和調(diào)試。用于下載經(jīng)編譯的 Dynamic C.bin 文件的Rabbit Field Utility。(4)能容納數(shù)萬行代碼大型程序并存儲豐富數(shù)據(jù)的大容量存儲器。(5)參考設(shè)計使集成的以太網(wǎng)能利用無需特許權(quán)的 TCP/IP 軟件實現(xiàn)網(wǎng)絡(luò)連接。
2.1.3 硬件組成
RCM5700 標準開發(fā)包包含了您使用 RCM5700 模塊所必須的必備硬件。下述物品在開發(fā)包的標準版本中提供。
(1)RCM5700 模塊。
(2)配有支架/ 接頭的接口板。
(3)配有支架/ 接頭的應(yīng)用電路開發(fā)板。
(4)能通過接口板對 RCM5700 進行編程的 USB 線。
(5)<< 初始使用>> 手冊。
(6)用于某些示例程序的數(shù)字輸入/ 輸出及串行通訊附件板。
2.1.4 軟件系統(tǒng)
RCM5700 以 Dynamic C 的 10.44 或更高版本得到編程。開發(fā)包的 CD-ROM 內(nèi)含了Dynamic C 的兼容版本。該版本的 Dynamic C 包含了著名的μC/OS-II 實時操作系統(tǒng),端對端協(xié)議 (PPP), FAT 文件系統(tǒng), RabbitWeb, 以及其它可選庫。[8]
2.1.5 RCM5700 數(shù)字輸入和輸出
RCM5700引腳說明如圖5.1所示:
圖5.1 RCM5700 引腳說明圖
RCM5700 模塊中 Rabbit 5000 微型處理器的端口圖如圖6.1所示:
圖6.1 Rabbit 5000 微型處理器端口圖
2.1.6 存儲器輸入/ 輸出接口
Rabbit 5000 地址線 (A0–A19) 和數(shù)據(jù)線 (D0–D7) 從內(nèi)部連接到板載閃存芯片。I/0 寫入(/IOWR) 和 I/0 讀出(/IORD) 能用于連接外部設(shè)備。
并行口 A 也能用作外部輸入/ 輸出數(shù)據(jù)總線將外部輸入/ 輸出和主數(shù)據(jù)總線隔離。并行口 B 的引腳 PB2–PB7 也能用于外部地址總線。
在把外部輸入/ 輸出總線用于以太網(wǎng)或應(yīng)用電路開發(fā)板上的 LCD/ 小鍵盤模塊時,或者為了任何其他理由, 您必須在程序的開始部分添加以下指令行。
#define PORTA_AUX_IO // 以便啟用外部輸入/ 輸出總線
2.1.7 其它輸入和輸出
Status, /RESET_IN 和 SMODE 輸入/ 輸出通常都是和編程口相關(guān)聯(lián)的。由于當某個程序被下載并在運行的時候系統(tǒng)并不會使用Status 引腳, Status 引腳引能用于一般目的的 CMOS 輸出。在第 4.2.3 節(jié)內(nèi)有對于編程口的更詳細說明。
RESET_IN 是一個外部輸入, 可以用于Rabbit 5000 微處理器和 RCM5700
存儲器的復位。/ RESET 是一個來自復位電路的輸出, 能夠用于其它外圍設(shè)備的復位。兩個 SMODE 引腳, SMODE0 和 SMODE1 被結(jié)合在一起, 當 RCM5700 在運行模式工作時可以用作特別輸入。這兩個引腳的邏輯狀態(tài)能決定復位以后的啟動程序。
2.1.8 串行口
共有被指定為串行口 A, B, C, D, E 和 F 的六個串行口。所有六個串行口都能以高達系統(tǒng)時鐘 1/8波特率的異步模式工作。一個異步端口能夠處理 7 或 8 個數(shù)據(jù)位。該端口也支持第九數(shù)據(jù)位地址方案, 其中會發(fā)送一個額外的數(shù)據(jù)以便標識訊息內(nèi)的第一個字節(jié)。
串行口 A 通常被用作編程口, 但是在應(yīng)用程序的開發(fā)完成以后以及當 RCM5700 在運行模式工作的時候也可以用作異步或時鐘串行口。串行口 B, C 和 D 也能夠以時鐘模式工作。在這種模式工作時, 有一個時鐘線路能夠為數(shù)據(jù)的輸入和輸出同步計時。兩種通訊設(shè)備中的任何一種都能提供時鐘功能。串行口 E 和 F 也能被配置為 SDLC/HDLC 串行口。這兩個端口也支持 SDLC 格式的 IrDA 協(xié)議。在使用之前必須首先配置串行口 E 和 F。以下的宏指令就是達到
#define SERE_TXPORT PEDR
#define SERE_RXPORT PEDR
#define SERF_TXPORT PFDR
#define SERF_RXPORT PFDR
2.1.9存儲器
靜態(tài)存儲器 RCM5700 的電路板具有 Rabbit 5000 微處理器上 128KB 的芯片內(nèi)置靜態(tài)隨機存儲器。
2.2傳感器的選擇性能的介紹
2.2.1 數(shù)字溫度傳感器DS18B20
DALLAS最新單線數(shù)字溫度傳感器DS18B20簡介新的“一線器件”體積更小、適用電壓更寬、更經(jīng)濟 Dallas 半導體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持 “一線總線”接口的溫度傳感器。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。DS18B20、 DS1822 “一線總線”數(shù)字化溫度傳感器 同DS1820一樣,DS18B20也 支持“一線總線”接口,測量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C。DS1822的精度較差為± 2°C ?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。 DS18B20、 DS1822 的特性 DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5°C??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報警溫度存儲在EEPROM中,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能價格比也非常出色! DS1822與 DS18B20軟件兼容,是DS18B20的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數(shù)的EEPROM,精度降低為±2°C,適用于對性能要求不高,成本控制嚴格的應(yīng)用,是經(jīng)濟型產(chǎn)品。 繼“一線總線”的早期產(chǎn)品后,DS1820開辟了溫度傳感器技術(shù)的新概念。DS18B20和DS1822使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟的測溫系統(tǒng)。[9]
2.2.2 DS18B20的內(nèi)部結(jié)構(gòu)
DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如圖8.1所示:
圖8.1 DS18B20的管腳排列圖
DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。
光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。
DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625℃/LSB形式表達,其中S為符號位。
圖9.1傳感器換算圖
這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。
例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為FC90H。
表9.1 數(shù)值轉(zhuǎn)換表
TEMPERATURE
DIGITAL OUTPUT(Binary)
DIGITAL OUTPUT(Hex)
+125℃
0000 0111 1101 0000
07D0h
+85℃
0000 0101 0101 0000
0550h
+25.0625℃
0000 0001 1001 0001
0190h
+10.125℃
0000 0000 1010 0010
00A2h
+0.5℃
0000 0000 0000 1000
0008h
0℃
0000 0000 0000 0000
0000h
-0.5℃
1111 1111 1111 1000
FFF8h
-10.125℃
1111 1111 0101 1110
FF5Eh
-25.0625℃
1111 1110 0110 1111
FE6Fh
-55℃
1111 1100 1001 0000
FC90h
2.2.3 DS18B20溫度傳感器的存儲器
DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。
暫存存儲器包含了8個連續(xù)字節(jié),前兩個字節(jié)是測得的溫度信息,第一個字節(jié)的內(nèi)容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一次上電復位時被刷新。第六、七、八個字節(jié)用于內(nèi)部計算。第九個字節(jié)是冗余檢驗字節(jié)。[10]
表9.2 DS18B20暫存寄存器分布
寄存器內(nèi)容
字節(jié)地址
溫度最低數(shù)字位
0
溫度最高數(shù)字位
1
高溫限值
2
低溫限值
3
保留
4
保留
5
計數(shù)剩余值
6
每度計數(shù)值
7
CRC校驗
8
該字節(jié)各位的意義如下
TM R1 R0 1 1 1 1 1:低五位一直都是1 ,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè)置為0,用戶不要去改動。R1和R0用來設(shè)置分辨率,如下表所示:(DS18B20出廠時被設(shè)置為12位)
表10.1 分辨率設(shè)置表
R1
R0
分辨率
溫度最大轉(zhuǎn)換時間
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
根據(jù)DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復位成功。
表10.2溫度傳感器控制指令表
指令
約定代碼
功能
讀ROM
33H
讀DS18B20中的編碼
符合ROM
55H
發(fā)出命令之后,接著發(fā)出64位ROM編碼,訪問單線總線上與該編碼相對的DS18B20使之作出響應(yīng),為下一步對該DS18B20的讀寫做準備
搜索ROM
0F0H
用于確定掛接在同一總線上的DS18B20的個數(shù)和識別64位ROM地址,為操作各器件做好準備
跳過ROM
0CCH
忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令,適用于單片工作
告警搜索命令
0ECH
執(zhí)行后,只有溫度超過設(shè)定值上限或下限的片子才做出響應(yīng)
溫度變換
44H
啟動DS18B20進行溫度轉(zhuǎn)換,轉(zhuǎn)換時間最長為500ms(典型為200ms),結(jié)果
讀暫存器
0BEH
存入內(nèi)部9字節(jié)RAM中
寫暫存器
4EH
發(fā)出向內(nèi)部RAM的第3.4字節(jié)寫上,下限溫度命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)
復制暫存器
48H
將RAM中3.4字內(nèi)容復制到E2PRAM
重調(diào)E2PRAM
0B8H
將E2PRAM中內(nèi)容恢復到RAM中3.4字節(jié)
讀供電方式
0B4H
讀DS18B20的供電模式,寄生供電時DS18B20發(fā)送“0”,外接電源供電DS18B20發(fā)送“1”
2.2.4 DS1820使用中注意事項
DS1820雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題:
(1)較小的硬件開銷需要相對復雜的軟件進行補償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS1820進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進行系統(tǒng)程序設(shè)計時,對DS1820操作部分最好采用匯編語言實現(xiàn)。
(2)在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820數(shù)量問題,容易使人誤認為可以掛任意多個DS1820,在實際應(yīng)用中并非如此。當單總線上所掛DS1820超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設(shè)計時要加以注意。
(3)連接DS1820的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達150m,當采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS1820進行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配問題。
(4)在DS1820測溫程序設(shè)計中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號,一旦某個DS1820接觸不好或斷線,當程序讀該DS1820時,將沒有返回信號,程序進入死循環(huán)。這一點在進行DS1820硬件連接和軟件設(shè)計時也要給予一定的重視。測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接VCC和地線,屏蔽層在源端單點接地。
2.3 關(guān)鍵器件選擇與性能介紹
2.3.1 電磁閥
兩位三通電磁閥通常與單作用氣動執(zhí)行機構(gòu)配套使用,兩位是兩個位置可控:開-關(guān),三通是有三個通道通氣,一般情況下1個通道與氣源連接,另外兩個通道1個與執(zhí)行機構(gòu)的進氣口連接,1個與執(zhí)行機構(gòu)排氣口連接,具體的工作原理可以參照單作用氣動執(zhí)行機構(gòu)的工作原理圖如圖12.1所示:
圖12.1 電磁閥工作原理圖
在氣路(或液路)上來說,兩位三通電磁閥具有1個進氣孔(接進氣氣源)、1個出氣孔(提供給目標設(shè)備氣源)、1個排氣孔(一般安裝一個消聲器,如果不怕噪音的話也可以不裝@_@)。 兩位五通電磁閥具有1個進氣孔(接進氣氣源)、1個正動作出氣孔和1個反動作出氣孔(分別提供給目標設(shè)備的一正一反動作的氣源)、1個正動作排氣孔和1個反動作排氣孔(安裝消聲器)。[3]
PVC電動調(diào)節(jié)三通球閥是閥與電動執(zhí)行器組成,由調(diào)節(jié)電動執(zhí)行器接受4~20mA信號啟動旋轉(zhuǎn)帶動閥體轉(zhuǎn)角為0~90°從而打開和關(guān)閉閥門,電動執(zhí)行器可搭配大部份之閥門,安裝配套容易。產(chǎn)品廣泛應(yīng)用于化工、石油、輕工、輕紡、礦山、電力、船舶、鍋爐、供水、交通、冶金、生化、食品制藥、制冷、造紙行業(yè)的系統(tǒng)控制等項目工程建設(shè)的理想配套產(chǎn)品。球閥是意大利進口FIP球閥,球閥密封性能優(yōu)良,流量系數(shù)大,流阻系數(shù)小,結(jié)構(gòu)簡單,使用壽命長,便于維修。電動執(zhí)行器是臺灣山野的電動執(zhí)行器其優(yōu)越性能,可適用于流體管道開關(guān)控制。[4]
消費電力: AC10W~300W
關(guān)閉時間: 8sec / 58sec 0°~90°
外殼材質(zhì):鋁合金粉體涂裝及塑料外兩種可供選擇。
最大扭力: 35~3500N-M
防水等級: IP67 , NEMA 4X
周圍溫度: -30℃ ~ +65℃
周圍濕度: 35%~95%RH以下
執(zhí)行器電壓:AC:1ψ110V、1ψ220V、3ψ220V、3ψ380V、3ψ440V、24V; DC24V 馬達:標準震動頻率電磁馬達。
H等級:OM-1、OM-A; F等級BM-2、OM-2~OM-12.
內(nèi)建溫控保護裝置 (135°) 防止馬達燒毀。
開度指示器:所有的型號在外殼上蓋正上方都具有連續(xù)機械裝置開度指示器。
手動操作:無離合器設(shè)計,在電力中斷時,手動操作可以在沒有板手、離合器、以及煞車之下運轉(zhuǎn)。當電動馬達正在運轉(zhuǎn)時,不會因為人為操作手輪而影響它的轉(zhuǎn)動。齒輪組:高級合金鋼齒輪為了避免閥回轉(zhuǎn)具有自動閉鎖的功能。齒輪組在廠內(nèi)已涂抹足夠的抗高溫潤滑油。
工作條件:
四周溫度:-30oC ~ +65oC.
濕度:30% ~ 95%.
2.3.2 LED點陣顯示屏
1602采用標準的16腳接口,其中:
第1腳:VSS為地電源
第2腳:VDD接5V正電源
第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度
第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。
第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù)。
第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
第15~16腳:空腳
字符型液晶顯示模塊的基本特點:
(1)液晶顯示屏是以若干個5′8或5′11點陣塊組成的顯示字符群。每個點陣塊為一個字符位,字符間距和行距都為一個點的寬度。
(2)主控制驅(qū)動電路為HD44780(HITACHI)及其他公司全兼容電路,如SED1278(SEIKO EPSON)、KS0066(SAMSUNG)、NJU6408(NER JAPAN RADIO)。
(3)具有字符發(fā)生器ROM可顯示192種字符(160個5′7點陣字符和32個5′10點陣字符,見附錄一)
(4)具有64個字節(jié)的自定義字符RAM,可自定義8個5′8點陣字符或四個5′11點陣字符。
(5)具有80個字節(jié)的RAM。
(6)標準的接口特性,適配M6800系列MPU的操作時序。
(7)模塊結(jié)構(gòu)緊湊、輕巧、裝配容易。
(8)單+5V電源供電。
(9)低功耗、長壽命、高可靠性
1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,如表1所示,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,
HY系列接口特性及時序如表15.1所示:
表15.1 HY系列接口特性及時序
項 目
符號
最小值
最大值
單位
使能周期
tcycE
1000
-
ns
使能脈沖寬度
Pweh
450
-
ns
使能升、降時間
Ter,Tef
-
25
ns
地址建立時間
Tas
140
-
ns
地址保持時間
Tah
10
-
ns
數(shù)據(jù)建立時間
Tdsw
195
-
ns
數(shù)據(jù)保持時間
Th
10
-
ns
項 目
符號
最小值
最大值
單位
使能周期
tcycE
1000
-
ns
使能脈沖寬度
Pweh
450
-
ns
使能升、降時間
Ter,Tef
-
25
ns
地址建立時間
Tas
140
-
ns
地址保持時間
Tah
10
-
ns
數(shù)據(jù)延遲時間
Tddr
-
320
ns
數(shù)據(jù)保持時間
Tdhr
10
-
ns
表15.2信號真值表
RS
R/W
E
功能
0
0
下降沿
寫指令代碼
0
1
高電平
讀忙標志和AC碼
1
0
下降沿
寫數(shù)據(jù)
1
1
高電平
讀數(shù)據(jù)
表15.3 CGROM和CGRAM中字符代碼與字符圖形對應(yīng)關(guān)系表
0000
0010
0011
0100
0101
0110
0111
1010
1011
1100
1101
1110
1111
XXXX0000
CGRAM(1)
0
P
\
p
一
グ
三
á
P
XXXX0001
(2)
!
1
A
Q
a
q
□
ァ
チ
乄
?
q
XXXX0010
(3)
“
2
B
R
b
r
ㄏ
∽
〣
ヱ
β
Θ
XXXX0011
(4)
#
3
C
S
c
s
ィ
ト
ヘ
ヨ
μ
∩
XXXX0100
(5)
$
4
D
T
d
t
テ
ワ
ㄍ
ン
В
0
XXXX0101
(6)
%
5
E
U
e
u
ザ
ン
ゝ
ィ
P
∑
XXXX0110
(7)
&
6
F
V
f
v
ピ
ヒ
ナ
テ
g
XXXX0111
(8)
>
7
G
W
g
w
ア
ベ
ヵ
モ
ξ
X
XXXX1000
(1)
(
8
H
X
h
x
イ
ミ
ヽ
ム
-1
X
XXXX1001
(2)
)
9
I
Y
i
y
ヱ
ワ
レ
リ
j
y
XXXX1010
(3)
”
;
J
Z
j
z
ュ
ノ
リ
レ
j
千
XXXX1011
(4)
+
:
K
[
k
{
オ
サ
レ
ロ
x
萬
XXXX1100
(5)
フ
<
L
¥
l
|
ヒ
ミ
ウ
ビ
ヌ
ズ
XXXX1101
(6)
_
=
M
]
m
}
エ
サ
っ
ソ
キ
+
XXXX1110
(7)
.
>
N
`
n
.
ヨ
ヒ
ホ
ハ
ń
XXXX1111
(8)
/
?
O
—
o
←
ツ
ソ
ヮ
ロ
?
1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表16.1所示
表16.1 1602液晶模塊內(nèi)部的控制器指令表
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清顯示
0
0
0
0
0
0
0
0
0
1
2
光標返回
0
0
0
0
0
0
0
0
1
*
3
置輸入模式
0
0
0
0
0
0
0
1
I/D
S
4
顯示開/關(guān)控制
0
0
0
0
0
0
1
D
C
B
5
光標或字符移動
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符發(fā)生器地址
0
0
0
1
字符發(fā)生存儲器地址
8
置數(shù)據(jù)存儲器地址
0
0
1
顯示數(shù)據(jù)存儲器地址(ADD)
9
讀忙標志或地址
0
1
BF
記數(shù)器地址
10
讀數(shù)到CGRAM或DDRAM
1
0
要寫的數(shù)
11
從CGRAM或DDRAM讀數(shù)
1
1
讀出的數(shù)據(jù)
它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)
指令1:清顯示,指令碼01H,光標復位到地址00H位置
指令2:光標復位,光標返回到地址00H
指令3:光標和顯示模式設(shè)置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效
指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍
指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標
指令6:功能設(shè)置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符
指令7:字符發(fā)生器RAM地址設(shè)置
指令8:DDRAM地址設(shè)置
指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。
指令10:寫數(shù)據(jù)
指令11:讀數(shù)據(jù)
?? 液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符, DM-162的內(nèi)部顯示地址如表17.1所示:.
表17.1 DM-162的內(nèi)部顯示地址表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
(1)液晶顯示屏是以若干個5′8或5′11點陣塊組成的顯示字符群。每個點陣塊為一個字符位,字符間距和行距都為一個點的寬度。
(2)主控制驅(qū)動電路為HD44780(HITACHI)及其他公司全兼容電路,如SED1278(SEIKO EPSON)、KS0066(SAMSUNG)、NJU6408(NER JAPAN RADIO)。
(3)具有字符發(fā)生器ROM可顯示192種字符(160個5′7點陣字符和32個5′10點陣字符,見附錄一)
(4)具有64個字節(jié)的自定義字符RAM,可自定義8個5′8點陣字符或四個5′11點陣字符。
(5)具有80個字節(jié)的RAM。
(6)標準的接口特性,適配M6800系列MPU的操作時序。
(7)模塊結(jié)構(gòu)緊湊、輕巧、裝配容易。
(8)單+5V電源供電。
3 數(shù)字溫濕度計的軟件設(shè)計
3.1 Dynamic C程序設(shè)計
系統(tǒng)硬件電路的總體設(shè)計主要包括了RCM5700模塊電路設(shè)計、電磁閥控制電路、溫度傳感器電路設(shè)計、液晶顯示電路以及通信接口電路設(shè)計如圖18.1所示:
圖18.1 通信接口電路圖
3.2 RCM5700功能模塊的編程控制
RCM5700功能模塊的編程主要針對系統(tǒng)功能分為以下幾部分:溫濕度傳感器模塊控制、LCD顯示模塊控制、串口通信模塊控制、鍵盤以及電磁閥控制等。
其中溫度傳感器根據(jù)硬件電路設(shè)計與連接關(guān)系,該傳感器輸出數(shù)據(jù)采用串行接口方式,與RCM5700模塊的PB3和PB5相連,其中PB3作為時鐘SCLK,PB5作為數(shù)據(jù)DATA。[8]
熱水經(jīng)過傳感器轉(zhuǎn)化為數(shù)字信號,數(shù)據(jù)采用串行方式與RCM5700模塊連接,其中RCM5700模塊中PD2、PE2、PD1、PE2分別與AD轉(zhuǎn)換器的CLK、DIN、DOUT、CS相連,以此實現(xiàn)數(shù)字溫度傳感器和RCM5700模塊的相連,將熱水溫度數(shù)字化輸出送入RCM5700模塊中處理。
LCD顯示模塊控制根據(jù)硬件電路設(shè)計與RCM5700模塊連接關(guān)系,主要由RCM5700模塊的PA端口實現(xiàn)數(shù)據(jù)線連接,利用RCM5700模塊完成對LCD顯示模塊的控制。LCD顯示模塊控制信號由RCM5700模塊中的PD0-PD3實現(xiàn)控制。
串口通信主要利用RCM5700模塊端口PC0和PC1作為串口通信端口,分別定義為TXD和RXD。
3.3系統(tǒng)主控軟件設(shè)計
本系統(tǒng)主控軟件主要借助Dynamic C實現(xiàn)編程與控制,主要包括了溫度檢測、顯示子程序,電磁閥控制、響應(yīng)與顯示子程序,液晶顯示屏驅(qū)動程序以及系統(tǒng)串口通信程序。系統(tǒng)的軟件流程圖如圖20.1所示:
傳感器DS18B20(讀取信號)
溫度數(shù)字Y
主控制器RCM5700
(比較X,Y)
用戶需要溫度X
1602LCD顯示
高電平
低電平
X>Y
X
收藏