計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)報(bào)告 _第1頁(yè)
計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)報(bào)告 _第2頁(yè)
計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)報(bào)告 _第3頁(yè)
計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)報(bào)告 _第4頁(yè)
計(jì)算機(jī)控制系統(tǒng)實(shí)驗(yàn)報(bào)告 _第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 實(shí)驗(yàn)一線制PT100溫度采集測(cè)量實(shí)驗(yàn)(自動(dòng))1實(shí)驗(yàn)?zāi)康?)四線制PT100溫度傳感器測(cè)量原理;2)掌握ADuC單片機(jī)數(shù)據(jù)采集技術(shù);3)學(xué)習(xí)單片機(jī)串口通訊原理;4)掌握溫度的信號(hào)測(cè)試方法.2實(shí)驗(yàn)要求1)將四線制PT100溫度傳感器每秒一次的速率進(jìn)行采集;2)四線制PT100溫度傳感器用主通道采集,并采用單極性,輸入電壓范圍2.56V,使用外部參考電壓2.5V;3)采用時(shí)間由間隔定時(shí)器TIC產(chǎn)生的中斷控制;4)使用串口調(diào)試工具顯示溫度的溫度值。3實(shí)驗(yàn)電路IIII圖1四線PT100測(cè)量與溫度控制電路其它說(shuō)明:水泵2由ADUC834的DAC輸出控制開(kāi)關(guān)電源輸出024V變化電壓控制其流量;攪拌水泵新的

2、實(shí)驗(yàn)臺(tái)由P0.3輸出控制;4實(shí)驗(yàn)原理.溫度控制原理溫度傳感器及溫度計(jì)算鉑電阻是用很細(xì)的鉑絲(00.030.07mm)繞在云母支架上制成,是國(guó)際公認(rèn)的高精度測(cè)溫標(biāo)準(zhǔn)傳感器。因?yàn)殂K電阻在氧化性介質(zhì)中,甚至高溫下其物理、化學(xué)性質(zhì)都非常穩(wěn)定,因此它具有精度高、穩(wěn)定性好、性能可靠的特點(diǎn)。因此鉑電阻在中溫(-200650C)范圍內(nèi)得到。它的電阻一溫度關(guān)系的線性度非常好,在-200650C溫度范圍內(nèi)線性度已經(jīng)非常接近直線。在0C時(shí)其電阻為100Q,按0.385Q/C變化。Pt100是電阻式溫度傳感器,測(cè)溫的本質(zhì)其實(shí)是測(cè)量傳感器的電阻,通常是將電阻的變化轉(zhuǎn)換成電壓或電流等模擬信號(hào),再將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),

3、再由處理器換算出相應(yīng)溫度。在本實(shí)驗(yàn)中采用一個(gè)恒流源通過(guò)四線Ptio0熱電阻,通過(guò)檢測(cè)Ptioo上電壓的變化來(lái)?yè)Q算出溫度。4.1.2AD轉(zhuǎn)換相關(guān)寄存器設(shè)置(詳細(xì)請(qǐng)參考ADuC834Datasheet,P1721)ADC0CON=0 x49;主通道控制寄存器,采用外部參考電壓,量程40mV,單極性輸入對(duì)應(yīng)零輸出。(詳細(xì)請(qǐng)參考ADuC834Datasheet,P19)ADCMODE=0 x24;/模式寄存器,ADC0使能,內(nèi)部零刻度校準(zhǔn),內(nèi)部短路自動(dòng)連接到啟用的ADC(s)。(詳細(xì)請(qǐng)參考ADuC834Datasheet,P18)ADCMODE=0 x25;/內(nèi)部滿量校準(zhǔn)。ICON=0 x02;電流源

4、控制寄存器,激勵(lì)電流2,從4腳,即IEXC2腳輸出,由用戶設(shè)置為打開(kāi)勵(lì)磁電流源(200“A)。(詳細(xì)請(qǐng)參考ADuC834Datasheet,P21)ADCMODE=0 x22;/主通道單個(gè)轉(zhuǎn)換。ADC0L/M/H分別保存24位AD的高八位/中八位/低八位,即得到十六進(jìn)制TEMP。(詳細(xì)請(qǐng)參考ADuC834Datasheet,P20)。則采樣AD值為TEMP=ADC0H*0 x10000+ADC0M*0 x100+ADC0L,在計(jì)算時(shí)需要將其轉(zhuǎn)換為十進(jìn)制數(shù)據(jù),由于溫度采集的量為40mV,因此其對(duì)應(yīng)的電壓:TEMP16777215x40mV則溫度對(duì)應(yīng)的電阻:R廣V,其中I為恒流源電流(根據(jù)實(shí)際測(cè)量

5、值代入),PT100溫度傳感器0C對(duì)于的電阻為100Q,而每度對(duì)應(yīng)的電阻變化0.385Q*,因此對(duì)應(yīng)的溫度可按:T=(R廠100)-0.385當(dāng)然溫度的采集會(huì)因傳感器的不同而有所偏差,因此在正式使用溫度傳感器前,需要對(duì)傳感器進(jìn)行標(biāo)定。SF=0 xff;數(shù)字濾波器寄存器,/SF=0 xff,即fade為5.35Hz,tadc為186.77ms。(詳細(xì)請(qǐng)參考ADuC834Datasheet,P21)4.1.3時(shí)間間隔定時(shí)器相關(guān)寄存器設(shè)置(詳細(xì)請(qǐng)參考ADuC834Datasheet,P4041)TIMECON=0 x13;使能TIC,設(shè)單位為1秒,自動(dòng)裝入初值。INTVAL=0 x01;在測(cè)量中使用

6、時(shí)間間隔TIC,時(shí)間為1*1s=1s。4.1.4串口通訊原理及相關(guān)寄存器設(shè)置(詳細(xì)請(qǐng)參考ADuC834Datasheet,P39、P5355、P52)PLLCON=OxOO;PLL控制寄存器,設(shè)置時(shí)鐘頻率為12.582912MHzP39RCAP2H=0 xff;當(dāng)TH2和TL2分別等于RCAP2H和RCAP2L中的值的時(shí)候,計(jì)數(shù)器下溢(定時(shí)器T2中的兩個(gè)寄存器)/RCAP2L=0 xD7;定時(shí)器的溢出也使得RCAP2H和RCAP2L中的16位值分別加載到定時(shí)器存儲(chǔ)器TH2和TL2中/TH2=0 xff;配置UART的波特率為9600TL2=0 xD7;SC0N=0 x50;模式1(10位數(shù)據(jù)接

7、發(fā)收),8位UART,激活串行接收T2CON=0 x34;#34H是串口常用的設(shè)置值,16位自動(dòng)加載方式,MODE1、3方式接收、傳輸頻率信號(hào)/P524.1.5中斷相關(guān)寄存器設(shè)置(詳細(xì)請(qǐng)參考ADuC834Datasheet,P57)IEIP2=0 x04;開(kāi)啟TIC中斷/IP=0 x10;/串口中斷優(yōu)先/ES=1;/允許串口中斷/EA=1;/激活全局中斷/4.2水泵控制4.2.1控制原理在水泵控制電路中,ADuC單片機(jī)通過(guò)其DAC腳輸出05V,并間接控制可調(diào)開(kāi)關(guān)電源024V直流電壓輸出,實(shí)現(xiàn)水泵1功率和流量的控制。在ADuC834單片機(jī)中,通過(guò)設(shè)置DAC專用寄存器的值輸出控制。DAC為12位的

8、寄存器,當(dāng)DACH=0 x0F,DACL=0 xFF時(shí),整個(gè)控制周期都為高電平,即水泵的控制電壓為24V;當(dāng)DACH=0 x00,DACL=0 x00時(shí),整個(gè)控制周期都為低電平,水泵的控制電壓為0V;當(dāng)DACH=0 x07,DACL=0 xFF時(shí),為50%高電平,水泵控制電壓為12V。4.2.2該部分涉及ADUC834單片機(jī)主要專用寄存器:詳細(xì)請(qǐng)參考ADuC834Datasheet,P34)DACCON=0 x07;使用P1.2腳輸出,12位輸出,輸出范圍5V,開(kāi)啟DA/DACH/LDACL/存放12數(shù)據(jù),高4位放在DACH的低4位注意:本實(shí)驗(yàn)組態(tài)軟件的PID控制Uk作為輸出值為電機(jī)電壓,其輸

9、出為024V,但在組態(tài)王輸出值范圍設(shè)置為mV單位,因此最大值為24000,最小值為0。在單片機(jī)中24000mV要按比例變?yōu)?096,因此其PWM值為DAT0,1=(4096/24000)*Vp其中Vp為組態(tài)王控制輸出值(即Uk)。DACH=P2H;DACL=P2L;注意在12位模式中,DAC電壓輸出在DACL數(shù)據(jù)寄存器被寫入后就被校正;所以,DAC數(shù)據(jù)寄存器應(yīng)先寫DACH,再寫DACL。4.2.3循環(huán)水泵的控制該實(shí)驗(yàn)循環(huán)水泵直接由P2.0口通過(guò)光耦繼電器U19,驅(qū)動(dòng)場(chǎng)效應(yīng)管Q7控制水泵開(kāi)關(guān),如圖1所示。當(dāng)P2.0輸出低電平時(shí),光耦繼電器U19閉合,場(chǎng)效應(yīng)管Q7接通水泵電機(jī)的低電平,水泵打水;反

10、正,水泵停止。4.3.加熱器控制4.3.1加熱器原理固態(tài)繼電器(簡(jiǎn)寫為SSR)是一種四端有源器件,下圖為固態(tài)繼電器的結(jié)構(gòu)和使用方法。輸入輸出之間采用光電耦合器進(jìn)行隔離。過(guò)零檢測(cè)電路可使交流電壓變化到零狀態(tài)附近時(shí)讓電路接通,從而減少干擾。電路接通以后,由觸發(fā)電路給出晶閘管器件的觸發(fā)信號(hào)。+控制信號(hào)零觸發(fā)電路吸收電路交流電源圖3固態(tài)繼電器結(jié)構(gòu)和使用方法在加熱控制電路中,采用交流電壓220V,電流3A加熱管,單片機(jī)通過(guò)PWM信號(hào),控制S208ZB固態(tài)繼電器的通斷,從而實(shí)現(xiàn)加熱的需求。其控制電路如圖8所示。電網(wǎng)電壓波形220V50HZ圖4加熱控制電路圖PWM波t負(fù)載上的波形yT=1000msT=100

11、0mstt圖5PWM控制原理圖在控制電路中,采用PWM波配合固態(tài)繼電器實(shí)現(xiàn)加熱控制。PWM(PulseWidthModulation)即脈寬調(diào)制。它是利用數(shù)字電路產(chǎn)生的方波,通過(guò)控制其輸出的占空比,對(duì)模擬電路進(jìn)行控制的有效控制技術(shù),廣泛應(yīng)用于測(cè)量、通訊、功率控制等許多領(lǐng)域。在功率控制中常與固態(tài)繼電器聯(lián)合使用,通過(guò)控制算法,改變PWM波的占空比來(lái)實(shí)現(xiàn)對(duì)加熱器等設(shè)備的功率控制,從而達(dá)到系統(tǒng)的目標(biāo)控制。具體控制流程如下:PWM輸出頻率為32.768KHz/PWMl,取PWM1為32768,則控制周期為1000ms。根據(jù)單片機(jī)的數(shù)據(jù)手冊(cè),當(dāng)PWM0取18384時(shí),則高電平時(shí)間為500ms,因此,一個(gè)控

12、制周期內(nèi)(1s,共輸出100個(gè)半波)交流電實(shí)際輸出為50個(gè)半波,占1/2,因此加熱管最小輸出功率為:660W*1/2330W。如圖9所示。若PWM0取984,即3個(gè)半波,則加熱管的最小輸出功率為660W*3/1001.98W。4.3.2涉及ADuC834單片機(jī)專用寄存器(詳細(xì)請(qǐng)參考ADuC834Datasheet,P3637)PWMCON=Ox11;/方式1:?jiǎn)慰勺兎直媛蔖WM,不分頻,PWMCounter=PWMClock=32.768kHz。PWM0L=DAT0;在方式1:PWM0H/L控制高電平時(shí)間。PWM0H=DAT1注意:本實(shí)驗(yàn)組態(tài)軟件的固態(tài)繼電器控制是根據(jù)功率百分比來(lái)控制的,也就是

13、全功率為100%,控范圍為0-100%的范圍。所以在單片機(jī)中也需要按一定的比例進(jìn)行轉(zhuǎn)換:DAT0,1=327.68*P%其中P為組態(tài)王固態(tài)繼電器輸出值。PWM1L=0 x00;/在方式1:PWM1H/L控制周期,為1秒。PWM1H=0 x80;注意:PWM賦值必須為先PWM0/1L后PWM0/1H。運(yùn)用PWM寄存器,應(yīng)首先寫PWMCON來(lái)選擇PWM操作模式和PWM輸出時(shí)鐘。寫PWMCON同時(shí)也復(fù)位PWM的計(jì)數(shù)器。在任何16位操作模式(模式1,3,4,6),用戶操作PWM寄存器時(shí)應(yīng)先寫PWM0L后寫PWM1L。通過(guò)一個(gè)隱藏的SFR來(lái)寫入值。寫PWM0H和PWM1H時(shí)更新PWMxH和PWMxLSF

14、Rs,但是直到結(jié)束PWM循環(huán)程序才改變輸出。這些寫入16位寄存器的值會(huì)用在下一個(gè)PWM周期。4.4.電磁進(jìn)水閥控制4.4.1電動(dòng)閥的控制原理通電時(shí),電磁線圈產(chǎn)生電磁力把關(guān)閉件從閥座上提起,閥門打開(kāi);斷電時(shí),電磁力消失,彈簧把關(guān)閉件壓在閥座上,閥門關(guān)閉。電磁閥控制主要利用單片機(jī)I2C的接口將數(shù)據(jù)以串行方式發(fā)給74HC595移位寄存器,再有74HC595并行輸出給ULN2803方向放大控制輸出。自動(dòng)臺(tái)的進(jìn)水閥同一時(shí)間必須保證一個(gè)進(jìn)水閥開(kāi)啟,其它電動(dòng)進(jìn)水閥是關(guān)閉的。4.4.2涉及ADuC834單片機(jī)專用寄存器(I2CC0N,詳細(xì)請(qǐng)參考ADuC834Datasheet,P46)4.5.電動(dòng)球閥的控制原

15、理4.5.1電動(dòng)球閥工作原理在實(shí)驗(yàn)中放水是用電動(dòng)閥來(lái)控制的。在本實(shí)驗(yàn)裝置中的電動(dòng)閥采用了24V直流控制的XHL系列電動(dòng)閥門。其控制電路如圖6所示。圖6XHL系列電動(dòng)閥門控制電路電動(dòng)閥控制線共有四根線,紅與黃各兩根,紅色用于電機(jī)的通斷控制,電動(dòng)閥2的開(kāi)斷由ADuC834的P2.5口通過(guò)光耦繼電器U12控制;兩根黃線用于控制閥門開(kāi)口度方向,由ADuC834的P2.6口控制通過(guò)光耦繼電器U13進(jìn)行控制。當(dāng)P2.6低電平時(shí),光耦繼電器閉合,則閥門內(nèi)部電機(jī)正轉(zhuǎn),開(kāi)口度變大,直到到最大之后自動(dòng)停止,并到保持最大開(kāi)口度,同時(shí)紅色指示燈亮起;反之,當(dāng)P2.6高電平時(shí),光耦繼電器斷開(kāi),則閥門內(nèi)部電機(jī)反轉(zhuǎn),開(kāi)口度

16、變小,直到到關(guān)閉自動(dòng)停止,同時(shí)綠色指示燈亮起。當(dāng)電動(dòng)閥轉(zhuǎn)動(dòng)過(guò)程中,切斷電源,則可以實(shí)現(xiàn)電動(dòng)閥一定的開(kāi)度設(shè)置。經(jīng)過(guò)精確計(jì)算,電動(dòng)閥從全開(kāi)到全關(guān)或從全關(guān)到全開(kāi)用時(shí)均為10s左右,即1s的開(kāi)度或關(guān)度為10%。為此本電動(dòng)閥控制就可以利用ADuC834內(nèi)部的Time1定時(shí)器實(shí)現(xiàn)開(kāi)口度的控制。如果需要控制電動(dòng)閥20%的開(kāi)口度,那么需要定時(shí)2s,根據(jù)該方法可以精確控制電動(dòng)閥0100%之間開(kāi)度的控制了。452涉及ADuC834單片機(jī)專用寄存器:(詳細(xì)請(qǐng)參考ADuC834Datasheet,P4849)ADuC834單片機(jī)的Time1與51系列單片機(jī)的完全一樣,主要專用寄存器:TMOD=0 x15;/T1為定時(shí)

17、器工作于方式1,16位定時(shí)器;這里T0設(shè)置為16位計(jì)數(shù)器,用于其它功能。TH1=(65536-50000)/256;定時(shí)器初值寄存器TL1=(65536-50000)%256T1一次定時(shí)50ms,作為基本定時(shí)時(shí)間,通過(guò)多少定時(shí)中斷,控制時(shí)間50ms*num,因此只要控制num值即可控制開(kāi)口度的大小,num的范圍為0200,即可以控制010sTCON定時(shí)器控制寄存器,用于啟動(dòng)定時(shí)器、中斷和溢出標(biāo)記以及中斷觸發(fā)信號(hào)類型等。5.實(shí)驗(yàn)步驟5.1設(shè)備連接與檢查將計(jì)算機(jī)控制技術(shù)實(shí)驗(yàn)臺(tái)水槽中灌滿水(至溢出口的下沿)。連接RS232串口線,將串口選擇開(kāi)關(guān)撥向使用的RS232串口類型的方向。連接電源線,將電源插

18、頭接到220V電源上。打開(kāi)電源,電源指示燈亮。使用萬(wàn)用表檢查5V,24V,220V電源是否正常。5.2實(shí)驗(yàn)操作注意:正常情況下,采集控制器程序已安裝。可以跳過(guò)(1)、(2),直接進(jìn)行(3)。若未下載,則需要重新下載程序:按繼續(xù)進(jìn)行(1)、(2)。短接下載口Download,編寫通訊程序,改變通訊波特率等,使用串口調(diào)試助手查看實(shí)驗(yàn)效果。打開(kāi)桌面上WSD的下載軟件,在Configuration選擇串口的Port,然后點(diǎn)擊0K,次選擇Reset,Download,打開(kāi)實(shí)驗(yàn)一四線制PT100溫度采集控制程序(自動(dòng))找到要燒寫的Hex文件test.hex。燒寫完成后選擇Run,程序開(kāi)始運(yùn)行,當(dāng)下次試驗(yàn)臺(tái)

19、關(guān)機(jī)重啟時(shí),可以直接拔掉Download短接線,程序會(huì)自動(dòng)執(zhí)行。用萬(wàn)用表測(cè)量+24V和24VGND,AVDD和AGND,DVDD和DGND以及參考源REF+和AGND之間的電壓,將上述數(shù)據(jù)記錄在表1中,見(jiàn)附錄1;將左上方的恒流源開(kāi)關(guān)撥向OFF,將電壓紅表筆插到mA插孔中,測(cè)量出從IEXC2引腳輸出恒流源的實(shí)際大小值,將上述數(shù)據(jù)記錄在表1中,見(jiàn)附錄1;用串口調(diào)試工具向單片機(jī)發(fā)送4051命令,開(kāi)啟電磁閥3。用串口調(diào)試工具向單片機(jī)發(fā)送4011命令,會(huì)自動(dòng)啟動(dòng)水泵2,當(dāng)水泵2水位達(dá)到150mm左右的高度時(shí),發(fā)送4010命令關(guān)閉水泵2。接著發(fā)送4031啟動(dòng)攪拌泵。(7)將左上方的恒流源開(kāi)關(guān)撥向OFF,用

20、萬(wàn)用表的電阻檔測(cè)量PT100的電阻值;(8)將左上方的恒流源開(kāi)關(guān)撥向ON,將從IEXC2引腳輸出恒流源到PT100,測(cè)量電阻兩端電壓;(9)使恒流源開(kāi)關(guān)處于ON的狀態(tài),在串口調(diào)試工具中向單片機(jī)發(fā)送4033命令,讀出AD轉(zhuǎn)換值(注意拔下萬(wàn)用表探針);(10)將上述數(shù)據(jù)記錄在表1中,見(jiàn)附錄1;(11)在串口調(diào)試工具中向單片機(jī)發(fā)送4021命令,打開(kāi)加熱器,1分鐘后再向單片機(jī)發(fā)送4020命令,關(guān)閉加熱器;(12)重復(fù)(7)(11)共7次;(13)完成實(shí)驗(yàn)時(shí),發(fā)送4030關(guān)閉攪拌機(jī),再發(fā)送4020命令進(jìn)一步保證關(guān)閉加熱器;(14)最后發(fā)送4010指令來(lái)關(guān)閉水泵,發(fā)送4041來(lái)打開(kāi)電動(dòng)球閥2來(lái)放水,放水完

21、成后可以選擇發(fā)送4040關(guān)閉電動(dòng)閥,在實(shí)驗(yàn)一開(kāi)機(jī)我們總是把電動(dòng)球閥關(guān)閉掉的。(15)完成表1的填寫。說(shuō)明:串口調(diào)試工具向單片機(jī)發(fā)送4011等指令時(shí),應(yīng)該選擇16進(jìn)制發(fā)送。接收也要選擇16進(jìn)制顯示。為了便于了解是否正確發(fā)送,單片機(jī)會(huì)回發(fā)相同的指令到串口調(diào)試工具如4011,只有4033是特例,單片機(jī)會(huì)回發(fā)AD采樣值;由于(7)(9)操作本身就有時(shí)間差等因素,測(cè)量相應(yīng)地會(huì)引入了人為誤差。5.3實(shí)驗(yàn)計(jì)算根據(jù)上述表格1,對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行如下計(jì)算、分析、比較:(1)根據(jù)上述表格1中的PT100電阻兩端實(shí)際電阻值,PT100特性推算出溫度值1;(2)根據(jù)上述表格1中的恒流源IEXC2電流(|1A)和PT100

22、電阻兩端電壓,計(jì)算出PT100電阻值,計(jì)算出PT100溫度值2;(3)根據(jù)AD采樣值計(jì)算出相應(yīng)的電壓,再按(2)計(jì)算出PT100溫度值3(4)用Excel畫出溫度值1、溫度值2、溫度值3;(5)對(duì)3個(gè)溫度進(jìn)行比較和分析。表1信號(hào)采集測(cè)量記錄表 實(shí)驗(yàn)記錄內(nèi)容24V和24VGND兩端電壓(V)AVDD和AGND兩端電壓(V)DVDD和DGND兩端電壓(V)REF+和AGND兩端電壓(V)恒流源IEXC2電流(|1A)加熱時(shí)間PT100兩端電阻(Q)PT100電阻兩端電壓(mV)PT100AD采樣值傳感器換算溫度(溫度值)電壓換算溫度(溫度值?)Pt100換算溫度(溫度3)24.124.124.12

23、4.124.2.42041min112.422.3913C6F32.2124.1929.162.42.42.42.4204204204201min1min1min1m114.2115.4116.611722.823.223.423.936F1195724A9703AA97E36.6230.5633.6140.0043.1145.435.6438.2039.437.5640.7442.4注:水箱2的液位高度均為150mm;傳感器換算溫度(溫度值1)=(當(dāng)前Pt100電阻-100Q)/0.385;電壓換算溫度(溫度值2)=(PT100電阻兩端電壓/恒流源IEXC2電流-100)/0.385;Pt1

24、00換算溫度(溫度3)計(jì)算:AD采樣電壓=TEMP(轉(zhuǎn)化為十進(jìn)制值)*40mV/16777215,再根據(jù)實(shí)測(cè)恒流源電流值算出電阻,再減實(shí)際溫度3。 實(shí)驗(yàn)二單水箱液位控制實(shí)驗(yàn)(自動(dòng))1實(shí)驗(yàn)?zāi)康?)了解水泵控制及液位測(cè)量原理;2)了解單水箱一階液位控制系統(tǒng)的工作原理;3)掌握PID控制算法編程及其控制參數(shù)的調(diào)整方法;4)了解Matlab的M文件編寫方法和利用Matlab制作相應(yīng)的dll文件,掌握C#-Matlab混合編程技術(shù);5)學(xué)習(xí)三容水箱計(jì)算機(jī)控制實(shí)驗(yàn)臺(tái)控制軟件的使用方法。2實(shí)驗(yàn)要求1)利用三容水箱計(jì)算機(jī)控制實(shí)驗(yàn)臺(tái)自帶控制軟件,完成單水箱一階液位PID控制參數(shù)的調(diào)整,達(dá)到控制最優(yōu)效果;2)利用

25、Matlab編寫PID控制算法,實(shí)現(xiàn)單水箱液位控制。3系統(tǒng)結(jié)構(gòu)框圖電動(dòng)閥1Kea電動(dòng)球閥1+圖1單水箱一階液位控制結(jié)構(gòu)圖4實(shí)驗(yàn)原理水泵2和電動(dòng)球閥1是控制水箱液位的主要控制器。水泵2控制進(jìn)水口的流量,作為入水口的控制,通過(guò)電壓的改變控制其出水流量;電動(dòng)球閥1作為放水口控制出水口的流量;電動(dòng)閥1作為進(jìn)水的總控制,在整個(gè)實(shí)驗(yàn)期間全開(kāi)。在本實(shí)驗(yàn)中,設(shè)置電動(dòng)球閥1開(kāi)口度不變,通過(guò)改變水泵2的電壓實(shí)現(xiàn)液位控制。4.1電路原理圖2單水箱液位采集與控制電路4.1.1控制原理在水泵控制電路中,ADuC834單片機(jī)通過(guò)其DAC腳輸出05V,并間接控制可調(diào)開(kāi)關(guān)電源024V直流電壓輸出,實(shí)現(xiàn)水泵2功率和流量的控制。

26、在ADuC834單片機(jī)中,通過(guò)設(shè)置DAC專用寄存器的值輸出控制。DAC為12位的寄存器,當(dāng)DACH=0 x0F,DACL=0 xFF時(shí),整個(gè)控制周期都為高電平,即水泵的控制電壓為24V;當(dāng)DACH=0 x00,DACL=0 x00時(shí),整個(gè)控制周期都為低電平,水泵的控制電壓為0V;當(dāng)DACH=0 x07,DACL=0 xFF時(shí),為50%高電平,水泵控制電壓為12V。4.1.2該部分涉及ADuC834單片機(jī)主要專用寄存器(詳細(xì)請(qǐng)參考ADuC834Datasheet,P34)DACCON=0 x07;使用P1.2腳輸出,12位輸出,輸出范圍5V,開(kāi)啟DA/DACH/LDACL存放12數(shù)據(jù),高4位放在

27、DACH的低4位注意:本實(shí)驗(yàn)的PID控制Uk作為輸出值為電機(jī)電壓,其輸出為024V,但在C#中輸出值范圍設(shè)置為mV單位,因此最大值為24000,最小值為0。在單片機(jī)中24000mV要按比例變?yōu)?096,因此其DAC值為DAT0,1=(4096/24000)*Uk其中Uk為上位機(jī)控制輸出值。DACH=P2H;DACL=P2L;注意在12位模式中,DAC電壓輸出在DACL數(shù)據(jù)寄存器被寫入后就被校正;所以,DAC數(shù)據(jù)寄存器應(yīng)先寫DACH,再寫DACL。4.2.壓力傳感器及液位換算4.2.1液位傳感器介紹MPXV5004G是一種先進(jìn)的單片硅壓力傳感器。被測(cè)介質(zhì)的壓力直接作用于傳感器的膜片上,使膜片產(chǎn)生

28、與截止壓力成正比的微位移,使傳感器的電阻值發(fā)生變化,并用電路檢測(cè)這一變化,轉(zhuǎn)換輸出一個(gè)對(duì)應(yīng)于這一壓力的標(biāo)準(zhǔn)測(cè)量信號(hào)。MPXV5004G內(nèi)部除傳感單元外,還包含信號(hào)調(diào)理器、溫度補(bǔ)償器和壓力修正電路,特別適用于由單片機(jī)構(gòu)成的檢測(cè)系統(tǒng)。其芯片電路示意框圖如圖所示。圖3壓力傳感器電路示意框圖MPXV5004G壓力傳感器采用額定5V供電電壓,最大測(cè)量壓差為3.92kPa(即400mmH2O),最大耐受壓力為16kPa,溫度補(bǔ)償范圍為-。在工作溫度為,該壓力傳感器具有良好的線性輸出關(guān)系,如式(1)所示:V二(9.8H+1000)土75mV心、OUT(1)其中,VOUT輸出電壓,yS為工作電壓(即電源電壓)

29、,H為液位高度值mm,最大誤差為75mV。由物理常識(shí)易得,隨著液位的上升,容器底部受到的壓力相應(yīng)增大。壓力傳感器采集到的模擬信號(hào)通過(guò)AD“C834中的AIN3單端輸入進(jìn)行16位高精度AD轉(zhuǎn)換成數(shù)字信號(hào)。4.2.2涉及專用寄存器ADClCON=Ox48;輔助通道控制寄存器,AIN3作為單端輸入,采用外部參考電壓,單極性輸入對(duì)應(yīng)零輸出(詳細(xì)請(qǐng)參考ADuC834Datasheet19)ADCMODE=Ox14;模式寄存器,ADC1使能,內(nèi)部零刻度校準(zhǔn),內(nèi)部短路自動(dòng)連接到啟用的ADC(s)(詳細(xì)請(qǐng)參考ADuC834Datasheet,P18)ADCMODE=0 x15;/內(nèi)部滿量校準(zhǔn)(同上)ADCMO

30、DE=0 x12;/輔助通道單個(gè)轉(zhuǎn)換(同上)ADC1H/1L:分別保存16位AD的高八位和低八位,則采樣AD值為:Press=ADC1H*256+ADC1L。其它專用寄存器設(shè)置,可參考實(shí)驗(yàn)一的相關(guān)部分具體設(shè)置根據(jù)式(1)、圖2電路測(cè)量電路以及AD關(guān)系,可以算出液位高度與AD轉(zhuǎn)換值有如下關(guān)系TOC o 1-5 h za(9.8H+1000)2162)=X22500即:H=0.007785*AD-102(3)但由于存在系統(tǒng)誤差,通常直接根據(jù)線性標(biāo)定的方法進(jìn)行標(biāo)定。任選擇2個(gè)具有代表意義的2個(gè)液位,如由H1=20mm和H1=120mm液位高度,讀取對(duì)應(yīng)的AD1和AD2采樣值,則有如下關(guān)系:H1=k*

31、AD1+b(4)H2=k*AD2+b(5)將具體值代入,即可得到實(shí)際的k和b,因此,實(shí)際液位高度H與AD值可以按下式(5)進(jìn)行計(jì)算:H=k*AD-b(6)其中,H為實(shí)際液位高,AD為實(shí)際液位高度的AD采樣值。其k為標(biāo)定后的放大系統(tǒng),b為標(biāo)定后的偏移值。實(shí)際上本實(shí)驗(yàn)系統(tǒng)有自動(dòng)標(biāo)定功能,其操作步驟見(jiàn)4.2.3。4.2.3液位軟件自動(dòng)標(biāo)定操作在主界面菜單欄中選擇“設(shè)置”-“液位標(biāo)定”,出現(xiàn)圖4所示標(biāo)定界面,標(biāo)定對(duì)象選擇“液位1標(biāo)定,標(biāo)定公式會(huì)出現(xiàn)y=klx+bl,點(diǎn)擊“開(kāi)始打水按鈕,在液位高度為20左右時(shí)點(diǎn)“停止打水”(開(kāi)始打水會(huì)變?yōu)橥V勾蛩I),讀出水箱1液位高度并填寫到液位高度1的輸入框中,點(diǎn)擊

32、“獲取AD1采樣值。然后再次點(diǎn)“開(kāi)始打水,在液位高度為120左右時(shí)點(diǎn)“停止打水(開(kāi)始打水會(huì)變?yōu)橥V勾蛩I),讀出水箱1液位高度并填寫到液位高度2的輸入框中,點(diǎn)擊“獲取AD2”采樣值。然后點(diǎn)擊“標(biāo)定結(jié)果”可以看到標(biāo)定結(jié)果框中會(huì)計(jì)算出標(biāo)定公式,至此標(biāo)定工作完成。然后再點(diǎn)擊“開(kāi)始打水按鈕在液位高度為140左右時(shí)點(diǎn)“停止打水”(開(kāi)始打水會(huì)變?yōu)橥V勾蛩I),讀出水箱1液位高度并填寫到液位高度1的輸入框中,再點(diǎn)擊“驗(yàn)證”,在標(biāo)定驗(yàn)證中可以看到通過(guò)該標(biāo)定公式換算出的當(dāng)前液位高度,可以與水箱1中的實(shí)際液位進(jìn)行比較,如果標(biāo)定正確,則兩者值接近。最后點(diǎn)擊“保存”,將標(biāo)定結(jié)果存儲(chǔ)在數(shù)據(jù)庫(kù)中,點(diǎn)圖4液位自動(dòng)標(biāo)定界面4

33、.3電動(dòng)閥控制4.3.1電動(dòng)閥工作原理在實(shí)驗(yàn)中的液位控制是在動(dòng)態(tài)狀態(tài)下工作的,即一邊用水泵打水,同時(shí)電動(dòng)閥又在放水。在本實(shí)驗(yàn)裝置中的電動(dòng)閥采用了24V直流控制的XHL系列電動(dòng)閥門。其控制電路如圖5所示。黃羸控制電貉圖5XHL系列電動(dòng)閥門控制電路電動(dòng)閥控制線共有四根線,紅與黃各兩根,紅色用于電機(jī)的通斷控制,電動(dòng)閥1的開(kāi)斷由ADuC834的P0.1口通過(guò)光耦繼電器U10控制;兩根黃線用于控制閥門開(kāi)口度方向,由ADuC834的P0.0口控制通過(guò)光耦繼電器U11進(jìn)行控制。當(dāng)P0.0低電平時(shí),光耦繼電器閉合,則閥門內(nèi)部電機(jī)正轉(zhuǎn),開(kāi)口度變大,直到到最大之后自動(dòng)停止,并到保持最大開(kāi)口度,同時(shí)紅色指示燈亮起;

34、反之,當(dāng)P0.0高電平時(shí),光耦繼電器斷開(kāi),則閥門內(nèi)部電機(jī)反轉(zhuǎn),開(kāi)口度變小,直到到關(guān)閉自動(dòng)停止,同時(shí)綠色指示燈亮起。當(dāng)電動(dòng)閥轉(zhuǎn)動(dòng)過(guò)程中,切斷電源,則可以實(shí)現(xiàn)電動(dòng)閥一定的開(kāi)度設(shè)置。經(jīng)過(guò)精確計(jì)算,電動(dòng)閥從全開(kāi)到全關(guān)或從全關(guān)到全開(kāi)用時(shí)均為10s左右,即1s的開(kāi)度或關(guān)度為10%。為此本電動(dòng)閥控制就可以利用ADuC834內(nèi)部的Time1定時(shí)器實(shí)現(xiàn)開(kāi)口度的控制。如果需要控制電動(dòng)閥20%的開(kāi)口度,那么需要定時(shí)2s,根據(jù)該方法可以精確控制電動(dòng)閥0100%之間開(kāi)度的控制了。5.實(shí)驗(yàn)步驟實(shí)驗(yàn)設(shè)備三容水箱計(jì)算機(jī)控制實(shí)驗(yàn)臺(tái)、萬(wàn)用表、計(jì)算機(jī)、RS232/RS485串口線,電源線、Matalb軟件和三容水箱計(jì)算機(jī)控制軟件。

35、設(shè)備連接與檢查(1)將計(jì)算機(jī)控制技術(shù)實(shí)驗(yàn)臺(tái)的水槽中灌滿水(至溢出口的下沿)。(2)連接RS232/RS485串口線,將串口選擇開(kāi)關(guān)撥向使用的串口類型的方向。(3)連接電源線,將電源插頭接到220V電源上。(4)打開(kāi)電源,電源指示燈亮。(5)使用萬(wàn)用表檢查5V,24V,220V電源是否正常。5.3操作步驟5.3.1直接利用控制軟件進(jìn)行PID控制(1)打開(kāi)計(jì)算機(jī)控制技術(shù)系統(tǒng)軟件tanks桌面應(yīng)用程序。如圖6所示。用戶名請(qǐng)輸入自己的姓名(請(qǐng)不要輸入中文,可以輸入如zhangqiang0914),將存儲(chǔ)在數(shù)據(jù)庫(kù)中,用于歷史查詢。圖6系統(tǒng)登陸圖(2)進(jìn)入系統(tǒng)主界面,單擊工具欄的“新建”或菜單欄的“系統(tǒng)”

36、的“新建實(shí)驗(yàn)”。圖7主界面3)進(jìn)入實(shí)驗(yàn)選擇窗口,選擇“單回路簡(jiǎn)單控制實(shí)驗(yàn)”,以一階液位控制實(shí)驗(yàn)為例,進(jìn)入實(shí)驗(yàn)設(shè)置窗口,選擇“一階液位控制實(shí)驗(yàn)”,如果需要進(jìn)行混合編程請(qǐng)?jiān)谟疑辖堑摹笆欠襁x擇混合匯編”上打勾(注意:第一次實(shí)驗(yàn)將不選擇混合編程,因此不要選勾?。?;實(shí)驗(yàn)信息框中提示實(shí)驗(yàn)的內(nèi)容,實(shí)驗(yàn)信息會(huì)提示你是否支持混合編程,如果沒(méi)有提示支持混合編程請(qǐng)不要在“是否選擇混合匯編”上打勾,即便打勾之后程序不會(huì)調(diào)用你自己寫的程序,窗口中還給出了實(shí)驗(yàn)的原理框圖。圖8實(shí)驗(yàn)選擇(4)單擊“下一步”,進(jìn)入實(shí)驗(yàn)設(shè)置窗口,輸入液位目標(biāo)值及球閥開(kāi)口度的初始值,在算法選擇框中選擇“普通PID控制算法”。圖9參數(shù)設(shè)置5)單擊“

37、確定”,完成實(shí)驗(yàn)設(shè)置,在彈出的實(shí)驗(yàn)提示窗口中,按照提示的步驟完成相應(yīng)的操作進(jìn)入下一步,勾選已完成上述選擇,再點(diǎn)擊確定按鈕,。圖10實(shí)驗(yàn)說(shuō)明(6)進(jìn)入實(shí)驗(yàn)主界面后,在右下角的PID設(shè)置窗口中,用湊試法選擇Kp、Ki、Kd(Kp推薦值在1000左右,Ki在10左右,實(shí)驗(yàn)過(guò)程中不能改變PID的參數(shù)值)然后點(diǎn)擊“開(kāi)始“按鈕,實(shí)驗(yàn)開(kāi)始。如下圖所示。單回路簡(jiǎn)單控制一階液位PID蔘數(shù)設(shè)置圖11PID設(shè)置(7)在單擊“開(kāi)始”按鈕或者菜單欄“操作”的“開(kāi)始實(shí)驗(yàn)”進(jìn)行實(shí)驗(yàn)后,觀察實(shí)驗(yàn)現(xiàn)象并記錄數(shù)據(jù),運(yùn)行一段時(shí)間后單擊“暫停”實(shí)驗(yàn)按鈕,然后單擊“查詢”進(jìn)入查詢項(xiàng)記錄數(shù)據(jù)并填入表格。用戶也可保存曲線并導(dǎo)出數(shù)據(jù)到Exc

38、el,通過(guò)Excel查看采集到的數(shù)據(jù)。(8)當(dāng)水箱里的水放完后,最后單擊“停止”按鈕,電動(dòng)球閥關(guān)閉后,然后進(jìn)入“新建”并重復(fù)上述實(shí)驗(yàn)步驟,以找出最佳PID控制參量。打歷砂I -3ESW-P譽(yù)EESSAOia朋I】.播禺卄tfliii障里一曲濾趙Ji贅單一驚遽骨魁單一修鍛柱fiWn5.3.2利用Matlab-PID混合編程進(jìn)行液位控制.1)C#-matlab混合編程原理利用Matlab軟件,自行編寫算法,生成相應(yīng)的dll文件,上位機(jī)(C#編寫)調(diào)用dll文件實(shí)現(xiàn)相應(yīng)的控制策略(整個(gè)過(guò)程可以理解為Matlab生成的dll相當(dāng)于一個(gè)函數(shù),上位機(jī)調(diào)用該函數(shù)并獲得該函數(shù)的返回值。)類C_Matlab_M

39、ixed_Compilation中包含的具體方法(函數(shù))如下EasyFlowPID(簡(jiǎn)單流量PID)、EasyOnePID(簡(jiǎn)單一階液位PID)、EasyTwoPID(簡(jiǎn)單二階液位PID)、EasyTempPID(簡(jiǎn)單溫度PID)、CompOnePID(復(fù)雜一階液位PID)、CompTwoPID(復(fù)雜二階液位PID)、CascadeOnePID(一階串級(jí)液位PID)、CascadeTwoPID(二階串級(jí)液位PID)、Feedfor_backOnePID(前饋-反饋液位PID)、Example(示例編程PID)。以EasyOnePID.m文件存儲(chǔ)的是混合編程示例程序,其它的文件只有函數(shù)入口,剩下

40、的程序需要同學(xué)們根據(jù)不同的實(shí)驗(yàn)自行編寫算法。樣例程序說(shuō)明如下:%函數(shù)入口 Functionresult=EasyOnePID(Set_High1,Actual_High1,i)%此處result是該函數(shù)的輸出參數(shù);EasyOnePID是函數(shù)名;Set_High1,Actual_High1,i是3個(gè)輸入?yún)?shù)。%Set_High1是上位機(jī)設(shè)定的被控對(duì)象液位高度1的值;Actual_High1是上位機(jī)采集到的實(shí)際液位高度的值;i為標(biāo)記參數(shù),第一次調(diào)用該函數(shù)時(shí)i=0,即對(duì)你所要用到的全局變量e、u的初始化,第二次及以后的調(diào)用時(shí)i均為1,保證初始化變量只進(jìn)行一次,第二次調(diào)用時(shí)e、u等全局變量能保持上一次

41、的值。Kp=1000;%推薦1000左右Ki=10;%推薦10左右Kd=O;%推薦10左右globaleglobaluif(i=0)e=000;u=0,0;Ende(3)=e(2);e(2)=e(1);e(1)=Set_High1-Actual_High1;u(2)=u(1)+Kp*(e(1)-e(2)+Ki*e(1)+Kd*(e(1)-2*e(2)+e(3);result=u(2);u(1)=u(2);end算法返回值賦給輸出參數(shù)result,最終傳遞給上位機(jī)然后通過(guò)串口對(duì)硬件電路板的DAC進(jìn)行控制。這里的result就是在上面實(shí)驗(yàn)原理介紹的DACH/L值(由于該值是16位的,又由于前面所述

42、比例換算關(guān)系,uk最后發(fā)給單片機(jī)的控制量在024000之間,若計(jì)算值超過(guò)該范圍由上位機(jī)程序?qū)ζ溥M(jìn)行限定)。為了節(jié)約時(shí)間和提高Kp、Ki、Kd等PID參數(shù)的設(shè)定,在做混合編程之前應(yīng)該利用三容水箱計(jì)算機(jī)控制軟件先進(jìn)行相關(guān)參數(shù)的調(diào)試,然后就可以直接利用相關(guān)PID參數(shù)代入到混合編程之中。2)Matlab中dll文件的制作打開(kāi)Matlab,在CommandWindows窗口中輸入deploytool,彈出如圖12所示對(duì)話框;Jiatijuii.f,olrn?X*kumrin4htDeHhnieniTwlTdaSsttilsCd#wiy咸ItefoiiwiES:CficfcUliIbu!DirplEnii

43、nlFtD|KlicanDnLheCvplDnml1Cfckihi瞪輛11:切松mtriRra.i?c4kmi巾apenanewHnsCfiitthiHrijkon.*uItwlwtba:VsptifflwIwTTTgp|Ixjirrbnnihcpcla畑圖12Matlab界面1在DeploumentTool中單擊第二個(gè)按鈕呂打開(kāi)一個(gè)已經(jīng)創(chuàng)建好的工程,如圖13所示(工程的路徑為:桌面混合編程)圖13Matlab界面2打開(kāi)工程后如圖14所示,其中工程名為PIDcom.prj,包含一個(gè)名為C_Matlab_Mixed_Compilation的類,類中包含Example、EasyOnePID等方法(

44、函數(shù))。其中Example為示例編程,其包含了一個(gè)完整的PID編程算法及詳細(xì)的文字介紹,其m文件Example.m為只讀文件,請(qǐng)不要隨意對(duì)其操作。Jkr比MLki?耳IXTLAHT.-0詛2皿砧JL3UltIifiJiEnrjiiElIMtegfiEfcirisJw片叱1口|“|沖4吋團(tuán)蹩|OmriEdHlJJtzi11:iBfcata與n.raw.LMEJJrtMfteuLs-dHfitoMi創(chuàng)trtfsfcJIlLn:.尹11HI:.axgLId?ploytiJDl1KJ.niaTIELk,hi如FILL-JDiba-tilesfJlClKiriilWni.B鼻CSKbdsTWcFID.H

45、?jGsifiDnem*|Ch-bTEHFqkABstJisdcEoLsFIlLTInxyfrslTD.sflGjrtggjifeVrliBKi!CrainsiMitin辭.圖14Matlab界面3在做一階液位混合編程時(shí),需要自己在Matlab中的EasyOnePID.m文件中完成相應(yīng)函數(shù)的編寫。在方法“EasyOnePID”完成書寫后,如圖15所示。II.JE*flfriT|irTwiTiffl畀Hi呻一dGhwm*CurpsJE二C.MvUb.Mdd_CariTJTpSX-TiyE平-l叭咖點(diǎn)jhanpUjEATwH.htjHlOtWT翔江玄皚?Iflfl-3JP+LJ;I*土鶴Lncui

46、rIE】:u_HiBhlii1ftKbi刖計(jì).WK1D.2*NtLliEDI*Up;vrdILlSrt_fti|hl=諂LtQfl-1a+ifl-it*11HIHll*4Ei皿-出I曲+*41.d.ik-IJ-nlh1.圖15在EasyOnePID中完成算法書寫在圖15中,點(diǎn)擊匸按鈕對(duì)算法進(jìn)行編譯,請(qǐng)等待Matlab的編譯過(guò)程,如無(wú)錯(cuò)誤編譯結(jié)果見(jiàn)圖16所示,如有紅色字體提示錯(cuò)誤,請(qǐng)修改后重新編譯。將編譯生成的“桌面混合編程PIDcomdistribPIDcom.dll和PIDcom.ctf”,復(fù)制到D:計(jì)算機(jī)控制技術(shù)實(shí)驗(yàn)教學(xué)平臺(tái)三容水箱tanksbinDebug,并替換原來(lái)的PIDcom.dl

47、l和PIDcom.ctf即可(如果沒(méi)有PIDcom.ctf文件可以只替換PIDcom.dll文件)。DepJayTrientTDDlOutputBuildnutpuK2O13-0W717:021.mcc-F匕81冷可叭|131片白11西畑|:第酒士科滬心:口廠|prfCanalervstsloili雯El(EIZGDBb.)e&ecTNdDUceciPLDe口匚_iLffiLa_iM-sl_CaiiCFLLisLDr.1,D.d.匸史工仙方亡-d1iy3ezaXLaaLLi,kDesfctasii=a3PIDs口-rpLixJcifzaceaaLDQCsFzogz-saFllesHATLAEI

48、LZOQ-SdVT-口口Lbujclmat丄bIXjdgueccPiaceaai口口inclusiefilea.2iteir.|addtd.Pws呂日.日qlrgcarleaiDscallLwlcnMCSIh4C.lrCzeared3Bfc匚hitecrj.2-isgj.zivalLdaclDHalELlestMdilMay2717eD:i-352Q13-|ICampildtiDTicompletedeL*aflnr.r.-nrazTiUSTRnXPLnTXrjnmnn1rHl.TcjbshTrrej1rXTI圖16matlab中編譯結(jié)果3)混合編程實(shí)驗(yàn)(1)重復(fù)531實(shí)驗(yàn)方法中的(1)(8)

49、。但要注意在(3)步驟中請(qǐng)?jiān)谟疑辖堑摹笆欠襁x擇混合匯編”上打勾?。?)若不控制效果不佳,則修改Matlab-PID控制算法中的Kp、Ki、Kd,再重復(fù)本實(shí)驗(yàn)(1)(2)步驟。6實(shí)驗(yàn)記錄和分析(1)記錄每次實(shí)驗(yàn)的Kp、Ki、Kd和控制效果,并進(jìn)行分析;2)通過(guò)混合編程參數(shù)整定、算法編寫,得到較滿意的液位控制曲線。3)記錄自己編寫的.m文件的程序。60CBn=-畏-am-EE-昌.一憔102E9100010Q抿時(shí)冏藥詢罰也年:冃cB-砸戶時(shí)同軸r*taoisw碑一事殖融口皿ISdAlL|擱號(hào)單目略并觀設(shè)pwdFHKp:肝二靜差大,震蕩大畑人黃J耳旺開(kāi)fftih曙方式o抿1勺間辰詢旳府疝陽(yáng)日鯽審畜悔

50、怡果用戶時(shí)阿奏雉lattaciL|躍aa言口31用口口唏號(hào)SiSlP.F】D譽(yù)計(jì)11ThesT單呂Zt雖毎溟減下Ki,和適當(dāng)?shù)脑黾覭d使系統(tǒng)更穩(wěn)定。7注意事項(xiàng)(1)實(shí)驗(yàn)前將水箱中的水清空。(2)使用前請(qǐng)自行備份“混合編程”文件夾,不要隨意更改文件夾中的內(nèi)容,自己編程需要的的.m文件可以自行保留,完成實(shí)驗(yàn)后請(qǐng)從實(shí)驗(yàn)前備份的“混合編程”文件夾替換掉用過(guò)的“混合編程”文件夾。(3)用戶如果發(fā)現(xiàn)除了Example.m之外,其它文件中除了函數(shù)入口部分外有其它內(nèi)容,請(qǐng)將備份的“混合編程”文件夾替換桌面上的文件夾。(4)正常情況下,采集控制器程序已安裝,若未下載,則需要重新下載程序:短接下載口Downloa

51、d,下載計(jì)算機(jī)控制實(shí)驗(yàn)MODBUSRTU協(xié)議單片機(jī)程序V4(自動(dòng))。實(shí)驗(yàn)三基于組態(tài)王的液位PID控制實(shí)驗(yàn)(水泵控制)(自動(dòng))(1)實(shí)驗(yàn)?zāi)康?)了解單水箱一階液位控制系統(tǒng)的工作原理;2)掌握組態(tài)王軟件的使用方法3)了解水泵控制及液位測(cè)量原理;4)了解組態(tài)王軟件與基于單片機(jī)的采集控制器通訊協(xié)議;5)掌握組態(tài)王編程和PID控制算法編寫;(2)實(shí)驗(yàn)要求1)用組態(tài)王軟件完成單水箱一階液位控制系統(tǒng);2)利用組態(tài)王編寫PID控制算法,實(shí)現(xiàn)基于水泵控制的單水箱液位控制。系統(tǒng)結(jié)構(gòu)框圖進(jìn)水閥1圖1單水箱一階液位控制結(jié)構(gòu)圖實(shí)驗(yàn)原理水泵2和電動(dòng)球閥1是控制水箱液位的主要控制器。水泵2控制進(jìn)水口的流量,作為入水口的控制

52、,通過(guò)電壓的改變控制其出水流量;電動(dòng)閥1作為放水口控制出水口的流量;進(jìn)水閥1作為進(jìn)水的總控制,在整個(gè)實(shí)驗(yàn)期間全開(kāi)。在本實(shí)驗(yàn)中,設(shè)置電動(dòng)閥1開(kāi)口度不變(但初始開(kāi)口度可調(diào)),通過(guò)改變水泵2的電壓實(shí)現(xiàn)液位控制。4.2電路原理圖2單水箱液位采集與控制電路4.1.1控制原理在水泵控制電路中,ADuC單片機(jī)通過(guò)其DAC腳輸出05V,并間接控制可調(diào)開(kāi)關(guān)電源024V直流電壓輸出,實(shí)現(xiàn)水泵2功率和流量的控制。在ADuC834單片機(jī)中,通過(guò)設(shè)置DAC專用寄存器的值輸出控制。DAC為12位的寄存器,當(dāng)DACH=0 x0F,DACL=0 xFF時(shí),整個(gè)控制周期都為高電平,即水泵的控制電壓為24V;當(dāng)DACH=0 x0

53、0,DACL=0 x00時(shí),整個(gè)控制周期都為低電平,水泵的控制電壓為0V;當(dāng)DACH=0 x07,DACL=0 xFF時(shí),為50%高電平,水泵控制電壓為12V。4.1.2該部分涉及ADuC834單片機(jī)主要專用寄存器(詳細(xì)請(qǐng)參考ADuC834Datasheet,P34)DACCON=0 x07;使用P1.2腳輸出,12位輸出,輸出范圍5V,開(kāi)啟DA/DACH/LDACL/存放12數(shù)據(jù),高4位放在DACH的低4位注意:本實(shí)驗(yàn)組態(tài)軟件的PID控制Uk作為輸出值為電機(jī)電壓,其輸出為024V,但在組態(tài)王輸出值范圍設(shè)置為mV單位,因此最大值為24000,最小值為0。在單片機(jī)中24000mV要按比例變?yōu)?0

54、96,因此其DAC值為DAT0,1=(4096/24000)*Vp其中Vp為組態(tài)王控制輸出值(即Uk)。DACH=P2H;DACL=P2L;注意在12位模式中,DAC電壓輸出在DACL數(shù)據(jù)寄存器被寫入后就被校正;所以,DAC數(shù)據(jù)寄存器應(yīng)先寫DACH,再寫DACL。4.1.3組態(tài)王中的DAC參數(shù)設(shè)置圖3水泵電壓設(shè)置4.2.壓力傳感器及液位換算4.2.1液位傳感器介紹MPXV5004G是一種先進(jìn)的單片硅壓力傳感器。被測(cè)介質(zhì)的壓力直接作用于傳感器的膜片上,使膜片產(chǎn)生與截止壓力成正比的微位移,使傳感器的電阻值發(fā)生變化,并用電路檢測(cè)這一變化,轉(zhuǎn)換輸出一個(gè)對(duì)應(yīng)于這一壓力的標(biāo)準(zhǔn)測(cè)量信號(hào)。MPXV5004G內(nèi)

55、部除傳感單元外,還包含信號(hào)調(diào)理器、溫度補(bǔ)償器和壓力修正電路,特別適用于由單片機(jī)構(gòu)成的檢測(cè)系統(tǒng)。其芯片電路示意框圖如圖4所示。Vs圖4壓力傳感器電路示意框圖MPXV5004G壓力傳感器采用額定5V供電電壓,最大測(cè)量壓差為3.92kPa(即400mmH20),最大耐受壓力為16kPa,溫度補(bǔ)償范圍為-。在工作溫度為,該壓力傳感器具有良好的線性輸出關(guān)系,如式(1)所示:V二(9.8H+1000)土75mV門、OUT(1)其中,VouT為輸出電壓,H為液位高度值mm,最大誤差為75mV。實(shí)際液位高度值H也是組態(tài)王采集的數(shù)據(jù)值,為了取保水位不會(huì)溢出,建議最大值設(shè)置為300mm,因此在組態(tài)王液位高度值設(shè)定

56、范圍:因此最大值為300,最小值為0。由物理常識(shí)易得,隨著液位的上升,容器底部受到的壓力相應(yīng)增大。壓力傳感器采集到的模擬信號(hào)通過(guò)AD“C834中的AIN3單端輸入進(jìn)行16位高精度AD轉(zhuǎn)換成數(shù)字信號(hào)。根據(jù)式(1)、圖1電路測(cè)量電路以及AD關(guān)系,可以算出液位高度H與AD轉(zhuǎn)換值有如下關(guān)系TOC o 1-5 h za(9.8H+1000)2162)A_J=X22500即:AD=129.45*H+13107(3)根據(jù)公式(3)便可得出液位傳感器液位高度與AD的對(duì)應(yīng)關(guān)系為H=AD/129.45-102.041。(4)4.2.2涉及ADuC834單片機(jī)專用寄存器(詳細(xì)請(qǐng)參考ADuC834Datasheet,

57、P1721)ADC1CON=0 x48;輔助通道控制寄存器,AIN3作為單端輸入,采用外部參考電壓,單極性輸入對(duì)應(yīng)零輸出(詳細(xì)請(qǐng)參考ADuC834Datasheet,P19)ADCMODE=Oxl4;模式寄存器,ADC1使能,內(nèi)部零刻度校準(zhǔn),內(nèi)部短路自動(dòng)連接到啟用的ADC(s)(詳細(xì)請(qǐng)參考ADuC834Datasheet,P18)ADCMODE=0 x15;/內(nèi)部滿量校準(zhǔn)(同上)ADCMODE=0 x12;/輔助通道單個(gè)轉(zhuǎn)換(同上)ADC1H/1L:分別保存16位AD的高八位和低八位,則采樣AD值為:Press=ADC1H*256+ADC1L。其它專用寄存器設(shè)置,可參考實(shí)驗(yàn)一的相關(guān)部分具體設(shè)置

58、組態(tài)王中的液位標(biāo)定在組態(tài)王中,液位標(biāo)定是直接在變量定義中完成。在組態(tài)王界面中最小值,最大值分別設(shè)定為液位的實(shí)用范圍值,最小原始值,最大原始值的設(shè)定需要根據(jù)最小最大值的液位采樣值來(lái)設(shè)定,如圖5。圖5組態(tài)王中液位高度H變量定義和標(biāo)定界面4.2.4液位釆樣值He的獲取定義I/O實(shí)數(shù)變量的液位高度H時(shí),需填寫最小原始值和最大原始值??赏ㄟ^(guò)串口調(diào)試工具發(fā)送命令獲取。(1)在水箱液位高度為0mm時(shí)發(fā)送“010300000001840A”命令,獲得返回?cái)?shù)據(jù)“010302CRC校驗(yàn)碼”,其中第4-5位為液位采集值(HEX型),再將該液位采樣值轉(zhuǎn)化得到的十進(jìn)制采樣值填入最小原始值中;(2)進(jìn)行打水,首先將進(jìn)水閥

59、1打開(kāi),在串口調(diào)試工具中輸入“0105001000010DCF”,其次在串口調(diào)試工具中輸入“010600652ee085fd”,使水泵開(kāi)始打水。當(dāng)液位到300mm高度左右時(shí)在串口調(diào)試工具中輸入“01060065000099D5”關(guān)閉水泵,發(fā)送數(shù)據(jù)“010300000001840A”,讀取液位值,將轉(zhuǎn)化得到的十進(jìn)制采樣值填入最大原始值中,并將液位實(shí)際值填入最大值中。4.3電動(dòng)閥控制4.3.1電動(dòng)閥工作原理在實(shí)驗(yàn)中的液位控制是在動(dòng)態(tài)狀態(tài)下工作的,即一邊用水泵打水,同時(shí)電動(dòng)閥又在放水。在本實(shí)驗(yàn)裝置中的電動(dòng)閥采用了24V直流控制的XHL系列電動(dòng)閥門。其控制電路如圖6所示。紅黃控制電貉圖6XHL系列電動(dòng)

60、閥門控制電路電動(dòng)閥控制線共有四根線,紅與黃各兩根,紅色用于電機(jī)的通斷控制,電動(dòng)閥1的開(kāi)斷由ADuC834的P0.1口通過(guò)光耦繼電器U10控制;兩根黃線用于控制閥門開(kāi)口度方向,由ADuC834的P0.0口控制通過(guò)光耦繼電器U11進(jìn)行控制。當(dāng)P0.0低電平時(shí),光耦繼電器閉合,則閥門內(nèi)部電機(jī)正轉(zhuǎn),開(kāi)口度變大,直到到最大之后自動(dòng)停止,并到保持最大開(kāi)口度,同時(shí)紅色指示燈亮起;反之,當(dāng)P0.0高電平時(shí),光耦繼電器斷開(kāi),則閥門內(nèi)部電機(jī)反轉(zhuǎn),開(kāi)口度變小,直到到關(guān)閉自動(dòng)停止,同時(shí)綠色指示燈亮起。當(dāng)電動(dòng)閥轉(zhuǎn)動(dòng)過(guò)程中,切斷電源,則可以實(shí)現(xiàn)電動(dòng)閥一定的開(kāi)度設(shè)置。經(jīng)過(guò)精確計(jì)算,電動(dòng)閥從全開(kāi)到全關(guān)或從全關(guān)到全開(kāi)用時(shí)均為1

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論