<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于RS-485總線(xiàn)的汽車(chē)四輪定位儀通訊功能的實(shí)現

基于RS-485總線(xiàn)的汽車(chē)四輪定位儀通訊功能的實(shí)現

作者: 時(shí)間:2007-06-21 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要為一分布式計算機測控系統,本文介紹了通過(guò)并利用VB 6.0 ActiveX控件的MSComm控件,中單臺PC機與多臺單片機的。
關(guān)鍵詞;串行;四輪定位;VB;檢測

1、引言
在正常行駛過(guò)程中,應具有轉向操縱輕便和自動(dòng)保持直線(xiàn)行駛的能力,同時(shí)轉向輪應盡可能為純滾動(dòng),以減輕輪胎的磨損及降低燃油消耗。上述要求的通常是通過(guò)轉向輪定位的4個(gè)參數(主銷(xiāo)后傾角、主銷(xiāo)內傾角、車(chē)輪外傾角和前束)來(lái)保證的。由于目前汽車(chē)多數采用前輪轉向,所以轉向輪定位通常稱(chēng)為前輪定位?,F代汽車(chē)不僅前輪具有定位參數,目前許多轎車(chē)后輪也設定了前束、外傾和推力角三項定位參數,其目的是使前、后輪在路面上的運動(dòng)軌跡盡可能重合,既保證了轎車(chē)高速行駛的穩定性和安全性,又有助于減輕輪胎及懸架各零件的磨損。

汽車(chē)運行一定時(shí)間或更換某些零件后,四輪定位參數會(huì )發(fā)生變化,因此需要及時(shí)或定期對車(chē)輛定位參數進(jìn)行檢測,若超過(guò)廠(chǎng)家給定的標準值,便應進(jìn)行調整,以恢復車(chē)輛的行駛穩定性、安全性、燃油經(jīng)濟性,減低輪胎和有關(guān)機件的磨損。

  車(chē)輪定位檢測方式有動(dòng)態(tài)檢測和靜態(tài)檢測兩種方法。動(dòng)態(tài)檢測使用側滑試驗臺,用來(lái)在汽車(chē)運動(dòng)過(guò)程中對汽車(chē)的前輪前束值和車(chē)輪外傾角的匹配情況進(jìn)行檢測。其特點(diǎn)是操作簡(jiǎn)便,速度快,非常適合快速檢測,但不能測出單項車(chē)輪定位值,這種檢測方式在汽車(chē)安檢線(xiàn)或綜檢線(xiàn)上得到了廣泛的應用。靜態(tài)檢測使用,其可以在汽車(chē)靜態(tài)的情況下,測出車(chē)輪的各種定位參數值,是目前應用最廣泛的車(chē)輪定位檢測方式。

目前國內四輪定位儀的形式主要有三種,即拉線(xiàn)式、無(wú)線(xiàn)測量有線(xiàn)傳輸式和全無(wú)線(xiàn)式。拉線(xiàn)式四輪定位儀因操作不方便,影響測量精度的因素較多,目前已基本上被淘汰。全無(wú)線(xiàn)式的特點(diǎn)是采用光學(xué)非接觸式測量,主機與傳感器之間采用無(wú)線(xiàn)信息傳輸,測量精度高,使用方便。無(wú)線(xiàn)測量有線(xiàn)傳輸式同全無(wú)線(xiàn)式的主要區別是采用信號電纜來(lái)傳遞檢測數據,盡管在使用方面不如全無(wú)線(xiàn)式方便,但具有信息傳遞和檢測速度快、可靠,不存在更換電池、電池充電,使用成本低等優(yōu)點(diǎn),目前應用同樣較廣泛。

現代四輪定位儀全部采用微機控制,負責控制和管理任務(wù)的上位機(PC機)通過(guò)現場(chǎng)與負責數據采集任務(wù)的若干個(gè)下位機(單片機)相連,二者組成了一分布式計算機控制和測量系統。通訊系統軟硬件的設計和選擇是四輪定位儀設計的關(guān)鍵技術(shù)之一,對系統的整體性能影響較大。RS-232C 串行通訊接口是PC機的標準配置,接口簡(jiǎn)單,編程方便,但只能用于兩臺微機之間的連接,不能滿(mǎn)足多接點(diǎn)連接的需要。我們采用了目前在工業(yè)測控系統中比較流行的 通訊接口,并通過(guò)VB 6.0的通訊控件MSComm方便的了多臺單片機的集中控制和數據采集,較好的解決了四輪定位儀中的通訊問(wèn)題。

2、四輪定位儀的系統構成
四輪定位儀的系統的構成如圖1所示。 整個(gè)系統由一個(gè)上位機和四個(gè)下位機組成。上位機為PC微型計算機,負責對測量過(guò)程的控制、讀取下位機的檢測數據、數據處理與計算以及結果顯示、存儲、打印及管理等。四個(gè)下位機均由單片機系統組成,單片機采用AT89C51, 用于實(shí)現各車(chē)輪定位角度的測量控制及數據上傳。單片機分別位于左前、左后、右前和右后機頭的殼體內,機頭與卡具相連,測量時(shí)機頭通過(guò)卡具分別固定到汽車(chē)四個(gè)車(chē)輪的輪輞上。整個(gè)系統共采用了十四個(gè)傳感器,其中垂直平面內角度(包括主銷(xiāo)后傾角、主銷(xiāo)內傾角和車(chē)輪外傾角)的測量由六個(gè)精密傾角傳感器實(shí)現(其中前機頭各兩個(gè),后機頭各一個(gè)),八個(gè)PSD(Position Sensitive Detector)光學(xué)傳感器(前后機頭各兩組)用于測量水平平面內車(chē)輪各定位角度。


圖1 四輪定位儀的系統構成

3、系統通訊硬件的實(shí)現
標準的RS-232接口只能用于兩臺計算機之間的連接,PC機的兩個(gè)RS-232接口COM1和COM2最多也只能連接兩個(gè)單片機,若再擴展一塊串行通訊卡,使得四個(gè)串口分別與四個(gè)下位機相連,則不但價(jià)格高,而且結構也較復雜。為此采用了目前在分布式工業(yè)測控系統中比較流行的RS-485。與RS-232相比RS-485接口具有以下特點(diǎn):

(1)接口電平比RS-232 C接口低,不易損壞接口電路的芯片,且電平與TTL電平兼
容,可方便與TTL電路連接。
(2)數據傳送速率高,波特率高達10Mbps。
(3)采用平衡驅動(dòng)器和差分接收器,抗共模干擾能力強,即抗噪聲干擾性好。
(4)傳輸距離遠,最大傳輸距離為4000英尺。
(5)總線(xiàn)上可以連接多達256個(gè)收發(fā)器,即具有多站能力,用戶(hù)可以利用單一的RS-485接口方便的建立起通訊網(wǎng)絡(luò )。

在本系統中PC機通過(guò)RS-232接口,經(jīng)RS-232/RS-485轉換模塊與四個(gè)機頭相連,每個(gè)機頭的單片機也經(jīng)RS-485接口模塊掛在總線(xiàn)上,并都被賦于各自的通訊地址碼以識別身份。單片機所用的RS-485收發(fā)器為美信公司的MAX3082,這是一種高速,具有失效保護和限擺率功能的收發(fā)器芯片。這樣上位PC機便能通過(guò)RS-485總線(xiàn)與每個(gè)機頭的單片機進(jìn)行通訊,實(shí)現對定位參數的數據采集與過(guò)程控制。

4、系統通訊功能軟件的實(shí)現
4.1 系統的通訊方式

PC計算機與各機頭之間的通訊采用半雙工方式,通訊波特率為9600bps,通訊格式為:1位起始位,8位數據位,無(wú)奇偶校驗,1位停止位,每個(gè)機頭被賦予唯一的本機地址。主機通過(guò)發(fā)送命令幀啟動(dòng)一次通訊和數據采集,從機接收到命令幀后,判斷呼叫地址是否和本機地址相同,若相同,則根據命令字執行相應的數據采集并將檢測結果通過(guò)數據幀傳給主機;若不同,則根據地址和命令字判斷是否發(fā)射紅外測量光。命令幀的格式如下:


第一項為幀頭(STX),用以標志一幀的開(kāi)始;第二項為從機地址碼(ADDR);第三項命令字表示機頭回傳的數據內容或本次檢測內容,第四項FCS為異或校驗,為前面數據的異或校驗和用于通訊校錯。

數據幀的格式如下:

數據幀與命令幀除第三項外,其它意義相同,數據幀的第三部?jì)热菔菑臋C根據主機發(fā)出的命令幀向主機發(fā)出的定位參數檢測數據。

4.2 VB6.0的MSComm控件及串行通訊控制的實(shí)現

VB6.0提供了一個(gè)ActiveX控件――Microsoft Communication Control,Version 6.0,稱(chēng)為MSComm控件,利用它可以方便地進(jìn)行計算機串口的通訊管理。MSComm控件有許多與串口有關(guān)的屬性,這里不再做詳細介紹。

串口接收到信息時(shí)MSComm 控件提供兩種處理方法,一種為查詢(xún)方式,另一種為事件響應方式,即利用SetCommEvent()函數設置串口響應事件。當響應事件發(fā)生時(shí),系統會(huì )激活OnComm()事件。在OnComm()事件中添加用戶(hù)處理代碼,則可實(shí)現類(lèi)似中斷的串口事件處理,本系統采用了事件響應方式。

PC機通訊軟件的任務(wù)是控制檢測過(guò)程并讀取和處理車(chē)輪定位參數實(shí)時(shí)數據。接收和發(fā)送數據采用文本格式,主機呼叫從機無(wú)應答時(shí),設有報警提示功能。以下給出了控件初始化和發(fā)送命令的部分源代碼。

(1)控件的初始化:
MSComm1.CommPort=2 ’選用COM2口通訊
MSComm1.Setting=“9600,N,8,1 ” ’設置通訊參數
MSComm1.Inputlen=0 ’讀取緩沖區全部?jì)热?BR>MSComm1.InBufferSize=50 ’設置接收緩沖區大小
MSComm1.OutBufferSize=20 ’設置發(fā)送緩沖區大小
MSComm1.InputMode=comInputModeText ’以文本形式接收數據
MSComm1.PortOpen=True ’打開(kāi)通訊端口
MSComm1.InBufferCount=0 ’清除接收緩沖區
MSComm1.OutbufferCount=0 ’清除發(fā)送緩沖區

(2)命令的發(fā)送(以前輪前束為例):
Dim Command, node, c, f As string
Dim i, fcs As integer
node=”01” ’節點(diǎn)號,表示右前機頭
Command=”FT” ’ 前輪前束檢測
c=”@”+node+Command
fcs=0
For i=1 To Len(c)
fcs=fcs Xor Asc(Mid$(c,i,1)) ’ 幀校驗碼FCS
Next i
f=Hex$(fcs)
if Len(f)=1 Then f=”0”+f
MSComm1.Output=c+f

5、結論
通過(guò)RS-485總線(xiàn)并利用VB6.0下的ActiveX控件實(shí)現了汽車(chē)四輪定位儀中主機PC機與多個(gè)從機之間的通訊,實(shí)踐證明本系統的通訊功能運行可靠,設計合理。

參考文獻
[1] 精英科技譯. 串行端口大全[M]. 中國電力出版社. 2001
[2] 龔沛曾, 陸慰民, 揚志強. Visual Basic 程序設計教程(6.0版)[M]. 高等教育出版社. 2000
[3] 鄒宗峰, 裴仁清. 用VB實(shí)現OMRON系列PLC與微機的通訊[J]. 機電一體化. 2001,(1):59-60.



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>