基于單片機變頻恒壓供水課程設(shè)計報告_第1頁
基于單片機變頻恒壓供水課程設(shè)計報告_第2頁
基于單片機變頻恒壓供水課程設(shè)計報告_第3頁
基于單片機變頻恒壓供水課程設(shè)計報告_第4頁
基于單片機變頻恒壓供水課程設(shè)計報告_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.PAGE.目錄課題簡介3關(guān)鍵詞3課題描述3實驗任務(wù)3實驗設(shè)備3設(shè)備工作原理簡介4西門子MM440變頻器工作原理4變頻器參數(shù)復(fù)位5壓力變送器工作原理5PID工作原理6課題實施方案7硬件設(shè)計7電路原理圖7軟件設(shè)計8結(jié)果分析13個人總結(jié)14參考文獻15課題簡介傳統(tǒng)控制水位的方法是人為頻繁的進行觀察并以此為依據(jù)進行補水或放水的,而這些工作相當(dāng)費時費力。如果運用自動控制的思想來處理這個問題則會方便很多。本實驗課題便是針對這個問題進行設(shè)計。實驗擬設(shè)計一套PID水塔液位控制系統(tǒng),采用51單片機為主控制器,對其進行編程后,通過控制變頻器,使得變頻器支配的電機能夠根據(jù)頻率而得到相應(yīng)的運轉(zhuǎn),從而使水位達到并保持預(yù)期的要求;變頻器為執(zhí)行器。水塔水位信號的來源是由位于水塔下方的壓力傳感器感知水面高度,并將水面高度轉(zhuǎn)換為相應(yīng)的電流信號反饋回控制回路,而后根據(jù)測定人為的建立它們之間的函數(shù)關(guān)系,進行信號的校對從而實現(xiàn)水塔水位信號的輸入。整個系統(tǒng)能夠很好的跟蹤給定液位,有較好的快速性和穩(wěn)定性,能夠滿足一般化生產(chǎn)過程中對液位控制的要求。關(guān)鍵詞:液位控制系統(tǒng)單片機PID課題描述實驗任務(wù)●會使用單片機C語言,能用它進行編程;●在單片機中完成PID算法的編程實現(xiàn);●構(gòu)建一個閉環(huán)系統(tǒng)完成對PID實驗裝置的水位高度的穩(wěn)定調(diào)節(jié);●完成系統(tǒng)框圖的設(shè)計及各組成的功能描述;●完成西門子MM440變頻器的參數(shù)化設(shè)置;●完成在增加輸出擾動后控制系統(tǒng)快速調(diào)節(jié);實驗設(shè)備IA7000實驗臺一臺51單片機試驗箱西門子MM440變頻器三相水泵:AB-12,380V,40W,流量12升/分,揚程3米壓力變送器:DC24,4~20mA裝有實驗軟件的計算機一臺PC-PPI通訊電纜一根導(dǎo)線若干設(shè)備工作原理簡介1、西門子MM440變頻器工作原理MM440變頻器具有多個繼電器輸出、多個模擬量輸出。原理圖如下MM440的接線原理圖MM440的每個端子都有一個對應(yīng)的參數(shù)用來設(shè)定該端子的功能〔如下表表1MM440六個數(shù)字開關(guān)量輸入端子功能數(shù)字輸入端子編號參數(shù)編號出廠設(shè)置DIN15P07011DIN26P070212DIN37P07039DIN48P070415DIN516P070515DIN617P070615功能說明=1接通正轉(zhuǎn)/斷開停車=2接通反轉(zhuǎn)/斷開停車=3斷開按慣性自由停車=9故障復(fù)位=10正向點動=11反向點動=12反轉(zhuǎn)〔與正轉(zhuǎn)命令配合使用=13電動電位計升速=14電動電位計降速=15固定頻率直接選擇=16固定頻率選擇+ON命令=17固定頻率編碼選擇+ON命令2、變頻器參數(shù)復(fù)位:參數(shù)復(fù)位是將變頻器的參數(shù)恢復(fù)到出廠時的參數(shù)默認值。在變頻器初次調(diào)試,或者參數(shù)設(shè)置混亂時,需要執(zhí)行該操作,以便于將變頻器的參數(shù)值恢復(fù)到一個確定的默認狀態(tài)。MM440包含六個數(shù)字開關(guān)量輸入端子,每個端子都有一個對應(yīng)的參數(shù)用來設(shè)定該端子的功能?;謴?fù)變頻器缺省值,按下"P"健,變頻器開始復(fù)位到工廠缺省值。表2.由BOP操作時的工廠缺省設(shè)置值參數(shù)號出廠值設(shè)置值說明P0010030工廠的設(shè)定值P097001參數(shù)復(fù)位壓力變送器工作原理壓力變送器的主要作用把壓力信號傳到電子設(shè)備,進而在計算機顯示壓力。其原理大致是:將水壓這種壓力的力學(xué)信號轉(zhuǎn)變成電流〔4-20mA這樣的電子信號。壓力和電壓或電流大小成線性關(guān)系,一般是正比關(guān)系。所以,變送器輸出的電壓或電流隨壓力增大而增大,由此得出一個壓力和電壓或電流的關(guān)系式。壓力變送器的被測介質(zhì)的兩種壓力通入高、低兩壓力室,低壓室壓力采用大氣壓或真空,作用在δ元〔即敏感元件的兩側(cè)隔離膜片上,通過隔離片和元件內(nèi)的填充液傳送到測量膜片兩側(cè)。壓力變送器是由測量膜片與兩側(cè)絕緣片上的電極各組成一個電容器。當(dāng)兩側(cè)壓力不一致時,致使測量膜片產(chǎn)生位移,其位移量和壓力差成正比,故兩側(cè)電容量就不等。主要優(yōu)點〔1>壓力變送器具有工作可靠、性能穩(wěn)定等特點;〔2>高準(zhǔn)確度,高穩(wěn)定性;〔3>4-20mADC二線制信號傳送,抗干擾能力強,傳輸距離遠;〔4>鋁合金壓鑄外殼,三端隔離,靜電噴塑保護層,堅固耐用;〔5>專用V/I集成電路,外圍器件少,可靠性高,維護簡單/體積小、重量輕,安裝方便。PID工作原理PID是比例<P>、積分<I>、微分<D>控制算法。但并不是必須同時具備這三種算法,也可以是PD,PI,甚至只有P算法控制。我以前對于閉環(huán)控制的一個最樸素的想法就只有P控制,將當(dāng)前結(jié)果反饋回來,再與目標(biāo)相減,為正的話,就減速,為負的話就加速?,F(xiàn)在知道這只是最簡單的閉環(huán)控制算法。比例<P>、積分<I>、微分<D>控制算法各有作用: 比例:反應(yīng)系統(tǒng)的基本〔當(dāng)前偏差e<t>,系數(shù)大,可以加快調(diào)節(jié),減小誤差,但過大的比例使系統(tǒng)穩(wěn)定性下降,甚至造成系統(tǒng)不穩(wěn)定;積分:反應(yīng)系統(tǒng)的累計偏差,使系統(tǒng)消除穩(wěn)態(tài)誤差,提高無差度,因為有誤差,積分調(diào)節(jié)就進行,直至無誤差; 微分:反映系統(tǒng)偏差信號的變化率e<t>-e<t-1>,具有預(yù)見性,能預(yù)見偏差變化的趨勢,產(chǎn)生超前的控制作用,在偏差還沒有形成之前,已被微分調(diào)節(jié)作用消除,因此可以改善系統(tǒng)的動態(tài)性能。但是微分對噪聲干擾有放大作用,加強微分對系統(tǒng)抗干擾不利。積分和微分都不能單獨起作用,必須與比例控制配合。增量式PID:是指數(shù)字控制器的輸出只是控制量的增量Δu<k>。采用增量式算法時,計算機輸出的控制量Δu<k>對應(yīng)的是本次執(zhí)行機構(gòu)位置的增量,而不是對應(yīng)執(zhí)行機構(gòu)的實際位置。增量型PID算式:PID=Uk+KP*[E<k>-E<k-1>]+KI*E<k>+KD*[E<k>-2E<k-1>+E<k-2>];增量式算法優(yōu)點:算式中不需要累加??刂圃隽喀<k>的確定僅與最近3次的采樣值有關(guān),容易通過加權(quán)處理獲得比較好的控制效果;計算機每次只輸出控制增量,即對應(yīng)執(zhí)行機構(gòu)位置的變化量,故機器發(fā)生故障時影響范圍小、不會嚴重影響生產(chǎn)過程;手動—自動切換時沖擊小。當(dāng)控制從手動向自動切換時,可以作到無擾動切換。課題實施方案1、硬件設(shè)計在本方案中,由51單片機試驗箱、變頻器MM440、壓力變送器組成。1>、51單片機試驗箱完成對模擬量輸入輸出EM235模塊數(shù)字輸入信號的讀取,并且負責(zé)PID輸入輸出的計算,并將結(jié)果化為數(shù)字量放入模擬量輸入輸出EM235模塊。2>、變頻器MM440主要是用來完成對水泵的控制,當(dāng)頻率為0HZ時水泵不抽水,液位維持不變;當(dāng)頻率為50HZ時,水泵最大功率輸出,提高液位。3>、壓力變送器主要任務(wù)是將水缸中的水的壓力信號轉(zhuǎn)換成4-20mA的電流信號并且輸入模擬量輸入輸出EM235模塊從而達到監(jiān)視系統(tǒng)水位的目的。4>、模擬量輸入輸出EM235模塊負責(zé)將模擬量轉(zhuǎn)化為數(shù)字量以方便單片機讀取,并且將PLC-200的輸出數(shù)字量轉(zhuǎn)化成模擬量以便控制變頻器MM440。電路原理圖2.軟件設(shè)計PID算法部分:/*PID=Uk+KP*[E<k>-E<k-1>]+KI*E<k>+KD*[E<k>-2E<k-1>+E<k-2>];<增量型PID算式>函數(shù)入口:RK<設(shè)定值>,CK<實際值>,KP,KI,KD函數(shù)出口:U<K>*///pid.c/*PID=PID->UK_REAL+PID->KP*[E<k>-E<k-1>]+PID->KI*E<k>+PID->KD*[E<k>-2E<k-1>+E<k-2>];<增量型PID算式>函數(shù)入口:PID->RK<設(shè)定值>,PID->CK<實際值>,PID->KP,PID->KI,PID->KD函數(shù)出口:U<K>*///#include"defines.h"#include"pid.h"#defineMAXOUT0xff//#defineMAXGAP100voidpid_exe<pid_str*PID> //指針指向PID結(jié)構(gòu)體{PID->EK[2]=PID->EK[1]; //Double上差量->上次差量PID->EK[1]=PID->EK[0]; //上次差量->當(dāng)前差量PID->EK[0]=PID->RK-PID->CK; //當(dāng)前差量=水位設(shè)定值-水位實際值 if<PID->EK[0]<=10&&PID->EK[0]>=-10> PID->EK[0]=0;PID->UK_REAL=PID->UK_REAL+PID->KP*<PID->EK[0]-PID->EK[1]>//微分一次后積分即原數(shù)+<float>PID->KI*PID->EK[0]//直接積分+<float>PID->KD*<PID->EK[0]-2*PID->EK[1]+PID->EK[2]>;//二階微分后積分即一階微分if<<PID->UK_REAL>>PID->BITMOV>>=MAXOUT> //AD輸出量>上限值{PID->UK=MAXOUT; //AD輸出量=上限值}elseif<PID->UK_REAL>>PID->BITMOV<=0>//AD輸出量{PID->UK=0;}else{PID->UK=PID->UK_REAL>>PID->BITMOV;//實際輸出量}}PID頭文件:主函數(shù)部分:/********************************************************************************* 普中科技*實驗名 :AD顯示試驗*實驗說明:使用LCD1602顯示AD讀取到的各個數(shù)值*連接方式:見連接圖*注意 :*******************************************************************************/#include<reg51.h>#include"i2c.h"#include"lcd.h"#include"pid.h"http://--定義PCF8591的讀寫地址--//#defineWRITEADDR0x90 //寫地址#defineREADADDR0x91 //讀地址pid_str swkz;voidDelay<unsignedinti>{while<i-->;}voidset_pid_para<void>{swkz.KP=3;swkz.KI=0.5;swkz.KD=0;swkz.RK=450;swkz.EK[2]=0; swkz.EK[1]=0; swkz.EK[0]=0;swkz.BITMOV=1;swkz.UK_REAL=0; }/********************************************************************************函數(shù)名:Pcf8591SendByte*函數(shù)功能 :寫入一個控制命令*輸入:channel〔轉(zhuǎn)換通道*輸出:無*******************************************************************************/voidPcf8591SendByte<unsignedcharchannel>{ I2C_Start<>; I2C_SendByte<WRITEADDR,1>;//發(fā)送寫器件地址 I2C_SendByte<0x40|channel,0>;//發(fā)送控制寄存器 I2C_Stop<>;}/********************************************************************************函數(shù)名:Pcf8591ReadByte*函數(shù)功能 :讀取一個轉(zhuǎn)換值*輸入:無*輸出:dat*******************************************************************************/unsignedcharPcf8591ReadByte<>{ unsignedchardat; I2C_Start<>; I2C_SendByte<READADDR,1>;//發(fā)送讀器件地址 dat=I2C_ReadByte<>;//讀取數(shù)據(jù) I2C_Stop<>;//結(jié)束總線returndat;}/********************************************************************************函數(shù)名:Pcf8591DaConversion*函數(shù)功能 :PCF8591的輸出端輸出模擬量*輸入:value〔轉(zhuǎn)換的數(shù)值*輸出:無*******************************************************************************/voidPcf8591DaConversion<unsignedcharvalue>{ I2C_Start<>; I2C_SendByte<WRITEADDR,1>;//發(fā)送寫器件地址 I2C_SendByte<0x40,1>;//開啟DA寫到控制寄存器 I2C_SendByte<value,0>;//發(fā)送轉(zhuǎn)換數(shù)值 I2C_Stop<>; }voidDis_Play<unsignedintdata1>{ LcdWriteData<'0'+data1/1000>; //發(fā)送顯示數(shù)據(jù) LcdWriteData<'0'+data1%1000/100>; LcdWriteData<'0'+data1%100/10>; LcdWriteData<'0'+data1%10>;}/********************************************************************************函數(shù)名:main*函數(shù)功能 :主函數(shù)*輸入:無*輸出:無*******************************************************************************/voidmain<>{ unsignedintAD_Read=0; // AD_Read->信號輸入量 LcdInit<>; //1602液晶初始化 set_pid_para<>; //給 PID賦初值 while<1> { AD_Read=Pcf8591ReadByte<>*2;//ADC讀取外部輸入電壓先空讀一次 swkz.CK=AD_Read; //把讀入的AD值付給PID.CK write_str<1,0,"AD:">; Dis_Play<AD_Read>; //顯示當(dāng)前讀入AD電壓值 0-510->水位的高度 Pcf8591SendByte<3>;//發(fā)送電位器轉(zhuǎn)換命令 AD_Read=Pcf8591ReadByte<>*2; //再度讀一次,讀出當(dāng)前數(shù)據(jù) AD_Read->信號輸入量0-510->水位的高度 //--PIDDA輸出--// pid_exe<&swkz>; //PID計算出AD輸出量 write_str<0,0,"OUTPUT:">; Dis_Play<swkz.UK>; Pcf8591DaConversion<swkz.UK>; //AD輸出量給控制 //Del

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論