第1章 設(shè)計(jì)的背景和思路
1.1、本次設(shè)計(jì)的背景
最近,臺(tái)風(fēng)的來臨大家都有所耳聞,氣體流速的檢測(cè)與我們大家的生活息息相關(guān)。除此之外,氣體流速也與工業(yè)生產(chǎn)密不可分。氣體流速的檢測(cè)和控制關(guān)系著產(chǎn)品的性能,是裝置能否安全運(yùn)行的一個(gè)重要指標(biāo),氣體流速對(duì)一些大型反應(yīng)裝置起著控制作用,可以通過檢測(cè)氣體流速來實(shí)現(xiàn)對(duì)反應(yīng)的控制。可見氣體流速的檢測(cè)對(duì)人們的重要性,本設(shè)計(jì)就是對(duì)氣體流速的測(cè)量。氣體流速測(cè)試系統(tǒng)以傳感器、單片機(jī)STC12C5A16AD與LCD1602液晶組成的氣體流速測(cè)試系統(tǒng)。
我認(rèn)為設(shè)計(jì)一個(gè)氣體流速測(cè)量系統(tǒng),不論是從學(xué)習(xí)還是實(shí)踐的角度,對(duì)一名機(jī)電專業(yè)的學(xué)生都會(huì)有很好的學(xué)習(xí)效果。
1.2、本次設(shè)計(jì)的思路及功能
因?yàn)闅怏w流速測(cè)量在生產(chǎn)及生活中有著重要的意義,我們小組就想制作一個(gè)通過氣壓傳感器來反映氣體流速的裝置,通過LCD液晶屏顯示實(shí)時(shí)數(shù)據(jù)并且可以通過串口將數(shù)據(jù)傳輸給上位機(jī),通過串口助手顯示出來。思路是使用氣壓傳感器,用注射器向其注射氣體,傳感器產(chǎn)生電壓變化,經(jīng)過單片機(jī)AD轉(zhuǎn)換,數(shù)據(jù)運(yùn)用LCD顯示出來,還有就是通過USB串口傳輸?shù)诫娔X串口助手。
基本的設(shè)計(jì)思路是這樣的:首先,因?yàn)槲覀兊闹黝}是關(guān)于測(cè)量的,所以我們選擇了自帶AD轉(zhuǎn)換功能的STC12C5A16AD單片機(jī),然后再搜尋傳感器和串口通訊部分元件。后來找到了XGZP6847型氣體壓力傳感器模塊,這款元件的優(yōu)勢(shì)在于電壓信號(hào)在模塊內(nèi)部已經(jīng)進(jìn)行了放大,所以輸出信號(hào)不需要進(jìn)行放大。而串口通訊則是選擇了PL-2303HX模塊。另外我們選擇了較為常見的LCD1602液晶實(shí)現(xiàn)液晶顯示功能。從而總體的完成了整個(gè)設(shè)計(jì)。
我們小組設(shè)計(jì)的系統(tǒng)采用STC12C5A16AD單片機(jī)(自帶8路十位精度的AD轉(zhuǎn)換),有氣壓傳感器獲取電壓信號(hào),然后將電壓信號(hào)傳送給帶有AD轉(zhuǎn)換的STC12C5A16AD單片機(jī)。由于空氣流速與氣壓有相應(yīng)的正比例函數(shù)關(guān)系,可以根據(jù)得到的數(shù)值求出相應(yīng)比例的空氣流速。然后將數(shù)據(jù)輸送給液晶屏顯示和串口。
2.2、各功能模塊的詳細(xì)介紹
2.2.1、單片機(jī)模塊
1、單片機(jī)介紹
STC12C5A16AD單片機(jī)是新一代8051單片機(jī)。相比于普通的51單片機(jī),它增加了許多功能。例如AD轉(zhuǎn)換功能,PWM功能等等。因?yàn)槲覀冞@次設(shè)計(jì)的是一個(gè)用于測(cè)量數(shù)據(jù)的系統(tǒng),所以使用這款單片機(jī)就不需要再擴(kuò)展AD轉(zhuǎn)換芯片,可以減少外圍電路。

圖2-2 單片機(jī)引腳圖
單片機(jī)的最小應(yīng)用系統(tǒng)是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng)。最小系統(tǒng)一般包括:單片機(jī)、晶振電路和復(fù)位電路。

圖2-3 單片機(jī)最小系統(tǒng)圖
晶振電路: 單片機(jī)系統(tǒng)里都有晶振,在單片機(jī)系統(tǒng)里晶振作用非常大,他結(jié)合單片機(jī)內(nèi)部電路,產(chǎn)生單片機(jī)所需的時(shí)鐘頻率,單片機(jī)晶振提供的時(shí)鐘頻率越高,單片機(jī)的運(yùn)行速度就越快。
復(fù)位電路:在單片機(jī)系統(tǒng)在運(yùn)行中,當(dāng)受到環(huán)境干擾出現(xiàn)程序跑飛時(shí),按下復(fù)位按鈕,使內(nèi)部的程序自動(dòng)從頭開始執(zhí)行。
我們小組選用這款單片機(jī)的理由是因?yàn)檫@款單片機(jī)廣泛運(yùn)用于測(cè)量,它自帶AD轉(zhuǎn)化的功能,可以減少外圍電路,簡(jiǎn)化系統(tǒng)。
4、單片機(jī)引腳連接
表2-1單片機(jī)引腳連接
連接元件 | 單片機(jī)引腳編號(hào) | 元件引腳代號(hào) | 單片機(jī)引腳編號(hào) | 元件引腳代號(hào) |
傳感器XGZP6847 | 1(P1.0/T2) | 2OUT |
|
|
LCD1602 | 39(P0.0/AD0) | 8(D0) | 38(P0.1/AD1) | 9(D1) |
37(P0.2/AD2) | 10(2) | 36(P0.3/AD3) | 11(D3) | |
35(P0.4/AD4) | 12(D4) | 34(P0.5/AD5) | 13(D5) | |
33(P0.6/AD6) | 14(D6) | 32(P0.7/AD7) | 15(D7) | |
串口PL2303 | 10(P3.0/RxD) | TX | 11(P3.1/TxD) | RX |
2.2.2、傳感器模塊
1、氣壓傳感器原理
XGZP6847型氣體壓力傳感器為壓阻式壓力傳感器,其利用單晶硅的壓阻效應(yīng)構(gòu)成。采用單晶硅片為彈性元件,利用集成電路工藝,在特定方向擴(kuò)散一組等值電阻,并將電阻連成橋路,單晶硅片置于傳感器腔內(nèi)。當(dāng)壓力發(fā)生變化時(shí),單晶硅產(chǎn)生應(yīng)變,使直接擴(kuò)散在上面的應(yīng)變電阻產(chǎn)生與被測(cè)壓力成正比的變化,再由橋式電路獲得相應(yīng)的電壓輸出信號(hào)。
2、傳感器模塊接線

圖2-4 傳感器模塊原理圖
本次設(shè)計(jì)采用的是XGZP6847型氣體壓力傳感器模塊,此模塊外圍所接的電路十分簡(jiǎn)單,因?yàn)殡妷盒盘?hào)在模塊內(nèi)部已經(jīng)進(jìn)行了放大,所以輸出信號(hào)不需要進(jìn)行放大,XGZP6847型氣體壓力變送器模塊共有六個(gè)引腳,其中的1、2、3腳都不需要外接其他電子元件,4腳接+5V電源電壓,5腳是信號(hào)輸出引腳,6腳接地即可。在串接一個(gè)10K的電阻R5防止擊穿電容C4。
3、設(shè)計(jì)思路及理由
根據(jù)現(xiàn)代惠斯通原理制成的壓阻式壓力傳感器,有體積小、耗能低、重量輕、響應(yīng)快、便于實(shí)現(xiàn)顯示數(shù)字化等特點(diǎn),而且可以測(cè)量壓力,稍加改變,還可以測(cè)量差壓、高度、速度、加速度等參數(shù)。因?yàn)楸鞠到y(tǒng)選擇了XGZP6847型氣體壓力傳感器模塊。
2.2.3、顯示模塊
1、LCD顯示屏簡(jiǎn)介及選用理由
我們小組用來顯示的液晶屏是LCD1602顯示屏。因?yàn)樵撘壕э@示器具有顯示質(zhì)量高、功耗低、抗干擾能力強(qiáng)、體積小、重量輕等優(yōu)點(diǎn)。 
圖2-5 LCD顯示電路原理圖
1、PL2303HX模塊
PL2303是Prolific公司生產(chǎn)的一種高度集成的RS232-USB接口轉(zhuǎn)換器,可提供一個(gè)RS232全雙工異步串行通信裝置與USB功能接口便利聯(lián)接的解決方案。
RS232雙向轉(zhuǎn)換器,一方面從主機(jī)接收USB數(shù)據(jù)并將其轉(zhuǎn)換為RS232信息流格式發(fā)送給外設(shè);另一方面從RS232外設(shè)接收數(shù)據(jù)轉(zhuǎn)換為USB數(shù)據(jù)格式傳送回主機(jī)。這些工作全部由器件自動(dòng)完成,開發(fā)者無需考慮固件設(shè)計(jì)。PL-2303HX無論在工作中或等待模式中消耗的電量都非常少,可留給連接的設(shè)備許多的電能。與RS-232串行端口的訊號(hào)標(biāo)準(zhǔn)一樣靈活,允許PL-2303HX直接連接1.8V~3.3V的設(shè)備。

圖2-6 PL2303HX芯片引腳圖

圖2-7 模塊內(nèi)部結(jié)構(gòu)框圖
它有如下優(yōu)點(diǎn):1.完全符合USB規(guī)范2.0(全速兼容)。2.片內(nèi)擁有USB1.1收發(fā)器,5V轉(zhuǎn)3.3V的穩(wěn)壓器,12MHz的晶體振蕩器。3.支持RS232這樣的串行接口;支持自動(dòng)握手各種模式。
2、串口模塊原理圖

圖2-8 串口模塊原理圖
2.2.5、電源模塊
1、電源開關(guān)原理
通過自鎖開關(guān),控制整個(gè)系統(tǒng)通斷電。

圖2-9電源開關(guān)原理圖
2、自鎖開關(guān)
這個(gè)開關(guān)的兩排引腳中,每一排的中間一只是公共端,兩邊是分別是獨(dú)立的,也就是說,如果你把中間的一只接到負(fù)載端,那么兩邊就是來自電源的進(jìn)線,當(dāng)你把中間一只引腳接負(fù)載端以后,如果你把兩邊的引腳的其中一只接電源,當(dāng)你按下開關(guān)時(shí),負(fù)載工作,那么另外一只就是開關(guān)不按下時(shí)負(fù)載接通電源,也就是說,在這兩排引腳中,除了中間一只引腳是公共端以外,另外兩只引腳中一只是按下開關(guān)后接通電源,而另一只則是按下開關(guān)后斷開電源,簡(jiǎn)而言之就是,兩排引腳,中間一只是公共端,而另外兩只,一只是按下關(guān),另一只是按下開;有兩排就是一排對(duì)應(yīng)電源正極,另一排對(duì)應(yīng)電源負(fù)極,只要把中間電源兩級(jí)的公共端接好以后,另外的兩只引腳在接線時(shí)都接在同一側(cè)就可以了,不然的話,接好了還是沒有用,接錯(cuò)了,就會(huì)出現(xiàn)如果按下后電源正極接通,那么電源負(fù)極就斷開了,或者不按下時(shí),電源正極接通,負(fù)極又?jǐn)嚅_了。注意,開關(guān)有兩排引腳,每一排有三只引腳,三只引腳中,中間一只是公共端,每一排對(duì)應(yīng)電源的每一極。
第3章 軟件流程及描述
實(shí)現(xiàn)系統(tǒng)功能可以采用多種方法,由于要控制單片機(jī)的AD轉(zhuǎn)換、LCD的顯示和串口的通信,因此,整個(gè)程序可以分為主程序、LCD程序、AD轉(zhuǎn)換程序,由于購買的LCD液晶屏以及單片機(jī)帶有LCD和AD轉(zhuǎn)換的程序,為了方便,我們對(duì)其稍做更改并將其設(shè)為子程序。其中,LCD程序主要是用來控制液晶屏的顯示格式以及數(shù)值的;AD轉(zhuǎn)換程序用來對(duì)所得到的電壓數(shù)值進(jìn)行相應(yīng)關(guān)系的轉(zhuǎn)化;主程序則是控制子程序的應(yīng)用以及利用接口向上位機(jī)發(fā)送實(shí)時(shí)的數(shù)據(jù)。

圖3-1 軟件流程
3.1主程序設(shè)計(jì)主程序中需要完成的功能主要有對(duì)系統(tǒng)初始值的設(shè)置、AD轉(zhuǎn)換、數(shù)據(jù)發(fā)送、LCD顯示等。系統(tǒng)上電后,需要對(duì)定時(shí)器的狀態(tài)進(jìn)行設(shè)置,包括定時(shí)器的工作方式以及數(shù)據(jù)傳輸?shù)拈_始中斷,因此我們首先需要進(jìn)行定時(shí)器的選擇以及工作方式設(shè)定。使用定時(shí)器1的操作模式2:8位自動(dòng)重載,然后根據(jù)波特率為9600裝入初值,TH1=TL1=0xfd。接著我們要設(shè)置串行通信工作模式,SM0=0,SM1=1,打開串行接收允許位,開總中斷與串行中斷。單片機(jī)通過串口向上位機(jī)發(fā)送char型數(shù)組,當(dāng)串行通信發(fā)送完成后,出現(xiàn)信號(hào)TI=1。
由于傳感器實(shí)際原因,我們無法測(cè)量出正確的空氣流速值來進(jìn)行校正,因此我們決定使用相應(yīng)的比例關(guān)系來計(jì)算得出。首先,我們確定一個(gè)利用單片機(jī)顯示的速度最大值為150mm/s。由于AD轉(zhuǎn)換是十位數(shù)制,最大值為2的10次方即1024,將其乘以0.147便可以得到。其次,當(dāng)系統(tǒng)完成后我們?yōu)榘遄庸╇姡瑹氤绦颉13謫纹瑱C(jī)顯示的速度為55mm/s勻速擠完1ml的氣體,測(cè)量需要33.19s的時(shí)間,而傳感器與針筒接口出截面積為1mm^2,即是速度為33mm/s。因此,利用比例關(guān)系求出正確的流速還應(yīng)該再乘以一個(gè)0.6的修正系數(shù)。在程序中表現(xiàn)就是getADCresult。再令其乘以0.147使得量程為150,再乘以0.6修正。
關(guān)于液晶顯示部分,可以先在程序開頭部分設(shè)定idate數(shù)據(jù)類型,設(shè)定LCD上將要顯示的部分“Sudu:150”,然后再根據(jù)AD得到的結(jié)果顯示出來。
主程序中還可以設(shè)置延時(shí)函數(shù),使用for循環(huán)來進(jìn)行延時(shí),先設(shè)定延時(shí)1毫秒的延時(shí)函數(shù),再根據(jù)此來循環(huán)n次,延時(shí)n秒。
3.2 A/D轉(zhuǎn)換程序設(shè)計(jì)我們使用的單片機(jī)內(nèi)部自帶AD轉(zhuǎn)換器,是一個(gè)十位轉(zhuǎn)換,分成高八位和低兩位。編寫程序時(shí),我們首先需要選擇相應(yīng)的通道,打開8路通道,還需要能夠清除前一次的數(shù)據(jù)。當(dāng)然,十位的寄存器也需要進(jìn)行相應(yīng)的移位與或運(yùn)算。
單片機(jī)的P2.5、P2.6、P2.7分別接LCD1602的rs、rw、en用以控制其讀寫功能,P0口負(fù)責(zé)傳輸需要顯示的數(shù)據(jù),LCD1602可以顯示當(dāng)前空氣的流速。我們編寫程序需要設(shè)定顯示方式,8位數(shù)據(jù)端口,2行顯示。還有就是需要設(shè)定LCD液晶屏的光標(biāo)顯示與否,清屏指令等等。當(dāng)然液晶屏的字符輸入位置也需要進(jìn)行設(shè)定,我們還需要用到庫函數(shù)里的string函數(shù)。
第4章 調(diào)試過程及結(jié)果
4.1、實(shí)驗(yàn)調(diào)試
首先打開燒錄軟件,選擇單片機(jī)型號(hào),并打開程序文件,然后點(diǎn)擊下載/編程。之前遇到了困難,一直無法成功錄入,后來經(jīng)過查詢,需要重啟單片機(jī),就可以成功的燒錄。

我們?cè)O(shè)計(jì)了電源開關(guān)控制電源線,另外串口也可以提供電源。


以下是我們實(shí)際調(diào)試時(shí)的截圖:
下圖是通電后的顯示,因?yàn)闆]有提供風(fēng)力,速度顯示為零。

當(dāng)我們按壓注射器模擬風(fēng)力時(shí),顯示屏上的數(shù)據(jù)就會(huì)發(fā)生變化,顯示出當(dāng)前的氣體流速。


然后打開軟件的串口助手窗口,選擇文本模式,選擇正確的串口和波特率,打開串口,就可以接收到所測(cè)得氣體流速值了。

圖4-7氣體流速串口操作及顯示
通過以上操作,呈現(xiàn)了我們單片機(jī)系統(tǒng)的主要功能。


源代碼.rar
(3.88 KB, 下載次數(shù): 182)
原理圖.rar
(15.87 KB, 下載次數(shù): 112)
視頻.rar
(19.71 MB, 下載次數(shù): 81)
課設(shè)報(bào)告.doc
(841 KB, 下載次數(shù): 96)
PCB.rar
(544.45 KB, 下載次數(shù): 71)
瘋了的單片機(jī) 發(fā)表于 2020-4-11 15:31
想問一下xgzp6847輸出口連接一個(gè)電阻和電容能不能達(dá)到濾波作用?
sher 發(fā)表于 2020-4-28 11:34
可以用袖帶測(cè)血壓?jiǎn)?/font>
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |