新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 電動(dòng)助力轉(zhuǎn)向系統(tǒng)(EPS)數(shù)據(jù)采集的實(shí)現(xiàn)

電動(dòng)助力轉(zhuǎn)向系統(tǒng)(EPS)數(shù)據(jù)采集的實(shí)現(xiàn)

作者: 時(shí)間:2010-04-26 來源:網(wǎng)絡(luò) 收藏

1 前言

  系統(tǒng)已成為現(xiàn)代汽車發(fā)展的必然趨勢(shì)。只有精確實(shí)時(shí)的采集到車輛轉(zhuǎn)角數(shù)據(jù),助力轉(zhuǎn)向系統(tǒng)才能根據(jù)這些數(shù)據(jù)采用各種先進(jìn)的算法來控制助力電機(jī)的轉(zhuǎn)動(dòng)。所以說,車輛轉(zhuǎn)角數(shù)據(jù)的采集是系統(tǒng)的重要組成部分。此文章詳細(xì)的講述了系統(tǒng)。

2

  系統(tǒng)主要由計(jì)算機(jī),A/D轉(zhuǎn)換板,數(shù)字量信號(hào)輸入/輸出板,傳感器以及信號(hào)處理裝置等組成,基本的結(jié)構(gòu)如圖1所示。試驗(yàn)臺(tái)傳感器所輸出的信號(hào)一共有兩種,一種是模擬信號(hào),另外一種是數(shù)字信號(hào)。而計(jì)算機(jī)只能對(duì)數(shù)字量進(jìn)行處理,為了能使計(jì)算機(jī)處理或存儲(chǔ)模擬信號(hào),就必須將其轉(zhuǎn)換為數(shù)字量,因此模擬信號(hào)的采集主要通過A/D板進(jìn)行轉(zhuǎn)換,然后輸入計(jì)算機(jī)中進(jìn)行處理;數(shù)字信號(hào)(光電編碼器輸出的脈沖信號(hào))的采集是南數(shù)字信號(hào)輸入輸出處理板來完成。

圖1數(shù)據(jù)采集硬件系統(tǒng)

2.1 數(shù)據(jù)采集卡(A/D)-HY-1232A/D板

  HY-1232板是一種IBM-PC XT/AT總線兼容A/D,D/A板,具有32路單端模擬輸入通道,12Bit分辨率,模擬輸入電壓范圍,雙極性為-5V,+5V,單極性為0,+5V。數(shù)據(jù)傳輸方式采用查詢方式和中斷方式,而且可以直接插入到計(jì)算機(jī)的任一總線擴(kuò)展槽中,構(gòu)成計(jì)算機(jī)數(shù)據(jù)采集的控制系統(tǒng)。HY一1232的A/D轉(zhuǎn)換采用觸發(fā)方式,在程序中首先向該板寫入模擬通道,A/D板將自動(dòng)對(duì)該通道進(jìn)行A/D轉(zhuǎn)換。在程序中讀入A/D完成標(biāo)志位即可判斷轉(zhuǎn)換是否完成。當(dāng)A/D完成位為‘1’時(shí),則A/D轉(zhuǎn)換已完成。

2.2 HY-6160數(shù)字量信號(hào)輸入輸出板

  HY-6160板有32個(gè)數(shù)字量輸入通道,32個(gè)數(shù)字量輸出通道和一個(gè)外部事件中斷通道。每個(gè)輸入或輸出通道為一組,占用一個(gè)地址。數(shù)字量輸入/輸出信號(hào)電平與TTL電平兼容。中斷申請(qǐng)信號(hào)為TTL電平。數(shù)字量輸出通道上電清零。光電編碼器將轉(zhuǎn)向盤的轉(zhuǎn)角轉(zhuǎn)換為電脈沖輸入給數(shù)字信號(hào)輸入輸出板,通過計(jì)算脈沖數(shù)的大小即町獲得轉(zhuǎn)向盤轉(zhuǎn)過的角度。

2.3 傳感器

2.3.1 扭矩傳感器

  扭矩傳感器主要測(cè)量轉(zhuǎn)向盤輸出扭矩的大小和方向,然后將其轉(zhuǎn)化為相應(yīng)的電壓值傳送給控制器的ECU。扭矩是作為EPS系統(tǒng)控制策略的重要依據(jù),直接會(huì)影響到控制效果的好壞,因此扭矩傳感器也被作為重點(diǎn)對(duì)像進(jìn)行研究和開發(fā)。本試驗(yàn)臺(tái)選用的傳感器為電位計(jì)式扭矩傳感器。

2.3.2 霍爾電流傳感器

  霍爾元件是一種磁電轉(zhuǎn)換器件,能把磁場(chǎng)信號(hào)轉(zhuǎn)換為電信號(hào),當(dāng)霍爾器件H處于磁感應(yīng)強(qiáng)度為B的磁場(chǎng)中時(shí),在H(由半導(dǎo)體材料制成的薄片)縱向通過控制電流I,將引起薄片兩邊載流子數(shù)量的變化,因而產(chǎn)生一個(gè)電勢(shì)差,即霍爾電壓曲,Un=K/d*k*B

  式中:K為所用材料的霍爾常數(shù);d為薄片厚度;IC為控制電流;B為磁感應(yīng)強(qiáng)度。

  本試驗(yàn)臺(tái)中電流傳感器型號(hào)是CS500B(南京茶花港聯(lián)傳感測(cè)控技術(shù)有限公司)。

3 數(shù)據(jù)采集軟件總體設(shè)計(jì)

  本試驗(yàn)臺(tái)的數(shù)據(jù)采集軟件系統(tǒng)采用VB作為編程語言,使用模塊化結(jié)構(gòu)。軟件的主體功能主要包括數(shù)據(jù)采集,數(shù)據(jù)存儲(chǔ)與處理,數(shù)據(jù)實(shí)時(shí)顯示,坐標(biāo)設(shè)定,實(shí)時(shí)曲線顯示等。駕駛員作用在方向盤上的扭矩由扭矩傳感器輸入到計(jì)算機(jī)內(nèi)的A/D板,A/D板將此模擬信號(hào)再轉(zhuǎn)換為數(shù)字信號(hào),通過采集軟件進(jìn)行存儲(chǔ)等操作;電流傳感器輸出模擬電流信號(hào)和扭矩信號(hào)一樣都進(jìn)入A/D板進(jìn)行轉(zhuǎn)換;安裝在方向盤上的光電編碼器將脈沖信號(hào)輸入到計(jì)算機(jī)內(nèi)的計(jì)數(shù)板上,由采集軟件通過計(jì)算脈沖數(shù)的大小來得到方向盤的轉(zhuǎn)角。軟件中除了基本的數(shù)據(jù)保存等功能外,還有實(shí)時(shí)數(shù)據(jù)顯示,實(shí)時(shí)曲線顯示,通過軟件叮以直接看到系統(tǒng)工作過程中扭矩、電流、方身盤轉(zhuǎn)角的大小,還可以觀察它們之間的關(guān)系。圖2為軟件的結(jié)構(gòu)框圖。

圖2數(shù)據(jù)采集軟件結(jié)構(gòu)框圖

3.1 Visual BASIC對(duì)底層硬件的訪問

  現(xiàn)實(shí)中經(jīng)常會(huì)對(duì)控制系統(tǒng)進(jìn)行數(shù)據(jù)采集或者發(fā)送控制命令,都要求對(duì)底層的硬件進(jìn)行操作,但是Visual BASIC沒有提供直接訪問底層硬件的控件和方法,只能通過調(diào)用動(dòng)態(tài)鏈接庫DLL或者使用AetiveX控件來讀寫存儲(chǔ)器單元、端口,甚至控制硬件中斷。下面主要介紹使用Visual c++6.0編寫數(shù)據(jù)采集函數(shù)的動(dòng)態(tài)鏈接庫DLL的過程。

  動(dòng)態(tài)鏈接庫雖然是一個(gè)可執(zhí)行模塊,但它并不能直接運(yùn)行,它只是提供一組函數(shù)供Windows應(yīng)用程序或其他動(dòng)態(tài)鏈接庫調(diào)用,以完成其特殊任務(wù)。在使用Visual c++6.0創(chuàng)建DLL后會(huì)生成三個(gè)文件,*.cpp,stdafx.cpp,stdafx.h,只需在stdafx.cpp中將程序入口函數(shù)DLLMain()補(bǔ)全,加入自定義的功能函數(shù),并新建*.DEF模塊定義文件,將自定義的功能函數(shù)在此文件中一一輸出。其中,DllMain函數(shù)是Win32 DLL的入口和出口點(diǎn)。在每次裝入或卸載DLL時(shí),Windows 9x調(diào)用該函數(shù),主要用來完成一些初始化任務(wù),或在DLL卸載之前,Windows調(diào)用該函數(shù)做一些必要的釋放資源等清除工作。值得注意的是,DLL的調(diào)用約定共有4種方式:_fastcall、_pascal、_stdcall、_cdecl,vc++默認(rèn)調(diào)用方式為_cdecl,而VB默認(rèn)調(diào)用方式則為_stdcaU,因此必須限定調(diào)用方式,即將函數(shù)定義為如下格式:

  extern“C" _declspec(dllexport)函數(shù)返回?cái)?shù)據(jù)類型>_std-call函數(shù)名[參數(shù)列表]。

  只有做這樣的限定后,生成的DLL庫才不會(huì)出現(xiàn)錯(cuò)誤。

3.2利用VB調(diào)用動(dòng)態(tài)鏈接庫

  在VB中調(diào)用動(dòng)態(tài)鏈接庫之前,VB要求必須在窗體或模塊的聲明中定義所要調(diào)用的函數(shù),否則VB不能識(shí)別所調(diào)用的動(dòng)態(tài)鏈接庫。

  如果調(diào)用的動(dòng)態(tài)鏈接庫中的函數(shù)無返回值,則將其聲明為過程:

  Declare Sub 過程名 lib“.DLL庫名” (Byval參數(shù)As類型)

  如果調(diào)用的動(dòng)態(tài)鏈接庫中的函數(shù)有返回值,則將其聲明為函數(shù):

  Declare Function 函數(shù)名 lib“.DLL庫名” (Byval參數(shù)As類型) a8類型

  具體到本數(shù)據(jù)采集系統(tǒng)的端口操作函數(shù)及A/D轉(zhuǎn)換函數(shù),其聲明方式如下:

  


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉