




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、武漢大學(xué)課程設(shè)計(jì)報(bào)告基于單片機(jī)的水位控制專業(yè)綜合實(shí)驗(yàn)課程設(shè)計(jì)報(bào)告專 業(yè): 自動(dòng)化 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 2011年1月20日目 錄目 錄21 引言42 系統(tǒng)分析42.1 實(shí)驗(yàn)?zāi)康?2.2實(shí)驗(yàn)任務(wù)42.3實(shí)驗(yàn)要求42.4實(shí)驗(yàn)分析53 stc12c5a16s2系列單片機(jī)63.1 stc12c5a16s2系列單片機(jī)的簡(jiǎn)介63.2 stc12c5a16s2系列單片機(jī)的內(nèi)部結(jié)構(gòu)63.4 stc12c5a16s2系列單片機(jī)特點(diǎn)63.5 stc12c5a16s2系列單片機(jī)的定時(shí)器/計(jì)數(shù)器73.6 stc12系列單片機(jī)eeprom的應(yīng)用73.7 stc12c5a16s2系列單片機(jī)的串行口通
2、信83.8 stc12c5a16s2系列單片機(jī)的a/d轉(zhuǎn)換器83.9 stc12c5a16s2系列單片機(jī)的pwm應(yīng)用94系統(tǒng)硬件設(shè)計(jì)94.1原理圖的繪制94.1.1 protel簡(jiǎn)介94.1.2原理圖的組成104.1.3原理圖元件的組成104.1.4原理圖元件的制作過(guò)程104.1.6原理圖的設(shè)計(jì)流程114.2具體硬件電路設(shè)計(jì)分析114.2.1單片機(jī)的晶振電路和復(fù)位電路114.2.2按鍵輸入電路124.2.3輸出顯示電路124.2.4 a/d轉(zhuǎn)換外圍電路134.2.5 d/a轉(zhuǎn)換外圍電路144.2.6報(bào)警電路144.2.7串口通信電路154.2.8電源開(kāi)關(guān)電路154.2.9電壓變換電路164.2
3、.10單片機(jī)的數(shù)字量輸出外圍電路164.3 pcb板的制作165系統(tǒng)軟件設(shè)計(jì)165.1 pid控制算法和編程軟件介紹175.1.1 模擬pid調(diào)節(jié)器原理175.1.2 數(shù)字pid控制算法18這樣,就避免了位置型算式中累加求和的麻煩,僅需要記錄三個(gè)歷史數(shù)據(jù),即、,占用存儲(chǔ)空間小,運(yùn)行速度快。同時(shí),為了防止液位突變,對(duì)液位采集值進(jìn)行了限幅濾波,當(dāng)采集值超出一定范圍舍去不用。18控制流程圖為185.1.3 keil uvision3簡(jiǎn)介205.2系統(tǒng)控制軟件設(shè)計(jì)205.2.1 控制系統(tǒng)總體分析205.2.2控制系統(tǒng)具體設(shè)計(jì)215.3系統(tǒng)監(jiān)控軟件設(shè)計(jì)245.3.1監(jiān)控軟件kingview簡(jiǎn)介245.3
4、.2應(yīng)用程序項(xiàng)目的建立255.3.3組態(tài)王軟件與單片機(jī)之間的通訊265.3.4應(yīng)用組態(tài)王建立系統(tǒng)控制平臺(tái)276 總結(jié)28參考文獻(xiàn)29 1 引言單片機(jī)是將中央處理器(cpu)、隨機(jī)存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom或eprom)、定時(shí)器芯片和一些輸入/輸出接口電路集成在一個(gè)芯片上的微控制器(microcontroller)。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的通訊網(wǎng)絡(luò)與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用各種智能ic卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩
5、具、電子寵物等等,這些都離不開(kāi)單片機(jī),更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療機(jī)械等。本實(shí)驗(yàn)旨在設(shè)計(jì)一個(gè)單容水箱的水位控制系統(tǒng),以stc12c5a16s2單片機(jī)為核心控制器件,采用pid控制算法,利用組態(tài)王來(lái)提供可視化監(jiān)控畫面,實(shí)現(xiàn)對(duì)水位控制系統(tǒng)的有效監(jiān)控,并使系統(tǒng)具備手動(dòng)/自動(dòng)切換、報(bào)警、控制參數(shù)整定等功能。2 系統(tǒng)分析2.1 實(shí)驗(yàn)?zāi)康?)學(xué)習(xí)并掌握單片機(jī)的具體應(yīng)用方法,能夠獨(dú)自開(kāi)發(fā)設(shè)計(jì)簡(jiǎn)單的控制系統(tǒng)。2)熟練掌握pid控制方法,理解pid各個(gè)參數(shù)對(duì)控制效果的影響,并了解常規(guī)pid算法缺點(diǎn)及改進(jìn)方法。3)學(xué)習(xí)并掌握有關(guān)電路設(shè)計(jì)軟件,能夠熟練使用protel軟件繪制電路原理圖、電路板,學(xué)習(xí)
6、使用仿真軟件multisium,能夠?qū)卧娐愤M(jìn)行仿真,減少系統(tǒng)設(shè)計(jì)時(shí)間。4)學(xué)習(xí)并掌握c51單片機(jī)程序的編寫,能夠使用keil工具來(lái)進(jìn)行單片機(jī)系統(tǒng)的開(kāi)發(fā)和調(diào)試。5)學(xué)習(xí)使用監(jiān)控組態(tài)軟件組態(tài)王kingview,能夠?qū)崿F(xiàn)繪制監(jiān)控畫面、動(dòng)畫顯示控制設(shè)備的狀態(tài)、進(jìn)行報(bào)警等功能。2.2實(shí)驗(yàn)任務(wù)1利用水箱、閥門、管道、水泵、cy3011a型水位傳感器、stc12c5a16s2單片機(jī)、pl2303通訊接口和上位機(jī),構(gòu)建單容水箱液位控制系統(tǒng)。2利用組態(tài)王開(kāi)發(fā)上位機(jī)監(jiān)控軟件,使此系統(tǒng)具有良好的人機(jī)交互畫面。2.3實(shí)驗(yàn)要求1根據(jù)現(xiàn)場(chǎng)設(shè)備實(shí)際運(yùn)行情況自行構(gòu)建單容水箱的液位控制系統(tǒng),開(kāi)發(fā)pid調(diào)節(jié)器,實(shí)現(xiàn)對(duì)水箱液位
7、的控制,并畫出控制系統(tǒng)的流程圖。2在“組態(tài)王”中組態(tài),對(duì)水箱水位控制系統(tǒng)進(jìn)行有效的監(jiān)控,實(shí)現(xiàn)報(bào)警、實(shí)時(shí)趨勢(shì)、參數(shù)修改、手/自動(dòng)切換等功能。2.4實(shí)驗(yàn)分析本實(shí)驗(yàn)所要設(shè)計(jì)的系統(tǒng),其被控對(duì)象為單容水箱,被調(diào)量為單容水箱的水位,測(cè)量變送器為cy3011a型水位傳感器,用于測(cè)量水位;dv707型交流變頻器和水泵作為執(zhí)行機(jī)構(gòu),控制器是stc12c5a16s2單片機(jī)。此外,系統(tǒng)的其它組成設(shè)備還有水箱、閥門、管道等。本系統(tǒng)采用下位機(jī)以單片機(jī)為核心的閉環(huán)控制系統(tǒng),控制回路中包括水位傳感器、調(diào)節(jié)器、執(zhí)行器、被控對(duì)象四個(gè)主要部分。此外回路中還有信號(hào)處理電路,如a/d,d/a轉(zhuǎn)換器。上位機(jī)采用普通pc機(jī),通過(guò)串口與單
8、片機(jī)進(jìn)行通信。同時(shí)利用組態(tài)王設(shè)計(jì)了監(jiān)控控制畫面,使其具有友好的人機(jī)界面,方便實(shí)驗(yàn)者對(duì)液位進(jìn)行監(jiān)控,實(shí)現(xiàn)了控制參數(shù)整定、手自動(dòng)切換和報(bào)警等功能?;趩纹瑱C(jī)的水箱水位控制系統(tǒng)框圖如圖1所示。圖1水箱水位控制系統(tǒng)框圖水位傳感器把測(cè)量到的水位經(jīng)a/d轉(zhuǎn)換后,與水位給定值(即設(shè)定水位)進(jìn)行比較計(jì)算,把偏差e傳送到控制器進(jìn)行計(jì)算,得出控制量u經(jīng)d/a轉(zhuǎn)換后送到交流變頻器,交流變頻器根據(jù)接收到的4-20ma電流信號(hào)輸出不同的頻率,調(diào)節(jié)水泵轉(zhuǎn)速,從而達(dá)到控制水位的目的。下面具體來(lái)分析一下控制系統(tǒng)各部分的作用。1)水位傳感器本系統(tǒng)采用cy3011a型水位傳感器作為檢測(cè)部件,用以測(cè)量水箱里的水位,并將被測(cè)水位參數(shù)
9、轉(zhuǎn)換為統(tǒng)一標(biāo)準(zhǔn)信號(hào)(4-20ma)輸送給調(diào)節(jié)器。水位傳感器輸出的電信號(hào)與水位之間的關(guān)系可以用如下公式換算:其中:為滿量程高度,為變送器輸出信號(hào)。2)調(diào)節(jié)器本系統(tǒng)的調(diào)節(jié)控制器采用宏晶科技生產(chǎn)的stc12c5a16s2系列單片機(jī),單片機(jī)內(nèi)部有集成的a/d、d/a轉(zhuǎn)換器,故系統(tǒng)設(shè)計(jì)時(shí)只需要進(jìn)行相應(yīng)的硬件設(shè)置和軟件編程,不必再選用外部的adc、dac,簡(jiǎn)化了設(shè)計(jì)過(guò)程。其工作過(guò)程為:由cy3011a型水位傳感器送來(lái)的4-20madc信號(hào)(被調(diào)量)進(jìn)入調(diào)節(jié)器與給定值進(jìn)行比較,其偏差信號(hào)經(jīng)過(guò)比例、積分、微分運(yùn)算后,再經(jīng)d/a轉(zhuǎn)換成編程統(tǒng)一的4-20ma dc信號(hào)送到變頻器。3)執(zhí)行器本實(shí)驗(yàn)設(shè)計(jì)使用的變頻器是
10、dv707型交流變頻器,它把單片機(jī)輸出的電信號(hào)(4-20ma)轉(zhuǎn)換成頻率信號(hào)送到交流馬達(dá),從而調(diào)節(jié)水泵轉(zhuǎn)速,進(jìn)而達(dá)到控制水位高度的目的。4)水泵本實(shí)驗(yàn)中使用的水泵能夠根據(jù)變頻器輸出的頻率來(lái)改變轉(zhuǎn)速。把水抽進(jìn)水箱,水箱又通過(guò)閥門將水排出,這樣構(gòu)成水循環(huán)系統(tǒng)。3 stc12c5a16s2系列單片機(jī)3.1 stc12c5a16s2系列單片機(jī)的簡(jiǎn)介stc12c5a60s2/ad/pwm系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1t)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成max810專用復(fù)位電路(外部晶體12m以下時(shí),復(fù)位
11、腳可直接1k電阻到地),2路pwm,8路高速10位a/d轉(zhuǎn)換(250k/s,即25萬(wàn)次/秒),針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。3.2 stc12c5a16s2系列單片機(jī)的內(nèi)部結(jié)構(gòu)stc12c5a60s2系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如下圖2所示。stc12c5a60s2單片機(jī)中包含中央處理器(cpu)、程序存儲(chǔ)器(flash)、數(shù)據(jù)存儲(chǔ)器(sram)、定時(shí)/計(jì)數(shù)器、uart串口、串口2、i/o接口、高速a/d轉(zhuǎn)換、spi接口、pca、看門狗及片內(nèi)r/c振蕩器和外部晶體振蕩電路等模塊。stc12c5a60s2系列單片機(jī)幾乎包含了數(shù)據(jù)采集和控制中所需的所有單元模塊,可稱得上一個(gè)片上系統(tǒng)。圖2 stc12c5a
12、60s2系列內(nèi)部結(jié)構(gòu)框3.4 stc12c5a16s2系列單片機(jī)特點(diǎn)i/o口工作類型設(shè)定:p3、p2、p1和p0口設(shè)定不同的pxm1和pxm0中x的含義即為設(shè)定不同的px口的i/o模式設(shè)定。stc12c系列單片機(jī)其所有i/o 口均可由軟件配置成4種工作類型之一,如p1m1和p1m0模式等。4種不同的工作模式分別對(duì)應(yīng)著4種不同類型的配置。這4種類型分別為:準(zhǔn)雙向口(標(biāo)準(zhǔn) 8051 輸出模式)、推挽輸出、僅為輸入(高阻)或開(kāi)漏輸出功能。每個(gè)口由2個(gè)控制寄存器中的相應(yīng)位控制每個(gè)引腳工作類型。stc12c系列單片機(jī)上電復(fù)位后為準(zhǔn)雙向口(傳統(tǒng)8051 的i/o 口)模式。2v 以上時(shí)為高電平,0.8v
13、以下時(shí)為低電平。每個(gè)i/o口驅(qū)動(dòng)能力均可達(dá)到20ma,但整個(gè)芯片最大不得超過(guò)120ma。外部中斷可用i/o口有7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的pca模塊,power down模式可由外部中斷喚醒,int0/p3.2,int1/p3.3,t0/p3.4,t1/p3.5,rxd/p3.0,ccp0/p1.3(也可通過(guò)寄存器設(shè)置到p4.2),ccp1/p1.4(也可通過(guò)寄存器設(shè)置到p4.3)。3.5 stc12c5a16s2系列單片機(jī)的定時(shí)器/計(jì)數(shù)器stc12c5a60s2系列單片機(jī)有4個(gè)定時(shí)器,其中定時(shí)器0和定時(shí)器1是兩個(gè)16位定時(shí)器,與傳統(tǒng)8051的定時(shí)器完全兼容,
14、也可以設(shè)置為1t模式。當(dāng)在定時(shí)器1做波特率發(fā)生器時(shí),定時(shí)器0可以當(dāng)兩個(gè)8位定時(shí)器用(另外2路pca/pwm可以再實(shí)現(xiàn)2個(gè)16位定時(shí)器)。定時(shí)器0和1 定時(shí)和計(jì)數(shù)功能由特殊功能寄存器tmod 的控制位c/t進(jìn)行選擇,tmod寄存器的各位信息如下表所列。可以看出,2 個(gè)定時(shí)/ 計(jì)數(shù)器有4 種操作模式,通過(guò)tmod 的m1 和m0 選擇。2 個(gè)定時(shí)/ 計(jì)數(shù)器的模式0、1和 2 都相同,模式 3 不同,各模式下的功能如下所述。3.6 stc12系列單片機(jī)eeprom的應(yīng)用利用isp/iap技術(shù)將內(nèi)部data flash當(dāng)eeprom,擦寫次數(shù)10萬(wàn)次以上。5v單片機(jī)在3.7v以上對(duì)eeprom進(jìn)行操作
15、才有效,3.7v以下對(duì)eeprom進(jìn)行操作,mcu 不執(zhí)行此功能,但會(huì)繼續(xù)往下執(zhí)行程序.3.3v單片機(jī)在2.4v以上對(duì)eeprom進(jìn)行操作才有效,2.4v以下對(duì)eeprom進(jìn)行操作,mcu 不執(zhí)行此功能,但會(huì)繼續(xù)往下執(zhí)行程序.所以建議上電復(fù)位后在初始化程序時(shí)加200ms延時(shí)。程序在用戶應(yīng)用程序區(qū)時(shí), 僅可以對(duì)數(shù)據(jù)flash區(qū)(eeprom)進(jìn)行字節(jié)讀/字節(jié)編程/扇區(qū)擦除,stc12c5206pwm/12le5206ad/12le5206pwm除外,這幾個(gè)型號(hào)可在應(yīng)用程序區(qū)修改應(yīng)用程序區(qū)。stc12c5a60s2/ad/pwm系列單片機(jī)的eeprom起始地址從0000h開(kāi)始,每個(gè)扇區(qū)512字節(jié),
16、類推下去從0200h 開(kāi)始。3.7 stc12c5a16s2系列單片機(jī)的串行口通信stc12c5a60s2系列單片機(jī)具有2個(gè)采用uart(universal asynchronous receiver/transmitter)工作方式的全雙工串行通信接口(串口1和串口2)。每個(gè)串行口由2個(gè)數(shù)據(jù)緩沖器、一個(gè)移位寄存器、一個(gè)串行控制寄存器和一個(gè)波特率發(fā)生器等組成。每個(gè)串行口的數(shù)據(jù)緩沖器由2個(gè)互相獨(dú)立的接收、發(fā)送緩沖器構(gòu)成,可以同時(shí)發(fā)送和接收數(shù)據(jù)。發(fā)送緩沖器只能寫入而不能讀出,接收緩沖器只能讀出而不能寫入,因而兩個(gè)緩沖器可以共用一個(gè)地址碼。串行口1的兩個(gè)緩沖器共用的地址碼是99h;串行口2的兩個(gè)緩沖
17、器共用的地址碼是。串行口1的兩個(gè)緩沖器統(tǒng)稱串行通信特殊功能寄存器sbuf;串行口2的兩個(gè)緩沖器統(tǒng)稱串行通信特殊功能寄存器s2buf。stc12c5a60s系列單片機(jī)的兩個(gè)串行口都有4種工作方式,其中兩種方式的波特率是可變的,另兩種是固定的,以供不同應(yīng)用場(chǎng)合選用。用戶可用軟件設(shè)置不同的波特率和選擇不同的工作方式。主機(jī)可通過(guò)查詢或中斷方式對(duì)接收/發(fā)送進(jìn)行程序處理,使用十分靈活。stc12c5a60s2系列單片機(jī)的串行通信口,除用于數(shù)據(jù)通信外,還可方便地構(gòu)成一個(gè)或多個(gè)并行i/o口,或作串并轉(zhuǎn)換,或用于擴(kuò)展串行外設(shè)等。3.8 stc12c5a16s2系列單片機(jī)的a/d轉(zhuǎn)換器stc12c5a60s2系列
18、帶a/d轉(zhuǎn)換的單片機(jī)的a/d轉(zhuǎn)換口在p1(p1.7-p1.0),有8路10位高速a/d轉(zhuǎn)換器,速度可達(dá)到250khz(每秒鐘25萬(wàn)次)。8路電壓輸入型a/d,可做溫度檢測(cè)、電池電壓檢測(cè)、按鍵掃描、頻譜檢測(cè)等。上電復(fù)位后p1口為弱上拉型i/o口,用戶可以通過(guò)軟件設(shè)置將8路中的任何一路設(shè)置為a/d轉(zhuǎn)換,不需作為a/d使用的口可繼續(xù)作為i/o口使用。圖3 adc典型電路adc_start: 模數(shù)轉(zhuǎn)換器(adc)轉(zhuǎn)換啟動(dòng)控制位,設(shè)置為“1”時(shí),開(kāi)始轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后為0。adc_flag: 模數(shù)轉(zhuǎn)換器轉(zhuǎn)換結(jié)束標(biāo)志位,當(dāng)a/d轉(zhuǎn)換完成后,adc_flag = 1,要由軟件清0。不管是a/d轉(zhuǎn)換完成后由該位
19、申請(qǐng)產(chǎn)生中斷,還是由軟件查詢?cè)摌?biāo)志位a/d轉(zhuǎn)換是否結(jié)束, 當(dāng)a/d轉(zhuǎn)換完成后,adc_flag = 1,一定要軟件清0。3.9 stc12c5a16s2系列單片機(jī)的pwm應(yīng)用stc12c5a60s2系列單片機(jī)集成了兩路可編程計(jì)數(shù)器陣列(pca)模塊,可用于軟件定時(shí)器、外部脈沖的捕捉、高速輸出以及脈寬調(diào)制(pwm)輸出。脈寬調(diào)制(pwm,pulse width modulation)是一種使用程序來(lái)控制波形占空比、周期、相位波形的技術(shù),在三相電機(jī)驅(qū)動(dòng)、d/a轉(zhuǎn)換等場(chǎng)合有廣泛的應(yīng)用。stc12c5a60s2系列單片機(jī)的pca模塊可以通過(guò)程序設(shè)定,使其工作于8位pwm模式。4系統(tǒng)硬件設(shè)計(jì)4.1原理圖
20、的繪制4.1.1 protel簡(jiǎn)介protel是portel公司在80年代末推出的eda軟件,在電子行業(yè)的cad軟件中,它當(dāng)之無(wú)愧地排在眾多eda軟件的前面,是電子設(shè)計(jì)者的首選軟件,它較早就在國(guó)內(nèi)開(kāi)始使用,在國(guó)內(nèi)的普及率也最高,有些高校的電子專業(yè)還專門開(kāi)設(shè)了課程來(lái)學(xué)習(xí)它,幾乎所有的電子公司都要用到它,許多大公司在招聘電子設(shè)計(jì)人才時(shí)在其條件欄上常會(huì)寫著要求會(huì)使用protel。早期的protel主要作為印制板自動(dòng)布線工具使用,運(yùn)行在dos環(huán)境,對(duì)硬件的要求很低,在無(wú)硬盤286機(jī)的1m內(nèi)存下就能運(yùn)行,但它的功能也較少,只有電原理圖繪制與印制板設(shè)計(jì)功能,其印制板自動(dòng)布線的布通率也低,而現(xiàn)今的prote
21、l已發(fā)展到protel99(網(wǎng)絡(luò)上可下載到它的測(cè)試板),是個(gè)龐大的eda軟件,完全安裝有200多m,它工作在windows95環(huán)境下,是個(gè)完整的板級(jí)全方位電子設(shè)計(jì)系統(tǒng),它包含了電原理圖繪制、模擬電路與數(shù)字電路混合信號(hào)仿真、多層印制電路板設(shè)計(jì)(包含印制電路板自動(dòng)布線)、可編程邏輯器件設(shè)計(jì)、圖表生成、電子表格生成、支持宏操作等功能,并具有client/server (客戶/服務(wù)器)體系結(jié)構(gòu),同時(shí)還兼容一些其它設(shè)計(jì)軟件的文件格式,如orcad,pspice,excel等,其多層印制線路板的自動(dòng)布線可實(shí)現(xiàn)高密度pcb的100布通率。在國(guó)內(nèi)protel軟件較易買到,有關(guān)protel軟件和使用說(shuō)明的書(shū)也有
22、很多,這為它的普及提供了基礎(chǔ)。protel軟件的原廠商altium公司推出了protel系列的最新高端版本altium designer 6.0。altium designer 6.0,它是完全一體化電子產(chǎn)品開(kāi)發(fā)系統(tǒng)的一個(gè)新版本,也是業(yè)界第一款也是唯一一種完整的板級(jí)設(shè)計(jì)解決方案。altium designer 是業(yè)界首例將設(shè)計(jì)流程、集成化pcb 設(shè)計(jì)、可編程器件(如fpga)設(shè)計(jì)和基于處理器設(shè)計(jì)的嵌入式軟件開(kāi)發(fā)功能整合在一起的產(chǎn)品,一種同時(shí)進(jìn)行pcb和fpga設(shè)計(jì)以及嵌入式設(shè)計(jì)的解決方案,具有將設(shè)計(jì)方案從概念轉(zhuǎn)變?yōu)樽罱K成品所需的全部功能。 本實(shí)驗(yàn)是應(yīng)用altium designer6.0進(jìn)行原
23、理圖、電路板的繪制的。4.1.2原理圖的組成電路圖主要由元件符號(hào)、連線、結(jié)點(diǎn)、注釋四大部分構(gòu)成。1)元件符號(hào)。元件符號(hào)表示實(shí)際電路中的元件,它的形狀與實(shí)際的元件不一定相似,甚至完全不一樣。但是它一般都表示出了元件的特點(diǎn),而且引腳的數(shù)目都和實(shí)際元件保持一致。2)連線。連線表示實(shí)際電路中的導(dǎo)線,連線要畫成水平線或豎直線,一般不畫斜線。在原理圖中雖然只是一根線,但在常用的印制電路板中有可能不是線而是各種形狀的銅箔塊,對(duì)于總線,一般用粗線加標(biāo)注表示。箭頭線用于表示電氣信號(hào)的傳遞方向。3)結(jié)點(diǎn)。結(jié)點(diǎn)表示幾個(gè)元件引腳或幾條導(dǎo)線之間的連接關(guān)系。所有和結(jié)點(diǎn)相連的元件引腳、導(dǎo)線,不論數(shù)目多少,都是導(dǎo)通的。四端互
24、相連接的交叉線應(yīng)該在交叉處用圓點(diǎn)畫出,否則表示跨越。三端相連的交叉處可以不畫圓點(diǎn)。4)注釋。電路圖的注釋用來(lái)說(shuō)明元件的型號(hào)、名稱、數(shù)值等。電路圖中所有的文字都可以歸入注釋類。元件的技術(shù)數(shù)據(jù)一般標(biāo)在圖形符號(hào)近旁。當(dāng)連接線水平布置時(shí),盡可能標(biāo)在圖形符號(hào)下方,垂直布置時(shí),則標(biāo)在圖形符號(hào)的右方。電源一般用標(biāo)電壓值的方法,地線可用地線符號(hào)代替。圍框也是一種注釋,當(dāng)需要在圖上顯示出圖的一部分,如功能單元、結(jié)構(gòu)單元,可用點(diǎn)畫圍框表示。4.1.3原理圖元件的組成原理圖元件由兩大部分組成:用以標(biāo)識(shí)元件功能的標(biāo)識(shí)圖和元件引腳。1)標(biāo)識(shí)圖。標(biāo)識(shí)圖僅僅起著提示元件功能的作用,并沒(méi)有什么實(shí)質(zhì)作用。實(shí)際上,沒(méi)有標(biāo)識(shí)圖或者
25、隨便繪制標(biāo)識(shí)圖都不會(huì)影響原理圖的正確性。2)引腳。引腳是元件的核心部分。元件圖中的每一根引腳都要和實(shí)際元件的引腳對(duì)應(yīng),而這些引腳在元件圖中的位置是不重要的。每一根引腳都包含序號(hào)和名稱等信息。引腳序號(hào)用來(lái)區(qū)分各個(gè)引腳,引腳名稱用來(lái)提示引腳功能。引腳序號(hào)是必須有的,而且不同引腳的序號(hào)不同相同。引腳名稱根據(jù)需要設(shè)計(jì),名稱能反映該引腳的功能。4.1.4原理圖元件的制作過(guò)程繪制一個(gè)實(shí)際元件原理圖時(shí),為了保證正確和高效,一般建議遵循以下步驟。1)收集必要的資料。收集的資料主要包括元件的引腳功能。2)繪制元件標(biāo)識(shí)圖。如果是集成電路等引腳較多的元件,因?yàn)楣δ軓?fù)雜,不可能用標(biāo)識(shí)圖表達(dá)清楚,往往是畫個(gè)方框代表。如
26、果引腳較少的分立元件,一般盡量畫出能夠表達(dá)元件功能的標(biāo)識(shí)圖,這對(duì)于電路圖的閱讀會(huì)有很大幫助。3)添引腳并編輯引腳信息。在標(biāo)識(shí)圖的合適位置添加引腳,引腳的排列應(yīng)遵循以下規(guī)則:(1)電源引腳放在元件上部,地線引腳放在元件下部。(2)輸入引腳放在元件左邊,輸出引腳放在元件右邊。(3)功能相關(guān)的引腳靠近排列,功能不相關(guān)的引腳保持一定間隙。4.1.6原理圖的設(shè)計(jì)流程用protel繪制電路原理圖的基本步驟如下:1)啟動(dòng)protel電路原理圖編輯器;2)設(shè)置電路圖紙大小和環(huán)境參數(shù);3)規(guī)劃電路圖的總體布局,在圖紙上放置需要進(jìn)行設(shè)計(jì)的元件;4)對(duì)所放置的元件進(jìn)行布局布線;5)對(duì)布局布線后的元件進(jìn)行調(diào)整;6)保
27、存文檔并打印輸出。4.2具體硬件電路設(shè)計(jì)分析4.2.1單片機(jī)的晶振電路和復(fù)位電路簡(jiǎn)單的說(shuō),沒(méi)有晶振,就沒(méi)有時(shí)鐘周期,沒(méi)有時(shí)鐘周期,就無(wú)法執(zhí)行程序代碼,單片機(jī)就無(wú)法工作。單片機(jī)工作時(shí),是一條一條地從rom中取指令,然后一步一步地執(zhí)行。單片機(jī)訪問(wèn)一次存儲(chǔ)器的時(shí)間,稱之為一個(gè)時(shí)鐘周期,這是一個(gè)時(shí)間基準(zhǔn)。一個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期,機(jī)器周期不僅對(duì)于執(zhí)行指令有著重要意義,而且也是單片機(jī)定時(shí)器和計(jì)數(shù)器的時(shí)間基準(zhǔn)。例如一個(gè)單片機(jī)選擇了12mhz晶振,它的時(shí)鐘周期是1/12us,它的一個(gè)機(jī)器周期是12(1/12)us,即為1us,并且當(dāng)定時(shí)器的數(shù)值加1時(shí),實(shí)際經(jīng)過(guò)的時(shí)間就是1us,這也是單片機(jī)的定時(shí)原理。
28、晶振一般可分為晶體振蕩器和晶體諧振器。在單片機(jī)系統(tǒng)中,晶體振蕩器將外圍的電容集成到振蕩器內(nèi)部,無(wú)需再設(shè)計(jì)晶振電路,只需要將電源加載到晶振上,晶振就可以起振,并通過(guò)兩個(gè)引腳輸出到單片機(jī)的晶振引腳上。由于晶體振蕩器的體積較大,價(jià)格較貴,本實(shí)驗(yàn)選用了16mhz的晶體諧振器(立式晶振),需要如圖6所示的外部晶振電路才可以起振。圖4 單片機(jī)晶振電路和復(fù)位電路任何單片機(jī)在工作之前都要有復(fù)位過(guò)程。復(fù)位對(duì)單片機(jī)來(lái)說(shuō),是程序還沒(méi)開(kāi)始執(zhí)行,是在做準(zhǔn)備工作。一般的復(fù)位只需要5ms的時(shí)間。只要在單片機(jī)的rst引腳上加上高電平就可以實(shí)現(xiàn)復(fù)位電路。常用的實(shí)現(xiàn)方法是電源復(fù)位,即外部的復(fù)位電路在系統(tǒng)通上電之后直接使單片機(jī)工作
29、,單片機(jī)的啟停通過(guò)電源控制。對(duì)于stc12c5a16s2系列的單片機(jī)的復(fù)位電路,若時(shí)鐘頻率低于12mhz時(shí),可以不用rc電路,直接接1k電阻到地;若時(shí)鐘頻率高于12mhz時(shí),建議使用第二復(fù)位功能腳。由于本系統(tǒng)采用的是16mhz的時(shí)鐘頻率,如圖6所示,采用的是電源復(fù)位,ea引腳即為stc12c5a16s2單片機(jī)的第二復(fù)位功能腳rst2/ex_lvd/p4.6口。4.2.2按鍵輸入電路本實(shí)驗(yàn)采用了如圖7所示的獨(dú)立式按鍵,單片機(jī)直接通過(guò)讀入輸入線的狀態(tài)就可得知是否有鍵按下。工作原理是:當(dāng)按鍵s2按下時(shí),aj1與gnd連通,aj1=0,即p00=0;當(dāng)按鍵s2未按下時(shí),aj1與vcc連通,aj1=1,
30、即p00=1,就這樣實(shí)現(xiàn)了單片機(jī)的按鍵輸入功能。圖5按鍵輸入電路4.2.3輸出顯示電路1)指示燈顯示電路為了方便控制,本實(shí)驗(yàn)通過(guò)編寫程序,設(shè)計(jì)了與按鍵控制輸入相對(duì)應(yīng)的指示燈進(jìn)行顯示,硬件電路如圖8所示。當(dāng)led0=0時(shí),二極管led1發(fā)光;當(dāng)led0=1時(shí),二極管led1不亮。圖6指示燈顯示電路2)數(shù)碼管顯示電路數(shù)碼管在儀器儀表中主要是顯示單片機(jī)的輸出數(shù)據(jù)、狀態(tài)等,因而,作為典型的外圍器件,數(shù)碼管顯示是反映系統(tǒng)輸出和操作輸入的有效器件。本實(shí)驗(yàn)中8段數(shù)碼管是采用靜態(tài)顯示方法。靜態(tài)顯示就是顯示驅(qū)動(dòng)電路電路具有輸出所存功能,單片機(jī)將要顯示的數(shù)據(jù)送出后就不再控制led,直到下一次顯示時(shí)再傳送一次新的數(shù)
31、據(jù)。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,占用的cpu時(shí)間少。顯示驅(qū)動(dòng)電路如圖9所示,使用單片機(jī)的2個(gè)端口p3.4、p3.5,配以4片串入并出移位寄存器74ls164。其中74ls164的引腳q0q7為8位并行輸出端,為8段數(shù)碼管提供單獨(dú)鎖存的i/o接口;引腳a、b為串行輸入端,接收從單片機(jī)p3.5口送來(lái)的數(shù)據(jù)data;引腳clk與單片機(jī) p3.4相連接,為時(shí)鐘脈沖輸入端;引腳與vcc相連,在時(shí),74ls164鎖存數(shù)據(jù)。圖7 8段數(shù)碼管顯示電路4.2.4 a/d轉(zhuǎn)換外圍電路由于stc12c5a16s2系列單片機(jī)內(nèi)部有集成的adc,所以本實(shí)驗(yàn)設(shè)計(jì)了如圖10所示的a/d轉(zhuǎn)換外圍電路,插座j2連接的是水位傳感器,在電
32、路板焊接元器件時(shí),把p1、p7的兩個(gè)引腳短接,構(gòu)成通路。本實(shí)驗(yàn)中水位傳感器把水位值轉(zhuǎn)換成統(tǒng)一標(biāo)準(zhǔn)的420ma電流信號(hào),經(jīng)過(guò)電路轉(zhuǎn)換,adc0采集到的模擬量是相應(yīng)的電壓值,送到單片機(jī)進(jìn)行a/d轉(zhuǎn)換。adc7采集到的電壓值是隨著滑動(dòng)變阻器的接入電路的阻值而變化的,起到adc測(cè)試作用。圖8 a/d轉(zhuǎn)換外圍電路4.2.5 d/a轉(zhuǎn)換外圍電路stc12c5a60s2系列單片機(jī)的pca模塊可以通過(guò)程序設(shè)定,使其工作于8位pwm模式,可用作dac。經(jīng)過(guò)d/a轉(zhuǎn)換后的模擬電流量從單片機(jī)引腳pwm2出來(lái),經(jīng)過(guò)器件運(yùn)算放大器u10來(lái)提高對(duì)連接在插座j5上的變頻器的驅(qū)動(dòng)能力。圖9 d/a轉(zhuǎn)換外圍電路4.2.6報(bào)警電
33、路在電路板焊板過(guò)程中,把s1的1、2引腳短接,構(gòu)成通路,vcc引入報(bào)警電路,當(dāng)單片機(jī)引腳sound輸出是0時(shí),驅(qū)動(dòng)三極管q1,蜂鳴器b1報(bào)警;當(dāng)sound=1時(shí),三極管驅(qū)動(dòng)電路不工作,b1不報(bào)警。圖10報(bào)警電路4.2.7串口通信電路本實(shí)驗(yàn)采用器件pl2303來(lái)實(shí)現(xiàn)usb信號(hào)與rs232信號(hào)的轉(zhuǎn)換,電路原理圖如圖13所示。pl2303是prolific公司生產(chǎn)的一種高度集成的rs232-usb接口轉(zhuǎn)換器,可提供一個(gè)rs232全雙工異步串行通信裝置與usb功能接口便利聯(lián)接的解決方案。該器件內(nèi)置usb功能控制器、usb收發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號(hào)的uart,只需外接幾只電容就可實(shí)現(xiàn)us
34、b信號(hào)與rs232信號(hào)的轉(zhuǎn)換,能夠方便嵌入到各種設(shè)備。該器件作為usb/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ì)。圖11串口通信電路圖12器件p5引腳圖stc12c5a60s2系列單片機(jī)具有在系統(tǒng)可編程(isp)特性,isp的好處是:省去購(gòu)買通用編程器,單片機(jī)在用戶系統(tǒng)上即可下載/燒錄用戶程序,而無(wú)須將單片機(jī)從已生產(chǎn)好的產(chǎn)品上拆下,再用通用編程器將程序代碼燒錄進(jìn)單片機(jī)內(nèi)部。有些程序尚未定型的產(chǎn)品可以一邊生產(chǎn),一邊完善,加快了產(chǎn)品進(jìn)
35、入市場(chǎng)的速度,減小了新產(chǎn)品由于軟件缺陷帶來(lái)的風(fēng)險(xiǎn)。由于可以在用戶的目標(biāo)系統(tǒng)上將程序直接下載到單片機(jī)看運(yùn)行結(jié)果對(duì)錯(cuò),故無(wú)須仿真器。在電路板中,我們把器件p5的引腳usbtx和cpurxd(單片機(jī)的p3.0)相短接,usbrx和cputxd(單片機(jī)的p3.1)相短接,如圖14所示,通過(guò)器件u9,就把含gnd/p3.1/p3.0/vcc四個(gè)信號(hào)線都引入了usb插座j4中,這樣就可以在用戶系統(tǒng)上直接編程。要注意圖中的二極管d1的方向不能接反了,否則不能正常下載程序。4.2.8電源開(kāi)關(guān)電路圖15中的插座p6上接通的是帶鎖開(kāi)關(guān),用來(lái)系統(tǒng)控制電源的通斷,用pled1的亮滅狀態(tài)來(lái)指示。圖13電源開(kāi)關(guān)電路4.2
36、.9電壓變換電路圖16所示的電路主要是完成5v到24v的電壓變化,給水位傳感器提供電壓。圖14電壓變換電路4.2.10單片機(jī)的數(shù)字量輸出外圍電路圖17中器件u8起到光電隔離和信號(hào)轉(zhuǎn)換作用。圖15單片機(jī)的數(shù)字量輸出外圍電路4.3 pcb板的制作確認(rèn)原理圖沒(méi)有錯(cuò)誤之后,開(kāi)始pcb板的繪制。首先繪出pcb板的輪廓,假如pcb尺寸過(guò)大時(shí),印制線條長(zhǎng),阻抗增加,抗噪聲能力下降,成本也增加;pcb尺寸過(guò)小,則散熱不好,且鄰近線條易受干擾。應(yīng)根據(jù)具體電路需要確定pcb尺寸,然后,確定工藝要求(使用幾層板等)。最后,將原理圖傳輸?shù)絧cb板中來(lái),在網(wǎng)絡(luò)表、設(shè)計(jì)規(guī)則和原理圖的引導(dǎo)下布局和布線。本實(shí)驗(yàn)中采用的是自動(dòng)
37、布線,這有待改進(jìn)使用手動(dòng)布線。此外,電路板使用的是老師統(tǒng)一發(fā)的板子,在此就不再分析制板原理、注意事項(xiàng)等內(nèi)容了。5系統(tǒng)軟件設(shè)計(jì)本實(shí)驗(yàn)中,系統(tǒng)軟件的設(shè)計(jì)開(kāi)發(fā)均在windows環(huán)境下進(jìn)行。應(yīng)用組態(tài)王6.51建立上位機(jī)實(shí)時(shí)監(jiān)控界面,實(shí)現(xiàn)人機(jī)交互;利用上位機(jī)編程軟件keil uvision 3對(duì)控制器單片機(jī)完成模塊的初始化、數(shù)據(jù)交換、數(shù)字pid控制算法等功能。在整個(gè)控制過(guò)程中,通過(guò)modbus通信協(xié)議實(shí)現(xiàn)上位機(jī)、下位機(jī)和現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)交換。系統(tǒng)軟件設(shè)計(jì)時(shí),首先必須對(duì)確定的軟件任務(wù)和要求進(jìn)行仔細(xì)的分析、明確,進(jìn)一步具體化,對(duì)計(jì)算機(jī)資源進(jìn)行具體分配。例如,各個(gè)功能部件的口地址;p1 i/o口的功能分配;定時(shí)
38、器/計(jì)數(shù)器、中斷源、數(shù)據(jù)存儲(chǔ)單元等的功能分配;數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)的各種算法等,都應(yīng)通過(guò)研究確定下來(lái)。確定軟件結(jié)構(gòu)之后,劃分程序模塊,畫出系統(tǒng)軟件整體結(jié)構(gòu)框圖如圖19所示,下面將分別從系統(tǒng)控制軟件和系統(tǒng)監(jiān)控軟件兩方面來(lái)進(jìn)行系統(tǒng)設(shè)計(jì)。圖16系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)框圖5.1 pid控制算法和編程軟件介紹5.1.1 模擬pid調(diào)節(jié)器原理按偏差的比例、積分、微分進(jìn)行控制的調(diào)節(jié)器簡(jiǎn)稱pid調(diào)節(jié)器。這種調(diào)節(jié)器將設(shè)定值與實(shí)際輸出值進(jìn)行比較構(gòu)成偏差:并將其比例、積分、微分通過(guò)線性組合構(gòu)成控制量。對(duì)于本系統(tǒng)設(shè)定值即為設(shè)定液位,實(shí)際值為水位傳感器測(cè)量的實(shí)際液位。控制量為變頻器輸出。結(jié)構(gòu)如下圖所示。圖17模擬pid控制結(jié)構(gòu)圖p
39、id調(diào)節(jié)器中的比例作用是對(duì)偏差即時(shí)反應(yīng),減小偏差;積分的作用主要是消除靜差,實(shí)現(xiàn)無(wú)差調(diào)節(jié);微分的作用主要是加快系統(tǒng)的響應(yīng)。pid調(diào)節(jié)器的控制規(guī)律為:其中,為比例系數(shù),為積分時(shí)間,微分時(shí)間,為偏差,為控制量。5.1.2 數(shù)字pid控制算法在計(jì)算機(jī)控制系統(tǒng)中,pid控制規(guī)律的實(shí)現(xiàn)必須用數(shù)值逼近的方法。當(dāng)采樣周期足夠小時(shí),我們可以用求和代替積分、用向后差分代替微分,使模擬pid離散化為差分方程。數(shù)字pid位置型控制算式為,可知位置型控制算式要累加所有的偏差,這不僅要占用較多的存儲(chǔ)單元,而且不便于程序的編寫,使用不夠方便。在本實(shí)驗(yàn)中,運(yùn)用stc12c5a16s2單片機(jī)對(duì)液位進(jìn)行控制,則必須考慮到單片機(jī)
40、內(nèi)存容量的大小。所以我們采用理想pid控制算法的增量式。對(duì)位置式pid算法采用向后差分法進(jìn)行離散化,得到差分方程的形式的pid控制算式。式中:,。 這樣,就避免了位置型算式中累加求和的麻煩,僅需要記錄三個(gè)歷史數(shù)據(jù),即、,占用存儲(chǔ)空間小,運(yùn)行速度快。同時(shí),為了防止液位突變,對(duì)液位采集值進(jìn)行了限幅濾波,當(dāng)采集值超出一定范圍舍去不用??刂屏鞒虉D為控制量輸出控制電機(jī)轉(zhuǎn)速,程序中設(shè)定電機(jī)轉(zhuǎn)速的上下限,當(dāng)輸出超出上下限是,即進(jìn)行越限處理。根據(jù)數(shù)字pid算式計(jì)算出的控制量超出了變頻器的上下限,例如,那么實(shí)際輸出控制量只能取上限值。由于控制量受到限制,系統(tǒng)輸出的增長(zhǎng)要比沒(méi)有受到限制時(shí)慢,偏差將比正常情況下持續(xù)
41、更長(zhǎng)的時(shí)間保持正值,因此pid算式中的積分項(xiàng)有較大的累積值。當(dāng)輸出超過(guò)給定值,出現(xiàn)負(fù)偏差時(shí),由于積分項(xiàng)值較大,需要很長(zhǎng)一段時(shí)間才能脫離飽和,即系統(tǒng)出現(xiàn)明顯的超調(diào)。這種積分飽和現(xiàn)象必須抑制??朔e分飽和的方法有多種,其中積分分離方法比較簡(jiǎn)單且經(jīng)試驗(yàn)效果很好,因此本設(shè)計(jì)采用積分分離方法。積分分離方法的基本思想為:在開(kāi)始并不進(jìn)行積分,直達(dá)偏差達(dá)到一定的閾值后才進(jìn)行積分的累積。這樣,一方面防止一開(kāi)始有過(guò)大的控制量;另一方面,即使進(jìn)入飽和后,因?yàn)榉e分累積較小,也能較快退出,減小超調(diào)。因此,偏差在閾值范圍內(nèi)時(shí),積分作用,消除靜差,為pid調(diào)節(jié)器;偏差在閾值范圍之外時(shí),積分不作用,為pd調(diào)節(jié)器。其流程圖如下
42、。5.1.3 keil uvision3簡(jiǎn)介對(duì)于單片機(jī)的編程,我們有多種選擇,其中,比較通用的有兩種,一種是匯編語(yǔ)言,另一種是c51語(yǔ)言。在單片機(jī)系統(tǒng)中,盡管有些單片機(jī)也配置了簡(jiǎn)易高級(jí)語(yǔ)言,但是應(yīng)用最廣泛的還是匯編語(yǔ)言。這是因?yàn)閰R編語(yǔ)言源程序結(jié)構(gòu)緊湊,靈活,會(huì)變成德目標(biāo)程序有效率高,占用內(nèi)存儲(chǔ)空間少,運(yùn)行速度快和實(shí)時(shí)性強(qiáng)等特點(diǎn),適合實(shí)施測(cè)控等應(yīng)用領(lǐng)域的要求。由于匯編語(yǔ)言面向機(jī)器,因而有應(yīng)用軟件(源程序)不能移植,缺乏通用性,編程繁瑣等缺點(diǎn)。而c語(yǔ)言是一種編譯型程序設(shè)計(jì)語(yǔ)言,既有高級(jí)語(yǔ)言具有的庫(kù)函數(shù)豐富,語(yǔ)法限制少,可讀性強(qiáng),移植好等優(yōu)點(diǎn),還有匯編語(yǔ)言具有的面向硬件操作,木匾代碼質(zhì)量高等長(zhǎng)處。此
43、外,其他模塊化的程序結(jié)構(gòu)也為軟件的開(kāi)發(fā)提供了極大的方便。本實(shí)驗(yàn)選用c語(yǔ)言對(duì)程序進(jìn)行設(shè)計(jì),編程軟件選用keil uversion3,此款軟件是keilsoftware公司推出的uvision3是一款可用于多種8051mcu的集成開(kāi)發(fā)環(huán)境(ide),除增加了源代碼、功能導(dǎo)航器、模板編輯以及改進(jìn)的搜索功能外,uvision3還提供了一個(gè)配置向?qū)Чδ?,加速了啟?dòng)代碼和配置文件的生成。此外其內(nèi)置的仿真器可模擬目標(biāo)mcu,包括指令集、片上外圍設(shè)備及外部信號(hào)等。uvision3提供邏輯分析器,可監(jiān)控基于mcui/o引腳和外設(shè)狀態(tài)變化下的程序變量。keilc51標(biāo)準(zhǔn)c編譯器為8051微控制器的軟件開(kāi)發(fā)提供了c
44、語(yǔ)言環(huán)境,同時(shí)保留了匯編代碼高效,快速的特點(diǎn)。c51編譯器的功能不斷增強(qiáng),更加貼近c(diǎn)pu本身,及其它的衍生產(chǎn)品。c51已被完全集成到uvision3的集成開(kāi)發(fā)環(huán)境中,這個(gè)集成開(kāi)發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uvision3 ide可為它們提供單一而靈活的開(kāi)發(fā)環(huán)境。5.2系統(tǒng)控制軟件設(shè)計(jì) 5.2.1 控制系統(tǒng)總體分析本控制系統(tǒng)設(shè)計(jì)任務(wù)如下:采用閉環(huán)負(fù)反饋形式,stc12c5a16s2單片機(jī)是整個(gè)控制的核心。外部模擬量通過(guò)測(cè)量變送器傳入單片機(jī)內(nèi)部進(jìn)行a/d轉(zhuǎn)換,與給定值比較得出偏差,送入pid控制算法進(jìn)行自動(dòng)控制,顯示出當(dāng)前水位狀態(tài)。同時(shí)可對(duì)pid算法進(jìn)行參數(shù)整定,
45、找出最優(yōu)算法。pid輸出量以一定的換算關(guān)系轉(zhuǎn)換為電機(jī)頻率增量,驅(qū)動(dòng)電機(jī),從而實(shí)現(xiàn)對(duì)水位的控制。同時(shí),stc單片機(jī)還有一個(gè)特定的溫度測(cè)量輸入引腳ds18b20,可以對(duì)溫度進(jìn)行顯示。顯示器采用編程簡(jiǎn)單應(yīng)用廣泛的8位led數(shù)碼管作為數(shù)據(jù)顯示,同時(shí)貼片式lcd配合顯示當(dāng)前控制狀態(tài)。此外,還可通過(guò)設(shè)置水位的上下限,對(duì)危險(xiǎn)情況進(jìn)行報(bào)警。軟件設(shè)計(jì)是硬件功能實(shí)現(xiàn)的基礎(chǔ),硬件模塊的設(shè)計(jì)是軟件設(shè)計(jì)的依據(jù)。通過(guò)分析控制系統(tǒng)設(shè)計(jì)任務(wù),我們給出系統(tǒng)功能要求與擬定實(shí)現(xiàn)措施。1、系統(tǒng)功能要求1)水位給定值。通過(guò)led顯示水位給定值,同時(shí)可通過(guò)鍵盤進(jìn)行手動(dòng)增、減。2)lcd燈。各種狀態(tài)的切換可通過(guò)lcd燈亮、暗的組合表示。3
46、)水位測(cè)量值。經(jīng)測(cè)量變送器(壓力傳感器)輸入單片機(jī),與給定液位比較,產(chǎn)生偏差,經(jīng)過(guò)pid運(yùn)算,輸出量對(duì)電機(jī)轉(zhuǎn)速進(jìn)行控制。4)報(bào)警。除了在程序運(yùn)行中,水位超過(guò)上、下限進(jìn)行報(bào)警外,程序啟動(dòng)前也可啟動(dòng)報(bào)警電路,檢測(cè)蜂鳴器的狀態(tài)。5)溫度顯示。讀取溫度傳感器數(shù)值,并顯示當(dāng)前溫度。6)通信。與pc機(jī)通信,可接受鍵盤輸入,發(fā)什么收什么。2、擬定實(shí)現(xiàn)措施根據(jù)總體功能要求,擬定相應(yīng)的實(shí)現(xiàn)措施如下:1)6個(gè)按鍵,分別實(shí)現(xiàn)設(shè)置、加一、減一、顯示溫度、手/自動(dòng)切換、運(yùn)行六種不同的功能。 2)4個(gè)貼片式lcd分別對(duì)應(yīng)著水位、溫度、手動(dòng)和自動(dòng)四種模式。3)編寫pid算法,實(shí)現(xiàn)對(duì)水位測(cè)量值的控制,主要是通過(guò)改變pwm的占
47、空比實(shí)現(xiàn)的。4)設(shè)置最大與最小水位值,防止水位超限。5)通過(guò)對(duì)18b20引腳功能操作,進(jìn)行溫度顯示。6)設(shè)置上位機(jī)通信crc高位字節(jié)值表與低位字節(jié)值表,實(shí)現(xiàn)modbus通信。5.2.2控制系統(tǒng)具體設(shè)計(jì) 整個(gè)液位控制系統(tǒng)主要分為按鍵處理模塊,水位控制模塊,通信模塊,顯示模塊。下面具體來(lái)介紹各個(gè)模塊的控制流程圖和主要程序的編寫。 1、按鍵處理模塊首先,對(duì)按鍵進(jìn)行延時(shí)去抖動(dòng)。void time0_int() interrupt 1 using 1 /定時(shí)器0中斷4ms th0 =0xeb;tl0=0x2a; if(aj_b=1) ajnum+; if (ajnum20 & (p0|0xc0=0xff
48、)aj_b=0; 然后判斷按鍵地址,根據(jù)按鍵的識(shí)別分別轉(zhuǎn)向不同的功能實(shí)現(xiàn)函數(shù)。其中,0xfe,0xfd,0xfb,0xf7,0xef,0xdf分別為六個(gè)按鍵的地址碼。分別對(duì)應(yīng)著設(shè)置,加一,減一,顯示溫度,手自動(dòng)切換,運(yùn)行,六種模式。當(dāng)按下不同的按鍵,則取執(zhí)行相應(yīng)的功能。圖18按鍵處理流程圖void anjian() /主程序 ucharip0,x=0,x_bak=1;hard_init();aj_b=0;a3=0;a2=0;ea=1; /開(kāi)中斷while(1) ip0=p0 | 0xc0; if (ip0 !=0xff) ajnum=0; if (ip0 !=0xff & aj_b=0) aj
49、_b=1;switch (ip0) case 0xfe:x+;/按鍵:設(shè)置if (x99) x=0;break;case 0xfd: x-;/按鍵:加一 if (x100) x=99; break;case 0xfb: x=0; /按鍵:減一 break; case 0xf7: x=0;/顯示溫度 break;case 0xef: x=0;/手自動(dòng)切換 break;case 0xdf: x=0;/運(yùn)行 break;default: break; 2、水位控制模塊如圖21所示,首先stc12c5a16s2單片機(jī)的a/d轉(zhuǎn)換模塊從外界測(cè)量變送器處得到水位模擬量輸入電壓,然后,a/d轉(zhuǎn)換模塊把被控對(duì)
50、象的各種模擬信息編程計(jì)算機(jī)可以識(shí)別的數(shù)字信息。其中,變量lu指定a/d轉(zhuǎn)換模塊輸入路數(shù),變量cnum則指定a/d轉(zhuǎn)換模塊的采樣平均次數(shù)。然后,令adc_contr=i;啟動(dòng)ad轉(zhuǎn)換,等待adc_flag標(biāo)志,a/d轉(zhuǎn)換結(jié)束。當(dāng)手動(dòng)控制標(biāo)志manb置0時(shí),即啟動(dòng)pid自動(dòng)控制。程序采用兩種pid控制算法,當(dāng)偏差為超限時(shí),采用理想pid控制算法,當(dāng)偏差e超過(guò)積分分離閾值時(shí)(設(shè)100)則采用積分分離算法。圖19水位控制模塊流程圖水位控制程序如下(具體程序可參見(jiàn)附錄a):uint adconv(uchar lu, uchar cnum) /ad轉(zhuǎn)換,lu:第幾路,cnum:采樣平均次數(shù) adval=a
51、dconv(0, 8);/得到ad轉(zhuǎn)換結(jié)果void inc_pid();/pid控制算法3、通信模塊圖20通信模塊流程圖相關(guān)程序:uchar w_mult_reg(void) /寫多寄存器uchar r_mult_reg(void) /讀多寄存器unsigned short crc16(unsigned char *puchmsg , unsigned short usdatalen )/循環(huán)冗余校驗(yàn)void rece_disposal(void)/接收信息處理crc(循環(huán)冗余校驗(yàn))是網(wǎng)絡(luò)數(shù)據(jù)封包或電腦檔案等數(shù)據(jù)產(chǎn)生簡(jiǎn)短固定位數(shù)校驗(yàn)碼的一種散列函數(shù),主要用來(lái)檢測(cè)或校驗(yàn)數(shù)據(jù)傳輸或者保存后可能出現(xiàn)
52、的錯(cuò)誤。生成的數(shù)字在傳輸或者儲(chǔ)存之前計(jì)算出來(lái)并且附加到數(shù)據(jù)后面,然后接收方進(jìn)行檢驗(yàn)確定數(shù)據(jù)是否發(fā)生變化。然后,設(shè)置變量如下:uchar *t_buffer; /設(shè)置內(nèi)存指針uchar rece_beg=0; / 0 表示接收區(qū)有數(shù)據(jù)了bit rece_ok=0; /=1表示接收完成,可以處理了bit txd_ok=0; /=1表示可以發(fā)送數(shù)據(jù)了uchar idata txd_buf32;/用于存儲(chǔ)發(fā)送數(shù)據(jù)uchar idata rxd_buf16;/用于存儲(chǔ)接受數(shù)據(jù)uchar txd_num,rxd_num; /接收和發(fā)送緩沖區(qū)已用的字節(jié)數(shù) 采用中斷查詢方法,當(dāng)中斷標(biāo)志ti或ri為1時(shí),即進(jìn)行
53、寫寄存器處理或者讀寄存器處理。同時(shí),通過(guò)rece_ok 和txd_ok可檢測(cè)通信是否結(jié)束。當(dāng)通信結(jié)束時(shí),通過(guò)調(diào)用顯示模塊,將結(jié)果顯示在8為led數(shù)碼管上。4、顯示模塊圖21顯示模塊流程圖相關(guān)程序:void xianshi(void)/顯示 uchar i,j,val;for (i=0;i4;i+) val=tableai ;for (j=0;j1; 單片機(jī)上焊接4個(gè)8為led數(shù)碼管,因此,全局變量a4用來(lái)存儲(chǔ)要顯示的內(nèi)容。通過(guò)循環(huán),將數(shù)組a4中的內(nèi)容顯示到數(shù)碼管上即可。5.3系統(tǒng)監(jiān)控軟件設(shè)計(jì)5.3.1監(jiān)控軟件kingview簡(jiǎn)介組態(tài)軟件是指一些數(shù)據(jù)采集和過(guò)程控制的專用軟件,它們是在自動(dòng)控制系統(tǒng)
54、監(jiān)控層一級(jí)的軟件平臺(tái)和開(kāi)發(fā)環(huán)境,使用靈活的組態(tài)方式,為用戶提供快速構(gòu)建工業(yè)自動(dòng)控制系統(tǒng)監(jiān)控功能的、通用層次的軟件。隨著對(duì)工業(yè)自動(dòng)化的要求越來(lái)越高,以及大量控制設(shè)備和過(guò)程監(jiān)控裝置之間的通訊的需要,“監(jiān)控和數(shù)據(jù)采集系統(tǒng)”越來(lái)越受到用戶的重視,從而導(dǎo)致組態(tài)軟件的大量使用。組態(tài)王是一個(gè)集成的人機(jī)界面(hmi)系統(tǒng)和監(jiān)控管理系統(tǒng),可以與可編程序控制器(plc)、智能模塊、單片機(jī)、板卡、智能儀表、遠(yuǎn)程數(shù)據(jù)采集裝置(rtv)等多種外部設(shè)備進(jìn)行通訊。而其軟件系統(tǒng)與用戶最終使用的現(xiàn)場(chǎng)設(shè)備無(wú)關(guān),對(duì)于不同的硬件設(shè)施,用戶只需要按照安裝向?qū)У奶崾就瓿蒳/o設(shè)備的配置工作,為組態(tài)王配置相應(yīng)的通訊設(shè)備的硬件驅(qū)動(dòng)程序并由硬
55、件設(shè)備驅(qū)動(dòng)程序完成組態(tài)王與i/o 設(shè)備的通訊。在系統(tǒng)運(yùn)行的過(guò)程中,組態(tài)王通過(guò)內(nèi)嵌的設(shè)備管理程序完成與i/o設(shè)備的實(shí)時(shí)數(shù)據(jù)交換,從而完成對(duì)所控對(duì)象的管理和監(jiān)控。組態(tài)王是運(yùn)行在windows98/nt/2000上的一種組態(tài)軟件。它具有以下特點(diǎn):(1)使用組態(tài)王,用戶可以方便地構(gòu)造適應(yīng)自己需要的“數(shù)據(jù)采集系統(tǒng)”,在任何需要的時(shí)候把生產(chǎn)現(xiàn)場(chǎng)的信息實(shí)時(shí)地傳送到控制室,保證信息的暢通。(2)組態(tài)王的網(wǎng)絡(luò)功能使企業(yè)的基層和其它部門建立起聯(lián)系,現(xiàn)場(chǎng)操作人員和工廠管理人員都可以看到各種數(shù)據(jù)。管理人員不需要深入生產(chǎn)現(xiàn)場(chǎng),就可以獲得實(shí)時(shí)和歷史數(shù)據(jù),優(yōu)化控制現(xiàn)場(chǎng)作業(yè),提高生產(chǎn)率和產(chǎn)品質(zhì)量。(3)組態(tài)王易于學(xué)習(xí)和使用,擁有豐富的工具箱、圖庫(kù)和操作向?qū)В瓤梢怨?jié)省大量時(shí)間,又能提高系統(tǒng)性能。(4)組態(tài)王與現(xiàn)場(chǎng)的i/o設(shè)備直接進(jìn)行通訊。i/o設(shè)備的輸入提供現(xiàn)場(chǎng)的信息,i/o設(shè)備的輸出通常用于對(duì)現(xiàn)場(chǎng)的控制。有些i/o設(shè)備(例如plc),其本身的程序完成對(duì)現(xiàn)場(chǎng)的控制,程序根據(jù)輸入決定各輸出的值。(5)輸入輸出的數(shù)值存放在i/o設(shè)備的寄存器中,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025江蘇揚(yáng)州工業(yè)職業(yè)技術(shù)學(xué)院博士專項(xiàng)招聘16人筆試備考試題完整參考答案詳解
- 2024年河北邯鄲成安縣事業(yè)單位招聘工作人員255名筆試備考試題含答案詳解
- 2025廣西來(lái)賓市招聘鄉(xiāng)村振興專員221人筆試備考題庫(kù)及參考答案詳解一套
- 2025年?yáng)|營(yíng)市公務(wù)員考試行測(cè)真題及答案詳解(名師系列)
- 山東省多校2024-2025學(xué)年高二下學(xué)期3月月考物理試題(解析版)
- 四川省涼山彝族自治州西昌市2024-2025學(xué)年高一上學(xué)期期中檢測(cè)物理試題(解析版)
- 跨國(guó)土木項(xiàng)目中的BIM應(yīng)用探索
- 房地產(chǎn)項(xiàng)目融資渠道的選擇
- 數(shù)學(xué)教學(xué)課件首頁(yè)
- 金融市場(chǎng)量化投資策略在區(qū)塊鏈技術(shù)背景下的創(chuàng)新報(bào)告
- 一體化污水處理設(shè)備采購(gòu)安裝及運(yùn)維 投標(biāo)方案(技術(shù)方案)
- 晉升品質(zhì)主管述職報(bào)告
- 雷火灸技術(shù)操作流程圖及考核標(biāo)準(zhǔn)
- 北師大版三年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)教案(完整版)教學(xué)設(shè)計(jì)含教學(xué)反思
- 電力安全生產(chǎn)十大禁令
- 醫(yī)學(xué)分子生物學(xué)習(xí)題集
- 2025年山東水發(fā)集團(tuán)有限公司總部及權(quán)屬一級(jí)公司招聘筆試參考題庫(kù)附帶答案詳解
- 基于機(jī)器學(xué)習(xí)算法的泰坦尼克生還預(yù)測(cè)
- 農(nóng)村自建房流程
- 組織內(nèi)外部環(huán)境因素的相關(guān)方需求和期望分析與風(fēng)險(xiǎn)和機(jī)遇識(shí)別評(píng)價(jià)分析
- 資產(chǎn)處置培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論