簡易智能車結題報告_第1頁
簡易智能車結題報告_第2頁
簡易智能車結題報告_第3頁
簡易智能車結題報告_第4頁
簡易智能車結題報告_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上編號:哈爾濱工業(yè)大學大二年度項目結題報告項目名稱: 簡易智能車 項目負責人: 謝啟明 學號: 聯(lián)系電話:電子郵箱: 院系及專業(yè): 電氣工程及自動化學院 測控技術與儀器 指導教師: 趙勃 職稱: 講師 聯(lián)系電話: 電子郵箱: hitzhaobo 院系及專業(yè): 電氣工程及自動化學院 測控技術與儀器 哈爾濱工業(yè)大學基礎學部制表填表日期: 年 月 日一、項目團隊成員(包括項目負責人、按順序)姓名性別所在院學號聯(lián)系電話本人簽字謝啟明男電氣工程及其自動化魏孫貴男電氣工程及其自動化何園慧女電氣工程及其自動化周艾玉女電氣工程及其自動化二、指導教師意見 簽 名: 年 月 日三、項目專家

2、組意見 批準經(jīng)費: 元 組長簽名: ( 學部蓋章 ) 年 月 日(一)立項背景 隨著機械自動化的不斷發(fā)展,人們在生活的各個方面都希望能夠利用自動化的操作來提高工作效率,使生產(chǎn)發(fā)展能夠得到不斷的提高。近來在軌跡跟蹤方面的話題研究不斷引起人們的更多關注,國內(nèi)外更是開展了一系列的智能軌跡跟蹤系統(tǒng)的競賽活動。在實際應用中,具有智能化的機器人在人們無法觸及的工作場合下更是大顯身手,如各種軍事機器人、勘探機器人等。和我們?nèi)粘I罡鼮榻咏挠懈鞣N醫(yī)療機器人、汽車自動泊位系統(tǒng)、自動駕駛系統(tǒng)等等。 軌跡跟蹤系統(tǒng)的設計在機器人領域有著重要的地位,可以說是機器人實現(xiàn)智能化的一個重要指標。任何一個機器人想要實現(xiàn)智能化

3、就必須能夠?qū)崿F(xiàn)對外部環(huán)境的自我感知判斷并作出相應反應,最終完成人們布置的任務。 本設計是一種基于單片機控制的自動尋跡小車系統(tǒng),包括小車系統(tǒng)構成軟硬件的設計方法。該項目的研究可以使學生掌握單片機和傳感器的交互,還有智能尋跡小車的基本原理,掌握單片機的程序設計,熟悉單片機的開發(fā)過程與程序的下載、調(diào)試流程等。 項目的研究價值在于單片機對傳感器的管理及對其反饋信息處理后對電機的精確控制,以及自動避障、相互之間通訊功能的研究和實施。(二)項目成果1、焊接調(diào)試完成運放模塊,可使智能車具有六路電感信號傳輸能力,其中四路為常用通道,兩路為備用通道。2、測試完成舵機數(shù)據(jù),記錄了舵機在不同占空比的PWM波輸入情況

4、下的轉(zhuǎn)彎參數(shù)。3、測試完成電機數(shù)據(jù),記錄了電機在不同占空比的PWM波輸入情況下的速度參數(shù)。4、焊接完成連接xs128主控板,舵機模塊,四路電源,電機模塊的支撐電路板和導線連接,各個模塊之間連接正常,支架穩(wěn)定。5、增加了電壓示數(shù)器,主控板開關,電機開關等小部件。方便控制智能車,以及對電池電量的掌握,得到了穩(wěn)定的電壓參數(shù)和不同電壓下造成的電機速度不同的參數(shù)。6、掌握了xs128芯片的鎖相環(huán)模塊,時鐘模塊,AD轉(zhuǎn)換模塊,PWM輸出模塊等。7、確定了碳桿的前伸長度,以及傳感器的分布。通過實測數(shù)據(jù)得到了智能車行駛過程中的前瞻程度參數(shù),為程序中的PID算法提供比例設置參數(shù)。9、采用了簡單的有線串口傳輸設置

5、,可以在電腦窗口上得到智能車的行駛數(shù)據(jù),為程序中參數(shù)的設置提供了參考。10、提出完善的程序設計思路,控制算法。編寫完成完整的xs128程序,能使智能車在簡易賽道上低速行駛。(三)128芯片主程序1、程序設計思路接收電感數(shù)據(jù),經(jīng)過AD轉(zhuǎn)換后。先確定四個電感相對于導線的位置,從而算出導線相對于智能車中心線的位置。根據(jù)位置關系,確定輸出給舵機模塊的占空比大小,示意圖如圖1所示。跑道信號線圖12、控制算法原理(1)AD采集 從左到右的電感依次編號為1、3、5、7。信號依次輸入到AD_value1、AD_value3、AD_value5、 AD_value7。(2)AD數(shù)據(jù)處理 相對于電感的位置,把跑道

6、信號線的位置從左到右依次編號為0、2、4、6、8。找到數(shù)值最大的電感編號,以及最大值,采用分類判斷的方法,根據(jù)相鄰兩個電感數(shù)值的差值和實測數(shù)據(jù)來判斷信號線的位置。 轉(zhuǎn)化AD_value為NewAD_value 前者為正值,后者為負值。(3)PID控制,出于穩(wěn)定性考慮只使用Kp和Kd。PID函數(shù)的error根據(jù)實測數(shù)據(jù)得出,由于智能車左右的不對稱性,所以左右轉(zhuǎn)彎時的error有所差別。(4)主函數(shù)根據(jù)LineNum提供的信號線位置,來提供不同的Kp和Kd。從而根據(jù)PID算出LoadDir ,即提供給舵機模塊的占空比。根據(jù)LoadDir來決定提供電機模塊的占空比來決定電機的速度。3、主程序(四)、

7、硬件配置1、首先對車體進行了組裝和一定程度的改裝。比如將舵機由臥式改為立式,從而提高舵機的響應速度,減少彎道處智能車處理的反應時間。2、然后焊接,調(diào)試,裝配各個模塊。在確保各個模塊安全的工作前提下,提升整車的系統(tǒng)穩(wěn)定性和硬件結構的對稱性,為程序的調(diào)試和運行提供一個良好穩(wěn)定的平臺。圖2為硬件裝配圖(由于處于改裝期,部分碳桿和主控板暫時取下)。圖23、部分硬件模塊的作用(1)四路電源電源模塊,為整個系統(tǒng)的其他模塊提供合適而又穩(wěn)定的電源。如左圖電源模塊,輸入電壓723V時,能同時提供5V,3.3V,12V,-6V 四路常用電壓。獨立使用時分別提供600mA,400mA,200mA,120mA的電流。

8、(2)電機模塊 接受128主控板的PWM信號,驅(qū)動直流電機完成智能車的加減速控制。 (3)舵機模塊接收128主控板的PWM信號,控制舵機的轉(zhuǎn)向。(五)項目末期階段進展情況1、根據(jù)智能車的整體運行姿態(tài),修整了硬件模塊以確保充分的對稱性和穩(wěn)定性,從而獲得更好的彎道性能。優(yōu)化了算法和創(chuàng)新程序設計理念,提升系統(tǒng)的準確性,高效性和安全性。2、學習Labview軟件,嘗試建立智能車運行數(shù)據(jù)的窗口反饋,以便更好的獲得和分析實時數(shù)據(jù)。增加藍牙等數(shù)據(jù)傳輸模塊,使智能車能得到電腦等其他終端發(fā)出的信號,實現(xiàn)遠程控制。3、增加光電編碼器,啟用xs128芯片上的計數(shù)和計時模塊,實現(xiàn)速度閉環(huán)。能夠更好的控制車速,使得在彎

9、道減速,在直線加速的速度變化時間大為減少。速度控制更加準確靈活高效,同時能夠進行急剎急停,提高了安全性。4、在試圖改變芯片的過程中,因為學習不足,未能完全掌握KL25,K60等芯片的原理和功能,所以未能更換掉芯片。(六)項目成果在2014年的飛思卡爾校內(nèi)選拔賽中獲電磁組第三名的成績。(七)人員安排 1、謝啟明,組長,負責整個項目的進程和工作安排,同時負責編寫和修改xs128程序。 2、何園慧,組員,負責測試智能車在行駛過程中的數(shù)據(jù)和為行駛過程中出現(xiàn)的相關問題提供解決思路。 3、魏孫貴,組員,負責硬件部分的改進和維修。 4、周艾玉,組員,負責Labview的學習和編程,并初步了解新的芯片如K60

10、,KL25等。(八)經(jīng)費使用計劃序號名稱型號單價(元)數(shù)量總額(元)使用說明1車模A6251625 智能車的機械基礎2128單片機34268智能車的核心控制器3電機驅(qū)動30130 驅(qū)動電機4舵機驅(qū)動15115 驅(qū)動舵機5四路電源20480 為各個模塊供電6舵機支架70170 固定舵機7編碼器213.51213.5檢測電機速度8固定套件8432 固定碳桿9下載器50150向芯片中下載程序10總計1183.5附錄#include <hidef.h> /* common defines and macros */#include "derivative.h" /* d

11、erivative-specific definitions */static long AD_value0,AD_value1,AD_value2,AD_value3;int AD_value8; /定義AD函數(shù)int NewAD_value8;int LastPwm;int LastLine=4,NowLine=4;int MLine,MC;long a,b,c,d,e,f,g,h;long int C1,C2,C3,C4;int i,LoadDIr,I,LoadDir;int MaxNum,MaxValue,LineNum,m;float ferror=0,error=0,error1=

12、0,error2=0; float Kacc=0,Kdiff=0,Kp=9.3,Ki=0,Kd=1;float k,k1,k2,k3,k4;float x1,x2,x3,x4;/*鎖相環(huán)初始化程序*/void Pll_Init(void) /PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1) /鎖相環(huán)時鐘=2*16*(2+1)/(1+1)=48MHz REFDV=1; /總線時鐘=48/2=24MHz SYNR=2; while(!(CRGFLG&0x08); CLKSEL=0x80; /選定鎖相環(huán)時鐘 /*延時子程序*/void Delay(unsigned int

13、 loop_times)/ / unsigned int loop_i,loop_j; / for (loop_i=0; loop_i< loop_times; loop_i+) / / for (loop_j=0; loop_j<500;loop_j+) / / ; / / / /*電機初始化*/void PWM_Init(void) /電機初始化以一個較低的速度行駛PWME_PWME3=0x00;PWMPRCLK_PCKB = 0x00;/PWMSCLA=0;/PWMSCLB=1;PWMCLK_PCLK3=0;PWMPOL_PPOL3=0;PWMCAE_CAE3=0;PWMCT

14、L_CON23=1;PWMPER23=1245;PWMDTY23=300;PWME_PWME3=1;/*舵機初始化程序*/void SERVOPWM_Init(void) PWME_PWME5=0; /PWM1通道使能 PWMCTL_CON45=1; /0和1聯(lián)合成16位PWM PWMCLK_PCLK5 = 1; /選擇clock SA作時鐘源 PWMCNT45 = 0; /計數(shù)器清零 PWMPOL_PPOL5=1; /先輸出高電平,計數(shù)到DTY時,反轉(zhuǎn)電平 PWMPRCLK = 0; /clock A不分頻,即clock A=busclok PWMSCLA = 12; /對clock SA進

15、行分頻,PWM clock=clockA/(2*12)=1MHz /PWMPER01 = 3333; /周期為3.3ms;300Hz PWMCAE_CAE5=0; /選擇輸出模式為左對齊輸出模式 PWMPER45 = 20000; /周期為20ms;50Hz /PWMDTY45=2250; /500-2500; PWME_PWME5=1; /PWM1通道使能 /*AD初始化*/void Init_AD_more(void) ATD0DIEN = 0X00; / 禁止數(shù)字輸入 ATD0CTL1_SRES = 2; /選用12位模數(shù)轉(zhuǎn)換 ATD0CTL2 = 0X40; /啟動A/D轉(zhuǎn)換,快速清零

16、,禁止中斷 / Delay(); /延時 ATD0CTL3=0Xa0; / 轉(zhuǎn)換序列長度為4 右對齊 ATD0CTL4 = 0x07; /AD模塊時鐘頻率為2MHz fA=fBUS/(PRS+1)/2 ATD0CTL5=0X30; /多通道,連續(xù)轉(zhuǎn)換,起始通道AD0 AD1,AD2,AD3,/*AD采集*/void AD_get_more(void) while(!ATD0STAT2_CCF0); PORTA_PA0=1; a=ATD0DR0;AD_value1=a; while(!ATD0STAT2_CCF1); PORTA_PA1=1; b=ATD0DR1;AD_value3=b; whi

17、le(!ATD0STAT2_CCF2); PORTA_PA2=1; c=ATD0DR2;AD_value5=c; while(!ATD0STAT2_CCF3); PORTA_PA3=1; d=ATD0DR3;AD_value7=d; /*AD數(shù)據(jù)處理*/void Dir_Ctrl(int AD_value) MaxValue = AD_value1; MaxNum=1; if(AD_value3 >= MaxValue) MaxNum = 3; MaxValue = AD_value3; if(AD_value5 >= MaxValue) MaxNum = 5; MaxValue

18、= AD_value5; if(AD_value7 >= MaxValue) MaxNum = 7; MaxValue = AD_value7; switch(MaxNum) case 1: C1=AD_value1-AD_value3; if(C1>300) LineNum=0; MLine=0; else LineNum=2; MLine=1; break; case 3: C2=AD_value3-AD_value1; if(C2>300) LineNum=4; MLine=3; else LineNum=2; MLine=1; break; case 5: C3=AD

19、_value5-AD_value7; if(C3>300) LineNum=4; MLine=3; else LineNum=6; MLine=2; break; case 7: C4=AD_value7-AD_value5; if(C4<300) LineNum=6; MLine=2; else LineNum=8; MLine=1; break; for(I=0;I<9;I+) if(I>LineNum) NewAD_valueI=-AD_valueI; else NewAD_valueI=AD_valueI; ferror=(1/(float)NewAD_valu

20、e1+1/(float)NewAD_value3+1/(float)NewAD_value5+1/(float)NewAD_value7); error=1000*ferror; if(error>0) error1=1+0.996*error; else if(error<0) error1=0.987*error; else error1=0.5; /*主函數(shù)*/void main(void) Pll_Init(); PWM_Init(); SERVOPWM_Init(); Init_AD_more(); while(1) NowLine=MLine; AD_get_more(); Dir_Ctrl(AD_value); Kacc += error1; if(NowLine<LastLine

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論