![計(jì)算機(jī)測(cè)控系統(tǒng)s_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/62486b89-0ded-4478-877a-fc1399e9a203/62486b89-0ded-4478-877a-fc1399e9a2031.gif)
![計(jì)算機(jī)測(cè)控系統(tǒng)s_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/62486b89-0ded-4478-877a-fc1399e9a203/62486b89-0ded-4478-877a-fc1399e9a2032.gif)
![計(jì)算機(jī)測(cè)控系統(tǒng)s_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/62486b89-0ded-4478-877a-fc1399e9a203/62486b89-0ded-4478-877a-fc1399e9a2033.gif)
![計(jì)算機(jī)測(cè)控系統(tǒng)s_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/62486b89-0ded-4478-877a-fc1399e9a203/62486b89-0ded-4478-877a-fc1399e9a2034.gif)
![計(jì)算機(jī)測(cè)控系統(tǒng)s_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/62486b89-0ded-4478-877a-fc1399e9a203/62486b89-0ded-4478-877a-fc1399e9a2035.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)測(cè)量與控制系統(tǒng)(學(xué)時(shí)數(shù):54)參考教材:【1】 陳濤,單片機(jī)應(yīng)用及C51程序設(shè)計(jì),機(jī)械工業(yè)出版社,2008.【2】 徐愛鈞,智能化測(cè)量控制儀表原理與設(shè)計(jì)(第二版),北京航空航天大學(xué)出版社,2004。【3】 馬忠梅,單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)(3/4版),北航版,2003/2007?!?】 李剛、林凌,現(xiàn)代測(cè)控電路,高等教育出版社,2004?!?】 韓九強(qiáng)、等,現(xiàn)代測(cè)控技術(shù)與系統(tǒng),清華大學(xué)出版社,2007。課程介紹:本課程是在本科階段學(xué)習(xí)了有關(guān)基礎(chǔ)課程與專業(yè)課程的基礎(chǔ)上,進(jìn)一步了解和掌握計(jì)算機(jī)測(cè)量與控制系統(tǒng)的硬件與軟件設(shè)計(jì)方法與過(guò)程,并通過(guò)實(shí)例分析與實(shí)際應(yīng)用系統(tǒng)的設(shè)計(jì)制作掌握基本的設(shè)計(jì)、調(diào)
2、試與操作技能。學(xué)習(xí)的重點(diǎn)有三個(gè)方面:第一,深入理解與掌握一種以上的單片機(jī)體系結(jié)構(gòu)與基本應(yīng)用技巧(目前以MCS-51兼容機(jī)為主),單片機(jī)的C語(yǔ)言程序設(shè)計(jì)、編程與調(diào)試方法。第二,使用計(jì)算機(jī)實(shí)現(xiàn)基本物理量的測(cè)量(例如,電量測(cè)量、溫度測(cè)量)。第三,使用計(jì)算機(jī)實(shí)現(xiàn)基本物理量的控制(溫度控制)。主要內(nèi)容與安排(18周*3課時(shí)):1緒論,本課程的安排等一般性介紹2. 智能化測(cè)控系統(tǒng)中的MCU/MPU,新型MCS-51兼容單片機(jī);電量計(jì)算軟件設(shè)計(jì)。3. 集成開發(fā)環(huán)境IDE/Keil uVision2/C51編譯器;電量計(jì)算軟件設(shè)計(jì)。4. 實(shí)驗(yàn)板硬件與功能介紹/安裝與使用/入門程序5. 數(shù)字時(shí)鐘程序設(shè)計(jì)與調(diào)試6
3、. 同上7. 參數(shù)與操作面板8. 參數(shù)設(shè)置程序設(shè)計(jì)9. 機(jī)動(dòng)安排10溫度測(cè)量/數(shù)字溫度傳感器DS18B2011. 溫度測(cè)量程序設(shè)計(jì)12. 溫度控制及其算法13. 溫度控制程序設(shè)計(jì)14. 同上15. 超聲波測(cè)距的原理與實(shí)現(xiàn)16. 超聲波測(cè)距(分體式)程序設(shè)計(jì)17. 同上18. 機(jī)動(dòng)安排課程設(shè)計(jì)題目及要求:1 電量計(jì)算程序設(shè)計(jì)編寫一個(gè)計(jì)算交流電有效值、功率與功率因數(shù)的程序。假設(shè)已經(jīng)得到了電流與電壓的采樣數(shù)據(jù)(10位A/D轉(zhuǎn)換結(jié)果),零點(diǎn)對(duì)應(yīng)采樣值為512。先按照有效值的定義編寫程序,然后進(jìn)行標(biāo)定。標(biāo)定采用峰-峰值為256的交流信號(hào)數(shù)據(jù),對(duì)應(yīng)的電流為10安培,電壓為100伏特。再用直流信號(hào)的數(shù)據(jù)進(jìn)行
4、驗(yàn)證。進(jìn)一步對(duì)電流與電壓信號(hào)進(jìn)行諧波分析,編寫FFT程序,并用模擬的標(biāo)準(zhǔn)采樣數(shù)據(jù)對(duì)結(jié)果進(jìn)行驗(yàn)證。2 數(shù)字時(shí)鐘系統(tǒng)設(shè)計(jì)在給定的硬件系統(tǒng)上實(shí)現(xiàn)基本的數(shù)字時(shí)鐘功能(含時(shí)間設(shè)定功能)。3.參數(shù)設(shè)置程序設(shè)計(jì)設(shè)計(jì)一個(gè)參數(shù)設(shè)置功能的程序。參數(shù)號(hào)為0-9,每個(gè)參數(shù)的缺省參數(shù)值、上限與下限均由表格給定,2位數(shù)值顯示。發(fā)揮部分:參數(shù)號(hào)為0-99,4位數(shù)值顯示,進(jìn)一步實(shí)現(xiàn)參數(shù)的快速設(shè)定與15秒自動(dòng)退出功能。4超聲波測(cè)距系統(tǒng)設(shè)計(jì)針對(duì)給定的超聲波測(cè)距硬件系統(tǒng)編寫相應(yīng)的軟件,實(shí)現(xiàn)基本的測(cè)距功能。測(cè)量范圍為10-200cm,動(dòng)態(tài)顯示結(jié)果。發(fā)揮部分(1):進(jìn)一步增加測(cè)量范圍,提高測(cè)量精度。 (2):實(shí)現(xiàn)基于測(cè)距原理的超聲波主
5、動(dòng)目標(biāo)定位。5溫度測(cè)量與控制系統(tǒng)針對(duì)給定的硬件系統(tǒng)編寫相應(yīng)的軟件,實(shí)現(xiàn)基本的溫度測(cè)量與顯示功能,測(cè)量精度為0.1度。在此基礎(chǔ)上利用電阻加溫進(jìn)行溫度控制。利用鍵盤操作實(shí)現(xiàn)溫度的設(shè)定(30-100度)。發(fā)揮部分(1):用不同的方法進(jìn)行溫度控制,并比較優(yōu)缺點(diǎn)。 (2):在外界干擾下(小風(fēng)扇吹風(fēng))能夠盡快達(dá)到新的穩(wěn)定點(diǎn)。(3):開機(jī)進(jìn)入?yún)?shù)設(shè)置,退出后進(jìn)行溫度控制。實(shí)現(xiàn)具有上下限幅、快速改變數(shù)值功能的參數(shù)設(shè)定(設(shè)定參數(shù)范圍為0-800)。設(shè)計(jì)報(bào)告要求:(1) 任務(wù)可行性分析(所需要的功能如何實(shí)現(xiàn))。(2) 程序結(jié)構(gòu)流程框圖。(3) C語(yǔ)言程序的關(guān)鍵程序段及說(shuō)明。(4) 總結(jié)(對(duì)自己工作的評(píng)價(jià)、改進(jìn)與提
6、高的設(shè)想等)。(5) 源程序電子文檔。嵌入式系統(tǒng)設(shè)計(jì)過(guò)程與規(guī)范一以產(chǎn)品開發(fā)為目標(biāo)的設(shè)計(jì)過(guò)程1.技術(shù)可行性分析與論證2.原理設(shè)計(jì)/總體規(guī)劃3各個(gè)獨(dú)立組成部分的設(shè)計(jì)4.電路板設(shè)計(jì)/調(diào)試(一般需要經(jīng)過(guò)多次反復(fù)才能完善)5.軟件/硬件聯(lián)合調(diào)試(也要經(jīng)過(guò)若干次反復(fù)修改)6.出樣機(jī)/產(chǎn)品試驗(yàn)(如果試驗(yàn)無(wú)法通過(guò)還要進(jìn)行修改)7.技術(shù)文件匯總/移交生產(chǎn)部門整個(gè)過(guò)程少則幾個(gè)月,多則幾年時(shí)間才能完成。二硬件開發(fā)技術(shù)規(guī)范1.安全性(一票否決)2.可靠性(產(chǎn)品試驗(yàn))EMC3實(shí)用性(標(biāo)準(zhǔn)功能/用戶要求)4.標(biāo)準(zhǔn)化(企業(yè)標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)與國(guó)際標(biāo)準(zhǔn))三軟件開發(fā)技術(shù)規(guī)范1.合理性(對(duì)于系統(tǒng)的各種資源如何充分合理地利用
7、)2.實(shí)用性(標(biāo)準(zhǔn)功能/用戶要求/市場(chǎng)導(dǎo)向)3可靠性(評(píng)判標(biāo)準(zhǔn))4.標(biāo)準(zhǔn)化(軟件標(biāo)準(zhǔn))其中,合理利用系統(tǒng)資源需要有對(duì)于系統(tǒng)各種功能的全面了解與使用經(jīng)驗(yàn)的積累。就CPU系統(tǒng)來(lái)說(shuō),系統(tǒng)的資源包括:運(yùn)行時(shí)間、存儲(chǔ)器、中斷以及所具有的各種功能模塊(定時(shí)器/計(jì)數(shù)器、串行接口SPI、并行接口PPI、通信接口、信號(hào)控制接口、A/D與D/A接口等)。舉例來(lái)說(shuō),一個(gè)超聲波測(cè)量距離的程序設(shè)計(jì),可以不使用任何其它資源,完全利用程序的查詢功能實(shí)現(xiàn)。但是單片機(jī)本身已有的資源不用就明顯是不合理的。一般來(lái)說(shuō),中斷是計(jì)算機(jī)測(cè)控系統(tǒng)的重要資源,一個(gè)應(yīng)用系統(tǒng)沒(méi)有使用中斷就不是一個(gè)好的程序(除非很簡(jiǎn)單的程序)。但是,過(guò)多地使用某一
8、種資源肯定也是不合理的。例如,在單片機(jī)應(yīng)用系統(tǒng)中使用了3個(gè)以上的中斷就很難保證系統(tǒng)的可靠性。軟件設(shè)計(jì)的標(biāo)準(zhǔn)化也是非常重要的方面,特別是對(duì)于大型和復(fù)雜程序的設(shè)計(jì)。為了保證程序的維護(hù)性,必須遵循相應(yīng)的設(shè)計(jì)規(guī)范和標(biāo)準(zhǔn),包括流程框圖和程序的注釋。很多人并不重視這方面的工作,實(shí)際上會(huì)對(duì)以后的工作造成很大影響。流程框圖的繪制應(yīng)該是由粗到細(xì),逐步細(xì)化,直到能夠轉(zhuǎn)化為程序(指令)。四典型實(shí)例實(shí)際上軟件流程框圖中只有兩個(gè)基本元素:過(guò)程與分支。其余的元素都是些輔助元素(如入口、出口、返回等)和組合元素(如循環(huán)、散轉(zhuǎn)結(jié)構(gòu)等)。一個(gè)過(guò)程可以是一條語(yǔ)句(操作),也可以是多條語(yǔ)句直至一個(gè)很大的子程序。例如一個(gè)初始化過(guò)程,
9、可以是:x=0;/參數(shù)初始化也可以是:TMOD=0x01;/定時(shí)器T0初始化TL=0x00;/定時(shí)器T0計(jì)數(shù)初值TH=0xcc;還可以是:display();/調(diào)用顯示子程序如此等等。分支是由判斷語(yǔ)句和相應(yīng)的操作共同組成的,其結(jié)構(gòu)如下:if(條件)過(guò)程(操作)一;else過(guò)程(操作)二;有時(shí)語(yǔ)句中無(wú)else過(guò)程(操作)二;這實(shí)際是簡(jiǎn)化的分支。多個(gè)分支語(yǔ)句連續(xù)使用,就形成了散轉(zhuǎn)。為了簡(jiǎn)化編程,使用switch語(yǔ)句,實(shí)際上最終的機(jī)器語(yǔ)言是一樣的。各種循環(huán)語(yǔ)句最終也還是利用分支語(yǔ)句實(shí)現(xiàn)的。入口以下是動(dòng)態(tài)顯示程序的框圖和相應(yīng)的C語(yǔ)言程序。voiddisplay();重新設(shè)置初值TH0=0xee;/5m
10、STL0=0x00;if(dpt<3) dpt+;顯示指針處理else dpt=0;/動(dòng)態(tài)顯示計(jì)數(shù)器P0 = tabdpbufdpt;輸出顯示內(nèi)容顯示第0位dpt = 0?if(dpt=0)dp1 = dp2 = dp3 = 1;dp0 = 0;dpt = 1?if(dpt=1顯示第1位)dp0 = dp2 = dp3 = 1;dp1 = 0;dpt = 2?顯示第2位if(dpt=2)dp0 = dp1 = dp3 = 1;dp2 = 0;顯示第3位else dp0 = dp1 = dp2 = 1;dp3 = 0;出口其中的入口與出口所對(duì)應(yīng)的就是函數(shù)名與括號(hào)。多重分支語(yǔ)句也可以用swi
11、tch語(yǔ)句代替,使程序更為簡(jiǎn)潔:switch(dpt)case 0:dp1 = dp2 = dp3 = 1;dp0=0;break;case 1:dp0 = dp2 = dp3 = 1;dp1=0;break;case 2:dp0 = dp1 = dp3 = 1;dp2=0;break;case 3:dp0 = dp1 = dp2 = 1;dp3=0;從事計(jì)算機(jī)開發(fā)的人需要有一定的悟性(基礎(chǔ)反倒不是問(wèn)題),更需要有“三心”:細(xì)心- 一絲不茍;耐心- 孜孜不倦;恒心- 持之以恒(積累)。有志者事竟成,大家共勉!嵌入式系統(tǒng)設(shè)計(jì)電量計(jì)算程序設(shè)計(jì)一技術(shù)要求:利用單片機(jī)進(jìn)行基本的電量計(jì)算(電流與電壓的有
12、效值、功率與功率因數(shù),進(jìn)一步再深入進(jìn)行諧波分析)。假設(shè)已經(jīng)得到電流與電壓的10位A/D采樣數(shù)據(jù)DI32和DV32。計(jì)算SI、SV、SW、SP以及PHAI(所有結(jié)果用16位整數(shù)表示,功率因數(shù)放大100倍)二功能實(shí)現(xiàn):首先給出有關(guān)的公式如下:有效值計(jì)算:;視在功率:S=I×V;有功功率:;功率因數(shù):;注意一般情況下。然后對(duì)上面的公式進(jìn)行離散化,得到離散化的計(jì)算公式。;由于最后的計(jì)算結(jié)果涉及到電路和傳感器的增益,因此可以將所有的系數(shù)歸并后再統(tǒng)一進(jìn)行標(biāo)定處理。系數(shù)KP與KI、KV之間具有一定關(guān)系。三軟件設(shè)計(jì):這一類的程序顯然應(yīng)該利用循環(huán)語(yǔ)句實(shí)現(xiàn),具體形式為:for(k=0;k<T;k+
13、) /累加計(jì)算程序中需要仔細(xì)考慮變量的類型定義,這是初學(xué)者最容易出現(xiàn)的問(wèn)題。從應(yīng)用的角度考慮,應(yīng)該盡量不使用浮點(diǎn)計(jì)算。而定點(diǎn)數(shù)計(jì)算很容易出現(xiàn)類型轉(zhuǎn)換信息丟失與數(shù)值溢出問(wèn)題。將計(jì)算程序?qū)懗珊瘮?shù)形式,以便主程序調(diào)用。四程序調(diào)試:熟悉利用調(diào)試工具觀察計(jì)算結(jié)果及排查軟件錯(cuò)誤的方法。程序的調(diào)試是任何軟件設(shè)計(jì)不可避免的過(guò)程。具體又分為純軟件調(diào)試和軟件與硬件的聯(lián)合調(diào)試。純軟件的調(diào)試不涉及硬件,主要是解決程序本身的正確性。程序編寫完成后,一般可以用一些標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行結(jié)果的驗(yàn)證。驗(yàn)證數(shù)據(jù)要足夠多且具有代表性,例如電量計(jì)算應(yīng)該有不同的采樣數(shù)據(jù)大小,而且應(yīng)該包含特殊情況(例如恒定的直流信號(hào))。即使驗(yàn)證數(shù)據(jù)計(jì)算正確,仍
14、然可能出現(xiàn)意想不到的問(wèn)題。軟件與硬件的聯(lián)合調(diào)試是在純軟件調(diào)試后進(jìn)行的,主要是解決系統(tǒng)整體的功能正確性與協(xié)調(diào)一致性。其中的難度和復(fù)雜性遠(yuǎn)遠(yuǎn)高于純軟件的調(diào)試,將在以后的課題中進(jìn)一步深入。% 用MATLAB編寫的有效值計(jì)算程序,用于驗(yàn)證程序的正確性與確定比例系數(shù)clear;A=128;t = 0:2*pi/32:2*pi-pi/16; %32點(diǎn)采樣數(shù)據(jù)ua = A*sin(t); %產(chǎn)生正弦波形sgm = sum(ua.*ua); %計(jì)算平方和rms = sqrt(sgm/32);%計(jì)算有效值disp(sgm);disp(rms); %sgm=262144;rms=90.5097%F=fft(ua)
15、;%F(1)= -0.0000 - 2.0480i/33點(diǎn)DFT計(jì)算程序-/離散傅里葉變換的計(jì)算公式:;/分離實(shí)部與虛部后有:;k=0,1,2,32/;k=0,1,2,32/為了計(jì)算方便,將正弦余弦數(shù)值事先做成一張表,其中的數(shù)值放大1000倍。intSINTAB33=1000,982,;intCOSTAB33=0,189,;/-void DFT33(int DR,long DY)Uint16k,n,t;/實(shí)部放在DY0-DY15中;for(k=0;k<16;k+)/虛部放在DY16-DY31中;DYk=0;DYk+16=0;for(n=0;n<33;n+)t = n*k;while
16、(t >= 33)t -= 33;DYk += (long)DRn*COSTABt;DYk+16 -= (long)DRn*SINTABt;DYk=DYk/16500;/正弦余弦表系數(shù)及采樣點(diǎn)系數(shù)DYk+16=DYk+16/16500;DY32=sqrt(DY1*DY1+DY17*DY17);/基波幅值/-嵌入式系統(tǒng)設(shè)計(jì)數(shù)字時(shí)鐘設(shè)計(jì)(動(dòng)態(tài)顯示)一 技術(shù)要求:利用單片機(jī)實(shí)驗(yàn)箱實(shí)現(xiàn)數(shù)字時(shí)鐘顯示分:秒的數(shù)值。進(jìn)一步利用鍵盤實(shí)現(xiàn)時(shí)鐘的設(shè)定功能(只使用4個(gè)建即可實(shí)現(xiàn)設(shè)定,即:設(shè)定/返回,分/秒切換,增量和減量。設(shè)定時(shí)相應(yīng)的內(nèi)容閃動(dòng)顯示)。二 功能實(shí)現(xiàn)與系統(tǒng)結(jié)構(gòu):利用單片機(jī)的定時(shí)器中斷實(shí)現(xiàn)5毫秒的定
17、時(shí)(動(dòng)態(tài)顯示處理),再利用軟件對(duì)5毫秒定時(shí)進(jìn)行計(jì)數(shù)。計(jì)數(shù)值為TCT,滿200時(shí)即為1秒,秒計(jì)數(shù)器SCT加1,同時(shí)TCT清零。滿60秒則分計(jì)數(shù)器MCT加1,同時(shí)秒計(jì)數(shù)器清零。秒計(jì)數(shù)器改變同時(shí)刷新顯示。三 硬件設(shè)計(jì):見實(shí)驗(yàn)指導(dǎo)書電路圖。四 軟件設(shè)計(jì):主程序初始化后即進(jìn)入等待循環(huán),所有時(shí)鐘的處理均在定時(shí)器中斷中完成。動(dòng)態(tài)顯示頻率為5*4=20毫秒(50Hz),這是比較合適的頻率。每次定時(shí)中斷需要更新顯示位,因此需要設(shè)置一個(gè)顯示位計(jì)數(shù)器(0-3)。LED數(shù)碼管顯示需要使用字模查表的方法實(shí)現(xiàn)。先建立一個(gè)字模表:codeuchar tab=0x18, ;定時(shí)器中斷函數(shù)需要使用中斷函數(shù)的說(shuō)明,具體內(nèi)容見教材
18、108頁(yè)。void timer0(void) interrupt 1/<using 1>參考程序流程框圖見附圖。五 系統(tǒng)調(diào)試:利用系統(tǒng)提供的調(diào)試工具實(shí)現(xiàn)所需要的功能。具體程序可以參考教材中的例子(實(shí)驗(yàn)Y2與Y3)。無(wú)設(shè)置功能的程序流程框圖:入口開始動(dòng)態(tài)顯示處理TCT+1時(shí)鐘初始化TCT>=200?定時(shí)器初始化SCT+1,TCT=0原地踏步(停機(jī))SCT>=60?MCT+1,SCT=0MCT>=60?MCT=0返回程序中的一些細(xì)節(jié)需要仔細(xì)分析和調(diào)試。程序的功能越多,發(fā)生問(wèn)題(bug)的幾率也越高,因此需要通過(guò)調(diào)試發(fā)現(xiàn)和解決問(wèn)題(Debug)。開始增加設(shè)置功能的程序流
19、程框圖:時(shí)鐘初始化定時(shí)器初始化鍵按下?鍵抖動(dòng)處理設(shè)置?設(shè)置切換為了實(shí)現(xiàn)時(shí)鐘設(shè)置功能,需要設(shè)置若干標(biāo)志:設(shè)置/運(yùn)行標(biāo)志,分/秒設(shè)置標(biāo)志,分/秒切換?切換操作以及閃爍顯示的標(biāo)志(位變量set,ms,df)為了簡(jiǎn)化程序設(shè)計(jì),在定時(shí)中斷服務(wù)程序增量?中利用設(shè)置/運(yùn)行標(biāo)志實(shí)現(xiàn)分支處理。增量操作當(dāng)該標(biāo)志為0時(shí),進(jìn)行正常的時(shí)鐘計(jì)數(shù)處理。減量?當(dāng)該標(biāo)志為1時(shí),利用原來(lái)的5毫秒計(jì)數(shù)器實(shí)現(xiàn)0.5秒閃爍處理。減量操作入口中斷服務(wù)程序流程框圖如下:動(dòng)態(tài)顯示處理設(shè)置?設(shè)置閃爍顯示正常時(shí)鐘顯示TCT+1TCT=0,切換dfTCT+1TCT>=200?TCT>=100?返回SCT+1,TCT=0分/秒?MCT+
20、1,SCT=0SCT>=60?df=1?df=1?分消隱MCT=0MCT>=60?秒消隱分顯示秒顯示返回單片機(jī)應(yīng)用系統(tǒng)軟件的開發(fā)過(guò)程與工具單片機(jī)應(yīng)用系統(tǒng)軟件的開發(fā)過(guò)程大致如下:1. 編寫程序,排除語(yǔ)法錯(cuò)誤。2. 純軟件調(diào)試(無(wú)需仿真器)。3. 與硬件聯(lián)合調(diào)試(需要仿真器)。4. 將程序?qū)懭隒PU。5. 獨(dú)立運(yùn)行測(cè)試。單片機(jī)應(yīng)用系統(tǒng)的調(diào)試需要一些開發(fā)環(huán)境與工具的支持,如下圖所示。開發(fā)工作站人機(jī)交互設(shè)備調(diào)試工具(仿真器)目標(biāo)板其中,目標(biāo)板就是用戶所設(shè)計(jì)的完整的單片機(jī)應(yīng)用系統(tǒng)硬件電路板。用戶在開發(fā)工作站上完成程序的編輯、編譯、軟件仿真等工作,然后將程序下載到調(diào)試工具內(nèi),由調(diào)試工具操縱目標(biāo)
21、板運(yùn)行程序。同時(shí)將有關(guān)的運(yùn)行信息傳送到開發(fā)工作站,使用戶能夠看到有關(guān)的運(yùn)行結(jié)果。經(jīng)過(guò)反復(fù)交互,完成DEBUG的過(guò)程。調(diào)試工具(仿真器)有低檔簡(jiǎn)易型和高檔完整型之分。前者需要占用目標(biāo)板的部分資源,且一般無(wú)法對(duì)單片機(jī)的所有內(nèi)部功能模塊進(jìn)行完整的仿真。后者則不占用目標(biāo)板的任何資源,且能夠?qū)纹瑱C(jī)的運(yùn)行是實(shí)現(xiàn)完整的仿真。正因?yàn)槿绱?,后者的成本也要高得多。隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的進(jìn)步,許多微處理器已經(jīng)具有了ISP(In System Programming)的功能。在這個(gè)功能的支持下,配合一定的軟件,可以使一些微處理器具備簡(jiǎn)單仿真器的功能。在這樣的系統(tǒng)中,可以不使用專用的調(diào)試工具完成一般系統(tǒng)的調(diào)試。我
22、們所設(shè)計(jì)的單片機(jī)實(shí)驗(yàn)系統(tǒng)就是這樣的一個(gè)裝置。目標(biāo)板單片機(jī)在這個(gè)系統(tǒng)中,在單片機(jī)的內(nèi)部事先已經(jīng)駐留了一個(gè)監(jiān)控軟件(Monitor)。這個(gè)監(jiān)控軟件能夠通過(guò)通信接口與上級(jí)計(jì)算機(jī)進(jìn)行通信,接收上級(jí)計(jì)算機(jī)發(fā)出的命令與數(shù)據(jù)(程序),并將單片機(jī)中的有關(guān)信息傳送回來(lái)。這個(gè)監(jiān)控軟件需要占用單片機(jī)的存儲(chǔ)器空間,并占用單片機(jī)的某些內(nèi)部資源:程序ROM:BLOCK1的0000-0FFFH;BLOCK0的FC00-FFFFH;內(nèi)部數(shù)據(jù)RAM:8字節(jié)堆棧空間。串行通訊接口SPI及定時(shí)器T2。SST系列單片機(jī)所具有的看門狗和軟件復(fù)位功能。大家在理解了這個(gè)應(yīng)用系統(tǒng)的工作原理后,就應(yīng)該明白一些簡(jiǎn)單的操作規(guī)程:在調(diào)試狀態(tài)時(shí)必須保
23、證目標(biāo)板的供電與聯(lián)機(jī)正常;程序連續(xù)運(yùn)行時(shí)不能在上級(jí)計(jì)算機(jī)上停止程序的運(yùn)行;等等。嵌入式系統(tǒng)設(shè)計(jì)參數(shù)設(shè)置程序設(shè)計(jì)智能化測(cè)控系統(tǒng)經(jīng)常需要設(shè)置一些參數(shù),例如前面的數(shù)字時(shí)鐘就需要設(shè)置時(shí)間和日期、鬧鐘等。參數(shù)的設(shè)置是通過(guò)人機(jī)接口實(shí)現(xiàn)的,顯示器件為數(shù)碼管或液晶屏。為了減少操作按鍵的數(shù)量,通常采用按鍵復(fù)用以及增量調(diào)整的方法。具體來(lái)說(shuō),不管多少個(gè)參數(shù)需要設(shè)置,通常情況下只要4個(gè)按鍵就可以實(shí)現(xiàn)。這4個(gè)按鍵的功能(名稱)為:設(shè)置/取消、確認(rèn)/轉(zhuǎn)移、增量、減量。通過(guò)一些實(shí)例(例如變頻器)可以清楚地了解這4個(gè)按鍵是如何配合工作的。參數(shù)設(shè)置程序需要解決幾個(gè)方面的問(wèn)題:第一,正確識(shí)別按鍵,包括消除按鍵抖動(dòng)和重鍵,有時(shí)還要
24、識(shí)別組合鍵和超時(shí)未按鍵(空鍵)。同時(shí),還要兼顧不同操作者的操作習(xí)慣(按鍵速度)。第二,不同的參數(shù)修改時(shí)有不同的上下限和缺省值。第三,要能夠快速修改參數(shù),以便再短時(shí)間內(nèi)完成參數(shù)數(shù)值的大范圍變化修改。第四,重要的參數(shù)進(jìn)入設(shè)置界面需要輸入密碼,參數(shù)修改完成后需要確認(rèn)操作才能認(rèn)可。鍵盤處理的程序設(shè)計(jì)要根據(jù)具體的應(yīng)用和要求進(jìn)行。例如一個(gè)數(shù)字秒表,啟動(dòng)和停止秒表的按鍵處理就完全可以由主程序完成,且無(wú)需消除抖動(dòng)處理。前面的數(shù)字時(shí)鐘程序鍵盤的處理也比較簡(jiǎn)單,可以在主程序中完成。但是由于牽涉到動(dòng)態(tài)顯示,比較合理的處理方法是由主程序和中斷服務(wù)程序共同完成鍵盤處理的所有功能。而要實(shí)現(xiàn)象變頻器這樣復(fù)雜的功能,則需要仔
25、細(xì)規(guī)劃和分配主程序與中斷服務(wù)程序的功能,并進(jìn)行仔細(xì)和全面的調(diào)試,才能避免出現(xiàn)不希望的結(jié)果。一基本要求設(shè)計(jì)一個(gè)參數(shù)設(shè)置功能的程序。參數(shù)號(hào)為0-9,每個(gè)參數(shù)的缺省參數(shù)值、上限與下限由表格給定(可以如下設(shè)置)。缺省值:為參數(shù)號(hào)乘以10+5:5,15,25,;參數(shù)上限:100,110,120,。參數(shù)下限:0,10,20,30,。主程序?yàn)閿?shù)字時(shí)鐘程序。按下設(shè)置鍵后進(jìn)入設(shè)置狀態(tài),此時(shí)最左位顯示參數(shù)號(hào)(帶小數(shù)點(diǎn)),右邊三位顯示參數(shù)值。按下增量及減量鍵后參數(shù)號(hào)變化,相應(yīng)的參數(shù)值也隨即顯示出來(lái)。按下確認(rèn)鍵后參數(shù)值閃爍,此時(shí)再按下增量及減量鍵則參數(shù)值改變。再次按下確認(rèn)鍵后參數(shù)修改成功,參數(shù)值停止閃爍。若此時(shí)按下設(shè)
26、置鍵則參數(shù)不修改(取消修改),并返回原來(lái)的狀態(tài)(參數(shù)值不閃爍)。再次按下設(shè)置鍵則返回主程序(數(shù)字時(shí)鐘)。進(jìn)一步的功能是實(shí)現(xiàn)參數(shù)值的快速修改。在參數(shù)值修改狀態(tài)下,按下增量及減量鍵超過(guò)2秒,參數(shù)值要能夠快速變化(連續(xù)加減),直至上限或下限。每次按鍵只要在2秒之內(nèi),數(shù)值只能變化1。同時(shí),若15秒未按鍵,則自動(dòng)退出當(dāng)前狀態(tài),直至返回主程序。再進(jìn)一步,將參數(shù)號(hào)增加到0-99,參數(shù)值的范圍增加到4位數(shù)。進(jìn)入?yún)?shù)設(shè)置時(shí)先顯示“Pr.+參數(shù)號(hào)”,按下確認(rèn)鍵后再顯示參四位參數(shù)數(shù)值(閃爍)。快速增減時(shí)各位數(shù)變化達(dá)到10后,十位數(shù)快速增減;再次達(dá)到10后,百位數(shù)快速增減;直至最高位。二系統(tǒng)結(jié)構(gòu)這個(gè)程序的基本結(jié)構(gòu)與數(shù)
27、字時(shí)鐘基本相同,只是鍵盤處理需要利用中斷來(lái)實(shí)現(xiàn)(鍵盤掃描)??紤]到人手的按鍵操作每秒鐘不會(huì)超過(guò)10次,因此鍵盤掃描的頻率可以確定為10Hz。兩次鍵盤掃描的間隔為100毫秒,這樣也就順便解決了消除按鍵抖動(dòng)的問(wèn)題。為了實(shí)現(xiàn)鍵盤掃描的所有功能,必須設(shè)置相應(yīng)的狀態(tài)與變量:1. 狀態(tài)標(biāo)志、指針:運(yùn)行/設(shè)置/修改。2. 鍵盤處理的輸入與輸出變量,中間暫存變量3. 空鍵與長(zhǎng)鍵的識(shí)別,必須增加相應(yīng)的鍵盤掃描計(jì)數(shù)器。4. 各個(gè)按鍵的代碼,空鍵與長(zhǎng)鍵也有相應(yīng)的鍵值代碼。程序的設(shè)計(jì)分為定時(shí)器中斷與主程序兩個(gè)部分。鍵盤掃描與識(shí)別在中斷服務(wù)程序中完成,然后將鍵值代碼傳送給主程序。主程序根據(jù)鍵值代碼再進(jìn)行相應(yīng)的操作與處理
28、,這樣兩者相互配合完成參數(shù)設(shè)置的功能。三程序框圖開始主程序流程框圖:時(shí)鐘初始化定時(shí)器初始化鍵操作?注意:此處是判斷中斷服務(wù)程序是否傳送過(guò)來(lái)鍵值信息,并非直接判斷按鍵。操作1鍵值1?鍵值2?操作2操作N鍵值N?以上僅僅是粗略的框圖,實(shí)際上每個(gè)操作還要根據(jù)情況再進(jìn)行細(xì)化。注意在每個(gè)操作完成后必須將傳送鍵值的變量清除,否則會(huì)重復(fù)執(zhí)行操作。鍵盤掃描程序與動(dòng)態(tài)顯示時(shí)鐘程序統(tǒng)一使用5毫秒的定時(shí)器中斷,在100毫秒時(shí)執(zhí)行鍵盤掃描即可。在程序中采用的符號(hào)定義如下:kin:鍵盤輸入變量,能夠表示所有按鍵狀態(tài)的數(shù)值。kout:鍵盤輸出變量,將識(shí)別后的鍵值傳送給主程序。ktmp:中間暫存變量。Kcnt:鍵盤掃描計(jì)數(shù)
29、器,用于空鍵與長(zhǎng)鍵的識(shí)別。按鍵代碼如下:設(shè)置/取消:KSET,確認(rèn):KENT,增量:KINC,減量:KDEC,空鍵:KEMP。中斷服務(wù)程序流程框圖如下(僅表示出鍵盤掃描部分,需要仔細(xì)分析與理解):鍵盤處理入口kin=空?無(wú)鍵按下YN有鍵按下ktmp=空?ktmp=空?YNY無(wú)按鍵Nktmp=kinkcnt=0kcnt+1kcnt+1鍵在2秒內(nèi)松開kout=ktmpktmp=空kcnt=0Kcnt>40?Kcnt>200?Kout=KEMPkcnt=0Y是否+/-?kout=KINC/KDEC;kcnt-1;鍵盤處理出口框圖中長(zhǎng)鍵的處理只給出了增量鍵的處理,還有待完善。相應(yīng)的程序請(qǐng)同
30、學(xué)們自己編寫并進(jìn)行調(diào)試??焖偌訙p以及位切換的框圖及程序也請(qǐng)同學(xué)們自己完成,鼓勵(lì)自己創(chuàng)新!數(shù)據(jù)的掉電存儲(chǔ) 參數(shù)設(shè)置完成后一般都需要存儲(chǔ)在非易失性存儲(chǔ)器中,這種存儲(chǔ)器在掉電后也能長(zhǎng)期保持?jǐn)?shù)據(jù)不變。目前采用較多的是93系列和24系列的產(chǎn)品。1.從簡(jiǎn)單的串行轉(zhuǎn)并行接口4094理解時(shí)序的概念和基本的編程方法。2.了解93C46的基本命令、時(shí)序的組成與編程方法。3.EEPROM的編程需要比較準(zhǔn)確的時(shí)序,并且一個(gè)操作要在規(guī)定的時(shí)間內(nèi)完成,否則芯片內(nèi)部會(huì)超時(shí)復(fù)位。4.24系列芯片的編程請(qǐng)參考教材。4094操作參考程序如下:void dpout(uchar cnt)uchark;STR=1;STR=1;/重復(fù)操
31、作,增加可靠性并延時(shí)for(k=0;k<8;k+)if(cnt&(0x80>>k)DTA=1;else DTA=0;CLK = 1;CLK = 1;CLK = 0;CLK = 0;STR=0;STR=0;關(guān)于單片機(jī)的I/O端口單片機(jī)的I/O端口用于數(shù)字量的輸入與輸出,但是由于單片機(jī)的引腳數(shù)量少,I/O端口都是功能復(fù)用的(即I/O端口有多種功能)。單片機(jī)的I/O端口有單向和雙向之分。大部分的I/O端口都是雙向口。而雙向口又分為真雙向口和準(zhǔn)雙向口。MCS-51系列的單片機(jī)都是準(zhǔn)雙向口(注意MCS-51單片機(jī)的教材中,對(duì)于P0口的描述容易造成理解錯(cuò)誤)。所謂真雙向口與準(zhǔn)雙向
32、口的區(qū)別,僅僅是輸出電路的形式不同。真雙向口為雙管電路,而準(zhǔn)雙向口為單管電路。真雙向口在實(shí)用前,必須進(jìn)行初始化定義。對(duì)于功能復(fù)用的引腳,先要定義功能,然后再定義輸入與輸出(例如微芯公司的單片機(jī))。準(zhǔn)雙向口即可用于輸入,也可用于輸出,且在使用前一般無(wú)需定義。但是準(zhǔn)雙向口在用于輸入時(shí)必須先輸出1,這是由于準(zhǔn)雙向口的電路結(jié)構(gòu)造成的。準(zhǔn)雙向口在使用時(shí)要注意兩個(gè)問(wèn)題。一是并聯(lián)問(wèn)題,二是驅(qū)動(dòng)能力問(wèn)題。所謂并聯(lián)問(wèn)題,是指在實(shí)際應(yīng)用中不同芯片的準(zhǔn)雙向口可以并聯(lián)。而并聯(lián)的結(jié)果是“與”的關(guān)系,即只要電路中有一個(gè)芯片輸出低電平,結(jié)果就為低電平。真雙向口與準(zhǔn)雙向口的驅(qū)動(dòng)能力有很大的差異。真雙向口的高電平輸出驅(qū)動(dòng)能力(
33、輸出電流)與低電平驅(qū)動(dòng)能力(輸入電流)基本相同。而準(zhǔn)雙向口則不然,一般情況下,準(zhǔn)雙向口的高電平輸出驅(qū)動(dòng)能力(輸出電流)遠(yuǎn)遠(yuǎn)低電平驅(qū)動(dòng)能力(輸入電流)。準(zhǔn)雙向口的高電平驅(qū)動(dòng)能力取決于上拉電阻,而一般情況下這個(gè)上拉電阻還是比較大的。MCS-51單片機(jī)的I/O端口高電平驅(qū)動(dòng)能力只有幾毫安,而P0口則根本沒(méi)有上拉電阻。所以,用戶需要根據(jù)負(fù)載大小外接合適的上拉電阻。在許多實(shí)際應(yīng)用中,單片機(jī)的引腳都會(huì)與各種各樣的芯片連接。詳細(xì)了解單片機(jī)的引腳性能,對(duì)于硬件設(shè)計(jì)與軟件編程都是不可缺少的。嵌入式系統(tǒng)設(shè)計(jì)溫度測(cè)量與控制系統(tǒng)一、溫度測(cè)量溫度測(cè)量與與控制在工業(yè)生產(chǎn)和日常生活中非常常見。典型的工業(yè)過(guò)程如冶金、化工、機(jī)
34、械、輕工等行業(yè)都有應(yīng)用。家用電器中如熱水器、空調(diào)、廚房用具中也具有此項(xiàng)功能。因此溫度測(cè)量與控制也成為教學(xué)中的典型內(nèi)容。溫度測(cè)量與控制需要有相應(yīng)的檢測(cè)元件與執(zhí)行元件,即傳感器與加熱器。傳統(tǒng)的檢測(cè)溫度傳感器有:1. 熱電偶。2. 熱敏電阻。3. 半導(dǎo)體溫度敏感元件。4. 遠(yuǎn)紅外檢測(cè)。5. 特殊檢測(cè)器件。采用傳統(tǒng)溫度檢測(cè)元件需要對(duì)信號(hào)進(jìn)行調(diào)理(放大、濾波、電平變換、A/D轉(zhuǎn)換)才能轉(zhuǎn)換為計(jì)算機(jī)能夠處理的數(shù)字信號(hào)。近年來(lái),出現(xiàn)了一種新型的數(shù)字溫度傳感器。它是將半導(dǎo)體溫度傳感器、放大、濾波、A/D轉(zhuǎn)換、數(shù)字調(diào)制與通信接口集成在一個(gè)芯片內(nèi)的高性能器件,大大簡(jiǎn)化了應(yīng)用電路,因此在實(shí)際應(yīng)用中獲得非常廣泛的應(yīng)用
35、。典型的器件就是DALLAS公司生產(chǎn)的DS18B20。DS18B20的應(yīng)用實(shí)例已經(jīng)很多,可以從各種途徑找到單片機(jī)與DS18B20的接口程序。一旦完成了溫度的測(cè)量,接下來(lái)就是如何實(shí)現(xiàn)溫度控制的問(wèn)題了。溫度的控制有各種不同的方法,執(zhí)行元件也有不同,其中最為常見的就是電加熱。二、電加熱溫度控制電加熱通過(guò)控制電流的大小來(lái)實(shí)現(xiàn)加熱量的控制。電加熱使用的電源也有幾種不同的種類:直流電源、交流電源和中頻電源。電加熱也有各種不同的控制方法,簡(jiǎn)單歸納如下:1. 開關(guān)控制。2. 周波數(shù)控制。3. 導(dǎo)通角控制。4. PWM控制。前兩種屬于間斷控制,后兩種屬于連續(xù)控制。開關(guān)控制是最為簡(jiǎn)單的控制形式:當(dāng)溫度低于設(shè)定值時(shí)
36、,接通開關(guān)開始加熱;當(dāng)溫度高于設(shè)定值時(shí),斷開開關(guān)停止加熱。系統(tǒng)會(huì)通過(guò)自然散熱降溫。大多數(shù)家用電器的溫度控制都是采用這種控制形式(冰箱、空調(diào)等)??刂圃踔量梢圆捎煤?jiǎn)單的雙金屬片即可實(shí)現(xiàn)。周波控制是在使用交流電源加熱時(shí)的一種控制方式,通過(guò)控制電源接通的周波數(shù)來(lái)實(shí)現(xiàn)溫度的控制。這是由于控制交流電的控制元件可以采用雙向可控硅,而可控硅一旦導(dǎo)通就不能自己關(guān)斷,必須靠交流電的過(guò)零點(diǎn)關(guān)斷。為了減少電源導(dǎo)通時(shí)的沖擊,采用過(guò)零點(diǎn)觸發(fā),因此交流電源的導(dǎo)通時(shí)間就是電源周期的整數(shù)倍。由于溫度系統(tǒng)是大慣性系統(tǒng),采用周波數(shù)控制能夠?qū)崿F(xiàn)對(duì)于溫度的高精度控制,在工業(yè)生產(chǎn)中很實(shí)用(采用固態(tài)繼電器作為控制元件)。導(dǎo)通角控制是
37、采用可控硅控制交流電源導(dǎo)通的角度來(lái)調(diào)節(jié)平均電流的大小。在電工學(xué)、電力電子技術(shù)等課程中已經(jīng)有詳細(xì)的介紹。導(dǎo)通角控制技術(shù)已經(jīng)很成熟,只是在實(shí)際應(yīng)用中容易造成對(duì)于電網(wǎng)的諧波干擾,因此今后的應(yīng)用會(huì)越來(lái)越受到限制。PWM控制是近年來(lái)發(fā)展起來(lái)的一種新型控制技術(shù)。PWM控制的原理雖然早就有,但是由于控制器件的原因一直沒(méi)有大規(guī)模的應(yīng)用。隨著新型電力電子技術(shù)與工藝的發(fā)展,出現(xiàn)了適合PWM控制的新型器件:VMOS、IGBT、GTO等等。這使得PWM技術(shù)的應(yīng)用得以迅速發(fā)展。采用PWM技術(shù)的優(yōu)點(diǎn)是非常明顯的,效率高、控制容易、減少諧波污染等。目前幾乎所有的電力控制系統(tǒng)都盡可能地使用了PWM控制技術(shù),典型的產(chǎn)品如變頻器
38、、開關(guān)電源等。三、單片機(jī)實(shí)現(xiàn)PWM控制的方法由于PWM控制的優(yōu)越性,目前很多單片機(jī)都具有PWM控制的功能模塊。各種單片機(jī)實(shí)現(xiàn)PWM控制的原理基本相同,但是在具體編程時(shí)會(huì)有比較大的差別,必須遵循各自的使用規(guī)定。對(duì)于沒(méi)有PWM控制功能的單片機(jī),也可以利用軟件和現(xiàn)有的功能模塊實(shí)現(xiàn)PWM控制的功能。具體來(lái)說(shuō)由兩種方法:方法一:利用軟件實(shí)現(xiàn)PWM功能。先設(shè)置一個(gè)軟件計(jì)數(shù)器counter,然后編程以一定的速率使counter增量(達(dá)到最大后自動(dòng)歸零,相當(dāng)于輸出一個(gè)鋸齒波)。每次完成增量后即將counter的數(shù)值與給定的PWM值進(jìn)行比較,如果counter大于PWM則輸出低電平,反之則輸出高電平。這樣PWM
39、的數(shù)值越大,輸出高電平的時(shí)間就越長(zhǎng)。增量的定時(shí)可以用軟件實(shí)現(xiàn),也可以用中斷實(shí)現(xiàn)。PWM值計(jì)數(shù)器PWM輸出信號(hào)方法二:利用定時(shí)器實(shí)現(xiàn)PWM功能。方法一所實(shí)現(xiàn)的PWM功能有一個(gè)缺點(diǎn),就是過(guò)多占用了計(jì)算機(jī)的資源,且PWM的載波頻率較低。為此可以采用定時(shí)器中斷來(lái)產(chǎn)生高效率的PWM信號(hào)。對(duì)于MCS-51系列的單片機(jī),具體做法是將定時(shí)器設(shè)置為方式1并產(chǎn)生中斷,每次中斷時(shí)切換輸出信號(hào)的電平狀態(tài),并確定到下一次中斷所需要的定時(shí)時(shí)間。例如,單片機(jī)以1KHz的載波頻率輸出PWM信號(hào),設(shè)單片機(jī)的時(shí)鐘頻率為12MHz,則可以計(jì)算出對(duì)于50%占空比的PWM信號(hào),每次定時(shí)器中斷的間隔為500微秒,則應(yīng)該裝入的計(jì)數(shù)器初值為
40、65536-500 = 65036。如果占空比為10%,則PWM信號(hào)輸出高電平的持續(xù)時(shí)間為100微秒,相應(yīng)的計(jì)數(shù)器初值為65536-100 = 65436。輸出低電平的持續(xù)時(shí)間為900微秒,相應(yīng)的計(jì)數(shù)器初值為65536-900 = 64636。這樣就能夠根據(jù)給定的PWM值(或占空比0-100)輸出相應(yīng)的PWM信號(hào)了。實(shí)現(xiàn)這個(gè)功能的程序非常簡(jiǎn)單,學(xué)生應(yīng)該可以自己完成。四、溫度控制的控制算法由于溫度系統(tǒng)是大慣性系統(tǒng),有時(shí)還會(huì)有明顯的滯后現(xiàn)象(純延時(shí)),因此在控制理論與實(shí)踐中成為一個(gè)專門的研究?jī)?nèi)容。目前對(duì)于溫度控制系統(tǒng)的控制算法有很多,具有代表性的有:開關(guān)控制、PID控制、Dahlin算法和Smit
41、h預(yù)估控制算法。溫度自動(dòng)控制系統(tǒng)的結(jié)構(gòu)圖如下圖所示:各種形式的控制器對(duì)象輸入(設(shè)定)euy 輸出-傳感器負(fù)反饋1. 開關(guān)控制。前面講過(guò)開關(guān)控制是最為簡(jiǎn)單的控制形式,在對(duì)精度要求不高的應(yīng)用中還是可以使用的。此時(shí)溫度的變化是震蕩形式的,即溫度在設(shè)置的溫度點(diǎn)附近形成震蕩。如果震蕩很頻繁,會(huì)對(duì)開關(guān)元件的觸頭造成損害,使其壽命大幅縮減。為此需要加入滯環(huán)(類似施密特觸發(fā)器)。2. PID控制算法與參數(shù)整定。在工程實(shí)際中,應(yīng)用最為廣泛的調(diào)節(jié)器控制規(guī)律為比例、積分、微分控制,簡(jiǎn)稱PID控制,又稱PID調(diào)節(jié)。PID控制器問(wèn)世至今已有近70年歷史,它以其結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)控制的主要技
42、術(shù)之一。當(dāng)被控對(duì)象的結(jié)構(gòu)和參數(shù)不能完全掌握,或得不到精確的數(shù)學(xué)模型時(shí),控制理論的其它技術(shù)難以采用時(shí),系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗(yàn)和現(xiàn)場(chǎng)調(diào)試來(lái)確定,這時(shí)應(yīng)用PID控制技術(shù)最為方便。即當(dāng)我們不完全了解一個(gè)系統(tǒng)和被控對(duì)象,或不能通過(guò)有效的測(cè)量手段來(lái)獲得系統(tǒng)參數(shù)時(shí),最適合用PID控制技術(shù)。PID控制,實(shí)際中也有PI和PD控制。PID控制器就是根據(jù)系統(tǒng)的誤差,利用比例、積分、微分計(jì)算出控制量進(jìn)行控制的。PID自動(dòng)控制系統(tǒng)的結(jié)構(gòu)框圖:PID控制器對(duì)象輸入(設(shè)定)euy 輸出-傳感器負(fù)反饋實(shí)際系統(tǒng)的結(jié)構(gòu)應(yīng)該如下圖(有干擾):干擾對(duì)象PID控制器傳感器輸入(設(shè)定)e u +y 實(shí)際輸出-負(fù)反饋傳感器輸出
43、為簡(jiǎn)化可以假設(shè)傳感器的輸出與實(shí)際溫度是相同的,即傳感器的傳遞函數(shù)是1。PID控制器由比例單元(P)、積分單元(I)和微分單元(D)組成。其輸入e(t)與輸出u(t)的關(guān)系為:u(t)=Kp(e(t)+1/TIe(t)dt+TD*de(t)/dt)式中積分的上下限分別是0和t,因此它的傳遞函數(shù)為:G(s)=U(s)/E(s)=Kp(1+1/(TI*s)+TD*s)其中Kp為比例系數(shù); TI為積分時(shí)間常數(shù); TD為微分時(shí)間常數(shù)。PID是以它的三種糾正算法而命名的,這三種算法是:比例- 控制當(dāng)前,誤差值和一個(gè)負(fù)常數(shù)P(表示比例)相乘,然后和預(yù)定的值相加。P只是在控制器的輸出和系統(tǒng)的誤差成比例的時(shí)候成
44、立。比如說(shuō),一個(gè)電熱器的控制器的比例尺范圍是10°C,它的預(yù)定值是20°C。那么它在10°C的時(shí)候會(huì)輸出100%,在15°C的時(shí)候會(huì)輸出50%,在19°C的時(shí)候輸出10,注意在誤差是0的時(shí)候,控制器的輸出也是0。積分 - 控制過(guò)去,誤差值是過(guò)去一段時(shí)間的誤差和,然后乘以一個(gè)負(fù)常數(shù)I,然后和預(yù)定值相加。I從過(guò)去的平均誤差值來(lái)找到系統(tǒng)的輸出結(jié)果和預(yù)定值的平均誤差。一個(gè)簡(jiǎn)單的比例系統(tǒng)會(huì)振蕩,會(huì)在預(yù)定值的附近來(lái)回變化,因?yàn)橄到y(tǒng)無(wú)法消除多余的糾正。通過(guò)加上一個(gè)負(fù)的平均誤差比例值,平均的系統(tǒng)誤差值就會(huì)總是減少。所以,最終這個(gè)PID回路系統(tǒng)會(huì)在預(yù)定值定下來(lái)。
45、導(dǎo)數(shù) - 控制將來(lái),計(jì)算誤差的一階導(dǎo)數(shù),并和一個(gè)負(fù)常數(shù)D相乘,最后和預(yù)定值相加。這個(gè)導(dǎo)數(shù)的控制會(huì)對(duì)系統(tǒng)的改變作出反應(yīng)。導(dǎo)數(shù)的結(jié)果越大,那么控制系統(tǒng)就對(duì)輸出結(jié)果作出更快速的反應(yīng)。這個(gè)D參數(shù)也是PID被稱為可預(yù)測(cè)的控制器的原因。D參數(shù)對(duì)減少控制器短期的改變很有幫助。一些實(shí)際中的速度緩慢的系統(tǒng)可以不需要D參數(shù)。用更專業(yè)的話來(lái)講,一個(gè)PID控制器可以被稱作一個(gè)在頻域系統(tǒng)的濾波器。這一點(diǎn)在計(jì)算它是否會(huì)最終達(dá)到穩(wěn)定時(shí)很有用。如果數(shù)值挑選不當(dāng),控制系統(tǒng)的輸入值會(huì)反復(fù)振蕩,這導(dǎo)致系統(tǒng)可能永遠(yuǎn)無(wú)法達(dá)到預(yù)設(shè)值(例如比例系數(shù)太大時(shí)就是如此,用自動(dòng)控制的術(shù)語(yǔ)來(lái)說(shuō)就是不穩(wěn)定)。PID控制器的參數(shù)整定是控制系統(tǒng)設(shè)計(jì)的核心
46、內(nèi)容。它是根據(jù)被控過(guò)程的特性確定PID控制器的比例系數(shù)、積分時(shí)間和微分時(shí)間的大小。PID控制器參數(shù)整定的方法很多,概括起來(lái)有兩大類:一是理論計(jì)算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過(guò)理論計(jì)算確定控制器參數(shù)。這種方法所得到的計(jì)算數(shù)據(jù)未必可以直接用,還必須通過(guò)工程實(shí)際進(jìn)行調(diào)整和修改。二是工程整定方法,它主要依賴工程經(jīng)驗(yàn),直接在控制系統(tǒng)的試驗(yàn)中進(jìn)行,且方法簡(jiǎn)單、易于掌握,在工程實(shí)際中被廣泛采用。PID控制器參數(shù)的工程整定方法,主要有臨界比例法、反應(yīng)曲線法和衰減法。三種方法各有其特點(diǎn),其共同點(diǎn)都是通過(guò)試驗(yàn),然后按照工程經(jīng)驗(yàn)公式對(duì)控制器參數(shù)進(jìn)行整定。但無(wú)論采用哪一種方法所得到的控制器參數(shù),都需要在實(shí)際
47、運(yùn)行中進(jìn)行最后調(diào)整與完善?,F(xiàn)在一般采用的是臨界比例法。利用該方法進(jìn)行 PID控制器參數(shù)的整定步驟如下:(1)首先預(yù)選擇一個(gè)足夠短的采樣周期(一般為對(duì)象純延時(shí)時(shí)間的十分之一以下)讓系統(tǒng)工作;(2)僅加入比例控制環(huán)節(jié),直到系統(tǒng)對(duì)輸入的階躍響應(yīng)出現(xiàn)臨界振蕩,記下這時(shí)的比例放大系數(shù)Ks和臨界振蕩周期Tk;(3)選擇控制度。所謂控制度就是以模擬調(diào)節(jié)器為基準(zhǔn),用數(shù)字控制器進(jìn)行控制的控制效果。例如,當(dāng)控制度為1時(shí),就是指數(shù)字控制器與模擬控制器的控制效果一樣;控制度為2時(shí),則數(shù)字控制器的控制效果僅為模擬控制器的一半。(4)在一定的控制度下通過(guò)查表得到PID控制器的參數(shù)。控制度控制規(guī)律TKpTiTd1.05PI
48、0.03 Tk0.53/Ks0.88 TkPID0.014 Tk0.63/Ks0.49 Tk0.14 Tk1.2PI0.05 Tk0.49/Ks0.91 TkPID0.043 Tk0.47/Ks0.47 Tk0.16 Tk1.5PI0.14 Tk0.42/Ks0.99 TkPID0.09 Tk0.34/Ks0.43 Tk0.20 Tk2.0PI0.22 Tk0.36/Ks1.05 TkPID0.16 Tk0.27/Ks0.40 Tk0.22 Tk*Kp所對(duì)應(yīng)的應(yīng)該是控制量的大?。≒WM占空比0-100%)。在實(shí)際調(diào)試中,只能先大致設(shè)定一個(gè)經(jīng)驗(yàn)值,然后根據(jù)調(diào)節(jié)效果修改。對(duì)于溫度系統(tǒng):P(%)20
49、-60,I(分)3-10,D(分)0.53對(duì)于流量系統(tǒng):P(%)40-100,I(分)0.11對(duì)于壓力系統(tǒng):P(%)30-70,I(分)0.43對(duì)于液位系統(tǒng):P(%)20-80,I(分)15在編寫PID控制程序時(shí),還要對(duì)控制問(wèn)題進(jìn)行具體分析,確定具體的控制過(guò)程和數(shù)據(jù)范圍。對(duì)于我們所控制的溫度系統(tǒng),實(shí)際上要分為三段進(jìn)行控制:全開;溫度低于規(guī)定值u = PWM(PID)控制;溫度低于設(shè)定值,但在規(guī)定值內(nèi)關(guān)閉;高于設(shè)定值,自然降溫上面所說(shuō)的規(guī)定值是根據(jù)具體應(yīng)用和實(shí)際經(jīng)驗(yàn)設(shè)計(jì)的。例如我們可以在溫度低于設(shè)定值5度的范圍內(nèi)進(jìn)行PID控制。低于設(shè)定值5度以下時(shí)直接進(jìn)行全開控制。在具體實(shí)施PID控制時(shí)還有所謂
50、的位置型和增量型算法。兩者在本質(zhì)上是相同的,只是在實(shí)際應(yīng)用時(shí),增量法的計(jì)算量?。ú挥糜?jì)算累加和),抗干擾能力強(qiáng),因此更為實(shí)用。位置型算法:增量型算法:在編寫控制程序時(shí)要先進(jìn)行數(shù)據(jù)核算。數(shù)據(jù)核算的目的在于根據(jù)實(shí)際的傳感器輸出數(shù)據(jù)范圍確定合理的控制比例系數(shù),以使系統(tǒng)在最大誤差時(shí)正好能夠具有最大的控制輸出。例如,我們?nèi)绻?guī)定在溫度低于設(shè)定值5度的范圍內(nèi)進(jìn)行PID控制,則最大的溫度誤差就是5。但是如果我們要求控制精度達(dá)到0.1度,則溫度值也應(yīng)該取1位小數(shù)。這樣最大溫度誤差值就是50(注意在單片機(jī)中盡量不使用浮點(diǎn)數(shù))。如果比例控制的系數(shù)取值范圍為0-100,則最大的計(jì)算控制量就可達(dá)5000。如果PWM控
51、制量的取值范圍為0-255(這樣便于增量操作),則在程序中就需要將計(jì)算控制量除以5000/255=19.6,然后再作為PWM控制量輸出。對(duì)于微分控制和積分控制,也需要采用同樣的方法。由于微分,特別是積分容易出現(xiàn)飽和,在實(shí)際處理時(shí)還必須進(jìn)行限幅處理。在實(shí)際應(yīng)用中會(huì)有3個(gè)計(jì)算控制量,即比例控制量、微分控制量和積分控制量。這三個(gè)量可以相互疊加(同號(hào)),也可以相互抵消(異號(hào))。為了避免出現(xiàn)超過(guò)最大允許值的情形出現(xiàn),通常要對(duì)最后的計(jì)算輸出量再進(jìn)行限幅處理。最后,首次進(jìn)入PID控制時(shí)需要對(duì)有關(guān)變量(累加和、前次誤差值)進(jìn)行初始化,一般情況下是清零。由于我們進(jìn)行的是單邊控制,一旦溫度達(dá)到設(shè)定值就關(guān)閉加熱電源。溫度降低后再次啟動(dòng)PID控制時(shí)也需要重新進(jìn)行初始化(此處保留以前的數(shù)據(jù)是不合理的)。例題:設(shè)定溫度為60度,T=0.2秒,Kp=0.47,Ti=2.35秒,Td=0.8秒。對(duì)于如下的采樣數(shù)據(jù)序列,計(jì)算采用增量型PID控制算法的控制輸出序列。解題:先計(jì)算系數(shù)Q0=4.81,Q1=8.44和Q2=3.72,再計(jì)算控制量增量。序列k0123456789采樣s55.656.056.256.656.957.257.758.258.859.6誤差e4440383431282318124u212-1787u=u0+312134141其中誤差放大了10倍,最后一行的控制輸出
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 4 Hobbies(story time)(教學(xué)設(shè)計(jì))-2023-2024學(xué)年人教新起點(diǎn)版英語(yǔ)四年級(jí)下冊(cè)
- 長(zhǎng)方體的表面積(教學(xué)設(shè)計(jì))-2023-2024學(xué)年五年級(jí)下冊(cè)數(shù)學(xué)人教版
- Unit 6 Meet my family Part A Let's spell (教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版英語(yǔ)四年級(jí)上冊(cè)
- 第二單元第二課一、《創(chuàng)建簡(jiǎn)單查詢》教學(xué)設(shè)計(jì) 2023-2024學(xué)年新世紀(jì)版(2018)初中信息技術(shù)七年級(jí)下冊(cè)
- Unit 1 Lets count!第二課時(shí)(教學(xué)設(shè)計(jì))-一年級(jí)英語(yǔ)下冊(cè)同步備課系列(譯林版一起)
- 節(jié)能免燒磚項(xiàng)目可行性研究報(bào)告(立項(xiàng)備案下載可編輯)
- 第10課《往事依依 》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)上冊(cè)
- 廢銅料銷售合同5篇
- 2025年電壓力煲項(xiàng)目建議書
- 商標(biāo)權(quán)的使用許可合同范文7篇
- 專升本-英語(yǔ)高頻詞匯
- 《修辭立其誠(chéng)》課件+2023-2024學(xué)年統(tǒng)編版高中語(yǔ)文選擇性必修中冊(cè)
- excel培訓(xùn)課件教學(xué)
- 2024年浙江省中考社會(huì)試卷真題(含標(biāo)準(zhǔn)答案及評(píng)分標(biāo)準(zhǔn))
- 社區(qū)衛(wèi)生服務(wù)中心家庭病床服務(wù)規(guī)范手冊(cè)
- 二十四式太極拳教案高一上學(xué)期體育與健康人教版
- 2024-2025學(xué)年外研版(2024)七年級(jí)英語(yǔ)上冊(cè)英語(yǔ)各單元教學(xué)設(shè)計(jì)
- 《積極心理學(xué)(第3版)》 課件 第2章 心理流暢體驗(yàn)、第3章 積極情緒的價(jià)值
- 2024至2030年全球及中國(guó)3D硅電容器行業(yè)研究及十四五規(guī)劃分析報(bào)告
- 三個(gè)和尚幼兒故事課件
- 項(xiàng)目三任務(wù)3:超聲波雷達(dá)的故障診斷與處理(課件)
評(píng)論
0/150
提交評(píng)論