国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電動助力轉向系統(EPS)數據采集的實現

發布時間:2010-3-30 10:57    發布者:我芯依舊
關鍵詞: EPS , 電動 , 數據采集 , 系統
1 前言

電動助力轉向系統已成為現代汽車發展的必然趨勢。只有精確實時的采集到車輛轉角數據,助力轉向系統才能根據這些數據采用各種先進的算法來控制助力電機的轉動。所以說,車輛轉角數據的采集是電動助力轉向系統的重要組成部分。此文章詳細的講述了電動助力轉向系統數據采集的硬件和軟件。

2 數據采集硬件

數據采集硬件系統主要由計算機,A/D轉換板,數字量信號輸入/輸出板,傳感器以及信號處理裝置等組成,基本的結構如圖1所示。試驗臺傳感器所輸出的信號一共有兩種,一種是模擬信號,另外一種是數字信號。而計算機只能對數字量進行處理,為了能使計算機處理或存儲模擬信號,就必須將其轉換為數字量,因此模擬信號的采集主要通過A/D板進行轉換,然后輸入計算機中進行處理;數字信號(光電編碼器輸出的脈沖信號)的采集是南數字信號輸入輸出處理板來完成。


圖1數據采集硬件系統

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

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

2.2 HY-6160數字量信號輸入輸出板

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

2.3 傳感器

2.3.1 扭矩傳感器

扭矩傳感器主要測量轉向盤輸出扭矩的大小和方向,然后將其轉化為相應的電壓值傳送給控制器的ECU。扭矩是作為EPS系統控制策略的重要依據,直接會影響到控制效果的好壞,因此扭矩傳感器也被作為重點對像進行研究和開發。本試驗臺選用的傳感器為電位計式扭矩傳感器。

2.3.2 霍爾電流傳感器

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

式中:K為所用材料的霍爾常數;d為薄片厚度;IC為控制電流;B為磁感應強度。

本試驗臺中電流傳感器型號是CS500B(南京茶花港聯傳感測控技術有限公司)。

3 數據采集軟件總體設計

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


圖2數據采集軟件結構框圖

3.1 Visual BASIC對底層硬件的訪問

現實中經常會對控制系統進行數據采集或者發送控制命令,都要求對底層的硬件進行操作,但是Visual BASIC沒有提供直接訪問底層硬件的控件和方法,只能通過調用動態鏈接庫DLL或者使用AetiveX控件來讀寫存儲器單元、端口,甚至控制硬件中斷。下面主要介紹使用Visual c++6.0編寫數據采集函數的動態鏈接庫DLL的過程。

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

extern“C" _declspec(dllexport)<函數返回數據類型>_std-call函數名[參數列表]。

只有做這樣的限定后,生成的DLL庫才不會出現錯誤。

3.2利用VB調用動態鏈接庫

在VB中調用動態鏈接庫之前,VB要求必須在窗體或模塊的聲明中定義所要調用的函數,否則VB不能識別所調用的動態鏈接庫。

如果調用的動態鏈接庫中的函數無返回值,則將其聲明為過程:

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

如果調用的動態鏈接庫中的函數有返回值,則將其聲明為函數:

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

具體到本數據采集系統的端口操作函數及A/D轉換函數,其聲明方式如下:

Declare Sub Outport Lib "vbio.dll" (ByVal portID As Integer,
ByVal nByte As Integer)
Declare Function Inport Lib "vbio.dll" (ByVal portlD As Integer)
As Integer
Declare Function Getval Lib "EPS.dll" (ByVal portID As Integer)As Single

在這樣聲明之后,函數Output、Input、Getval才可以像使用VB本身自帶的函數那樣在需要時進行直接調用。

3.3 VB中高精度定時數據的采集

在電動助力轉向臺架試驗的過程中,所有的扭矩,電流,角度,齒條位移等都是按照準確的物理時間來采集,并且記錄在數據文件中。

實時數據的采集過程需要用到定時器,定時器的精度必須能夠滿足實時采樣和數字濾波的要求。本試驗臺利用Windows API函數實現精確記時的方法,即利用高性能頻率記數法。利用這種方法需要使用兩個API函數:QueryPerformaneeFrequency和QueryPerPerformanceCounter。

(1) QueryPerformaneeFrequeney函數:獲得高性能頻率記數器的震蕩頻率,該函數的定義如下:

Private Declare Function QueryPerformaneeFrequeney Lib "kernel32"_
(lpFrequency As LARGE_INTEGER) As Long

函數中的數據結構LARGE_INTEGER定義如下:

Type LARGE_INTEGER
lowpart As Long
highpart As Long
EndType

調用該函數后,函數會將系統頻率記數器的震蕩頻率保存到lpPerformanceCount中,其中低位保存到lowpart中,高位保存到highpart中。

(2) QueryPerformanceCounter函數獲得系統頻率記數器的震蕩次數,函數的定義如下:

Private Declare Function QueryPerformaneeCounter Lib”kernel32”_
(lpPerformanceCount As LARGE_INTEGER) As Long

獲得記時器震蕩次數保存在lpPerformanceCount中。

在程序設計中。首先通過利用QueryPerformanceFrequency函數獲得頻率記數器的震蕩頻率,然后在執行數據采集程序段之前調用QueryPerformance Counter函數獲得頻率記數器的震蕩次數,在數據采集程序段結束時再調用QueryPerformanee Counter函數獲得頻率記數器的震蕩次數,將兩次獲得的震蕩次數相減后再除以震蕩頻率就獲得了兩次間隔之間的時間(以秒為單位)。因此在數據采集程序中建立了一個循環。在循環中不斷的調用QueryPerformaneeCounter獲得頻率記數器的震蕩次數并同先前的頻率記數器的震蕩次數相減,將結果除以頻率記數器的震蕩頻率,如果達到設定的采集時間則執行數據采集任務,這樣就達到了精確記時采集的任務。

在試驗的過程中,程序每隔3ms訪問一次A/D板,也就是每3ms會讀一個數據到內存中,為了更加清楚的觀察各種狀態下曲線的變化情況,以及尖脈沖干擾出現的時間,在軟件設計時盡可能把這些點全部讀入,并在實時曲線上顯示出來。但是如果把這些點全部記錄下來,數據量會非常大,不利于后續的助力特性等的分析,因此在軟件中設定一個N值,當采集到的點數達到此值時,程序將這N個值做一次濾波處理,然后將處理過的數保存在數據庫中,供后續的分析與處理。在這里N值取為50。實驗證明,該定時器能滿足EPS定時采集的要求。

3.4采集數據的過濾

試驗臺外部干擾對于傳感器的影響很大,因此采集到的數據需要經過處理。進行軟件濾波的方法主要有:限幅濾波法,中位值濾波法,算術平均濾波等。

(1)限幅濾波法。對于超過被測鼉可能上限和可能下限的測量值,則被認為是由于偶然的脈沖噪聲麗引起,忽略該測量值。

(2)中位值濾波法。對一組測量值,去掉其中的最大值和最小值,只對中位進行處理。

(3)算術平均值法。取多個中位值的平均值。

在數據采集過程中,試驗臺系統不可避免會產生尖脈沖干擾。本數據采集系統對模擬量采取的數字濾波方法是結合防脈沖干擾平均法和移動平均濾波法各自優點,即既能防止脈沖干擾,又能提高系統實時性,這里設置數據氏數據的個數為N個,每采樣一次新數據,主程序就調用一次防脈沖移動平均濾波子程序,去掉N個數據中的最大值和最小值,再取余下(N-2)個數據的算術平均值來逼進真實的模擬量數值,然后再將所得的平均值記錄下來。

4 小結與實驗結果

本文詳細介紹了EPS試驗臺數據采集用的主要傳感器,在試驗臺硬件的基礎上。開發了基于VB語言的數據采集系統,給出了數據采集系統的程序框圖。介紹了VB對于底層硬件的訪問方法,以及在采集過程中高精度定時器的應用,最后介紹了程序的濾波方法。圖3為數據采集軟件的t作界面。


圖3數據采集軟件的工作界面

本文作者創新點:利用Visual Basic進行數據采集可以利用兩種方法,利用MSComm控件和利用API函數的方法,本文利用API函數的方法,具有采集精度高,數據采集實時的特點。

項目經濟效益:20萬元。

作者:化永星,陸文昌    來源:《微計算機信息》(嵌入式與SOC)2009年第3-2期
本文地址:http://m.qingdxww.cn/thread-9986-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 无码AV免费精品一区二区三区| 色综综| 四虎最新永久免费网址| 亚洲a级片| 午夜免费影视| 亚洲精品一区二区三区在线观看| 超碰caoporen国产| 让人爽到湿的小黄书| 亚洲欧美日韩精品| 青娱乐在线免费观看| 亚洲欧美日韩伦中文| 伊人狼人久久| 九九精彩视频在线观看视频| 亚洲色噜噜狠狠网站| 亚洲成a人v天堂网| 色涩综合| 涩涩五月天| 中文字幕成人网| 欧美另类摘花hd| 亚洲专区视频| 色福利视频导航| 污小说在线| 国产成人a v在线影院| 欧美日韩中文字幕综合图区| 亚洲永久在线观看| 欧美午夜不卡在线观看最新| 在线 色| 51精品国产AV无码久久久密桃| 捏揉舔水插按摩师| 青青青在线视频| 日本视频三区| 午夜久久久久久| 国产麻豆剧果冻传媒免费网站 | 污视频在线免费观看| 亚洲午夜小视频| 恋老视频 国产国佬| 四虎影视精品永久免费| 日韩欧美黄色大片| 亚洲天堂视频在线观看| 中国强jizzjapanese| 免费观看高清黄页网址大全|