<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 智能車運動狀態(tài)實時監(jiān)測系統(tǒng)的設計及實現(xiàn)

          智能車運動狀態(tài)實時監(jiān)測系統(tǒng)的設計及實現(xiàn)

          ——
          作者:北京科技大學 艾寧 譚啟寅 馬文軍 李宗洋 時間:2007-09-07 來源:電子產(chǎn)品世界 收藏

          系統(tǒng)功能及應用

          本系統(tǒng)主要完成將智能車行駛過程中的各種狀態(tài)信息(如傳感器亮滅,車速,舵機轉角,電池電量等)實時地以無線串行通信方式發(fā)送至上位機處理,并繪制各部分狀態(tài)值關于時間的曲線。有了這些曲線就不難看出智能車在賽道各個位置的狀態(tài),各種控制參數(shù)的優(yōu)劣便一目了然了。尤為重要的是對于電機控制PID參數(shù)的選取,通過速度—時間曲線可以很容易發(fā)現(xiàn)各套PID參數(shù)之間的差異。對于采用CCD傳感器的隊伍來說,該系統(tǒng)便成為了調(diào)試者的眼睛,可以見智能車之所見,相信對編寫循線算法有很大幫助。而且還可以對這些數(shù)據(jù)作進一步處理,例如求取一階導數(shù),以得到更多的信息。

          系統(tǒng)的硬、軟件設計

          設計方案主要分成三部分:車載數(shù)據(jù)采集系統(tǒng),無線數(shù)傳系統(tǒng),上位機數(shù)據(jù)處理系統(tǒng)。系統(tǒng)基本構建如圖1所示。

          圖1智能實時結構框圖與流程圖

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

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

          無線數(shù)傳系統(tǒng)

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

          數(shù)據(jù)的無線收發(fā)部分采用的是SUNRAY公司的QC96型無線收發(fā)模塊,該模塊可以收發(fā)波特率為9600bps的串行數(shù)據(jù),距離可達100m。

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

          上位機部份主要由四個模塊構成:



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();