freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機控制系統(tǒng)實驗報告(文件)

2025-06-01 03:49 上一頁面

下一頁面
 

【正文】 統(tǒng); 加熱裝置 考慮到給水加熱的應(yīng)用環(huán)境及成本等因素,選用220V/150W加熱棒為溫度控制系統(tǒng)加熱。7) 控制環(huán)節(jié)本實驗采用PWM波控制加熱棒的加熱。而繼電器控制簡單,電路簡單,同時成本很低,基本可以完成PID的控制需要,因此在本實驗中選用繼電器進行控制。當(dāng)P1。 顯示電路 由于選用的是銘正同創(chuàng)12864顯示模塊,在仿真軟件Proteus 7 Professional的元件庫中沒有該模型,因此該部分沒有進行仿真。定時器1的定時時間為50ms。然后根據(jù)實時溫度,計算PWM中低電平的時間,即以5s為一個周期,加熱的時間。根據(jù)實際試驗,每一次實驗時間大約5min左右。圖85為主程序流程圖。利用公式: 。將溫度數(shù)據(jù)傳回電腦利用串口實現(xiàn),波特率為9600。因此我將PWM的信號周期分為100份,設(shè)計數(shù)器counter,當(dāng)counter=low_time時發(fā)低電平信號,為水加熱;其余部分為高電平,不加熱。但是,在電路焊好之后,我發(fā)現(xiàn)了一個問題——繼電器無法打開,但是與繼電器并聯(lián)的發(fā)光二極管卻可以正常工作。我先將繼電器相關(guān)電路與單片機斷開,利用5V電源給繼電器供電,繼電器成功打開了。 軟件調(diào)試 在軟件的編程上,我還是遇到了一些困難。 系統(tǒng)調(diào)試與實驗結(jié)果 根據(jù)上面的仿真結(jié)果,PID三個參數(shù)分別取,,但是單片機的運算空間有限,為節(jié)省空間,我們只取PID參數(shù)和溫度的整數(shù)部分進行計算,因此令。 = set。 // 積分 dError = ppLastError ppPrevError。 }void duty_cycle(unsigned int t) // 占空比{ unsigned char s。 else { rout = PIDCalc ( amp。 } } else { low_time=0。 b(i)=a(i*21)+a(2*i)/100。,time,c,39。為改善此系統(tǒng),我增大了比例環(huán)節(jié),令。雖然圖92獲得了較好的實驗效果,但是其PID所用參數(shù)和溫度誤差的類型為整形,這使得算法的精度并不高,且溫度在某一度內(nèi)所得的誤差是一樣的,因此控制量較為粗糙。 // 60是將P*10得到的,實際Kp =6,以下如是 = 1。 Error = ppSetPoint*10 NextPoint。 ppLastError = Error。 if(st) { if((st)20) low_time=100。 else low_time=100。void DelayXus()。void xtimer0()。unsigned int j,flag。 //定義小數(shù)計算部分sbit DQ = P2^5。 //存放溫度值的高字節(jié)BYTE TPL。 _nop_()。 //延時至少480us DelayXus(480)。 //檢測存在脈沖 DelayXus(240)。 for (i=0。 //開始時間片 DelayXus(1)。 //讀取數(shù)據(jù) DelayXus(60)。 i8。 //送出數(shù)據(jù) DQ = CY。 //恢復(fù)延時 }}/****************中斷初始化*****************/void init(){ cycle=0。//定時器賦高8初值 , 12M晶振 TL0=0xb0。 TR0=1。 EA=1。 x=0。 SetBackLight(40)。 TR0=0。 //跳過ROM命令 DS18B20_WriteByte(0x44)。 //跳過ROM命令 DS18B20_WriteByte(0xBE)。 j=8。 TPL1=count=(TPLamp。 shu2=(j)%100/10。 PutChar(16,0,46)。 PutPixel(38,2)。 TH0=0x3c。 num++。 if(num=5amp。 PutPixel(x,y)。 } } }} void xtimer0() interrupt 1 //PWM{ unsigned int wendu,i。 SBUF=wendu。j++)。 for(j=0。 ES=1。 else counter=0。 time++。 flag=1。 //占空比調(diào)節(jié)參數(shù)include struct PID { unsigned int SetPoint。 // 微分 signed int LastError。 struct PID spid。 = set。 // 積分 dError = ErrorppLastError。 } /***************************PID算法**************************//*unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint ) { signed int ddError,dError,Error。 ppPrevError = ppLastError。// t=t/10。 else { rout = PIDCalc ( amp。low_time=100) if(low_time=100) //low_time=(unsigned char)(rout/6)。 }} 寧可累死在路上,也不能閑死在家里!寧可去碰壁,也不能面壁。能干的人,不在情緒上計較,只在做事上認(rèn)真;無能的人!不在做事上認(rèn)真,只在情緒上計較。什么是奮斗?奮斗就是每天很難,可一年一年卻越來越容易。 else low_time=100。 // Perform PID Interation // if(rout=100amp。 s=set*10。 return (ppProportion*dError+ppIntegral*Error+ppDerivative*ddError)。 dError = ErrorppLastError。 ppLastError = Error。 Error = ppSetPoint*10 NextPoint。 //設(shè)定PID參數(shù) = 1。 // Error_2 signed int SumError。 // 比例 unsigned int Integral。 //溫度初始值unsigned int rout。 RI=0。//定時器賦高8初值 , 12M晶振 TL0=0xb0。 } if(++counter=(low_time)) PWM=0。j++)。 SBUF=shu3*16。 for(j=0。 i=low_time/10*16+low_time%10。 } else { ClrScreen()。num128) if(x128) { num=0。 PutChar(72,0,((low_time)%100/10+48))。 //定時器賦低8初值 , 12M晶振 TR0=1。 PutChar(40,0,67)。 PutPixel(37,1)。 PutChar(0,0,((j)/100)+48)。 EA=1。 f_j=j*。 //讀溫度低字節(jié) TPH = DS18B20_ReadByte()。 //等待轉(zhuǎn)換完成 DS18B20_Reset()。 //溫度測量 DS18B20_Reset()。 init()。 ClrScreen()。}/************主函數(shù)*************/main(){ unsigned int x,c。 SM0=0。 TL1=0xfd。//開總中斷,開T0、T1中斷 TMOD=0x21。 //等待時間片結(jié)束 DQ = 1。 //開始時間片 DelayXus(1)。}/**************向DS18B20寫1字節(jié)數(shù)據(jù)***************/void DS18B20_WriteByte(BYTE dat) { char i。 //準(zhǔn)備接收 DelayXus(1)。 i++) //8位計數(shù)器 { dat = 1。 }}/**************從DS18B20讀1字節(jié)數(shù)據(jù)******************/BYTE DS18B20_ReadByte(){ BYTE i。 //釋放數(shù)據(jù)線 DelayXus(60)。 while (CY) { DQ = 0。 //存放溫度值的高字節(jié)BYTE TPL1。typedef unsigned char BYTE。unsigned long temp。extern unsigned char low_time。void DS18B20_WriteByte()。 }}實驗結(jié)果如下:圖93 水溫控制系統(tǒng)PID 控制溫度變化曲線圖(Kp=6,Ki=,Kd=)不難看出,實際系統(tǒng)與仿真結(jié)果得到了很好的統(tǒng)一,在,時,系統(tǒng)能夠較快達(dá)到穩(wěn)定,無超調(diào),無穩(wěn)態(tài)誤差,調(diào)節(jié)時間也較短,控制效果很好。spid,t )。 } void duty_cycle(unsigned int t) // 占空比{ unsigned int s。 // 積分 dError = Errorpp
點擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1