《光電檢測技術及系統》課程設計 ----氣體流速測試系統設計 日 期:2017 年 11 月 21 日 目錄 摘 要 1 引 言 2系統總體設計 2.1總體框圖: 3 硬件電路設計 3.1 主電路 3.2 開關和電源 4 制作與調試 4.1 硬件電路的布線與焊接 4.2 調試 4.3 實測及誤差分析 測試方案: 測試結果: 5 結論 參考文獻 附錄 附錄1: 原理圖 附錄2: 源程序
摘要 在供熱和空氣調節中,常需對流體尤其是氣流的速度進行測量。通過它,可以了解飛流的流動規律,也可經過一定計算得到其休積流量、質量流盈或動壓等有關參數。該氣體流速測試系統以傳感器與單片機STC12C5A60S2組成的氣體流速測試系統。流速傳感器將采集到的流速數據傳給單片機,單片機再對接受到的數據進行處理,將數據傳送到LCD1602液晶顯示屏上進行顯示。
1 引 言氣體流速的檢測和控制關系著產品的性能,是裝置能否安全運行的一個重要指標,氣體流速對一些大型反應裝置起著控制作用,可以通過檢測氣體流速來實現對反應的控制?梢姎怏w流速的檢測對人們的重要性,本設計就是對氣體流速的測量。氣體流速測試系統以傳感器、單片機STC12C5A60S2與LCD1602液晶組成的氣體流速測試系統。 2系統總體設計2.1總體框圖: 如圖2-1所示,該氣體流速測試系統總共由傳感器、單片機、顯示模塊組成。傳感器采集數據,輸入單片機內部A/D、D/A,將數據處理后輸出液晶顯示,存入EEPROM存儲。
2.2流速儀的測量方法
在供熱和空氣調節中,常需對流體尤其是氣流的速度進行測量。通過它,可以了解飛流的流動規律,也可經過一定計算得到其休積流量、質量流盈或動壓等有關參數。 在此要特別指出流速有線流速w與平均流速w之分,如未特殊聲明,流速常指平均流速w。測量風速的方法有氣壓法、機械法與散熱率法。氣壓法是通過測員壓差來側及流速的。 用機械方法測量風速的儀表有翼式風速儀、杯式風速儀,流速測算儀,它是利用流動氣體的動壓推動機械裝置,如圖所示。這兩種均由葉片帶動葉輪回轉,其轉速與氣流速度成正比!叭~輪轉速通過機械傳動連接到顯示或計數裝置,以顯示其所測風速的大小。 散熱率法是利用流速與散熱率成對應關系原理而設計的,或測相等散熱暇的時間(卡它溫度計),或測溫度的變化,或保持原溫度的加熱電流訊的變化(熱線 風速儀)來確定其風速,這一類方法所測最小流速為0.05-0.5m/s,適宜于低流速測量。隨著現代科學技術的發展,激光、超聲波.射流,甚至利用流體 在特定流道條件下產生旋渦均可精確地進行測速,但此類儀表儀格昂貴、專業性強、在實際推廣中受到限制,故此不及以上介紹的幾種普及。 流速是一個十分重要的控制變量,通過調節這一變俄,可使其它過程條件維持所需的值,保證生產定額和產品質量,它雖常見,但較難精確測量,一般僅有1-5%精度。
NH-TYJ水文流速測算儀是為試用全國纜道整改技術要求,統一解決各種轉子式流速儀在測桿、測船、纜道測流等環境條件下流速測算、顯示而研制的新型測算 儀。該儀器由單片機、液晶顯示屏和多用途流速儀信號接口等電路組成。所有流速信號的抗干擾處理采用相關流速信號不突變原理,均由軟件技術完 成。 利用超聲波多普勒原理測量液體流速,利用壓力傳感器測量液位來檢測流量。速度面積模塊是ATEX(歐盟潛在爆炸性環境指令)認證1G設備(具有非常高的防護水平) 2.3單片機STC12C5A60S2 STC12C5A60S2/AD/PWM系列單片機是宏晶科技生產的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統8051,但速度快8-12倍。內部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉換(250K/S),針對電機控制,強干擾場合。 單片機STC12C5A60S2不但和8051指令、管腳完全兼容,而且其片內的具有大容量程序存儲器且是FLASH工藝的,內部就自帶高達60K FLASHROM,這種工藝的存儲器用戶可以用電的方式瞬間擦除、改寫。而且STC系列單片機支持串口程序燒寫。顯而易見,這種單片機對開發設備的要求很低,開發時間也大大縮短。寫入單片機內的程序還可以進行加密,這又很好地保護了你的勞動成果。 1. 增強型8051 CPU,1T,單時鐘/機器周期,指令代碼完全兼容傳統8051; 2. 工作電壓:STC12C5A60S2系列工作電壓:5.5V-3.3V(5V單片機)STC12LE5A60S2系列工作電壓:3.6V-2.2V(3V單片機); 3. 工作頻率范圍:0 - 35MHz,相當于普通8051的 0~420MHz; 4. 用戶應用程序空間8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字節; 5. 片上集成1280字節RAM; 6. 通用I/O口(36/40/44個),復位后為:準雙向口/弱上拉(普通8051傳統I/O口),可設置成四種模式:準雙向口/弱上拉,推挽/強上拉,僅為輸入/高阻,開漏,每個I/O口驅動能力均可達到20mA,但整個芯片最大不要超過55Ma; 7. ISP(在系統可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器 可通過串口(P3.0/P3.1)直接下載用戶程序,數秒即可完成一片; 8. 有EEPROM功能(STC12C5A62S2/AD/PWM無內部EEPROM); 9. 看門狗; 10. 內部集成MAX810專用復位電路(外部晶體12M以下時,復位腳可直接 1K電阻到地); 11. 外部掉電檢測電路:在P4.6口有一個低壓門檻比較器,5V單片機為1.32V,誤差為+/-5%,3.3V單片機為1.30V,誤差為+/-3%; 12. 時鐘源:外部高精度晶體/時鐘,內部R/C振蕩器(溫漂為+/-5%到+/-10%以內) 1用戶在下載用戶程序時,可選擇是使用內部R/C振蕩器還是外部晶體/時鐘,常溫下內部R/C振蕩器頻率為:5.0V單片機為:11MHz~15.5MHz,3.3V單片機為:8MHz~12MHz,精度要求不高時,可選擇使用內部時鐘,但因為有制造誤差和溫漂,以實際測試為準; 13. 共4個16位定時器 兩個與傳統8051兼容的定時器/計數器,16位定時器T0和T1,沒有定時器2,但有獨立波特率發生器 做串行通訊的波特率發生器 再加上2路PCA模塊可再實現2個16位定時器; 14. 2個時鐘輸出口,可由T0的溢出在P3.4/T0輸出時鐘,可由T1的溢出在P3.5/T1輸出時鐘; 15. 外部中斷I/O口7路,傳統的下降沿中斷或低電平觸發中斷,并新增支持上升沿中斷的PCA模塊, Power Down模式可由外部中斷喚醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通過寄存器設置到P4.2 ), CCP1/P1.4 (也可通過寄存器設置到P4.3); 16. PWM(2路)/PCA(可編程計數器陣列,2路): ——也可用來當2路D/A使用 ——也可用來再實現2個定時器——也可用來再實現2個外部中斷(上升沿中斷/下降沿中斷均可分別或同時支持); 17.A/D轉換, 10位精度ADC,共8路,轉換速度可達250K/S(每秒鐘25萬次) 18.通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時器或PCA軟件實現多串口; 19. STC12C5A60S2系列有雙串口,后綴有S2標志的才有雙串口,RxD2/P1.2(可通過寄存器設置到P4.2),TxD2/P1.3(可通過寄存器設置到P4.3); 
20. 工作溫度范圍:-40 - +85℃(工業級) / 0 - 75℃(商業級)21.封裝: PDIP-40,LQFP-44,LQFP-48 I/O口不夠時,可用2到3根普通I/O口線外接 74HC164/165/595(均可級聯)來擴展I/O口, 還可用A/D做按鍵掃描來節省I/O口,或用雙CPU,三線通信,還多了串口。2.4 LCD1602液晶顯示器 LCD1602是一種工業字符型液晶,能夠同時顯示16x02即32個字符。LCD1602液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。1602液晶它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。 市面上字符液晶大多數是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應用于市面上大部分的字符型液晶。 管腳(圖2.4.1)功能: 圖2.4.1 1602采用標準的16腳接口,其中: 第1引腳:GND為電源地 第2引腳:VCC接5V電源正極 第3引腳:V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產生“鬼影”,使用時可以通過一個10K的電位器調整對比度)。 第4引腳:RS為寄存器選擇,高電平1時選擇數據寄存器、低電平0時選擇指令寄存器。 第5引腳:RW為讀寫信號線,高電平(1)時進行讀操作, 低電平(0)時進行寫操作。 第6引腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負跳 變時執行指令。 第7~14引腳:D0~D7為8位雙向數據端。第15~16腳:空腳或背燈電 源。第15引腳背光正極,第16引腳背光負極。 特性: 3.3V或5V工作電壓,對比度可調 內含復位電路 提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能 有80字節顯示數據存儲器DDRAM 內建有192個5X7點陣的字型的字符發生器CGROM 8個可由用戶自定義的5X7的字符發生器CGRAM 特征應用 微功耗、體積小、顯示內容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應用系統中。 操作控制 注:關于E=H脈沖——開始時初始化E為0,然后置E為1。 字符集 1602液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。 在單片機編程中還可以用字符型常量或變量賦值,如'A’。因為CGROM儲存的字符代碼與我們PC中的字符代碼是基本一致的,因此我們在向DDRAM寫C51字符代碼程序時甚至可以直接用P1=‘A’這樣的方法。PC在編譯時就把'A'先轉換為41H代碼了。 CGROM中字符碼與字符字模關系對照表
字符代碼0x00~0x0F為用戶自定義的字符圖形RAM(對于5X8點陣的字符,可以存放8組,5X10點陣的字符,存放4組),就是CGRAM了。 0x20~0x7F為標準的ASCII碼,0xA0~0xFF為日文字符和希臘文字符,其余字符碼(0x10~0x1F及0x80~0x9F)沒有定義。
3 硬件電路設計3.1 主電路如圖3-1所示,整個電路包括流速計、單片機、顯示模塊這幾部分。 系統原理是:通過檢測系統中的傳感器采集信號,提取有效信號然后單片機將模擬信號轉換數字信號,同時在顯示模塊中顯示出氣體的流速。
圖3-1 總體電路
3.2 開關和電源如圖3-2所示,為本電路的開關和電源設計。 圖3-2開關和電源 4 制作與調試
4.1 硬件電路的布線與焊接
4.2 調試為了檢測氣體流速測試系統的可行性,我們做了以下實驗:測試系統主電路板及附屬電源組成。 對不同地方的氣體做出檢測。 4.3 實測及誤差分析測試方案:第一次在教室內測量空氣的流速,第二次在室外測量空氣的流速。 測試結果:
5 結論本文設計的氣體流速測試系統能計算出不同情況下氣體流速。它的應用能準確、高效的反映出當前氣體的流速,為一些產品的性能提供保障。氣體流速的檢測和控制關系著產品的性能,是裝置能否安全運行的一個重要指標,氣體流速對一些大型反應裝置起著控制作用,可以通過檢測氣體流速來實現對反應的控制。 計量是生產的眼睛。流量計量是計量科學技術的組成部分之一,它于國民經濟有著密切的關系。對氣體流速測量的研究和開發認知,有著廣泛的意義和作用。 參考文獻 【1】夏繼強。單片機實驗與實踐教程。 北京:北京航空航天大學出版社, 2001 【2】 孫涵芳。MCS-51系列單片機原理及應用[M] 。北京航空航天大學出版社。1996-4 【3】雷玉堂.《光電檢測技術》.北京:中國計量出版社,1997 【4】浦昭邦.《光電測試技術》.北京:機械工業出版社,2005 【5】梁銓廷.《物理光學》.北京:機械工業出版社,2012 【6】朱勇.《光通信原理與技術》.北京:科學出版社,2011 附錄附錄1: 原理圖
附錄2: 源程序
單片機源程序如下:
- #include <string.h>
- #include "Lcd12864.h"
- #include "Lcd1602.h"
- #include "PWM.h"
- #include "config.h"
- #include <ds18b20.h>
- #include "ds1302.h"
- #include "eeprom.h"
- #include "uart.h"
- #include "key.h"
- #include "Time.h"
- #include "BH1750.h"
- #include "PulseSensor.h"
- #include "hcsr501.h"
- #include "dht11.h"
- #include "ADC.h"
- void InitTimer0(void);
- unsigned char str[20];
- extern unsigned long PluNum;
- extern unsigned long time_ms;
- extern float ShunShi;
- extern float LeiJi;
- //char displaytemp[16];
- extern unsigned char DealSudu;
- void Init_Timer0(void)
- {
- TMOD |= 0x01;
- TH0 = 0xB1;
- TL0 = 0xE0;
- EA=1;
- ET0=1;
- TR0=1;
- EX0=1;
- IT0=1;
- }
- void Sys_Init()
- {
- Init_Timer0();
- InitLcd1602();
- }
- void main(void)
- {
- EA=1;
- Sys_Init();
- ShowInit();
- while(1)
- {
- KeyScan();
- KeyDriver();
- watar_action();
- }
- }
- void Int0_Routine(void) interrupt 0
- {
- PluNum++;
- }
- void Timer0_Routine() interrupt 1
- {
- static unsigned char Count=0;
- TH0 = 0xB1;
- TL0 = 0xE0;
-
- time_ms++;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
|