雙核多接口的智能汽車控制系統(tǒng)設計_第1頁
雙核多接口的智能汽車控制系統(tǒng)設計_第2頁
雙核多接口的智能汽車控制系統(tǒng)設計_第3頁
雙核多接口的智能汽車控制系統(tǒng)設計_第4頁
雙核多接口的智能汽車控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 雙核多接口的智能汽車控制系統(tǒng)設計 系統(tǒng)基本構建如圖1所示,包括傳感器信號采集處理、動力電機驅動、轉向舵機控制以及控制算法軟件開發(fā)等。 雙核的引入 在智能車的設計之初,我們分析認為,在基于光電傳感器的智能車設計系統(tǒng)中重要的是信號的完整性,即通過傳感器獲得賽道信息和車的位置信息越多越好。通過比較8位和16位單片機的接口數(shù)目與性能要求,本設計決定使用兩片8位微控制器MC9S08DZ60作為控制單元。 雙核間通信接口SPI 在車輛運行過程中,三種傳感器的信息需要由控制器來采集,分別是光電傳感器、速度傳感器、角速度傳感器。由于角速度傳感器需要有一個準確的采樣周期,我們使用

2、單片機的內(nèi)部定時器產(chǎn)生一個1.2ms的時間基準。在這個1.2ms的周期里執(zhí)行對三種傳感器的數(shù)據(jù)采集,當定時器的溢出中斷時執(zhí)行SPI的數(shù)據(jù)發(fā)送程序。SPI是一種高速、全雙工、同步的通信總線,并且在芯片的引腳上只占用四根線,分別是mosi,miso,sck,ss。我們使用1MHz的數(shù)據(jù)傳輸速度,使用3個字節(jié)來發(fā)送傳感器的數(shù)據(jù),兩個字節(jié)發(fā)送速度傳感器和角速度傳感器的數(shù)據(jù)。 控制系統(tǒng)與上位機的通信接口SCI 車輛在行駛過程中的運行狀況,是無法直接通過觀察來得到的,所以我們使用上位機系統(tǒng)來開展實時監(jiān)控。使用wap200b無線串口模塊來發(fā)送數(shù)據(jù),模塊使用 3.0V供電,內(nèi)置高速MCU,數(shù)據(jù)傳輸準確率高。單

3、片機與模塊間通訊使用標準串口,將其設置為115200波特率、8位數(shù)據(jù)位、1位停止位、無奇偶校驗。通訊共發(fā)送7個數(shù)據(jù)。首先發(fā)送兩個數(shù)據(jù)作為握手信號分別是0 x00和0 xFF,之后使用3個字節(jié)的數(shù)據(jù)發(fā)送傳感器信息,1個字節(jié)數(shù)據(jù)發(fā)送角度信息,1個字節(jié)數(shù)據(jù)發(fā)送速度信息,一位保存位做以后擴展使用,發(fā)送0 x00。 鍵盤與主控芯片的通信接口I2C 車輛在實際調試時有許多參數(shù)需要不停的調試,如PID參數(shù)車輛的轉角及速度等。設置不同的參數(shù)時如果每次都重新程序的話會費時費力,所以在這里我們使用鍵盤來輸入車輛行駛時的參數(shù)。鍵盤控制芯片HD7279是一片具有串行接口的,可同時驅動8位共陰極數(shù)碼管(或64只獨立的L

4、ED)的智能顯示驅動芯片,該芯片同時還可連接多達64鍵的鍵盤矩陣,單片即可完成LED顯示、鍵盤接口的全部功能。 我們使用單片機的4個I/O口來操作HD7279,分別為CS、CLK、DATA、KEY 。在這里我們可以通過鍵盤來設置一些參數(shù),如PID的Kp、Ki、Kd參數(shù),直線及彎道的速度等。 A/D模塊在采集角速度中的應用 本系統(tǒng)中A/D轉換模塊主要用于采集陀螺儀的輸出值。由于模擬陀螺造價比較低,而在車??刂葡到y(tǒng)中對角度精度的要求不是很高,所以使用模擬陀螺對車身姿態(tài)開展實時校正。MC9S08DZ60內(nèi)部集成了12位數(shù)模轉換通道。由于模擬陀螺輸出信號范圍為05V,這樣單片機的參考電壓為+5V,由高

5、精度穩(wěn)壓模塊單獨供電,確保轉換的精度。對A/D轉換后的數(shù)據(jù)處理程序如下: void Gyro_Process(void) if(Gyro_Start = 1) unsigned int Max,Min,i,Value; signed long Sum; Gyro_Data_Num = 0; while(Gyro_Data_Num Value) Min=Value; Sum= Sum-Max-Min ; SUM_Test = Sum; CarAngel_V=(signed long)(Sum/10)- (signed long)Gyro_MidValue)*10000)16); /限幅處理/ i

6、f(CarAngel_V 0) CarAngel_V = (CarAngel_V * 1013) / 1000; if(CarAngel_V32767) CarAngel_V=32767; if(CarAngel_V-32767) CarAngel_V=-32767; if(Gyro_Calibration_Flag = 1) CarAngelRate = (unsigned int) (CarAngel_V + 32767); else CarAngelRate = 32767; TPM模塊在伺服電機中的應用 MC9S08DZ60 擁有8路獨立的PWM通道,可以獨立配置PWM的頻率和占空比,

7、頻率為總線時鐘頻率20MHz,可以滿足對舵機和電機的控制。同時此模塊還有兩路計數(shù)器模塊,可以采集碼盤返回的電機速度值,以便用于速度閉環(huán)控制。其中電機控制中的PWM初始化如下: void Motor_init(void) TPM2SC = 0 x00; /* Stop and reset counter */ TPM2MOD = VV_MAX;/15khz /* Period value setting */ (void)(TPM2C0SC = 0); /* Channel 0 int. flag clearing (first part) */ /* TPM2C0SC: CH0F=0,CH0I

8、E=0,MS0B=1,MS0A=0,ELS0B=0,ELS0A=4 */ TPM2C0SC = 0 x24; /* Int. flag clearing (2nd part) and channel 0 contr. register setting */ TPM2C0V = VV_MAX/2; /50%占空比 /* Compare 0 value setting */ (void)(TPM2SC = 0); /* OveRFlow int. flag clearing (first part) */ /* TPM2SC: TOF=0,TOIE=0,CPWMS=0,CLKSB=0,CLKSA=1,PS2=0,PS1=0,PS0=0 */ TPM2SC = 0 x08; /* Int. flag clearing (2nd part) and timer control register setting */ 普通I/O接口的應用 MC9S08DZ60單片機的普通I/O口操作可以用于邏輯控制、顯示控制、信息采集等,其中對各個引腳的配置也比較簡單,需要配置方向存放器PTXDD、上拉使能存放器PTXPE,壓擺率存放器PTXSE及數(shù)據(jù)存放器PTXD,以A口為例: Int_A() PTADD=0X00;/作為輸入 PTAPE=0X

溫馨提示

  • 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

提交評論