當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]本文介紹了通過(guò)RS-485總線并利用VB 6.0 ActiveX控件的MSComm通訊控件,實(shí)現(xiàn)了汽車四輪定位儀中單臺(tái)PC機(jī)與多臺(tái)單片機(jī)的通訊功能。

摘要汽車四輪定位儀為一分布式計(jì)算機(jī)測(cè)控系統(tǒng),本文介紹了通過(guò)RS-485總線并利用VB 6.0 ActiveX控件的MSComm通訊控件,實(shí)現(xiàn)了汽車四輪定位儀中單臺(tái)PC機(jī)與多臺(tái)單片機(jī)的通訊功能。
關(guān)鍵詞:RS-485;串行通訊;四輪定位;VB;檢測(cè)
   
1、引言
    汽車在正常行駛過(guò)程中,應(yīng)具有轉(zhuǎn)向操縱輕便和自動(dòng)保持直線行駛的能力,同時(shí)轉(zhuǎn)向輪應(yīng)盡可能為純滾動(dòng),以減輕輪胎的磨損及降低燃油消耗。上述要求的實(shí)現(xiàn)通常是通過(guò)轉(zhuǎn)向輪定位的4個(gè)參數(shù)(主銷后傾角、主銷內(nèi)傾角、車輪外傾角和前束)來(lái)保證的。由于目前汽車多數(shù)采用前輪轉(zhuǎn)向,所以轉(zhuǎn)向輪定位通常稱為前輪定位?,F(xiàn)代汽車不僅前輪具有定位參數(shù),目前許多轎車后輪也設(shè)定了前束、外傾和推力角三項(xiàng)定位參數(shù),其目的是使前、后輪在路面上的運(yùn)動(dòng)軌跡盡可能重合,既保證了轎車高速行駛的穩(wěn)定性和安全性,又有助于減輕輪胎及懸架各零件的磨損。

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

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

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

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

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


圖1 四輪定位儀的系統(tǒng)構(gòu)成

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

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

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

4、系統(tǒng)通訊功能軟件的實(shí)現(xiàn)
4.1 系統(tǒng)的通訊方式

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


    第一項(xiàng)為幀頭(STX),用以標(biāo)志一幀的開(kāi)始;第二項(xiàng)為從機(jī)地址碼(ADDR);第三項(xiàng)命令字表示機(jī)頭回傳的數(shù)據(jù)內(nèi)容或本次檢測(cè)內(nèi)容,第四項(xiàng)FCS為異或校驗(yàn),為前面數(shù)據(jù)的異或校驗(yàn)和用于通訊校錯(cuò)。

    數(shù)據(jù)幀的格式如下:

    數(shù)據(jù)幀與命令幀除第三項(xiàng)外,其它意義相同,數(shù)據(jù)幀的第三部?jī)?nèi)容是從機(jī)根據(jù)主機(jī)發(fā)出的命令幀向主機(jī)發(fā)出的定位參數(shù)檢測(cè)數(shù)據(jù)。

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

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

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

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

(1)控件的初始化:
MSComm1.CommPort=2   ’選用COM2口通訊
MSComm1.Setting=“9600,N,8,1 ”  ’設(shè)置通訊參數(shù)
MSComm1.Inputlen=0   ’讀取緩沖區(qū)全部?jī)?nèi)容
MSComm1.InBufferSize=50  ’設(shè)置接收緩沖區(qū)大小
MSComm1.OutBufferSize=20  ’設(shè)置發(fā)送緩沖區(qū)大小
MSComm1.InputMode=comInputModeText  ’以文本形式接收數(shù)據(jù)
MSComm1.PortOpen=True  ’打開(kāi)通訊端口
MSComm1.InBufferCount=0  ’清除接收緩沖區(qū)
MSComm1.OutbufferCount=0  ’清除發(fā)送緩沖區(qū)
  
(2)命令的發(fā)送(以前輪前束為例):
  Dim Command, node, c, f  As string
  Dim i, fcs  As integer
      node=”01”        ’節(jié)點(diǎn)號(hào),表示右前機(jī)頭
Command=”FT”    ’ 前輪前束檢測(cè)
c=”@”+node+Command
fcs=0
For i=1 To Len(c)
      fcs=fcs Xor Asc(Mid$(c,i,1))   ’ 幀校驗(yàn)碼FCS
Next i
f=Hex$(fcs)
if Len(f)=1 Then f=”0”+f
MSComm1.Output=c+f

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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉