今日臺(tái)風(fēng)消息時(shí)有聽(tīng)聞,我們小組便想設(shè)計(jì)一個(gè)氣體流速測(cè)量計(jì)。本次設(shè)計(jì)主要是利用STC單片機(jī)實(shí)現(xiàn)對(duì)氣壓傳感器發(fā)送的電壓進(jìn)行AD轉(zhuǎn)換,并將相應(yīng)的數(shù)值顯示到液晶屏上以及通過(guò)串口發(fā)送給上位機(jī)。我采用了自帶AD轉(zhuǎn)換的STC單片機(jī)以及1602LCD液晶屏進(jìn)行流速顯示,同時(shí)可以運(yùn)用USB接口將實(shí)時(shí)數(shù)值傳輸給上位機(jī)。相關(guān)內(nèi)會(huì)在接下來(lái)的報(bào)告中陳述。
圖2-1 系統(tǒng)整體設(shè)計(jì)框圖
視頻演示:
目錄
摘 要
第1章 設(shè)計(jì)的背景和思路 1
1.1、本次設(shè)計(jì)的背景1
1.2、本次設(shè)計(jì)的思路及功能1
第2章 設(shè)計(jì)方案和硬件電路 2
2.1、整體功能模塊圖2
2.2、各功能模塊的詳細(xì)介紹2
2.2.1、單片機(jī)模塊 2
2.2.2、驅(qū)動(dòng)及調(diào)速模塊 4
2.2.3、顯示模塊5
2.2.4、串口模塊7
2.2.5、電源模塊9
第3章 軟件流程及描述 11
3.1、主程序設(shè)計(jì)11
3.2、AD轉(zhuǎn)換程序設(shè)計(jì)12
3.3、LCD應(yīng)用程序設(shè)計(jì)12
第4章 調(diào)試過(guò)程及結(jié)果 13
4.1、實(shí)驗(yàn)調(diào)試13
課程設(shè)計(jì)總結(jié)16
參考文獻(xiàn)17
附錄一18
附錄二19
附錄三20
第1章 設(shè)計(jì)的背景和思路 1.1、本次設(shè)計(jì)的背景 最近,臺(tái)風(fēng)的來(lái)臨大家都有所耳聞,氣體流速的檢測(cè)與我們大家的生活息息相關(guān)。除此之外,氣體流速也與工業(yè)生產(chǎn)密不可分。氣體流速的檢測(cè)和控制關(guān)系著產(chǎn)品的性能,是裝置能否安全運(yùn)行的一個(gè)重要指標(biāo),氣體流速對(duì)一些大型反應(yīng)裝置起著控制作用,可以通過(guò)檢測(cè)氣體流速來(lái)實(shí)現(xiàn)對(duì)反應(yīng)的控制。可見(jiàn)氣體流速的檢測(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è)通過(guò)氣壓傳感器來(lái)反映氣體流速的裝置,通過(guò)LCD液晶屏顯示實(shí)時(shí)數(shù)據(jù)并且可以通過(guò)串口將數(shù)據(jù)傳輸給上位機(jī),通過(guò)串口助手顯示出來(lái)。思路是使用氣壓傳感器,用注射器向其注射氣體,傳感器產(chǎn)生電壓變化,經(jīng)過(guò)單片機(jī)AD轉(zhuǎn)換,數(shù)據(jù)運(yùn)用LCD顯示出來(lái),還有就是通過(guò)USB串口傳輸?shù)诫娔X串口助手。 基本的設(shè)計(jì)思路是這樣的:首先,因?yàn)槲覀兊闹黝}是關(guān)于測(cè)量的,所以我們選擇了自帶AD轉(zhuǎn)換功能的STC12C5A16AD單片機(jī),然后再搜尋傳感器和串口通訊部分元件。后來(lái)找到了XGZP6847型氣體壓力傳感器模塊,這款元件的優(yōu)勢(shì)在于電壓信號(hào)在模塊內(nèi)部已經(jīng)進(jìn)行了放大,所以輸出信號(hào)不需要進(jìn)行放大。而串口通訊則是選擇了PL-2303HX模塊。另外我們選擇了較為常見(jiàn)的LCD1602液晶實(shí)現(xiàn)液晶顯示功能。從而總體的完成了整個(gè)設(shè)計(jì)。 第2章 設(shè)計(jì)方案和硬件電路 2.1、整體功能模塊圖 我們小組設(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)從頭開(kāi)始執(zhí)行。 我們小組選用這款單片機(jī)的理由是因?yàn)檫@款單片機(jī)廣泛運(yùn)用于測(cè)量,它自帶AD轉(zhuǎn)化的功能,可以減少外圍電路,簡(jiǎn)化系統(tǒng)。 4、單片機(jī)引腳連接 表2-1單片機(jī)引腳連接 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)介及選用理由 我們小組用來(lái)顯示的液晶屏是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)完成,開(kāi)發(fā)者無(wú)需考慮固件設(shè)計(jì)。PL-2303HX無(wú)論在工作中或等待模式中消耗的電量都非常少,可留給連接的設(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、電源開(kāi)關(guān)原理 通過(guò)自鎖開(kāi)關(guān),控制整個(gè)系統(tǒng)通斷電。 
圖2-9電源開(kāi)關(guān)原理圖 2、自鎖開(kāi)關(guān) 這個(gè)開(kāi)關(guān)的兩排引腳中,每一排的中間一只是公共端,兩邊是分別是獨(dú)立的,也就是說(shuō),如果你把中間的一只接到負(fù)載端,那么兩邊就是來(lái)自電源的進(jìn)線,當(dāng)你把中間一只引腳接負(fù)載端以后,如果你把兩邊的引腳的其中一只接電源,當(dāng)你按下開(kāi)關(guān)時(shí),負(fù)載工作,那么另外一只就是開(kāi)關(guān)不按下時(shí)負(fù)載接通電源,也就是說(shuō),在這兩排引腳中,除了中間一只引腳是公共端以外,另外兩只引腳中一只是按下開(kāi)關(guān)后接通電源,而另一只則是按下開(kāi)關(guān)后斷開(kāi)電源,簡(jiǎn)而言之就是,兩排引腳,中間一只是公共端,而另外兩只,一只是按下關(guān),另一只是按下開(kāi);有兩排就是一排對(duì)應(yīng)電源正極,另一排對(duì)應(yīng)電源負(fù)極,只要把中間電源兩級(jí)的公共端接好以后,另外的兩只引腳在接線時(shí)都接在同一側(cè)就可以了,不然的話,接好了還是沒(méi)有用,接錯(cuò)了,就會(huì)出現(xiàn)如果按下后電源正極接通,那么電源負(fù)極就斷開(kāi)了,或者不按下時(shí),電源正極接通,負(fù)極又?jǐn)嚅_(kāi)了。注意,開(kāi)關(guān)有兩排引腳,每一排有三只引腳,三只引腳中,中間一只是公共端,每一排對(duì)應(yīng)電源的每一極。 第3章 軟件流程及描述 實(shí)現(xiàn)系統(tǒng)功能可以采用多種方法,由于要控制單片機(jī)的AD轉(zhuǎn)換、LCD的顯示和串口的通信,因此,整個(gè)程序可以分為主程序、LCD程序、AD轉(zhuǎn)換程序,由于購(gòu)買(mǎi)的LCD液晶屏以及單片機(jī)帶有LCD和AD轉(zhuǎn)換的程序,為了方便,我們對(duì)其稍做更改并將其設(shè)為子程序。其中,LCD程序主要是用來(lái)控制液晶屏的顯示格式以及數(shù)值的;AD轉(zhuǎn)換程序用來(lái)對(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ù)拈_(kāi)始中斷,因此我們首先需要進(jìn)行定時(shí)器的選擇以及工作方式設(shè)定。使用定時(shí)器1的操作模式2:8位自動(dòng)重載,然后根據(jù)波特率為9600裝入初值,TH1=TL1=0xfd。接著我們要設(shè)置串行通信工作模式,SM0=0,SM1=1,打開(kāi)串行接收允許位,開(kāi)總中斷與串行中斷。單片機(jī)通過(guò)串口向上位機(jī)發(fā)送char型數(shù)組,當(dāng)串行通信發(fā)送完成后,出現(xiàn)信號(hào)TI=1。 由于傳感器實(shí)際原因,我們無(wú)法測(cè)量出正確的空氣流速值來(lái)進(jìn)行校正,因此我們決定使用相應(yīng)的比例關(guān)系來(lái)計(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)于液晶顯示部分,可以先在程序開(kāi)頭部分設(shè)定idate數(shù)據(jù)類型,設(shè)定LCD上將要顯示的部分“Sudu:150”,然后再根據(jù)AD得到的結(jié)果顯示出來(lái)。 主程序中還可以設(shè)置延時(shí)函數(shù),使用for循環(huán)來(lái)進(jìn)行延時(shí),先設(shè)定延時(shí)1毫秒的延時(shí)函數(shù),再根據(jù)此來(lái)循環(huán)n次,延時(shí)n秒。 3.2 A/D轉(zhuǎn)換程序設(shè)計(jì)我們使用的單片機(jī)內(nèi)部自帶AD轉(zhuǎn)換器,是一個(gè)十位轉(zhuǎn)換,分成高八位和低兩位。編寫(xiě)程序時(shí),我們首先需要選擇相應(yīng)的通道,打開(kāi)8路通道,還需要能夠清除前一次的數(shù)據(jù)。當(dāng)然,十位的寄存器也需要進(jìn)行相應(yīng)的移位與或運(yùn)算。 3.3 LCD應(yīng)用程序 單片機(jī)的P2.5、P2.6、P2.7分別接LCD1602的rs、rw、en用以控制其讀寫(xiě)功能,P0口負(fù)責(zé)傳輸需要顯示的數(shù)據(jù),LCD1602可以顯示當(dāng)前空氣的流速。我們編寫(xiě)程序需要設(shè)定顯示方式,8位數(shù)據(jù)端口,2行顯示。還有就是需要設(shè)定LCD液晶屏的光標(biāo)顯示與否,清屏指令等等。當(dāng)然液晶屏的字符輸入位置也需要進(jìn)行設(shè)定,我們還需要用到庫(kù)函數(shù)里的string函數(shù)。 第4章 調(diào)試過(guò)程及結(jié)果 4.1、實(shí)驗(yàn)調(diào)試 首先打開(kāi)燒錄軟件,選擇單片機(jī)型號(hào),并打開(kāi)程序文件,然后點(diǎn)擊下載/編程。之前遇到了困難,一直無(wú)法成功錄入,后來(lái)經(jīng)過(guò)查詢,需要重啟單片機(jī),就可以成功的燒錄。 
圖4-1 程序燒錄 我們?cè)O(shè)計(jì)了電源開(kāi)關(guān)控制電源線,另外串口也可以提供電源。 圖4-2電源插頭及串口 圖4-3開(kāi)關(guān)斷開(kāi)后顯示 以下是我們實(shí)際調(diào)試時(shí)的截圖: 下圖是通電后的顯示,因?yàn)闆](méi)有提供風(fēng)力,速度顯示為零。 圖4-4 初始顯示 當(dāng)我們按壓注射器模擬風(fēng)力時(shí),顯示屏上的數(shù)據(jù)就會(huì)發(fā)生變化,顯示出當(dāng)前的氣體流速。 圖4-5氣體流速液晶顯示(1)
圖4-6氣體流速液晶顯示(2) 然后打開(kāi)軟件的串口助手窗口,選擇文本模式,選擇正確的串口和波特率,打開(kāi)串口,就可以接收到所測(cè)得氣體流速值了。 
圖4-7氣體流速串口操作及顯示 通過(guò)以上操作,呈現(xiàn)了我們單片機(jī)系統(tǒng)的主要功能。
課程設(shè)計(jì)總結(jié)
課程設(shè)計(jì)是培養(yǎng)學(xué)生實(shí)際應(yīng)用能力的重要課程,我們需要綜合運(yùn)用所學(xué)知識(shí),解決實(shí)際問(wèn)題。回顧兩個(gè)星期的單片機(jī)設(shè)計(jì),我們小組學(xué)到了很多單片機(jī)的相關(guān)知識(shí),不僅鞏固了以前所學(xué)的知識(shí),繪制原理圖,還學(xué)習(xí)了畫(huà)pcb圖的知識(shí)。 通過(guò)這次課設(shè)使我懂得了理論與實(shí)際相結(jié)合非常的重要,首先我們按照自己的想法在淘寶上買(mǎi)元件,買(mǎi)來(lái)的許多都是貼片,后來(lái)經(jīng)過(guò)詢問(wèn),又去淘寶上購(gòu)買(mǎi)了一些模塊,模塊在使用上有兩個(gè)特點(diǎn),一是它已經(jīng)完善了功能,我們不需要在進(jìn)行改造,二是我們要查找資料去了解這個(gè)模塊的工作原理。在設(shè)計(jì)單片機(jī)的過(guò)程中,我們小組也遇到了很多問(wèn)題,通過(guò)查閱資料和與同學(xué)進(jìn)行交流,也順利解決了這些問(wèn)題。第一,不夠細(xì)心比如由于粗心大意將不同元器件的端口連接錯(cuò)誤或者忘記連接,第二,是在學(xué)習(xí)態(tài)度上,這次課程設(shè)計(jì)是對(duì)我們的學(xué)習(xí)態(tài)度的一次檢驗(yàn),絕對(duì)要嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識(shí)到,無(wú)論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力和決心,有足夠的挑戰(zhàn)困難的勇氣,就沒(méi)有什么辦不到的。
另外在設(shè)計(jì)單片機(jī)的時(shí)候,加深了對(duì)單片機(jī)IO口的輸入輸出的理解,在上個(gè)學(xué)期學(xué)單片機(jī)的時(shí)候,我對(duì)于單片機(jī)的認(rèn)知大多還處于理論知識(shí)上,而這一次的單片機(jī)課設(shè),讓我更好的把理論知識(shí)應(yīng)用到了實(shí)際當(dāng)中,而且這次的設(shè)計(jì)還培養(yǎng)了我的創(chuàng)新精神。這次單片機(jī)課程設(shè)計(jì),既是對(duì)課程理論內(nèi)容的一次復(fù)習(xí)和鞏固,讓我豐富了更多與該專業(yè)相關(guān)的其他知識(shí),比如軟件應(yīng)用等。在設(shè)計(jì)原理圖時(shí),要有了一個(gè)清晰的思路和一個(gè)完整的軟件流程圖之后才著手設(shè)計(jì)。在設(shè)計(jì)程序時(shí),我們不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;養(yǎng)成注釋程序的好習(xí)慣是非常必要的,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路。
在設(shè)計(jì)過(guò)程中遇到問(wèn)題是很正常的,但我們應(yīng)該講每次遇到的問(wèn)題記錄下來(lái),并分析清楚,以免下次再碰到同樣的問(wèn)題。但是從中學(xué)到的知識(shí)會(huì)讓我們受益終身。發(fā)現(xiàn)、提出、分析、解決問(wèn)題和實(shí)踐能力提高都會(huì)受益于我在今后的學(xué)習(xí)、工作和生活中。
Altium Designer畫(huà)的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
附錄二 PCB圖
單片機(jī)程序源碼(含注釋):
全部資料51hei下載地址:
源代碼.rar
(3.88 KB, 下載次數(shù): 182)
2019-1-16 10:37 上傳
點(diǎn)擊文件名下載附件
程序代碼
原理圖.rar
(15.87 KB, 下載次數(shù): 112)
2019-1-16 10:37 上傳
點(diǎn)擊文件名下載附件
原理圖
視頻.rar
(19.71 MB, 下載次數(shù): 81)
2019-1-16 10:37 上傳
點(diǎn)擊文件名下載附件
操作視頻
課設(shè)報(bào)告.doc
(841 KB, 下載次數(shù): 96)
2019-1-16 10:37 上傳
點(diǎn)擊文件名下載附件
紙質(zhì)打印報(bào)告
PCB.rar
(544.45 KB, 下載次數(shù): 71)
2019-1-16 10:37 上傳
點(diǎn)擊文件名下載附件
pcb板子
|