【正文】
我的專業(yè)課任課老師。其次,我要感謝所有的任課老師,大學(xué)四年里教會(huì)了我很多知識(shí),做人的道理,是你們辛勤的付出才有學(xué)生 的成長(zhǎng)。是你們讓我懂得了 感受到了大學(xué)的美好,讓我認(rèn)識(shí)了一切,也使我成熟了許多。 再次感謝我的指導(dǎo)老師,感謝系領(lǐng)導(dǎo)以及所有的老師,感謝我的同學(xué), 。同時(shí)還培養(yǎng)了自己積極向上的心態(tài),良好的溝通、協(xié)調(diào)、執(zhí)行和應(yīng)變能力,這些都是以后工作、學(xué)習(xí)、生活的動(dòng)力源泉。在此對(duì)系領(lǐng)導(dǎo)以及系里的每位辛勤老師們致以崇高的敬意以及衷心的感謝。自己成長(zhǎng)了很多。此時(shí)此刻,心情沉甸甸的。//總中斷開啟 ShowPort=LedShowData[0]。//定義可執(zhí)行位變量 LedFlash=3000。j10。//數(shù)據(jù)最高位補(bǔ) 1 } N=0。//計(jì)數(shù)器加加 if(N=30)//判斷計(jì)數(shù)器累加值 { EX1=1。 { delayms(1)。j4。//外部中斷開 return。//退出當(dāng)前 選擇 } } } voidIR_IN()interrupt2using0//定義 INT2外部中斷函數(shù) { unsignedcharj,k,N=0。 } case4://右轉(zhuǎn) //判斷用戶是否選擇形式 4 { 28 youzhuan()。 } case2://后退 //判斷用戶是否選擇形式 2 { houtui()。 M2B=1。 M2B=0。 M2B=1。 M2B=0。//將 M2電機(jī) A 端初始化為 0 M2B=0。//開始進(jìn)行延時(shí)循環(huán) return。//定義臨時(shí)變量 while(x)//延時(shí)時(shí) 間循環(huán) { for(i=0。//定義光敏電阻端口 sbitSB1=P0^6。//定義電機(jī) 1反向端口 sbitM2A=P0^2。//定義前方左側(cè)紅外探頭 sbitRightIR=P3^6。//定義 S1按鍵端口 sbitS2=P3^4。//定義運(yùn)行停止標(biāo)志位 sbitFontIRState=P1^5。//定義 S1狀態(tài)標(biāo)志位 sbitS2State=P1^1。 staticunsignedintLedFlash。 NextRun: ControlCar(1)。 } if(FontIR==1) { ControlCar(1)。//左側(cè)沒有信號(hào)時(shí),開始向右轉(zhuǎn)一定的角度 delay_nms(2020)。//前方左側(cè)指示燈指示出前方左側(cè)紅外探頭狀態(tài) RightLed=RightIR。//退出當(dāng)前選擇 } } } voidmain()//主程序入口 { bitRunFlag=0。 } case4://右轉(zhuǎn) //判斷用戶是否選擇形式 4 { youzhuan()。 } case2://后退 //判斷用戶是否選擇形式 2 { houtui()。 while(n) 22 delay_nus(900)。 M2B=1。 M2B=0。 M2B=1。 M2B=0。//將 M2電機(jī) A 端初始化為 0 M2B=0。//定義語音識(shí)識(shí)別傳感 器端口 sbitSB1=P0^6。//定義左側(cè)電機(jī)驅(qū)動(dòng) A 端 sbitM1B=P0^1。 sbitLeftIR=P3^5。拋 開了以前小車循跡遇到障礙時(shí)直接調(diào)整小車偏差,中間加一個(gè) PID 算法,使其出現(xiàn)偏差時(shí)先由 PID 對(duì)其處理分析,再做調(diào)整,如此,小車在運(yùn)行過程中更加平穩(wěn)快速。經(jīng)調(diào)試實(shí)踐,小車運(yùn)行良好。//否則為上限幅值輸出 } else//控制量輸出為負(fù)數(shù) P,則輸出 0(下限幅值輸出 ) =0。 if(PostSumNegSum)//是否控制量為正數(shù) {Temp[0]=PostSumNegSum。//正數(shù)和 else 。//KI*E(k) Temp[2]=(uint32)*Temp[2]。}//E(k2)+E(k)2E(k1)為正數(shù) else { Temp[2]=Temp[2]([0]+[2])。//E(k)E(k1) [0]=1。 [0]=Temp[0]。}//偏差大于 10 為上限幅值輸出 (全速加熱 ) else { Temp[0]=。 Temp[2]=0。//中間臨時(shí)變量 uint32PostSum。 uint8out。//上一時(shí)刻的控制電壓 uint16RK_Uint16。//符號(hào), 1 則對(duì)應(yīng)的為負(fù)數(shù), 0 為對(duì)應(yīng)的為正數(shù) uint8KP_Uint8。 /**********函數(shù)聲明 ************/ voidPIDOutput()。 ? ?0( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 1 )kp i diu k K k e k K k e i K k e k e k?? ? ? ? ?? 注意,這里求和式子不是全部的 PID控制器積分項(xiàng),正常的應(yīng)該和采樣周期T相乘,為簡(jiǎn)單起見,將變量 ()iKk中,上式同樣對(duì) ()dKk進(jìn)行處理。 用紅外光來采集道路圖像。當(dāng)車身下左邊的傳感器檢測(cè)到黑線時(shí),主控芯片控制左輪電機(jī)停止,車向左修正,當(dāng)車身下右邊傳感器檢測(cè)到黑線時(shí),主控芯片 11 控制右輪電機(jī)停止,車向右修正。 I/O 擴(kuò)展排針將單片機(jī)的管腳引出,可以實(shí)現(xiàn)靈活的擴(kuò)展功能。 信號(hào)采集模塊 為了防止因傳感器太少引起的誤動(dòng)作,因而在車體前 段安裝了 5個(gè)紅外光對(duì)管(如圖 6),有效的減小了誤動(dòng)作的發(fā)生,減小了小車沖出跑道的幾率。所以決定獨(dú) 立供電,即單片機(jī)控制系統(tǒng)和光對(duì)管與電機(jī)分開供電。小車上裝有電池、電機(jī)、電子器件等,使得電機(jī)負(fù)擔(dān)較重。霍爾傳感器一般由霍爾元件和磁鋼組成,當(dāng)霍爾元件和磁鋼相對(duì)運(yùn)動(dòng)時(shí),就會(huì)產(chǎn)生脈沖信號(hào),根據(jù)磁鋼和脈沖數(shù)量就可以計(jì)算轉(zhuǎn)速,進(jìn)而求出車速。所有結(jié)果表明: PID 控制比傳統(tǒng)的經(jīng)典控制要穩(wěn)定,效果也更加良好。從過去的傳統(tǒng)與現(xiàn)代控制技術(shù)的應(yīng)用發(fā)展歷史來講 PID 控制研究與應(yīng)用已經(jīng)得到十分迅速地發(fā)展。比如常用的 L293D、 L298N、 TA7257P、SN754410等。 線性驅(qū)動(dòng)應(yīng)用是一種最為簡(jiǎn)單和最為直接的驅(qū)動(dòng)應(yīng)用方式,其電路簡(jiǎn)單、體積小巧,能滿足一些特定的場(chǎng)合應(yīng)用較多。 (3)反向電壓最高值 VCEO=。 在電路中將 PNP 管的基級(jí)串上電阻后與單片機(jī)的 口相連,發(fā)射極接蜂鳴器的負(fù)極,正極接電源, 集電極接地,電路圖如圖 9 所示。本設(shè)計(jì)采用無源電磁式蜂鳴器。電容常取 C=30μ F,電阻 R=1000Ω 。 時(shí)鐘電路 中央處理器 CPU ROM RAM 定時(shí) /計(jì)算器 ROM 串行接口 中斷系統(tǒng) 6 復(fù)位模塊設(shè)計(jì) 復(fù)位操作使單片機(jī)系統(tǒng)各部件處于確定的初始狀態(tài) ,并從初始狀態(tài)開始工作。由于內(nèi)部振蕩方式得到的信號(hào)比較穩(wěn)定,所以選擇內(nèi)部振蕩。 STC89C52 簡(jiǎn)介 STC89C52 單片機(jī)是利用 CMOS 工藝和高密度非易失性存儲(chǔ)器 制造而成,功能強(qiáng)、靈活性高、低電壓、性能好、價(jià)格合理,封裝如圖,其內(nèi)部結(jié)構(gòu)如圖 2。所以,這是一種比較符合的方案 [5]。如下:(一) 采用 PLC 作為主控系統(tǒng), PLC 雖然性能穩(wěn)定但是價(jià)格昂貴,為此,我們不采用該種方案,進(jìn)而提出了第二種設(shè)想。這些效應(yīng)的輸出大都是電量,或者可用適當(dāng)?shù)姆椒ㄞD(zhuǎn)變成電量。紅外輻射是波長(zhǎng)介于可見光與微波之間的電磁波,人眼察覺不到。這種方案能實(shí)現(xiàn)對(duì)電動(dòng)車的運(yùn)動(dòng)狀態(tài)進(jìn)行實(shí)時(shí)控制預(yù)測(cè),靈活、可靠、穩(wěn)定,可滿足對(duì)系統(tǒng)的各項(xiàng)要求 [3]。本設(shè)計(jì)具有預(yù)測(cè)功能,在原有出現(xiàn)偏差就調(diào)整的基礎(chǔ)上,添加 PID 算法控制 ,在出現(xiàn)偏差時(shí) ,先由 PID 算法處理偏差 ,再根據(jù)處理結(jié)果舵機(jī)進(jìn)行相應(yīng)的調(diào)整。無線傳輸?shù)陌l(fā)展使得測(cè)量變得相對(duì)簡(jiǎn)單而且使得處理數(shù)據(jù)的速度變得很快甚至可以達(dá)到實(shí)時(shí)處理。世界上許多國(guó)家都在積極進(jìn)行智能車輛的研究和開發(fā)設(shè)計(jì)。 關(guān)鍵詞 : PID;循跡智能小車; STC89C52單片機(jī); L298N Research on the Control Method of Robot Intelligent Prediction Abstract: This design theme is already practice at the present stage of smart car based on the development, the original is not so stable in running, add the prediction function to make it more steady and rapid. There are mainly four modules, respectively is control module, information collection module, drive module and feedback module. Information acquisition module for the black line traffic detection. Control module mainly adopts STC89C52 microcontroller to control chip. Motor drive module adopts special motor L298N drive chip, make the whole system has better stability. Feedback module is mainly posed of hall sensor and singlechip puter and information acquisition module. Information acquisition module of traffic information collected into the STC89S52 microcontroller, when the small car speed deviation or in turn, the hall sensor in the instant speed feedback to the single chip microputer, first by the PID algorithm processing deviation, monolithic integrated circuit to adjust according to the results of the processing, transm