一項基于單片機的智能車實時監(jiān)測系統(tǒng)設計-設計應用_第1頁
一項基于單片機的智能車實時監(jiān)測系統(tǒng)設計-設計應用_第2頁
一項基于單片機的智能車實時監(jiān)測系統(tǒng)設計-設計應用_第3頁
一項基于單片機的智能車實時監(jiān)測系統(tǒng)設計-設計應用_第4頁
一項基于單片機的智能車實時監(jiān)測系統(tǒng)設計-設計應用_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯一項基于單片機的智能車實時監(jiān)測系統(tǒng)設計-設計應用引言

本文介紹這樣一種系統(tǒng)設計,目的在于將智能車行駛過程中的各種實時狀態(tài)信息,通過無線串行的通信方式發(fā)送到上位機處理這些信息,于此同時,繪制出各部分狀態(tài)值的關于時間的曲線。通過這些曲線,方便我們看出智能車在賽道上的各個位置的狀態(tài),方便控制各種參數(shù)。尤為重要的是對于電機控制PID參數(shù)的選取,通過速度—時間曲線可以很容易發(fā)現(xiàn)各套PID參數(shù)之間的差異。如果采用CCD傳感器,該系統(tǒng)便成為了調試者的眼睛,可以見智能車之所見,而且還能對這些數(shù)據(jù)作進一步處理,以得到更多的信息,便于智能車的行駛。

1硬件和軟件設計

本文給出的設計方案主要分成三個部分:無線數(shù)據(jù)傳輸系統(tǒng)、車載數(shù)據(jù)采集系統(tǒng)和上位機數(shù)據(jù)處理系統(tǒng)。

系統(tǒng)基本構建如圖1所示。

圖1智能實時監(jiān)測系統(tǒng)結構框圖與流程圖

2無線數(shù)據(jù)傳輸系統(tǒng)

下位機向上位機傳輸?shù)氖且悦?0ms傳輸一組,包含了光電編碼器值、電池電壓、舵機轉角值、傳感器當前狀態(tài)的數(shù)據(jù)。如果是在理想狀態(tài)下,上位機接收到的應是上述各值循環(huán)出現(xiàn)的周期性數(shù)據(jù),此時上位機只需將這些數(shù)據(jù)按照順序裝入各自的數(shù)組并畫圖即可。然而,在實際的無線傳輸過程中可能會出現(xiàn)數(shù)據(jù)丟失的情況。因此適當?shù)臄?shù)據(jù)校驗就顯得十分有必要了,否則會出現(xiàn)數(shù)據(jù)裝入錯誤,造成畫圖混亂。我們在實際過程中是在每組數(shù)據(jù)中加入0x00,0xff的幀頭,當數(shù)據(jù)出現(xiàn)錯誤時,舍棄該幀數(shù)據(jù)。

3車載數(shù)據(jù)采集系統(tǒng)

車載數(shù)據(jù)采集系統(tǒng),加入了單片機的應用,全權負責采集賽車行駛過程中的速度、傳感器狀態(tài)、電池電壓、舵機轉角等信息。為了使監(jiān)測系統(tǒng)不占用單片機的內部資源并且支持熱插拔,我們將監(jiān)測系統(tǒng)(除供電之外)與智能車控制系統(tǒng)相分離。在這里,選擇艾特梅爾公司的ATMEGA16單片機作為該數(shù)據(jù)采集系統(tǒng)的處理器。二值型光電傳感器信號的采集直接使用該單片機的I/O口進行采集,連續(xù)型光電傳感器、電池電壓及CCD攝像頭信號則采用該單片機的A/D口進行采集,速度信息則通過光電編碼器和該單片機的計數(shù)器來采集。采集到的數(shù)據(jù)每20ms向上位機發(fā)送。

4上位機的數(shù)據(jù)接收及處理

上位機主要由以下四個模塊構成:

4.1數(shù)據(jù)接收模塊

功能:上位機通過串口采集下位機發(fā)送的原始數(shù)據(jù)。

實現(xiàn):VC++中實現(xiàn)串口通信一般有二種方式,分別是MSComm控件和WindowsAPI函數(shù)。MSComm簡潔易用,適用于比較簡單的系統(tǒng),WindowsAPI函數(shù)應用較廣但比較復雜繁瑣,由于此模塊的串口通信功能相對簡單,本系統(tǒng)采用前者。在實際過程中使用的是事件驅動的方式,這種方法響應及時,可靠性高,并且比查詢法占用更少的資源。

4.2存儲模塊

功能:直接存儲采集到的原始數(shù)據(jù),為以后更多的分析處理作準備。

如何實現(xiàn):在每個OnComm事件被觸發(fā)后,將串口接收到的數(shù)據(jù)直接存入temp臨時文件,并且可以在用戶的要求下將temp臨時文件里的值存儲到指定文件。

4.3數(shù)據(jù)分析和處理模塊

功能:將采集到的原始數(shù)據(jù)進行用戶選定的分析和處理,主要包括丟棄錯誤數(shù)據(jù),以及去除幀頭并進行數(shù)據(jù)裝入任務,同時也可以對已保存的數(shù)據(jù)進行分析和處理。

如何實現(xiàn):將temp臨時文件或用戶指定文件的數(shù)據(jù)讀出并裝入。

以下為主要程序代碼:

voidCChuankokjDlg::find_data(car_datac_data[],BYTEc_source[],intc_length)

{

inti=0;

while(i{if((c_source[i]==0x00)(c_source[i+1]==0xff)(c_source[i+6]==0x00)(c_source[i+7]==0xff))//判斷幀頭并進行數(shù)據(jù)裝入

{

c_data[length].speed_data=c_source[i+2];

c_data[length].battary_data=c_source[i+3];

c_data[length].direction_data=c_source[i+4];

c_data[length].sensor_data=c_source[i+5];

i=i+1;

}

else

i++;

}

}

4.4圖顯模塊

功能:以圖形界面來顯示處理后的數(shù)據(jù),以便更直觀更實時地觀察智能車的運行情況。

如何實現(xiàn):將上一模塊中裝入的各數(shù)組數(shù)據(jù)在用戶的選擇的模式下進行畫圖,可以只看一幅圖,也可以將四幅圖放在一起進行對比觀看。實際的運行界面及效果如圖2。

圖2圖形顯示介面運行模塊

5

溫馨提示

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

評論

0/150

提交評論