完美升級版】過程控制系統(tǒng)畢業(yè)論文_第1頁
完美升級版】過程控制系統(tǒng)畢業(yè)論文_第2頁
完美升級版】過程控制系統(tǒng)畢業(yè)論文_第3頁
完美升級版】過程控制系統(tǒng)畢業(yè)論文_第4頁
完美升級版】過程控制系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、(此文檔為word格式,下載后您可任意編輯修改?。┚w論在科技高速發(fā)展的信息時代,電子技術、微型計算機技術的應用更是空 前廣泛,伴隨著科學技術和生產不斷發(fā)展,需要對各種參數進行溫度測量。 在單片機溫度測量系統(tǒng)中最關鍵的是測量溫度、控制溫度和保持溫度,溫 度測量是對工業(yè)對象中主要的被控參數之一,因此單片機測量是對溫度的 有效的測量,并能在工業(yè)生產中得到廣泛應用。本次課設所研究的課題是“基于單片機的熱水鍋爐溫度控制系統(tǒng)設計, 主要介紹了對熱水鍋爐的溫度顯示、控制及報警、實現了溫度的實時顯示 及控制。鍋爐水溫控制部分采用了 AT89S52單片機、DS18B20溫度傳感 器以及步進電機來實現,通過溫度傳

2、感器DS18B20采集環(huán)境溫度,以單片 機為核心控制部件將采集到的溫度通過串口通信MAX232輸入到電腦中,在電腦中通過C語言編程來控制單片機的工作方式, 將程序下載到單片機 中,通過設定溫度與給定溫度的比較來控制電機的正反轉來模擬升溫和降 溫使系統(tǒng)工作在設定的溫度范圍之內,當溫度高于設定值時,通過電機正 轉來模擬開大冷水閥,進而使水溫降低;當溫度低于設定值時,通過電機 反轉來模擬關小冷水閥,進而使水溫升高;直到在規(guī)定的溫度范圍內進行 恒溫加熱。本次課設通過Labview來繪制人機交互界面設置溫度的上下限。 并且通過該界面可以實時顯示當前的溫度值,發(fā)出報警信號等,便于操作 人員觀察。關鍵詞:A

3、T89S52單片機DS18B20溫度傳感器 串口通訊 Labview步進電機一設計任務、要求和技術指標1.1設計任務 系統(tǒng)構成:系統(tǒng)主要由溫度傳感器,單片機控制系統(tǒng)、鍋爐溫度對象、執(zhí)行器(查找 資料自己選擇)等組成。溫度傳感器、控制器、執(zhí)行器可查找資料自行選擇,控制器選擇單片機為 控制器。單片機型號自選 寫出溫度測量與控制過程,繪制溫度控制系統(tǒng)組成框圖。 (1)系統(tǒng)硬件電路設計自選。溫度測量程序、溫度校準程序、溫度控制程序等部分組成。1.2主要技術指標(1) 溫度顯示誤差不超過 1C。(2) 溫度顯示范圍為0C 99C。二、總體設計方案2.1設計思路本設計方案采用 AT89S52單片機作為控制

4、器,DS18B20芯片作為溫度傳感器,步進電機作為執(zhí)行器構成過程控制系統(tǒng),來模擬熱水鍋爐溫度 控制系統(tǒng)。通過溫度傳感器DS18B20采集鍋爐水溫,以單片機為核心控制 部件將采集到的溫度通過串口輸入到電腦中,在電腦中通過labview組態(tài)軟件來顯示實時溫度和設置預置溫度,并根據實時溫度與預置溫度的偏差 大小控制進水閥門的開關,進而達到調節(jié)鍋灶水溫的目的。當實時溫度高 于設定值時,通過電機正轉來模擬開大冷水閥,進而使水溫降低;當溫度 低于設定值時,通過電機反轉來模擬關小冷水閥,進而使水溫升高;直到 在規(guī)定的溫度范圍內進行恒溫加熱。本次課設通過Labview來繪制人機交 互界面,設置所需溫度值。2.

5、2系統(tǒng)總體框圖2.3系統(tǒng)框圖三、控制器AT89S523.1 AT89S52 簡介AT89S52 是一種低功耗、高性能CMOS啦微控制器,具有8K在系統(tǒng)可程Flash存儲器。使用 Atmel公司高密度非易失性存儲器技術 制造,與工業(yè)80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程亦適于常規(guī)編程器在單芯片上擁有靈巧的8位CPU和在系統(tǒng)可編程 Flash,使得AT89S52為眾多嵌入式控制應用系 統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash、256字節(jié)RAM 32位IO 口線、看門狗定時器,2個數據指針、三個 16位 定時器計數器、一個

6、 6向量2級中斷結構、 全雙工串行口,片內晶振及時鐘電路。另外AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作允許 RAM定時器計數器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復 位為止。電路圖如下:U4F10 1Fll 2 円2 EFl 3 4FTTTP16 JFFTTP112 3 4 5 6 7.1 -1p p p p p Pgl 2 3 4 5 n popopopo-popopo站POC孫pg英FQ3站Pit33 P06 至Fo7INTIINTOINT1H fC47T1TOEA

7、/VPXIX2RD WRAT89S52202122232252627 ppppppppRXDTXDALEPPSEII21 P2O22 P21 訂PM 帀PA 藥PS25 PZ5即P藥2 P2?衛(wèi)QD11 THD 犯蟲LE四、傳感器 DS18B20DS18B20是美國DALLAS半導體公司最新推出的一種改進型智能溫 度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度, 并且可根據實際要求通過簡單的編程實現9-12位的數字值讀數方式。DS18B20的性能特點如下:?獨特的單線接口僅需一個端口引腳進行通訊?簡單的多點分布應用?無需外部器件?可通過數據線供電?零待機功耗?測溫范圍-55+1

8、25C,以0SC遞增。華氏器件-67+2570F,以0.90F遞增?溫度以9位數字量讀出?溫度數字量轉換時間200ms (典型值)?用戶可定義的非易失性溫度報警設置?報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件。DS18B20勺測溫原理如圖333所示,圖中低溫度系數晶振的振蕩頻 率受溫度的影響很小用于產生固定頻率的脈沖信號送給減法計數器1,高溫度系數晶振隨溫度變化其震蕩頻率明顯改變,所產生的信號作為減法計 數器2的脈沖輸入, 圖中還隱含著計數門,當計數門打開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖后進行計數,進而完成溫度測量.計數門的開啟時間由高溫度系數振蕩器來決定

9、,每次測量前,首先將 -55 C所對應的基數分別置 入減法計數器1和溫度寄存器中,減法計數器 1和溫度寄存器被預置在 -55 C所對應的一個基數值。減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減 法計數器1的預置值減到0時溫度寄存器的值將加1,減法計數器1的預 置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信 號進行計數,如此循環(huán)直到減法計數器 2計數到0時,停止溫度寄存器值 的累加,此時溫度寄存器中的數值即為所測溫圖2中的斜率累加器用于補償和修正測溫過程中的非線性其輸出用,于修正減法計數器的預置值,只 要計數門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度

10、值, 這就是DS18B20勺測溫原理。另外,由于DS18B2C單線通信功能是分時完成的,他有嚴格的時隙概 念,因此讀寫時序很重要。系統(tǒng)對 DS18B20勺各種操作必須按協議進行。操作協議為:初始化 DS18B20(發(fā)復位脈沖)-發(fā)ROM功能命令-發(fā)存儲 器操作命令f處理數據。圖333 DS18B20測溫原理圖五、接口通訊單元51單片機有一個全雙工的串行通訊口, 所以單片機和電腦之間可以方便地 進行串口通訊。進行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是 TTL電平的,兩者之間必須有一個電平轉換電 路,因此采用專用芯片MAX2324行轉換。max232資料簡介

11、:該產品是由德州儀器公司(TI)推出的一款兼容RS232標準的芯片。由于電腦串口 rs232電平是-10v +10v,而一般的單片機應用系統(tǒng)的信號 電壓是ttl電平0 +5v,max232就是用來進行電平轉換的,該器件包含2驅 動器、2接收器和一個電壓發(fā)生器電路提供 TIAEIA-232-F電平。該器件符合TIAEIA-232-F標準,每一個接收器將 TIAEIA-232-F電平 轉換成5-V TTLCMOSt平。每一個發(fā) 送器將TTLCMOSt平轉換成 TIAEIA-232-F 電平。主要特點:1、單5V電源工作2、Li nBiCMOSTMX 藝技術3、兩個驅動器及兩個接收器4、 30V輸入

12、電平5、低電源電流:典型值是 8mA6 符合甚至優(yōu)于 ANSI標準EIATIA-232-E 及ITU推薦標準 V.287、ESD保護大于 MIL-STD-883 (方 法 3015)標準的 2000V5 1單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以 方便地進行串口通訊。進行串行通訊時要滿足一定的條件,比如電腦的串 口是RS232電平的,而單片機的串口是 TTL電平的,兩者之間必須有一個 電平轉換電路,我采用了專用芯片MAX232進行轉換,雖然也可以用幾個三極管進行模擬轉換,但是還是用專用芯片更簡單可靠。三、系統(tǒng)總工作原理工作原理本設計方案采用 AT89S52單片機作為控制器,DS

13、18B20芯片作為溫 度傳感器,步進電機作為執(zhí)行器構成過程控制系統(tǒng),來模擬熱水鍋爐溫度 控制系統(tǒng)。通過溫度傳感器DS18B20采集鍋爐水溫,以單片機為核心控制 部件將采集到的溫度通過串口輸入到電腦中,在電腦中通過labview組態(tài) 軟件來顯示實時溫度和設置預置溫度,并根據實時溫度與預置溫度的偏差 大小控制進水閥門的開關,進而達到調節(jié)鍋灶水溫的目的。當實時溫度高 于設定值時,通過電機正轉來模擬開大冷水閥,進而使水溫降低;當溫度 低于設定值時,通過電機反轉來模擬關小冷水閥,進而使水溫升高;直到 在規(guī)定的溫度范圍內進行恒溫加熱。本次課設通過Labview來繪制人機交 互界面,設置所需溫度值。系統(tǒng)通過

14、DS18B20檢測鍋爐的水溫,DS18B20作為全數字式的溫度 傳感器,將所測溫度以數字量形式傳給 AT89S52單片機,單片機先不直接 處理所測溫度,而是將溫度傳給上位機,計算機通過labview對溫度信息進行記錄和處理然后又發(fā)送到單片機通過單片機控制執(zhí)行器件。Labview先對溫度進行中值濾波以消除隨機誤差。然后再與設定溫度相減以取得偏 差,然后再根據偏差方向控制步進電機的正反轉以調節(jié)冷水閥的開度。進 而達到控制鍋爐水溫的目的七、參考文獻1、 馬淑華 單片機原理與接口技術北京郵電大學出版社2、 任彥碩 自動控制系統(tǒng)北京郵電大學出版社3、 譚浩強C語言程序設計清華大學出版社八、結束語通過本次

15、課程設計,將之前所學的專業(yè)課單片機原理、過程控 制系統(tǒng)、虛擬儀器、C語言等課程有機的結合到了一起。將所 學的知識付諸于實踐是一件很興奮的事情,這讓我明白了自己所學的知識 與實際的生產生活有著很大的聯系。但通過本次課設我也發(fā)現了自己有很 多不足之處,對編程缺乏興趣、對一些本專業(yè)的軟件不能熟練的掌握等缺 點。因此,在即將到來的畢業(yè)設計中,我要主動去學習一些軟件的用法, 不拿不敢興趣為理由,做出一個漂亮的作業(yè)。附錄1源程序*主程序*#includereg52.)unsigned char i;for(i=0;ivn;i+)delay1ms();*進電機正*void motor_ffw()unsign

16、ed char i; unsigned char j; for (j=0; j8; j+)if(jieshou=3) break; for (i=0; i8; i+)P1 = FFWi; delaynms(4);轉1*n圈退出此循環(huán)程序一個周期轉45度取數據調節(jié)轉速*void motor_rev() unsigned char i; unsigned int j; for (j=0; j8; j+)退出此循環(huán)程序一個周期轉45度取數據調節(jié)轉速 if(jieshou=0) break;for (i=0; i8; i+) P1 = REVi; delaynms(4);串口初始化void UART_

17、lnit(void)SCON = 0x50;串口工作方式為1, 串行允許接收TMOD = 0x20;定時器1工作在方式2PCON = 0x80; SMOD = 1;波特率加倍TH1 = 0xfd;波特率 9600bps fosc=11.0592MHzTL1 = 0xfd;ES = 1;開串口中斷TR1 = 1;允許定時器1工作EA = 1;開總中斷 串口發(fā)送一個字節(jié)void Uart_SendChar(short int dat)SBUF = dat;待發(fā)送的數據寫入緩沖區(qū)while(!TI);等待發(fā)送完成TI = 0;清零發(fā)送標志位*以下是DS18B20的操作程序*sbit DQ=P3八3;

18、unsigned char time; 設置全局變量,專門用于嚴格延時*函數功能:將DS18B20傳感器初始化,讀取應答信號*bit Init_DS18B20(void)bit flag;DQ = 1;先將數據線拉高for(time=0;time2;time+)略微延時約 6 微秒;DQ = 0;再將數據線從高拉低,要求保持 480960usfor(time=0;time200;time+)略微延時約 600 微秒;以向DS18B20發(fā)出一持續(xù)480960us的低電平復位脈沖DQ = 1;釋放數據線(將數據線拉高)for(time=0;time10;time+);延時約30u(釋放總線后需等待

19、1560us讓DS18B20輸出存在脈沖)flag=DQ;讓單片機檢測是否輸出了存在脈沖(DQ=0表示存在)for(time=0;timev200;time+) 延時足夠長時間,等待存在脈沖輸出完畢return (flag); 返回檢測成功標志*函數功能:從DS18B20讀取一個字節(jié)數據出口參數:dat*unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat; 儲存讀出的一個字節(jié)數據for (i=0;i8;i+)DQ =1;先將數據線拉高_nop_();等待一個機器周期DQ = 0;單片機從DS18B20讀書據時,將

20、數據線從高拉低即啟動讀時序_nop_();等待一個機器周期DQ = 1;將數據線人為拉高,為單片機檢測DS18B20的輸出電平作準備for(time=0;time=1;if(DQ=1)dat|=0x80;如果讀到的數據是1,則將1存入dat elsedat|=0x00;如果讀到的數據是0,則將0存入dat 將單片機檢測到的電平信號 DQ存入ri for(time=0;time8;time+)1us;延時3us,兩個讀時序之間必須有大于的恢復期return(dat);返回讀出的十六進制數據*函數功能:向DS18B20寫入一個字節(jié)數據入口參數:dat*WriteOneChar(unsigned c

21、har dat)unsigned char i=0;for (i=0; i8; i+)DQ =1;nop();先將數據線拉高等待一個機器周期DQ=0;將數據線從高拉低時即啟動寫時序DQ=dat&0X01;利用與運算取出要寫的某位二進制數據,并將其送到數據線上等待 DS18B20采樣for(time=0;time10;time+);延時約30us, DS18B20在拉低后的約1560us期間從數據線上采樣DQ=1;釋放數據線for(time=0;time=1;將dat中的各二進制位數據右移1位for(time=0;time255) TH+; TN=TH*16+TL16;TH*16+TL16部分被丟棄了TD=( TL%16)*1016; 以16取整, TN=TH*16+TL16;TH*16+TL16部分被丟棄了TD=( TL%16)*1016;以16取整,如果低8位大于255,向高8位進1實際溫度值=(TH*25

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論