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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于PC機與單片機的電子油門檢測系統(tǒng)設計

          基于PC機與單片機的電子油門檢測系統(tǒng)設計

          作者: 時間:2011-11-16 來源:網(wǎng)絡 收藏

            單信號檢測功能主要是檢測主信號電壓SIG1的同步度,線性度等是否在設定范圍之內(nèi)。單信號加開關量檢測是在單信號檢測的基礎上增加了開關量的檢測,具體如圖3所示。

            雙信號檢測主要是檢測兩路電壓信號SIG1和SIG2的同步度和線性度是否在設定的范圍之內(nèi),保證實測信號曲線在理想信號曲線之間。另外,對空行程的怠速電壓等也有具體的檢測規(guī)定,這里依據(jù)油門類型的不同,分別進行其標準的設定。雙信號加開關量檢測主要是在上述雙信號檢測基礎上增加了一個開關量檢測,在設定電壓范圍內(nèi)檢測開關電壓的高低變化,進而判斷其正確性,具體如圖4所示。

            2 系統(tǒng)通信協(xié)議

            此系統(tǒng)采用串口通信協(xié)議,波特率默認設置為9 600 b/s,此項可調節(jié)。設定字符格式為1個起始位,8個數(shù)據(jù)位和2個停止位,中間8位即為有效數(shù)據(jù)。

            上位機發(fā)出指令格式:0xAA+指令+校驗碼(和為0校驗)。指令內(nèi)容為單次測試指令:0x91;循環(huán)測試指令:0x92;測試結束:0x94。

            每個單次測試下位機發(fā)出數(shù)據(jù)格式為:6個0xBB字節(jié)作為數(shù)據(jù)的開始標志,中間為采集的實時數(shù)據(jù)(數(shù)據(jù)分組發(fā)送,一個循環(huán)一組數(shù)據(jù),每組數(shù)據(jù)以角度遞增 O.5度為一個值),最后為6個0xCC字節(jié)作為數(shù)據(jù)的結束標志。數(shù)據(jù)內(nèi)容為10位A/D采集的原始值,基準電壓5 V。中間具體采集的實時數(shù)據(jù)格式為數(shù)據(jù)類型(6個二進制位)+數(shù)據(jù)內(nèi)容(10個二進制位)。部分數(shù)據(jù)類型具體定義見表1所示。

            

          數(shù)據(jù)類型具體定義

            3 系統(tǒng)軟件的實現(xiàn)

            3.1 主要功能模塊的軟件實現(xiàn)

            系統(tǒng)由上位機軟件和下位機軟硬件兩部分組成。下位機軟件用C語言編寫,具體的硬件設計電路和軟件編程部分這里不再詳細說明。上位機軟件由三個主要功能模塊構成,它們是油門通信模塊、參數(shù)設置模塊、信息管理模塊,總體設計流程如圖5所示。首先進行系統(tǒng)初始化,包括串口通信初始化、產(chǎn)品參數(shù)設置初始化(讀取后臺數(shù)據(jù)庫中的第一條記錄作為默認設置數(shù)據(jù)),等待上位機發(fā)送檢測命令,下位機依據(jù)協(xié)議驗證后傳送實時信號檢測數(shù)據(jù),同時顯示實時信號曲線,然后依據(jù)設置條件判斷該產(chǎn)品合格否,并將結果進行存儲等后期處理。

            

          總體設計流程

            在通信模塊中,直接采用微軟通信控件MSComm??紤]到串口收發(fā)數(shù)據(jù)的速度,這里的程序在處理實時數(shù)據(jù)時采用先接收、后處理的方法,防止串口通信實時數(shù)據(jù)的丟失,具體程序實現(xiàn)流程如圖6所示。



          評論


          相關推薦

          技術專區(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); })();