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

正文內(nèi)容

基于freescalehcs12系列單片機的結(jié)晶器振動控制系統(tǒng)畢業(yè)論文(文件)

2025-07-15 17:39 上一頁面

下一頁面
 

【正文】 調(diào)節(jié)器的各種參數(shù)整定方法進行分析和綜合。采樣周期過長又會增加誤差。然后在輸出不振蕩時,增大微分時間常數(shù)Td。再反過來,從此時的比例增益Kp逐漸減小,直至系統(tǒng)振蕩消失,記錄此時的比例增益Kp。微分時間常數(shù)一般不用設(shè)定,為0即可。PID常用口訣:參數(shù)整定找最佳,從小到大順序查先是比例后積分,最后再把微分加曲線振蕩很頻繁,比例度盤要放大曲線漂浮繞大灣,比例度盤往小扳曲線偏離回復(fù)慢,積分時間往下降曲線波動周期長,積分時間再加長2.擴充臨界比例度法擴充臨界比例度法是模擬控制器使用的臨界比例度法的擴充,它用來整定數(shù)字PID控制器的參數(shù)。3)選擇控制度,所謂控制度定義為數(shù)字控制系統(tǒng)誤差平方的積分與對應(yīng)的模擬控制系統(tǒng)誤差平方的積分之比。4)根據(jù)控制度,查表即可求得T,KP,KI,KD。程序運用于實際時必須再經(jīng)過參數(shù)整定。首先這款單片機中文資料很少。由于以前沒有接觸過這款單片機,所以,用了好幾周的時間來熟悉編程環(huán)境和相關(guān)寄存器、I/O端口的操作。在設(shè)計中,使用了MC9S12DG128的開發(fā)板,通過開發(fā)板的使用,很快就熟悉和掌握了該單片機的大部分模塊的功能。參考文獻1. Steven systems Design and Applications with the 68HC12 and HCS12[M].北京:電子工業(yè)出版社,20062. 毛義梅,羅海福,[J].天津:自動化儀表,2001,16(3):36~383. 陳衛(wèi)紅,夏伯鍇,[J],青島:青島大學(xué)學(xué)報,2002,17(3):904. Freescale Mc9s12介紹及編程練習(xí)[J] .5. [J] .武漢:武漢科技大學(xué)6. [M] .北京:紡織工業(yè)出版社,19927. :機械工業(yè)出版社[M],19988. :電子工業(yè)出版社[M],20069. [M].北京:科學(xué)出版,200710. [M].北京:清華大學(xué)出版社,200411. [J].天津:自動化儀表,12. [J].重型機械[J],13. [J].河北:14. [D] .重慶:重慶大學(xué),200715. [D].:燕山大學(xué),200116. 17. 18. 19. 附錄A源程序include /* mon defines and macros */include /* derivative information */pragma LINK_INFO DERIVATIVE mc9s12dg128bdefine set PTIH_PTIH0define pid_set PTIH_PTIH1define adding PTIH_PTIH2define reduce PTIH_PTIH5define confirm PTIH_PTIH7 int S_DATA[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}。 //鍵盤檢查時間float Err=,Perr=,Derr=。char count_flag=0。 //set按下標志位flag ,confirm按下標志位flag1/**************************************************************//*PID結(jié)構(gòu)體*//**************************************************************/struct PID { int Setpoint。 //微分 float Pre2err。 float limit_max。/**************************************************************//*PID計算*////Du=Kp[E(k)E(k1)]+Ki[E(k)]+Kd[E(k)2*E(k1)+E(k2)]////////////Du=Kp[Err]+Ki[Perr]+Kd[Derr]//////////////////////////////////**************************************************************/float PIDCale(struct PID *p,int Feedback) // PID計算 { //返回值 Err=pSetpointFeedback。 pPre2err=pPreerr。 if(Du) //min Du=。 //Derr=E(k)2*E(k1)+E(k2) Du=pProportion*Perr+pDerivative*Derr。 if(Du) //max Du=。 = 0。 = 。 }/**************************************************************//*串口程序*//**************************************************************/void SciInit(void){ SCI0BDL = (unsigned char)((16000000UL /* OSC freq */ / 2) / 9600 /* baud rate */ / 16 /*factor*/)。\n39。 return。0x80)) 。0x80))。 while(data[i])SciTx((uchar)data[i++]) 。 t = t。 si=(t100*qian10*bai)。 si=si+0x30。 SciTx(si)。 //設(shè)定PORTT口7為輸出 TSCR2 = 0x0B。//定時器使能 } /**************************************************************//*延時程序*//**************************************************************/void Dly_ms(int ms){ int ii,jj。ii++) for(jj=0。 //clockA,CLK B 32分頻:500khz PWMSCLA = 0x02。 PWMCAE_CAE1=0。 //占空比1/2 PWMCLK_PCLK1 = 1。 PWMDTY1 =(ttt*2/3)。 PWME_PWME1 = 0。 PWM_Init()。 set = 1。 DDRB=0XFF。) { Rin=F_DATA[i]。 PORTB=i。 //SciPID(i)。 //SciPID()。 //SciPID()。 //SciPID()。/****************************************************************//*鍵盤程序*//**************************************************************/ if(count_flag) //100ms延時 { count_flag=0。 flag=~flag。 print_str(\n*******************\nthe PID values:\nP= )。 print_str(\t D=)。 print_str(\t death= )。 //print_str(\tlimit_max= )。 print_str(\n**********************\n ROUT= )。(pid_set==0)) // pid調(diào)整參數(shù)選擇 { Dly_ms(10)。 while(pid_set==0)。 SciPID()。 if(pid_choose==4) print_str(do you want change death?)。 if(pid_choose==2) print_str(do you want change D?)。 pid_choose++。amp。 } } if(flagamp。 //print_str(\tlimit_min= )。 print_str(\ndeath_k= )。 print_str(\t Max_e= )。 print_str(\t I=)。 temp=0。 if(set==0) { Beep(0x15)。 //SciPID()。 //SciPID()。 //SciPID()。 //SciPID(Rout)。 if(i==20) //數(shù)據(jù)循環(huán)20次 i=0。 Rout=(int)(PIDCale(amp。 print_str(\nThe Program is working now!!!\n)。 timerInit()。 =5。 SciInit()。 //PWMPER1 =tmper。 } /**************************************************************//*揚聲器*//**************************************************************/void Beep(unsigned char ttt){ PWME_PWME1 = 1。 PWMPER1 =125。 PWMSCLB = 0X02。jj++)。 for(ii=0。//中斷間隔1000*1=1000us TIE = 0x80。 SciTx(ge)。 SciTx(qian)。 qian=qian+0x30。 qian=t/100 。 char qian=0,ge=0,si=0,bai=0。 SCI0DRL = text。 return。\t39。0x80)) 。 /*normal,no parity*/ SCI0CR2 = 0X0c。 = 。 = 0。 return Du。 pPreerr=Err。 } else { Perr=ErrpPreerr。 if(Err) //death limit Du=*Du。 //Perr=E(k)E(k1) Derr=Err2*(pPreerr)+pPre2err。 float death_k。 //本次誤差 float Max_e。 //比例 float Integral。 //選擇調(diào)整的參數(shù) P or I or Dfloat temp=。 int Rout=0。 //接口數(shù)組反饋值int i=0。因此,本程序有等進一步的完善。通過軟件和硬件的結(jié)合,也更進一步的體會了嵌入式編程,這也是這次設(shè)計中收獲最大的地方。在了解了單片機的相關(guān)工作原理的同時,制定基于MC9S12的結(jié)晶器振動控制系統(tǒng)和數(shù)字PID控制方案?;仡櫿麄€設(shè)計的過程,差不多也就是熟悉MC9S12DG128這款單片機和數(shù)字PID控制的過程。此外,在開發(fā)板上進行了鍵盤引腳的調(diào)整并增加了部分代碼,分別是在程序開始運行時,蜂鳴器響三聲以示程序已開始運行,PORTB口的燈閃爍表示程序運行成功,此外增加了
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1