版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
內(nèi)蒙古科技大學(xué)智能儀表綜合訓(xùn)練設(shè)計(jì)說明書題目:PID數(shù)字調(diào)節(jié)器的設(shè)計(jì)(LCD顯示)學(xué)生姓名:學(xué)號(hào):專業(yè):測(cè)控技術(shù)與儀器班級(jí):2009-1指導(dǎo)教師:李文濤(教授)摘要目前,在過程控制系統(tǒng)中大部分采用PID數(shù)字調(diào)節(jié)器,本設(shè)計(jì)的PID數(shù)字調(diào)節(jié)器硬件采用AT89C52單片機(jī)作為主控單元,ADC0832實(shí)現(xiàn)A/D轉(zhuǎn)換,LCD1602用于顯示,四個(gè)獨(dú)立鍵進(jìn)行P、I、D參數(shù)的設(shè)定,硬件轉(zhuǎn)換電路實(shí)現(xiàn)電壓的放大。軟件上用定時(shí)器T0采樣,數(shù)字濾波,標(biāo)度變換,限幅及防積分飽和的PID調(diào)節(jié),PWM輸出等。同時(shí),文中還給出了此PID數(shù)字調(diào)節(jié)器的硬件電路設(shè)計(jì)及軟件流程和相關(guān)的調(diào)試程序等。關(guān)鍵詞:PID數(shù)字調(diào)節(jié)器;LCD1602顯示;A/D轉(zhuǎn)換;PWM輸出目錄第一章PID數(shù)字調(diào)節(jié)器的概述 1第二章總體設(shè)計(jì)方案 2第三章調(diào)節(jié)器的硬件設(shè)計(jì) 33.1單片機(jī)的選型 33.2I/V轉(zhuǎn)換電路 33.3ADC0832芯片簡(jiǎn)介 53.3.1ADC0832芯片說明 53.3.2ADc0832與單片機(jī)的連接 63.4LCD顯示模塊 73.4.11602字符型LCD簡(jiǎn)介 73.4.2引腳功能介紹 7第四章PID數(shù)字調(diào)節(jié)器的軟件設(shè)計(jì) 84.1PID數(shù)字調(diào)節(jié)器的軟件實(shí)現(xiàn) 84.2AD采樣及數(shù)字濾波模塊 84.2.1AD采樣部分 94.2.2數(shù)字濾波部分 94.3標(biāo)度變換模塊 114.4鍵盤模塊 124.5PID控制模塊 124.6PWM輸出模塊 14第五章系統(tǒng)仿真與調(diào)試 16第六章總結(jié) 17參考文獻(xiàn) 18附錄A 19硬件原理圖 19附錄B 20源程序 20第一章PID數(shù)字調(diào)節(jié)器的概述隨著工業(yè)自動(dòng)化的不斷發(fā)展,人們對(duì)于生產(chǎn)過程的要求越來越高,這就促使人們?cè)谏a(chǎn)實(shí)踐中不斷探求新的控制方案。而在控制方案的選擇中,控制規(guī)律的選擇尤為重要。PID調(diào)節(jié)具有原理簡(jiǎn)單,使用方便,適應(yīng)性強(qiáng),魯棒性強(qiáng)的特點(diǎn)而得到了廣泛的應(yīng)用。PID控制器(比例-積分-微分控制器),由比例單元P、積分單元I和微分單元D組成。通過Kp,Ti和Td三個(gè)參數(shù)進(jìn)行設(shè)定。PID參數(shù)對(duì)系統(tǒng)的影響:(1)比例增益Kp能及時(shí)地反映控制系統(tǒng)的偏差信號(hào),系統(tǒng)一旦出現(xiàn)了偏差,比例環(huán)節(jié)立即產(chǎn)生調(diào)節(jié)作用,使系統(tǒng)偏差快速向減小的趨勢(shì)變化。當(dāng)比例增益Kp越大,PID控制器調(diào)節(jié)速度越快。但Kp不能太大,過大的比例增益會(huì)加大調(diào)節(jié)過程的超調(diào)量,從而降低系統(tǒng)的穩(wěn)定性,甚至可能造成系統(tǒng)的不穩(wěn)定。(2)積分環(huán)節(jié)可以消除系統(tǒng)穩(wěn)態(tài)誤差。積分作用的強(qiáng)弱取決于積分時(shí)間常數(shù)的大小,Ti越小,積分作用越強(qiáng),反之則積分作用弱。積分作用的引入會(huì)使系統(tǒng)穩(wěn)定性下降,動(dòng)態(tài)響應(yīng)變慢。(3)微分環(huán)節(jié)的引入,主要是為了改善控制系統(tǒng)的響應(yīng)速度和穩(wěn)定性。微分作用具有超前的控制作用,因此,微分作用可以改善系統(tǒng)的動(dòng)態(tài)性能。微分作用的強(qiáng)弱取決于微分時(shí)間Td的大小,Td越大,微分作用越強(qiáng),反之則越弱。數(shù)字PID調(diào)節(jié)器就是將模擬信號(hào)(包括電流、電壓)通過AD轉(zhuǎn)換變?yōu)閿?shù)字信號(hào),微處理器(本設(shè)計(jì)采用單片機(jī))再將數(shù)字信號(hào)通過一定的算法進(jìn)行一定的處理,然后將處理過后的數(shù)字信號(hào)通過PWM輸出。
第二章總體設(shè)計(jì)方案PID調(diào)節(jié)器將變送器傳過來的4~20mA的電流信號(hào),經(jīng)硬件濾波電路(RC)進(jìn)行濾波,再接250歐姆的電阻轉(zhuǎn)換為1~5V,送入ADC0832進(jìn)行轉(zhuǎn)化,AD轉(zhuǎn)換后的信號(hào)送入單片機(jī)進(jìn)行PID運(yùn)算,然后以PWM輸出(0~5V),同時(shí)用LCD1602進(jìn)行顯示。此外用四個(gè)獨(dú)立按鍵(K1功能鍵、K2確定鍵、K3加法鍵、K4減法鍵)進(jìn)行操作,以實(shí)現(xiàn)對(duì)PID參數(shù)的設(shè)定??傮w流程圖如圖2.1所示。圖2.1總體流程圖第三章調(diào)節(jié)器的硬件設(shè)計(jì)3.1單片機(jī)的選型AT89C52是51系列單片機(jī)的一個(gè)型號(hào),它是ATMEL公司生產(chǎn)的.它是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可實(shí)現(xiàn)較復(fù)雜的系統(tǒng)控制應(yīng)用場(chǎng)合。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。其管腳圖如下圖3.1所示。圖3.1AT89C52管腳圖3.2I/V轉(zhuǎn)換電路在與電流輸出的傳感器接口的時(shí)候,為了把變送器輸出的4-20mA電流信號(hào)轉(zhuǎn)換成為電壓信號(hào),最簡(jiǎn)單的就是加250歐姆的電阻,僅使用一只I/V轉(zhuǎn)換取樣電阻,雖然簡(jiǎn)單,但是有部分的電壓損失,首先,其實(shí)際意義是零點(diǎn)信號(hào)的時(shí)候,會(huì)有一個(gè)零點(diǎn)電流流過取樣電阻,如果按照4-20mA輸入電流轉(zhuǎn)換到最大5V電壓來分析,零點(diǎn)的時(shí)候恰好就是1V,這個(gè)1V在單片機(jī)資源足夠的時(shí)候,可以由單片機(jī)軟件去減掉它。可是這樣一來。其有用電壓就會(huì)剩下5-1=4V而不是5V了。由于單片機(jī)的A/D最大輸入電壓就是單片機(jī)的供電電壓,這個(gè)電壓通常就是5V,因此,處理這種簡(jiǎn)單的輸入轉(zhuǎn)換電路時(shí)比較麻煩。為了達(dá)到A/D轉(zhuǎn)換的位數(shù),就會(huì)導(dǎo)致芯片成本增加。為了解決上面問題的,設(shè)計(jì)如圖3.2所示的電路。3.2I/V轉(zhuǎn)換電路其原理是:在單片機(jī)輸入之前配置一個(gè)由運(yùn)算放大器組成的緩沖處理電路,增加這級(jí)運(yùn)算放大器可以起到對(duì)零點(diǎn)的處理會(huì)變得更加方便,無需耗用單片機(jī)的內(nèi)部資源,尤其單片機(jī)是采用A/D接口來接受這種零點(diǎn)信號(hào)不為零電壓的輸入時(shí),可以保證A/D轉(zhuǎn)換位數(shù)的資源能夠全部應(yīng)用于有用信號(hào)上。圖中的R是電流取樣電阻,其值的大小主要受變送器供電電壓的制約,當(dāng)前級(jí)采用12V供電時(shí),R經(jīng)常會(huì)使用200Ω的阻值,同時(shí),線路輸入與主電路的隔離作用還可以起到保護(hù)單片機(jī)系統(tǒng)的作用。圖3.2采用的是廉價(jià)運(yùn)放LM324,其對(duì)零點(diǎn)的處理是在反相輸入端上加入一個(gè)調(diào)整電壓,其大小恰好為輸入4mA時(shí)在R上的壓降。有了運(yùn)算放大器,還使得R的取值可以更加小,因?yàn)檫@時(shí)信號(hào)電壓不夠大的部分可以通過配置運(yùn)放的放大倍數(shù)來補(bǔ)足。這樣,就可以真正把4~20mA電流轉(zhuǎn)換成為0~5V電壓了。
雖然這部分的仿真成功了,但考慮到選擇的運(yùn)放是最最廉價(jià)的,運(yùn)放的失調(diào)與漂移,以及因?yàn)檫\(yùn)放的供電與單片機(jī)電路供電的穩(wěn)定性,電源電壓是否可以保證足夠穩(wěn)定,運(yùn)放的輸入阻抗是否對(duì)信號(hào)有分流影響,以及運(yùn)放是否在整個(gè)信號(hào)范圍內(nèi)放大特性平坦,如此等等,造成這種廉價(jià)電路在真正使用時(shí)可能不盡人意。實(shí)際中,被控對(duì)象水箱的最低液位的一些實(shí)際特性,就放棄了這部分電路的使用,直接選用250Ω的電阻。3.3ADC0832芯片簡(jiǎn)介3.3.1ADC0832芯片說明ADC0832是美國國家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于它體積小,兼容性,性價(jià)比高而得到廣泛的應(yīng)用。ADC0832接口說明:
·CS_片選使能,低電平芯片使能。
·CH0模擬輸入通道0,或作為IN+/-使用。
·CH1模擬輸入通道1,或作為IN+/-使用。
·GND芯片參考0電位(地)。
·DI數(shù)據(jù)信號(hào)輸入,選擇通道控制。
·DO數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換數(shù)據(jù)輸出。
·CLK芯片時(shí)鐘輸入。
·Vcc/REF電源輸入及參考電壓輸入(復(fù)用)。一般情況下ADC0832與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時(shí)并未同時(shí)有效并與單片機(jī)的接口是雙向的,所以電路設(shè)計(jì)時(shí)可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用,CLK和DO/DI的電平可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時(shí),須先將CS端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)芯片開始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘輸入端CLK提供時(shí)鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)。在第1個(gè)時(shí)鐘脈沖到來之前DI端必須是高電平,表示啟動(dòng)位。在第2、3個(gè)時(shí)鐘脈沖到來之前DI端應(yīng)輸入2位數(shù)據(jù)用于選擇通道功能,其功能項(xiàng)見表3.3表3.3ADC0832配置位輸入形式配置位選擇通道CH0CH1CHOCH1差分輸入00+-01-+單端輸入10+11+當(dāng)配置位2位數(shù)據(jù)為1、0時(shí),只對(duì)CH0進(jìn)行單通道轉(zhuǎn)換。當(dāng)配置2位數(shù)據(jù)為1、1時(shí),只對(duì)CH1進(jìn)行單通道轉(zhuǎn)換。當(dāng)配置2位數(shù)據(jù)為0、0時(shí),將CH0作為正輸入端IN+,CH1作為負(fù)輸入端IN-進(jìn)行輸入。當(dāng)配置2位數(shù)據(jù)為0、1時(shí),將CH0作為負(fù)輸入端IN-,CH1作為正輸入端IN+進(jìn)行輸入。到第3個(gè)時(shí)鐘脈沖到來之后DI端的輸入電平就失去輸入作用,此后DO/DI端則開始利用數(shù)據(jù)輸出DO進(jìn)行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個(gè)時(shí)鐘脈沖開始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位D7,隨后每一個(gè)脈沖DO端輸出下一位數(shù)據(jù)。直到第11個(gè)脈沖時(shí)發(fā)出最低位數(shù)據(jù)D0,一個(gè)字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個(gè)相反字節(jié)的數(shù)據(jù),即從第11個(gè)時(shí)鐘脈沖輸出D0。隨后輸出8位數(shù)據(jù),到第19個(gè)脈沖時(shí)數(shù)據(jù)輸出完成,也標(biāo)志著一次A/D轉(zhuǎn)換的結(jié)束。最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行處理就可以了。圖3.4為ADC0832時(shí)序圖。圖圖3.4ADC0832時(shí)序圖3.3.2ADc0832與單片機(jī)的連接根據(jù)ADC0832的芯片原理,設(shè)計(jì)中DI,DO接P3.7信號(hào)既輸入又能輸出,CS的片選信號(hào)接P2.0。ADC0832與單片機(jī)的連接圖如圖3.5圖3.5ADC0832與單片機(jī)的連接3.4LCD顯示模塊3.4.11602字符型LCD簡(jiǎn)介字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。一般1602字符型液晶顯示器實(shí)物見圖3.6所示。圖3.6LCD1602實(shí)物圖3.4.2引腳功能介紹1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明見表3.7。表3.7引腳接口說明表編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極下圖是根據(jù)本設(shè)計(jì)要實(shí)現(xiàn)的功能來將其各引腳與單片機(jī)進(jìn)行連接。連接圖見圖3.8。圖3.8LCD1602與單片機(jī)連接圖第四章PID數(shù)字調(diào)節(jié)器的軟件設(shè)計(jì)4.1PID數(shù)字調(diào)節(jié)器的軟件實(shí)現(xiàn)PID數(shù)字調(diào)節(jié)器首先通過定時(shí)器T1定時(shí)采樣,定時(shí)時(shí)間10MS,采樣之后,用去極值平均值濾波法進(jìn)行數(shù)字濾波、上下限可設(shè)的標(biāo)度變換,標(biāo)度變換完之后送單片機(jī)進(jìn)行處理,配合鍵盤進(jìn)行PID參數(shù)的設(shè)定,之后以PWM輸出。軟件流程圖如圖4.1,源程序見附錄B。4.1軟件流程圖4.2AD采樣及數(shù)字濾波模塊4.2.1AD采樣部分設(shè)計(jì)中,對(duì)ADC0832進(jìn)行操作時(shí),前3個(gè)脈沖用于初始化,通道選擇,從第4個(gè)脈沖開始,對(duì)數(shù)據(jù)進(jìn)行輸出,從高到低讀一次,再從低到高讀一次,以確認(rèn)數(shù)據(jù)的準(zhǔn)確。程序流程圖如圖4.2所示.圖4.2ADC0832子程序流程圖4.2.2數(shù)字濾波部分所謂的數(shù)字濾波,就是在計(jì)算機(jī)中通過軟件按照某種算法對(duì)輸入信號(hào)進(jìn)行平滑加工等處理,以減少干擾在有用信號(hào)中的比重,提高信號(hào)的真實(shí)性。常用的數(shù)字濾波的方法有算術(shù)平均值濾波法、限幅濾波法、滑動(dòng)平均濾波法、一階滯后濾波法、中值濾波法等。以下對(duì)幾種常用的方法做簡(jiǎn)要的介紹。1.算術(shù)平均值濾波法:連續(xù)取N個(gè)采樣值進(jìn)行算術(shù)平均運(yùn)算。優(yōu)點(diǎn):適用于對(duì)一般具有隨機(jī)干擾的信號(hào)進(jìn)行濾波,這樣信號(hào)的特點(diǎn)是有一個(gè)平均值,信號(hào)在某一數(shù)值范圍附近上下波動(dòng)。缺點(diǎn):對(duì)于測(cè)量速度較慢或要求數(shù)據(jù)計(jì)算速度較快的實(shí)時(shí)控制不適用。2.限幅濾波法:根據(jù)經(jīng)驗(yàn)判斷,確定兩次采樣允許的最大偏差值(設(shè)為A),每次檢測(cè)到新值時(shí)判斷:如果本次值與上次值之差<=A,則本次值有效,如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值。優(yōu)點(diǎn):能有效克服因偶然因素引起的脈沖干擾。缺點(diǎn):無法抑制那種周期性的干擾,平滑度差)3.滑動(dòng)平均濾波法:把連續(xù)取N個(gè)采樣值看成一個(gè)隊(duì)列,隊(duì)列的長(zhǎng)度固定為N,每次采樣到一個(gè)新數(shù)據(jù)放入隊(duì)尾,并扔掉原來隊(duì)首的一次數(shù)據(jù).把隊(duì)列中的N個(gè)數(shù)據(jù)進(jìn)行算術(shù)平均運(yùn)算,就可獲得新的濾波結(jié)果優(yōu)點(diǎn):對(duì)周期性干擾有良好的抑制作用,平滑度高,適用于高頻振蕩的系統(tǒng)。缺點(diǎn):靈敏度低,對(duì)偶然出現(xiàn)的脈沖性干擾的抑制作用較差,不易消除由于脈沖干擾所引起的采樣值偏差,不適用于脈沖干擾比較嚴(yán)重的場(chǎng)合。4.一階滯后濾波法:取a=0-1,本次濾波結(jié)果=(1-a)*本次采樣值+a*上次濾波結(jié)果。優(yōu)點(diǎn):對(duì)周期性干擾具有良好的抑制作用,適用于波動(dòng)頻率較高的場(chǎng)合缺點(diǎn):相位滯后,靈敏度低,滯后程度取決于a值大小,不能消除濾波頻率高于采樣頻率的1/2的干擾信號(hào)。5.中值濾波法:連續(xù)采樣N次(N取奇數(shù)3-5),把N次采樣值按大小排列取中間值為本次有效值。優(yōu)點(diǎn):能有效克服因偶然因素引起的波動(dòng)干擾,對(duì)溫度、液位的變化緩慢的被測(cè)參數(shù)有良好的濾波效果缺點(diǎn):對(duì)流量、速度等快速變化的參數(shù)不宜6.去極值平均值濾波法:對(duì)被測(cè)參數(shù)采樣N次,并按大小順序排列,從首尾各舍掉一個(gè)大數(shù)和一個(gè)小數(shù),再將剩余的進(jìn)行平均,這種方法既能去掉脈沖干擾,又可以對(duì)采樣進(jìn)行平滑加工,在快,慢系統(tǒng)中都能削弱干擾,提高控制質(zhì)量。綜上所述,考慮到是通用調(diào)節(jié)器要適應(yīng)性強(qiáng),所以選用去極值平均值濾波法在設(shè)計(jì)中,用定時(shí)器T1進(jìn)行采樣,采樣之后進(jìn)行數(shù)字濾波,程序流程圖如圖4.3所示。4.3采樣濾波流程圖4.3標(biāo)度變換模塊計(jì)算機(jī)控制系統(tǒng)的各種物理參數(shù)有不同的量綱,如溫度為℃;壓力采用Pa;流量用m/n等。這些參數(shù)經(jīng)A/D轉(zhuǎn)換后,變成數(shù)字量信息輸出,這個(gè)數(shù)字量雖然代表參數(shù)值的大小,但并不一定等于原來帶有量綱的參數(shù)值,必須將它轉(zhuǎn)換成原來參數(shù)的真實(shí)值才能進(jìn)行顯示,打印或使用.而這就需要標(biāo)度變換。線性標(biāo)度變換公式:(4-1)Y實(shí)際測(cè)量值;Ymin儀表測(cè)量下限;Ymax儀表測(cè)量上限;NxY對(duì)應(yīng)的數(shù)字量;Nmin儀表測(cè)量下限對(duì)應(yīng)的數(shù)字量;Nmax儀表測(cè)量上限對(duì)應(yīng)的數(shù)字量;ADC0832是8為A/D轉(zhuǎn)換器,將4-20mA的電流信號(hào)轉(zhuǎn)化為1-5V電壓信號(hào),A/D對(duì)應(yīng)的數(shù)字量為51-255。計(jì)算公式如下:(4-2)當(dāng)進(jìn)行顯示時(shí),1-5v電壓對(duì)應(yīng)本設(shè)計(jì)液位0-500mm,即:(4-3)則從D/A數(shù)字量到顯示的實(shí)際物理量的對(duì)應(yīng)關(guān)系如下:(4-4)式中,Y為液位實(shí)際測(cè)量值;Ymin為液位測(cè)量下限;Ymax為液位測(cè)量測(cè)量上限;Vx為A/D轉(zhuǎn)換器所接收電壓值;Nx為A/D轉(zhuǎn)換器對(duì)應(yīng)的數(shù)字量(Ymin,Ymax可設(shè))。4.4鍵盤模塊PID調(diào)節(jié)器采用4個(gè)獨(dú)立建,K1接P1.4、K2接P1.5、K3接P1.6、K4接P1.7。K1是功能鍵,實(shí)現(xiàn)Sv、Kp、Ki、Kd四種模式選擇。K2是確認(rèn)鍵,當(dāng)鍵按下時(shí)可進(jìn)行相應(yīng)參數(shù)設(shè)置,設(shè)置完后按下鍵即可確認(rèn)保存相應(yīng)數(shù)據(jù)。K3是加計(jì)數(shù)鍵,K4是減計(jì)數(shù)鍵。程序流程圖如下4.4所示.4.4鍵盤流程圖4.5PID控制模塊在模擬系統(tǒng)中,PID算法的表達(dá)式為:(4-5)式中p(t)—調(diào)節(jié)器的輸出信號(hào);e(t)—調(diào)節(jié)器的偏差信號(hào),它等于給定值與測(cè)量值之差;kp—調(diào)節(jié)器的比例系數(shù);Ti—調(diào)節(jié)器的積分時(shí)間;TD—調(diào)節(jié)器的微分時(shí)間。由于計(jì)算機(jī)控制是一種采樣控制,它只能根據(jù)采樣時(shí)刻的偏差來計(jì)算控制量。因此,在計(jì)算機(jī)控制系統(tǒng)中,必須首先對(duì)式(4-5)進(jìn)行離散化處理,用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程,得到離散化的PID表達(dá)式:(4-6)式中△t=T—采樣周期,必須使T足夠小,才能保證系統(tǒng)有一定的精度;E(k)—第k次采樣時(shí)的偏差值;E(k-1)—第(k-1)次采樣時(shí)的偏差值;k—采樣序號(hào),k=0,1,2,….;p(k)—第k次采樣時(shí)的調(diào)節(jié)器的輸出。由于位置型的PID算法不僅計(jì)算煩瑣,而且為保存E(i)還要占用很多內(nèi)存。因此,采用增量型的PID算法=(4-7)由式(4-7)可知,要計(jì)算第k次輸出值p(k),只需知道p(k-1),E(k),E(k-1),E(k-2)即可。這種算法只需保留3個(gè)歷史數(shù)據(jù),占內(nèi)存少,誤動(dòng)作影響小,且能實(shí)現(xiàn)自動(dòng)與手動(dòng)的無擾動(dòng)切換。PID算法的程序流程圖如圖4.5.源程序見附錄B.4.5PID算法程序流程圖4.6PWM輸出模塊脈沖寬度調(diào)制(PWM)是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法,它無需進(jìn)行數(shù)模轉(zhuǎn)換,讓信號(hào)保持為數(shù)字形式可將噪聲影響降到最小。設(shè)計(jì)中是通過與定時(shí)器T1的配合來改變占空比以實(shí)現(xiàn)電壓的輸出。程序流程圖如圖4.6.圖4.6PWM程序流程圖第五章系統(tǒng)仿真與調(diào)試設(shè)計(jì)中,軟件及硬件介紹見三、四章,針對(duì)變送部分設(shè)計(jì)如圖5.1的仿真原理圖進(jìn)行仿真。仿真原理如下:在AD的輸入端輸入0~5V的電壓,用電壓表進(jìn)行顯示,以便與LCD顯示值比較,驗(yàn)證轉(zhuǎn)換正確與否。標(biāo)度變換按如下公式計(jì)算,將AD對(duì)應(yīng)的數(shù)字量轉(zhuǎn)化為電壓量。仿真過程中能實(shí)現(xiàn)一一的對(duì)應(yīng)關(guān)系,因此驗(yàn)證了AD轉(zhuǎn)化的正確。實(shí)際中要顯示的是對(duì)應(yīng)的水位,水位與電壓的轉(zhuǎn)化關(guān)系為(Y為液位實(shí)際測(cè)量值;Ymin為液位測(cè)量下限;Ymax為液位測(cè)量測(cè)量上限)這樣即將AD轉(zhuǎn)換的數(shù)字量與實(shí)際液位聯(lián)系起來,而這部分需要在實(shí)際中進(jìn)行調(diào)試。AD仿真原理圖如下5.1,仿真程序見附錄B。圖5.1系統(tǒng)仿真原理圖第六章總結(jié)經(jīng)過五周的課程設(shè)計(jì),我們認(rèn)真的完成了任務(wù)。但這五周,時(shí)間非常的緊迫,首先,我必須得處理好考研與課設(shè)的關(guān)系,這確實(shí)是件不容易的事情,我時(shí)常感受到自己肩上壓力。課程設(shè)計(jì)是對(duì)之前所學(xué)專業(yè)課的運(yùn)用,是件很必要的事情,剛開始我感覺無從下手,但經(jīng)過小組的討論,我的思路清晰了許多,對(duì)總體的方案,總體器件的選擇有了一定的認(rèn)識(shí),每次去見老師,都能解決掉自己的許多疑問,所以,我能感覺到自己在進(jìn)步!首先是總體原理圖的繪制,我們組統(tǒng)一裝了DXP來畫原理圖,由于剛開始沒學(xué)過這個(gè)軟件,感覺難,后來經(jīng)過小組長(zhǎng)的培訓(xùn),對(duì)于軟件的基本操作自己還是掌握了,接下來分完任務(wù)后,就要主攻自己的那部分設(shè)計(jì)了,我的部分是變送部分,我上網(wǎng)查了很多資料,自己用proteus仿真成功后,接下來的總體程序的調(diào)試就需要接口的問題,我們小組來回幾次的協(xié)作,總體設(shè)計(jì)有了進(jìn)展,但還是有問題,小組的配合,使問題得到解決,這是我感受最深的一點(diǎn),當(dāng)今社會(huì)是一個(gè)合作的社會(huì),只有合作,才能促進(jìn)自己的發(fā)展!這是我們不得不承認(rèn)的事實(shí)!另外,這次課設(shè),我們用到了很多的軟件,這對(duì)于自己今后的發(fā)展是很好的鍛煉,所以總的來說,課設(shè)很緊張,但我學(xué)到很多!參考文獻(xiàn)【1】潘新民.微型計(jì)算機(jī)控制技術(shù)[M],電子工業(yè)出版社,1988,03【2】李文濤.過程控制[M],科學(xué)出版社,2012.【3】李楠楠,璩柏青.一種新型PID調(diào)節(jié)器的硬件電路設(shè)計(jì)[J],2007,23【4】王燕芳,潘新民.微型計(jì)算機(jī)控制技術(shù)[M],電子工業(yè)出版社,2006.1【5】姚永平.STC89C51/RC+系列單片機(jī)器件手冊(cè)[J],宏晶科技.2007,11【6】董永祥.智能儀器的設(shè)計(jì)及發(fā)展[J].山西電子技術(shù),2006,1【7】郝長(zhǎng)勝.C語言程序設(shè)計(jì)[M],內(nèi)蒙古大學(xué)出版社,2005,12【8】趙茂泰.智能儀器原理及應(yīng)用[M],電子工業(yè)出版社,2004,7【9】潘永雄.新編單片機(jī)原理與應(yīng)用[M],西安電子科技大學(xué)出版社,2007,02【10】蔡杏山.Protel99SE電路設(shè)計(jì)[M],人民郵電出版社,2007,07【11】雷力鳴.單片機(jī)在數(shù)字調(diào)節(jié)器中的應(yīng)用[M],西南自動(dòng)化研究所,1997,3【11】html/p-89315298346.html附錄A硬件原理圖附錄B源程序#include<reg52.h>//LCD1602部分#include<intrins.h>#defineuintunsignedint#defineucharunsignedchar#definedelay4us(){_nop_();_nop_();_nop_();_nop_();}#define A0#defineB500sbitRS=P1^0;sbitRW=P1^1;sbitE=P1^2;sbitCS=P2^3;sbitCLK=P2^4;sbitDIO=P2^5;sbitenter=P1^5;//確定鍵ucharZKB1=0;ucharDisplay_Buffer[]="0000";voidinit_sys(void);/*系統(tǒng)初始化函數(shù)*/voidPWMOUT(void);voidbutton(void);voidSet_Disp_Pos(ucharpos);voidL1602_char(ucharrow,ucharcol,charsign);voidL1602_string(ucharrow,ucharcol,uchar*p);intyewei_PID(void);unsignedchard;externunsignedintiyewei_Feedback;externunsignedintiyewei;//當(dāng)前測(cè)的液位值/*************************************************/voidDelayMS(uintms){ uchari; while(ms--) { for(i=0;i<120;i++); }}/*************************************************/bitLCD_Busy_Check(void){ bitresult; RS=0; RW=1; E=1; delay4us(); result=(bit)(P0&0x80); E=0; returnresult;}/*************************************************/voidLCD_Write_Command(ucharcmd){ while(LCD_Busy_Check()); RS=0; RW=0; E=0; _nop_(); _nop_(); P0=cmd; delay4us(); E=1; delay4us(); E=0;}/*************************************************voidSet_Disp_Pos(ucharpos){ LCD_Write_Command(pos|0x80);}/*************************************************/voidLCD_Write_Data(uchardat){ while(LCD_Busy_Check()); RS=1; RW=0; E=0; P0=dat; delay4us(); E=1; delay4us(); E=0;}/*************************************************/voidLCD_Initialise(void){ LCD_Write_Command(0x38);DelayMS(1); LCD_Write_Command(0x0c);DelayMS(1); LCD_Write_Command(0x06);DelayMS(1); LCD_Write_Command(0x01);DelayMS(1);}/*************************************************/voidL1602_char(ucharrow,ucharcol,charsign){uchara;if(row==1)a=0x80;if(row==2)a=0xc0;a=a+col-1;LCD_Write_Command(a);LCD_Write_Data(sign);}/***************顯示字符串******************/voidL1602_string(ucharrow,ucharcol,uchar*p){uchara,b=0;if(row==1)a=0x80;if(row==2)a=0xc0;a=a+col-1;while(1){LCD_Write_Command(a++); b++; if((*p=='\0')||(b==16))break; LCD_Write_Data(*p); p++;}}/*AD采樣函數(shù)*/ucharGet_AD_Result(void){ uchari,dat1=0,dat2=0; CS=0;//芯片開始轉(zhuǎn)換工作 CLK=0; DIO=1;_nop_();_nop_();//DIO=1,是起始信號(hào) CLK=1;_nop_();_nop_(); CLK=0;DIO=1;_nop_();_nop_();//1 CLK=1;_nop_();_nop_(); CLK=0;DIO=1;_nop_();_nop_();//2 CLK=1;DIO=1;_nop_();_nop_(); CLK=0;DIO=1;_nop_();_nop_();//3(1、1)選擇通道1 for(i=0;i<8;i++) { CLK=1;_nop_();_nop_(); CLK=0;_nop_();_nop_();//輸出轉(zhuǎn)換數(shù)據(jù)的最高位(4-11)轉(zhuǎn)換完成 dat1=dat1<<1|DIO; } for(i=0;i<8;i++) { dat2=dat2<<((uchar)(DIO)<<i);//從高到低再讀一次 CLK=1;_nop_();_nop_(); CLK=0;_nop_();_nop_(); } CS=1; return(dat1==dat2)?dat1:0;}/*************************************//************主函數(shù)***************///d=Get_AD_Result()*500.0/255; /*d為0-5V的電壓值*/voidmain(void){ intecount=0;init_sys(); /*PWMOUT初始化函數(shù)*/ LCD_Initialise(); while(1) { /*標(biāo)度變換后的實(shí)際液位值*/ iyewei=(int)((filter()-51)*(B-A))/204.0+A; button(); //DelayMS(10); /*按鍵調(diào)值*/ yewei_PID();/*液位PID計(jì)算*/ PWMOUT(); /*PWM輸出*/ } }#include<reg52.h>#include<intrins.h>#defineN12//排序采用冒泡法#defineuintunsignedint#defineucharunsignedcharvoidDelayMS(uintms);ucharGet_AD_Result(void);uintcc;charfilter()//采樣及濾波{ charcount,i,j,temp; charvalue_buf[N]; intsum=0; for(count=0;count<N;count++) { value_buf[count]=Get_AD_Result(); DelayMS(10); } for(j=0;j<N-1;j++) { for(i=0;i<N-j;i++) { if(value_buf[i]>value_buf[i+1]) { temp=value_buf[i];//實(shí)現(xiàn)從小到大的排列 value_buf[i]=value_buf[i+1]; value_buf[i+1]=temp; } } } for(count=1;count<N-1;count++)//取除去最大和最小后的值進(jìn)行平均 sum+=value_buf[count]; return(char)(sum/(N-2));}/*********************************************/voidtimer1(void)interrupt3//定時(shí)器T1{TMOD=0x11;//方式1、16位的定時(shí)器(高4位)TH1=(65536-1000)/256;//定時(shí)器1初值定時(shí)1ms TL1=(65536-1000)%256;//T=2^16-a取高8位、取低8位ET1=1;TR1=1;//允許T1計(jì)數(shù) EA=1;//開啟總中斷cc++;if(cc==10){Get_AD_Result(); cc=0;}}#include<reg52.h>//PID部分#include<intrins.h>unsignedintKKp=120;unsignedintKKi=50;unsignedintKKd=0;unsignedintErr1=0;unsignedintErr2=0;unsignedintErr3=0;unsignedintpid_out_Last;unsignedintiyewei_Feedback;//pid計(jì)算后的液位值externun
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年音視頻線供貨3篇
- 步行街花崗巖安裝協(xié)議
- 兒童玩具業(yè)務(wù)員招聘協(xié)議
- 汽車配件租賃合同
- 食品召回的企業(yè)文化塑造
- 通信保障臨時(shí)用電管理辦法
- 摩托車店大門地彈門施工合同
- 動(dòng)物福利愛心基金管理辦法
- 室內(nèi)裝修安裝合同樣本
- 交通設(shè)備租賃合同樣本
- 資產(chǎn)管理基礎(chǔ)知識(shí)
- 醫(yī)院采購遴選方案
- GB/T 7260.1-2023不間斷電源系統(tǒng)(UPS)第1部分:安全要求
- 對(duì)外開放與國際合作概述
- 2024屆四川省成都市高中數(shù)學(xué)高一下期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)模擬試題含解析
- 2023年青協(xié)活動(dòng)總結(jié)報(bào)告
- 提升供應(yīng)鏈效率:年度運(yùn)營(yíng)計(jì)劃
- 展覽館維修維護(hù)投標(biāo)方案
- 陳赫賈玲小品《歡喜密探》臺(tái)詞劇本
- 2023招聘專員個(gè)人年終總結(jié)
- 機(jī)房搬遷服務(wù)投標(biāo)方案(技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論