




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于單片機(jī)的水位控制專業(yè)綜合實(shí)驗(yàn)課程設(shè)計(jì)報(bào)告專 業(yè): 自動(dòng)化 班 級: 姓 名: 學(xué) 號: 指導(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ī)的簡介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ī)的串行口通信83.8 stc1
2、2c5a16s2系列單片機(jī)的a/d轉(zhuǎn)換器83.9 stc12c5a16s2系列單片機(jī)的pwm應(yīng)用94系統(tǒng)硬件設(shè)計(jì)94.1原理圖的繪制94.1.1 protel簡介94.1.2原理圖的組成104.1.3原理圖元件的組成104.1.4原理圖元件的制作過程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電源開關(guān)電路154.2.9電壓變換電路164.2.10單片機(jī)的數(shù)字量
3、輸出外圍電路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ù),即、,占用存儲空間小,運(yùn)行速度快。同時(shí),為了防止液位突變,對液位采集值進(jìn)行了限幅濾波,當(dāng)采集值超出一定范圍舍去不用。18控制流程圖為185.1.3 keil uvision3簡介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簡介245.3.2應(yīng)用程序項(xiàng)目的建
4、立255.3.3組態(tài)王軟件與單片機(jī)之間的通訊265.3.4應(yīng)用組態(tài)王建立系統(tǒng)控制平臺276 總結(jié)28參考文獻(xiàn)29 1 引言單片機(jī)是將中央處理器(cpu)、隨機(jī)存儲器(ram)、只讀存儲器(rom或eprom)、定時(shí)器芯片和一些輸入/輸出接口電路集成在一個(gè)芯片上的微控制器(microcontroller)。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的通訊網(wǎng)絡(luò)與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用各種智能ic卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這
5、些都離不開單片機(jī),更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療機(jī)械等。本實(shí)驗(yàn)旨在設(shè)計(jì)一個(gè)單容水箱的水位控制系統(tǒng),以stc12c5a16s2單片機(jī)為核心控制器件,采用pid控制算法,利用組態(tài)王來提供可視化監(jiān)控畫面,實(shí)現(xiàn)對水位控制系統(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ú)自開發(fā)設(shè)計(jì)簡單的控制系統(tǒng)。2)熟練掌握pid控制方法,理解pid各個(gè)參數(shù)對控制效果的影響,并了解常規(guī)pid算法缺點(diǎn)及改進(jìn)方法。3)學(xué)習(xí)并掌握有關(guān)電路設(shè)計(jì)軟件,能夠熟練使用protel軟件繪制電路原理圖、電路板,學(xué)習(xí)使用仿真軟件mult
6、isium,能夠?qū)卧娐愤M(jìn)行仿真,減少系統(tǒng)設(shè)計(jì)時(shí)間。4)學(xué)習(xí)并掌握c51單片機(jī)程序的編寫,能夠使用keil工具來進(jìn)行單片機(jī)系統(tǒng)的開發(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)王開發(fā)上位機(jī)監(jiān)控軟件,使此系統(tǒng)具有良好的人機(jī)交互畫面。2.3實(shí)驗(yàn)要求1根據(jù)現(xiàn)場設(shè)備實(shí)際運(yùn)行情況自行構(gòu)建單容水箱的液位控制系統(tǒng),開發(fā)pid調(diào)節(jié)器,實(shí)現(xiàn)對水箱液位的控制,并畫出控制系
7、統(tǒng)的流程圖。2在“組態(tài)王”中組態(tài),對水箱水位控制系統(tǒng)進(jìn)行有效的監(jiān)控,實(shí)現(xiàn)報(bào)警、實(shí)時(shí)趨勢、參數(shù)修改、手/自動(dòng)切換等功能。2.4實(shí)驗(yàn)分析本實(shí)驗(yàn)所要設(shè)計(jì)的系統(tǒng),其被控對象為單容水箱,被調(diào)量為單容水箱的水位,測量變送器為cy3011a型水位傳感器,用于測量水位;dv707型交流變頻器和水泵作為執(zhí)行機(jī)構(gòu),控制器是stc12c5a16s2單片機(jī)。此外,系統(tǒng)的其它組成設(shè)備還有水箱、閥門、管道等。本系統(tǒng)采用下位機(jī)以單片機(jī)為核心的閉環(huán)控制系統(tǒng),控制回路中包括水位傳感器、調(diào)節(jié)器、執(zhí)行器、被控對象四個(gè)主要部分。此外回路中還有信號處理電路,如a/d,d/a轉(zhuǎn)換器。上位機(jī)采用普通pc機(jī),通過串口與單片機(jī)進(jìn)行通信。同時(shí)利
8、用組態(tài)王設(shè)計(jì)了監(jiān)控控制畫面,使其具有友好的人機(jī)界面,方便實(shí)驗(yàn)者對液位進(jìn)行監(jiān)控,實(shí)現(xiàn)了控制參數(shù)整定、手自動(dòng)切換和報(bào)警等功能?;趩纹瑱C(jī)的水箱水位控制系統(tǒng)框圖如圖1所示。圖1水箱水位控制系統(tǒng)框圖水位傳感器把測量到的水位經(jīng)a/d轉(zhuǎn)換后,與水位給定值(即設(shè)定水位)進(jìn)行比較計(jì)算,把偏差e傳送到控制器進(jìn)行計(jì)算,得出控制量u經(jīng)d/a轉(zhuǎn)換后送到交流變頻器,交流變頻器根據(jù)接收到的4-20ma電流信號輸出不同的頻率,調(diào)節(jié)水泵轉(zhuǎn)速,從而達(dá)到控制水位的目的。下面具體來分析一下控制系統(tǒng)各部分的作用。1)水位傳感器本系統(tǒng)采用cy3011a型水位傳感器作為檢測部件,用以測量水箱里的水位,并將被測水位參數(shù)轉(zhuǎn)換為統(tǒng)一標(biāo)準(zhǔn)信號(
9、4-20ma)輸送給調(diào)節(jié)器。水位傳感器輸出的電信號與水位之間的關(guān)系可以用如下公式換算:其中:為滿量程高度,為變送器輸出信號。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,簡化了設(shè)計(jì)過程。其工作過程為:由cy3011a型水位傳感器送來的4-20madc信號(被調(diào)量)進(jìn)入調(diào)節(jié)器與給定值進(jìn)行比較,其偏差信號經(jīng)過比例、積分、微分運(yùn)算后,再經(jīng)d/a轉(zhuǎn)換成編程統(tǒng)一的4-20ma dc信號送到變頻器。3)執(zhí)行器本實(shí)驗(yàn)設(shè)計(jì)使用的變頻器是dv707型交流變頻
10、器,它把單片機(jī)輸出的電信號(4-20ma)轉(zhuǎn)換成頻率信號送到交流馬達(dá),從而調(diào)節(jié)水泵轉(zhuǎn)速,進(jìn)而達(dá)到控制水位高度的目的。4)水泵本實(shí)驗(yàn)中使用的水泵能夠根據(jù)變頻器輸出的頻率來改變轉(zhuǎn)速。把水抽進(jìn)水箱,水箱又通過閥門將水排出,這樣構(gòu)成水循環(huán)系統(tǒng)。3 stc12c5a16s2系列單片機(jī)3.1 stc12c5a16s2系列單片機(jī)的簡介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ù)位腳可直接1k電阻到地
11、),2路pwm,8路高速10位a/d轉(zhuǎn)換(250k/s,即25萬次/秒),針對電機(jī)控制,強(qiáng)干擾場合。3.2 stc12c5a16s2系列單片機(jī)的內(nèi)部結(jié)構(gòu)stc12c5a60s2系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如下圖2所示。stc12c5a60s2單片機(jī)中包含中央處理器(cpu)、程序存儲器(flash)、數(shù)據(jù)存儲器(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 stc12c5a60s2系列內(nèi)部結(jié)構(gòu)
12、框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種不同的工作模式分別對應(yīng)著4種不同類型的配置。這4種類型分別為:準(zhǔn)雙向口(標(biāo)準(zhǔn) 8051 輸出模式)、推挽輸出、僅為輸入(高阻)或開漏輸出功能。每個(gè)口由2個(gè)控制寄存器中的相應(yīng)位控制每個(gè)引腳工作類型。stc12c系列單片機(jī)上電復(fù)位后為準(zhǔn)雙向口(傳統(tǒng)8051 的i/o 口)模式。2v 以上時(shí)為高電平,0.8v 以下時(shí)為低電平。每個(gè)
13、i/o口驅(qū)動(dòng)能力均可達(dá)到20ma,但整個(gè)芯片最大不得超過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(也可通過寄存器設(shè)置到p4.2),ccp1/p1.4(也可通過寄存器設(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í)器完全兼容,也可以設(shè)置為1t模式
14、。當(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 種操作模式,通過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萬次以上。5v單片機(jī)在3.7v以上對eeprom進(jìn)行操作才有效,3.7v以下
15、對eeprom進(jìn)行操作,mcu 不執(zhí)行此功能,但會繼續(xù)往下執(zhí)行程序.3.3v單片機(jī)在2.4v以上對eeprom進(jìn)行操作才有效,2.4v以下對eeprom進(jìn)行操作,mcu 不執(zhí)行此功能,但會繼續(xù)往下執(zhí)行程序.所以建議上電復(fù)位后在初始化程序時(shí)加200ms延時(shí)。程序在用戶應(yīng)用程序區(qū)時(shí), 僅可以對數(shù)據(jù)flash區(qū)(eeprom)進(jìn)行字節(jié)讀/字節(jié)編程/扇區(qū)擦除,stc12c5206pwm/12le5206ad/12le5206pwm除外,這幾個(gè)型號可在應(yīng)用程序區(qū)修改應(yīng)用程序區(qū)。stc12c5a60s2/ad/pwm系列單片機(jī)的eeprom起始地址從0000h開始,每個(gè)扇區(qū)512字節(jié),類推下去從0200h
16、 開始。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)用場合選用。用戶可用軟件設(shè)置不同的波特率和選擇不同的工作方式。主機(jī)可通過查詢或中斷方式對接收/發(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系列帶a/d轉(zhuǎn)換的單片機(jī)
18、的a/d轉(zhuǎn)換口在p1(p1.7-p1.0),有8路10位高速a/d轉(zhuǎn)換器,速度可達(dá)到250khz(每秒鐘25萬次)。8路電壓輸入型a/d,可做溫度檢測、電池電壓檢測、按鍵掃描、頻譜檢測等。上電復(fù)位后p1口為弱上拉型i/o口,用戶可以通過軟件設(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í),開始轉(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)換完成后由該位申請產(chǎn)生中斷,還是由
19、軟件查詢該標(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)是一種使用程序來控制波形占空比、周期、相位波形的技術(shù),在三相電機(jī)驅(qū)動(dòng)、d/a轉(zhuǎn)換等場合有廣泛的應(yīng)用。stc12c5a60s2系列單片機(jī)的pca模塊可以通過程序設(shè)定,使其工作于8位pwm模式。4系統(tǒng)硬件設(shè)計(jì)4.1原理圖的繪制4.1.1 p
20、rotel簡介protel是portel公司在80年代末推出的eda軟件,在電子行業(yè)的cad軟件中,它當(dāng)之無愧地排在眾多eda軟件的前面,是電子設(shè)計(jì)者的首選軟件,它較早就在國內(nèi)開始使用,在國內(nèi)的普及率也最高,有些高校的電子專業(yè)還專門開設(shè)了課程來學(xué)習(xí)它,幾乎所有的電子公司都要用到它,許多大公司在招聘電子設(shè)計(jì)人才時(shí)在其條件欄上常會寫著要求會使用protel。早期的protel主要作為印制板自動(dòng)布線工具使用,運(yùn)行在dos環(huán)境,對硬件的要求很低,在無硬盤286機(jī)的1m內(nèi)存下就能運(yùn)行,但它的功能也較少,只有電原理圖繪制與印制板設(shè)計(jì)功能,其印制板自動(dòng)布線的布通率也低,而現(xiàn)今的protel已發(fā)展到prote
21、l99(網(wǎng)絡(luò)上可下載到它的測試板),是個(gè)龐大的eda軟件,完全安裝有200多m,它工作在windows95環(huán)境下,是個(gè)完整的板級全方位電子設(shè)計(jì)系統(tǒng),它包含了電原理圖繪制、模擬電路與數(shù)字電路混合信號仿真、多層印制電路板設(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布通率。在國內(nèi)protel軟件較易買到,有關(guān)protel軟件和使用說明的書也有很多,這為它的普及提
22、供了基礎(chǔ)。protel軟件的原廠商altium公司推出了protel系列的最新高端版本altium designer 6.0。altium designer 6.0,它是完全一體化電子產(chǎn)品開發(fā)系統(tǒng)的一個(gè)新版本,也是業(yè)界第一款也是唯一一種完整的板級設(shè)計(jì)解決方案。altium designer 是業(yè)界首例將設(shè)計(jì)流程、集成化pcb 設(shè)計(jì)、可編程器件(如fpga)設(shè)計(jì)和基于處理器設(shè)計(jì)的嵌入式軟件開發(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原理圖的組成電路圖主要由元件符號、連線、結(jié)點(diǎn)、注釋四大部分構(gòu)成。1)元件符號。元件符號表示實(shí)際電路中的元件,它的形狀與實(shí)際的元件不一定相似,甚至完全不一樣。但是它一般都表示出了元件的特點(diǎn),而且引腳的數(shù)目都和實(shí)際元件保持一致。2)連線。連線表示實(shí)際電路中的導(dǎo)線,連線要畫成水平線或豎直線,一般不畫斜線。在原理圖中雖然只是一根線,但在常用的印制電路板中有可能不是線而是各種形狀的銅箔塊,對于總線,一般用粗線加標(biāo)注表示。箭頭線用于表示電氣信號的傳遞方向。3)結(jié)點(diǎn)。結(jié)點(diǎn)表示幾個(gè)元件引腳或幾條導(dǎo)線之間的連接關(guān)系。所有和結(jié)點(diǎn)相連的元件引腳、導(dǎo)線,不論數(shù)目多少,都是導(dǎo)通的。四端互相連接的交叉線應(yīng)該在
24、交叉處用圓點(diǎn)畫出,否則表示跨越。三端相連的交叉處可以不畫圓點(diǎn)。4)注釋。電路圖的注釋用來說明元件的型號、名稱、數(shù)值等。電路圖中所有的文字都可以歸入注釋類。元件的技術(shù)數(shù)據(jù)一般標(biāo)在圖形符號近旁。當(dāng)連接線水平布置時(shí),盡可能標(biāo)在圖形符號下方,垂直布置時(shí),則標(biāo)在圖形符號的右方。電源一般用標(biāo)電壓值的方法,地線可用地線符號代替。圍框也是一種注釋,當(dāng)需要在圖上顯示出圖的一部分,如功能單元、結(jié)構(gòu)單元,可用點(diǎn)畫圍框表示。4.1.3原理圖元件的組成原理圖元件由兩大部分組成:用以標(biāo)識元件功能的標(biāo)識圖和元件引腳。1)標(biāo)識圖。標(biāo)識圖僅僅起著提示元件功能的作用,并沒有什么實(shí)質(zhì)作用。實(shí)際上,沒有標(biāo)識圖或者隨便繪制標(biāo)識圖都不會
25、影響原理圖的正確性。2)引腳。引腳是元件的核心部分。元件圖中的每一根引腳都要和實(shí)際元件的引腳對應(yīng),而這些引腳在元件圖中的位置是不重要的。每一根引腳都包含序號和名稱等信息。引腳序號用來區(qū)分各個(gè)引腳,引腳名稱用來提示引腳功能。引腳序號是必須有的,而且不同引腳的序號不同相同。引腳名稱根據(jù)需要設(shè)計(jì),名稱能反映該引腳的功能。4.1.4原理圖元件的制作過程繪制一個(gè)實(shí)際元件原理圖時(shí),為了保證正確和高效,一般建議遵循以下步驟。1)收集必要的資料。收集的資料主要包括元件的引腳功能。2)繪制元件標(biāo)識圖。如果是集成電路等引腳較多的元件,因?yàn)楣δ軓?fù)雜,不可能用標(biāo)識圖表達(dá)清楚,往往是畫個(gè)方框代表。如果引腳較少的分立元件
26、,一般盡量畫出能夠表達(dá)元件功能的標(biāo)識圖,這對于電路圖的閱讀會有很大幫助。3)添引腳并編輯引腳信息。在標(biāo)識圖的合適位置添加引腳,引腳的排列應(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)對所放置的元件進(jìn)行布局布線;5)對布局布線后的元件進(jìn)行調(diào)整;6)保存文檔并打印輸出。4
27、.2具體硬件電路設(shè)計(jì)分析4.2.1單片機(jī)的晶振電路和復(fù)位電路簡單的說,沒有晶振,就沒有時(shí)鐘周期,沒有時(shí)鐘周期,就無法執(zhí)行程序代碼,單片機(jī)就無法工作。單片機(jī)工作時(shí),是一條一條地從rom中取指令,然后一步一步地執(zhí)行。單片機(jī)訪問一次存儲器的時(shí)間,稱之為一個(gè)時(shí)鐘周期,這是一個(gè)時(shí)間基準(zhǔn)。一個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期,機(jī)器周期不僅對于執(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)過的時(shí)間就是1us,這也是單片機(jī)的定時(shí)原理。晶振一般可分為晶體振
28、蕩器和晶體諧振器。在單片機(jī)系統(tǒng)中,晶體振蕩器將外圍的電容集成到振蕩器內(nèi)部,無需再設(shè)計(jì)晶振電路,只需要將電源加載到晶振上,晶振就可以起振,并通過兩個(gè)引腳輸出到單片機(jī)的晶振引腳上。由于晶體振蕩器的體積較大,價(jià)格較貴,本實(shí)驗(yàn)選用了16mhz的晶體諧振器(立式晶振),需要如圖6所示的外部晶振電路才可以起振。圖4 單片機(jī)晶振電路和復(fù)位電路任何單片機(jī)在工作之前都要有復(fù)位過程。復(fù)位對單片機(jī)來說,是程序還沒開始執(zhí)行,是在做準(zhǔn)備工作。一般的復(fù)位只需要5ms的時(shí)間。只要在單片機(jī)的rst引腳上加上高電平就可以實(shí)現(xiàn)復(fù)位電路。常用的實(shí)現(xiàn)方法是電源復(fù)位,即外部的復(fù)位電路在系統(tǒng)通上電之后直接使單片機(jī)工作,單片機(jī)的啟停通過電
29、源控制。對于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ī)直接通過讀入輸入線的狀態(tài)就可得知是否有鍵按下。工作原理是:當(dāng)按鍵s2按下時(shí),aj1與gnd連通,aj1=0,即p00=0;當(dāng)按鍵s2未按下時(shí),aj1與vcc連通,aj1=1,即p00=1,就這樣
30、實(shí)現(xiàn)了單片機(jī)的按鍵輸入功能。圖5按鍵輸入電路4.2.3輸出顯示電路1)指示燈顯示電路為了方便控制,本實(shí)驗(yàn)通過編寫程序,設(shè)計(jì)了與按鍵控制輸入相對應(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ù)據(jù)。靜態(tài)顯示的數(shù)據(jù)穩(wěn)
31、定,占用的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口送來的數(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連接的是水位傳感器,在電路板焊接元器件時(shí),把
32、p1、p7的兩個(gè)引腳短接,構(gòu)成通路。本實(shí)驗(yàn)中水位傳感器把水位值轉(zhuǎn)換成統(tǒng)一標(biāo)準(zhǔn)的420ma電流信號,經(jīng)過電路轉(zhuǎn)換,adc0采集到的模擬量是相應(yīng)的電壓值,送到單片機(jī)進(jìn)行a/d轉(zhuǎn)換。adc7采集到的電壓值是隨著滑動(dòng)變阻器的接入電路的阻值而變化的,起到adc測試作用。圖8 a/d轉(zhuǎn)換外圍電路4.2.5 d/a轉(zhuǎn)換外圍電路stc12c5a60s2系列單片機(jī)的pca模塊可以通過程序設(shè)定,使其工作于8位pwm模式,可用作dac。經(jīng)過d/a轉(zhuǎn)換后的模擬電流量從單片機(jī)引腳pwm2出來,經(jīng)過器件運(yùn)算放大器u10來提高對連接在插座j5上的變頻器的驅(qū)動(dòng)能力。圖9 d/a轉(zhuǎn)換外圍電路4.2.6報(bào)警電路在電路板焊板過程中
33、,把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來實(shí)現(xiàn)usb信號與rs232信號的轉(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)器控制信號的uart,只需外接幾只電容就可實(shí)現(xiàn)usb信號與rs232信
34、號的轉(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)完成,開發(fā)者無需考慮固件設(shè)計(jì)。圖11串口通信電路圖12器件p5引腳圖stc12c5a60s2系列單片機(jī)具有在系統(tǒng)可編程(isp)特性,isp的好處是:省去購買通用編程器,單片機(jī)在用戶系統(tǒng)上即可下載/燒錄用戶程序,而無須將單片機(jī)從已生產(chǎn)好的產(chǎn)品上拆下,再用通用編程器將程序代碼燒錄進(jìn)單片機(jī)內(nèi)部。有些程序尚未定型的產(chǎn)品可以一邊生產(chǎn),一邊完善,加快了產(chǎn)品進(jìn)入市場的速度,減小了
35、新產(chǎn)品由于軟件缺陷帶來的風(fēng)險(xiǎn)。由于可以在用戶的目標(biāo)系統(tǒng)上將程序直接下載到單片機(jī)看運(yùn)行結(jié)果對錯(cuò),故無須仿真器。在電路板中,我們把器件p5的引腳usbtx和cpurxd(單片機(jī)的p3.0)相短接,usbrx和cputxd(單片機(jī)的p3.1)相短接,如圖14所示,通過器件u9,就把含gnd/p3.1/p3.0/vcc四個(gè)信號線都引入了usb插座j4中,這樣就可以在用戶系統(tǒng)上直接編程。要注意圖中的二極管d1的方向不能接反了,否則不能正常下載程序。4.2.8電源開關(guān)電路圖15中的插座p6上接通的是帶鎖開關(guān),用來系統(tǒng)控制電源的通斷,用pled1的亮滅狀態(tài)來指示。圖13電源開關(guān)電路4.2.9電壓變換電路圖1
36、6所示的電路主要是完成5v到24v的電壓變化,給水位傳感器提供電壓。圖14電壓變換電路4.2.10單片機(jī)的數(shù)字量輸出外圍電路圖17中器件u8起到光電隔離和信號轉(zhuǎn)換作用。圖15單片機(jī)的數(shù)字量輸出外圍電路4.3 pcb板的制作確認(rèn)原理圖沒有錯(cuò)誤之后,開始pcb板的繪制。首先繪出pcb板的輪廓,假如pcb尺寸過大時(shí),印制線條長,阻抗增加,抗噪聲能力下降,成本也增加;pcb尺寸過小,則散熱不好,且鄰近線條易受干擾。應(yīng)根據(jù)具體電路需要確定pcb尺寸,然后,確定工藝要求(使用幾層板等)。最后,將原理圖傳輸?shù)絧cb板中來,在網(wǎng)絡(luò)表、設(shè)計(jì)規(guī)則和原理圖的引導(dǎo)下布局和布線。本實(shí)驗(yàn)中采用的是自動(dòng)布線,這有待改進(jìn)使用
37、手動(dòng)布線。此外,電路板使用的是老師統(tǒng)一發(fā)的板子,在此就不再分析制板原理、注意事項(xiàng)等內(nèi)容了。5系統(tǒng)軟件設(shè)計(jì)本實(shí)驗(yàn)中,系統(tǒng)軟件的設(shè)計(jì)開發(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對控制器單片機(jī)完成模塊的初始化、數(shù)據(jù)交換、數(shù)字pid控制算法等功能。在整個(gè)控制過程中,通過modbus通信協(xié)議實(shí)現(xiàn)上位機(jī)、下位機(jī)和現(xiàn)場設(shè)備的數(shù)據(jù)交換。系統(tǒng)軟件設(shè)計(jì)時(shí),首先必須對確定的軟件任務(wù)和要求進(jìn)行仔細(xì)的分析、明確,進(jìn)一步具體化,對計(jì)算機(jī)資源進(jìn)行具體分配。例如,各個(gè)功能部件的口地址;p1 i/o口的功能分配;定時(shí)器/計(jì)數(shù)器、中斷源、
38、數(shù)據(jù)存儲單元等的功能分配;數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)的各種算法等,都應(yīng)通過研究確定下來。確定軟件結(jié)構(gòu)之后,劃分程序模塊,畫出系統(tǒng)軟件整體結(jié)構(gòu)框圖如圖19所示,下面將分別從系統(tǒng)控制軟件和系統(tǒng)監(jiān)控軟件兩方面來進(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é)器簡稱pid調(diào)節(jié)器。這種調(diào)節(jié)器將設(shè)定值與實(shí)際輸出值進(jìn)行比較構(gòu)成偏差:并將其比例、積分、微分通過線性組合構(gòu)成控制量。對于本系統(tǒng)設(shè)定值即為設(shè)定液位,實(shí)際值為水位傳感器測量的實(shí)際液位??刂屏繛樽冾l器輸出。結(jié)構(gòu)如下圖所示。圖17模擬pid控制結(jié)構(gòu)圖pid調(diào)節(jié)器中的比例作
39、用是對偏差即時(shí)反應(yīng),減小偏差;積分的作用主要是消除靜差,實(shí)現(xiàn)無差調(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位置型控制算式為,可知位置型控制算式要累加所有的偏差,這不僅要占用較多的存儲單元,而且不便于程序的編寫,使用不夠方便。在本實(shí)驗(yàn)中,運(yùn)用stc12c5a16s2單片機(jī)對液位進(jìn)行控制,則必須考慮到單片機(jī)內(nèi)存容量的大小。所以
40、我們采用理想pid控制算法的增量式。對位置式pid算法采用向后差分法進(jìn)行離散化,得到差分方程的形式的pid控制算式。式中:,。 這樣,就避免了位置型算式中累加求和的麻煩,僅需要記錄三個(gè)歷史數(shù)據(jù),即、,占用存儲空間小,運(yùn)行速度快。同時(shí),為了防止液位突變,對液位采集值進(jìn)行了限幅濾波,當(dāng)采集值超出一定范圍舍去不用??刂屏鞒虉D為控制量輸出控制電機(jī)轉(zhuǎn)速,程序中設(shè)定電機(jī)轉(zhuǎn)速的上下限,當(dāng)輸出超出上下限是,即進(jìn)行越限處理。根據(jù)數(shù)字pid算式計(jì)算出的控制量超出了變頻器的上下限,例如,那么實(shí)際輸出控制量只能取上限值。由于控制量受到限制,系統(tǒng)輸出的增長要比沒有受到限制時(shí)慢,偏差將比正常情況下持續(xù)更長的時(shí)間保持正值,
41、因此pid算式中的積分項(xiàng)有較大的累積值。當(dāng)輸出超過給定值,出現(xiàn)負(fù)偏差時(shí),由于積分項(xiàng)值較大,需要很長一段時(shí)間才能脫離飽和,即系統(tǒng)出現(xiàn)明顯的超調(diào)。這種積分飽和現(xiàn)象必須抑制??朔e分飽和的方法有多種,其中積分分離方法比較簡單且經(jīng)試驗(yàn)效果很好,因此本設(shè)計(jì)采用積分分離方法。積分分離方法的基本思想為:在開始并不進(jìn)行積分,直達(dá)偏差達(dá)到一定的閾值后才進(jìn)行積分的累積。這樣,一方面防止一開始有過大的控制量;另一方面,即使進(jìn)入飽和后,因?yàn)榉e分累積較小,也能較快退出,減小超調(diào)。因此,偏差在閾值范圍內(nèi)時(shí),積分作用,消除靜差,為pid調(diào)節(jié)器;偏差在閾值范圍之外時(shí),積分不作用,為pd調(diào)節(jié)器。其流程圖如下。5.1.3 kei
42、l uvision3簡介對于單片機(jī)的編程,我們有多種選擇,其中,比較通用的有兩種,一種是匯編語言,另一種是c51語言。在單片機(jī)系統(tǒng)中,盡管有些單片機(jī)也配置了簡易高級語言,但是應(yīng)用最廣泛的還是匯編語言。這是因?yàn)閰R編語言源程序結(jié)構(gòu)緊湊,靈活,會變成德目標(biāo)程序有效率高,占用內(nèi)存儲空間少,運(yùn)行速度快和實(shí)時(shí)性強(qiáng)等特點(diǎn),適合實(shí)施測控等應(yīng)用領(lǐng)域的要求。由于匯編語言面向機(jī)器,因而有應(yīng)用軟件(源程序)不能移植,缺乏通用性,編程繁瑣等缺點(diǎn)。而c語言是一種編譯型程序設(shè)計(jì)語言,既有高級語言具有的庫函數(shù)豐富,語法限制少,可讀性強(qiáng),移植好等優(yōu)點(diǎn),還有匯編語言具有的面向硬件操作,木匾代碼質(zhì)量高等長處。此外,其他模塊化的程序
43、結(jié)構(gòu)也為軟件的開發(fā)提供了極大的方便。本實(shí)驗(yàn)選用c語言對程序進(jìn)行設(shè)計(jì),編程軟件選用keil uversion3,此款軟件是keilsoftware公司推出的uvision3是一款可用于多種8051mcu的集成開發(fā)環(huán)境(ide),除增加了源代碼、功能導(dǎo)航器、模板編輯以及改進(jìn)的搜索功能外,uvision3還提供了一個(gè)配置向?qū)Чδ?,加速了啟?dòng)代碼和配置文件的生成。此外其內(nèi)置的仿真器可模擬目標(biāo)mcu,包括指令集、片上外圍設(shè)備及外部信號等。uvision3提供邏輯分析器,可監(jiān)控基于mcui/o引腳和外設(shè)狀態(tài)變化下的程序變量。keilc51標(biāo)準(zhǔn)c編譯器為8051微控制器的軟件開發(fā)提供了c語言環(huán)境,同時(shí)保留了
44、匯編代碼高效,快速的特點(diǎn)。c51編譯器的功能不斷增強(qiáng),更加貼近c(diǎn)pu本身,及其它的衍生產(chǎn)品。c51已被完全集成到uvision3的集成開發(fā)環(huán)境中,這個(gè)集成開發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uvision3 ide可為它們提供單一而靈活的開發(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è)控制的核心。外部模擬量通過測量變送器傳入單片機(jī)內(nèi)部進(jìn)行a/d轉(zhuǎn)換,與給定值比較得出偏差,送入pid控制算法進(jìn)行自動(dòng)控制,顯示出當(dāng)前水位狀態(tài)。同時(shí)可對pid算法進(jìn)行參數(shù)整定,找出最優(yōu)算法。pid
45、輸出量以一定的換算關(guān)系轉(zhuǎn)換為電機(jī)頻率增量,驅(qū)動(dòng)電機(jī),從而實(shí)現(xiàn)對水位的控制。同時(shí),stc單片機(jī)還有一個(gè)特定的溫度測量輸入引腳ds18b20,可以對溫度進(jìn)行顯示。顯示器采用編程簡單應(yīng)用廣泛的8位led數(shù)碼管作為數(shù)據(jù)顯示,同時(shí)貼片式lcd配合顯示當(dāng)前控制狀態(tài)。此外,還可通過設(shè)置水位的上下限,對危險(xiǎn)情況進(jìn)行報(bào)警。軟件設(shè)計(jì)是硬件功能實(shí)現(xiàn)的基礎(chǔ),硬件模塊的設(shè)計(jì)是軟件設(shè)計(jì)的依據(jù)。通過分析控制系統(tǒng)設(shè)計(jì)任務(wù),我們給出系統(tǒng)功能要求與擬定實(shí)現(xiàn)措施。1、系統(tǒng)功能要求1)水位給定值。通過led顯示水位給定值,同時(shí)可通過鍵盤進(jìn)行手動(dòng)增、減。2)lcd燈。各種狀態(tài)的切換可通過lcd燈亮、暗的組合表示。3)水位測量值。經(jīng)測量
46、變送器(壓力傳感器)輸入單片機(jī),與給定液位比較,產(chǎn)生偏差,經(jīng)過pid運(yùn)算,輸出量對電機(jī)轉(zhuǎn)速進(jìn)行控制。4)報(bào)警。除了在程序運(yùn)行中,水位超過上、下限進(jìn)行報(bào)警外,程序啟動(dòng)前也可啟動(dòng)報(bào)警電路,檢測蜂鳴器的狀態(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分別對應(yīng)著水位、溫度、手動(dòng)和自動(dòng)四種模式。3)編寫pid算法,實(shí)現(xiàn)對水位測量值的控制,主要是通過改變pwm的占空比實(shí)現(xiàn)的。4)設(shè)置
47、最大與最小水位值,防止水位超限。5)通過對18b20引腳功能操作,進(jìn)行溫度顯示。6)設(shè)置上位機(jī)通信crc高位字節(jié)值表與低位字節(jié)值表,實(shí)現(xiàn)modbus通信。5.2.2控制系統(tǒng)具體設(shè)計(jì) 整個(gè)液位控制系統(tǒng)主要分為按鍵處理模塊,水位控制模塊,通信模塊,顯示模塊。下面具體來介紹各個(gè)模塊的控制流程圖和主要程序的編寫。 1、按鍵處理模塊首先,對按鍵進(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)aj_b=0; 然
48、后判斷按鍵地址,根據(jù)按鍵的識別分別轉(zhuǎn)向不同的功能實(shí)現(xiàn)函數(shù)。其中,0xfe,0xfd,0xfb,0xf7,0xef,0xdf分別為六個(gè)按鍵的地址碼。分別對應(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; /開中斷while(1) ip0=p0 | 0xc0; if (ip0 !=0xff) ajnum=0; if (ip0 !=0xff & aj_b=0) aj_b=1;switc
49、h (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)換模塊從外界測量變送器處得到水位模擬量輸入電壓,然后,a/d轉(zhuǎn)換模塊把被控對象的各種模擬信息編程
50、計(jì)算機(jī)可以識別的數(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超過積分分離閾值時(shí)(設(shè)100)則采用積分分離算法。圖19水位控制模塊流程圖水位控制程序如下(具體程序可參見附錄a):uint adconv(uchar lu, uchar cnum) /ad轉(zhuǎn)換,lu:第幾路,cnum:采樣平均次數(shù) adval=adconv(0, 8
51、);/得到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)生簡短固定位數(shù)校驗(yàn)碼的一種散列函數(shù),主要用來檢測或校驗(yàn)數(shù)據(jù)傳輸或者保存后可能出現(xiàn)的錯(cuò)誤。生成的數(shù)字在
52、傳輸或者儲存之前計(jì)算出來并且附加到數(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;/用于存儲發(fā)送數(shù)據(jù)uchar idata rxd_buf16;/用于存儲接受數(shù)據(jù)uchar txd_num,rxd_num; /接收和發(fā)送緩沖區(qū)已用的字節(jié)數(shù) 采用中斷查詢方法,當(dāng)中斷標(biāo)志ti或ri為1時(shí),即進(jìn)行寫寄存器處理或者讀寄
53、存器處理。同時(shí),通過rece_ok 和txd_ok可檢測通信是否結(jié)束。當(dāng)通信結(jié)束時(shí),通過調(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用來存儲要顯示的內(nèi)容。通過循環(huán),將數(shù)組a4中的內(nèi)容顯示到數(shù)碼管上即可。5.3系統(tǒng)監(jiān)控軟件設(shè)計(jì)5.3.1監(jiān)控軟件kingview簡介組態(tài)軟件是指一些數(shù)據(jù)采集和過程控制的專用軟件,它們是在自動(dòng)控制系統(tǒng)監(jiān)控層一級的軟件平臺
54、和開發(fā)環(huán)境,使用靈活的組態(tài)方式,為用戶提供快速構(gòu)建工業(yè)自動(dòng)控制系統(tǒng)監(jiān)控功能的、通用層次的軟件。隨著對工業(yè)自動(dòng)化的要求越來越高,以及大量控制設(shè)備和過程監(jiān)控裝置之間的通訊的需要,“監(jiān)控和數(shù)據(jù)采集系統(tǒng)”越來越受到用戶的重視,從而導(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)場設(shè)備無關(guān),對于不同的硬件設(shè)施,用戶只需要按照安裝向?qū)У奶崾就瓿蒳/o設(shè)備的配置工作,為組態(tài)王配置相應(yīng)的通訊設(shè)備的硬件驅(qū)動(dòng)程序并由硬件設(shè)備驅(qū)動(dòng)程序完成組
55、態(tài)王與i/o 設(shè)備的通訊。在系統(tǒng)運(yùn)行的過程中,組態(tài)王通過內(nèi)嵌的設(shè)備管理程序完成與i/o設(shè)備的實(shí)時(shí)數(shù)據(jù)交換,從而完成對所控對象的管理和監(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)場的信息實(shí)時(shí)地傳送到控制室,保證信息的暢通。(2)組態(tài)王的網(wǎng)絡(luò)功能使企業(yè)的基層和其它部門建立起聯(lián)系,現(xiàn)場操作人員和工廠管理人員都可以看到各種數(shù)據(jù)。管理人員不需要深入生產(chǎn)現(xiàn)場,就可以獲得實(shí)時(shí)和歷史數(shù)據(jù),優(yōu)化控制現(xiàn)場作業(yè),提高生產(chǎn)率和產(chǎn)品質(zhì)量。(3)組態(tài)王易于學(xué)習(xí)和使用,擁有豐富的工具箱、圖庫和操作向?qū)?,既可以?jié)省大量時(shí)間,又能提高系統(tǒng)性能。(4)組態(tài)王與現(xiàn)場的i/o設(shè)備直接進(jìn)行通訊。i/o設(shè)備的輸入提供現(xiàn)場的信息,i/o設(shè)備的輸出通常用于對現(xiàn)場的控制。有些i/o設(shè)備(例如plc),其本身的程序完成對現(xiàn)場的控制,程序根據(jù)輸入決定各輸出的值。(5)輸入輸出的數(shù)值存放在i/o設(shè)備的寄存器中,寄存器通過其地址進(jìn)行引用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣播電視節(jié)目制作中的編劇策略考核試卷
- 信托公司財(cái)務(wù)風(fēng)險(xiǎn)分析與控制考核試卷
- 疫情網(wǎng)課班會課件小學(xué)生
- 塑料薄膜在戶外運(yùn)動(dòng)裝備的應(yīng)用考核試卷
- 智能清潔電器的遠(yuǎn)程監(jiān)控技術(shù)考核試卷
- 機(jī)器人傳感器數(shù)據(jù)融合與應(yīng)用考核試卷
- 蘇州恒溫配送合同范本
- 土建及市政合同范本
- 拍攝視頻制作合同范本
- 毛坯公寓酒店合同范本
- 質(zhì)量管理軟件操作手冊
- 翰威特任職資格撰寫培訓(xùn)材料
- 大家排好隊(duì)說課
- 鐵氧體永磁材料
- 湘教版初中數(shù)學(xué)教材目錄
- 金蝶云星辰初級考試題庫
- GM/T 0107-2021智能IC卡密鑰管理系統(tǒng)基本技術(shù)要求
- 部編版七年級下冊語文第一單元課件
- 2023年山東省青島市統(tǒng)招專升本管理學(xué)自考真題(含答案)
- 文化產(chǎn)業(yè)政策與法規(guī)課件
- 人教版八年級下冊生物全冊教案完整版教學(xué)設(shè)計(jì)含教學(xué)反思
評論
0/150
提交評論