衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于數據采集卡HY-1232A/D板實現電動助力轉向系統的設計

電子設計 ? 來源:微計算機信息 ? 作者:化永星;陸文昌;畢 ? 2021-03-31 09:46 ? 次閱讀

作者:化永星;陸文昌;畢世高;顧灶德

1 前言

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

2 數據采集硬件

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

基于數據采集卡HY-1232A/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函數的方法,具有采集精度高,數據采集實時的特點。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計算機
    +關注

    關注

    19

    文章

    7536

    瀏覽量

    88638
  • 電機
    +關注

    關注

    142

    文章

    9081

    瀏覽量

    146366
  • 數據采集
    +關注

    關注

    39

    文章

    6251

    瀏覽量

    114037
收藏 人收藏

    評論

    相關推薦

    如何選擇數據采集卡

    的測量精度和采樣速率。對于輸出為模擬量的傳感器,需要使用數據采集卡的AD進行測量。因此,要關注AD采集的精度,采集速度以及采集的量程是否滿足要求。另外,對于傳感器較多的
    發表于 01-14 09:13

    數據采集卡的功能

    `(1)數據采集卡可以連接外部傳感器。比如溫度傳感器、壓力傳感器、旋轉編碼器等等。因此,使用數據采集卡可以完成測控系統中的測量環節。 (2)數據采集卡可以連接外部執行器。比如控制繼電器
    發表于 01-15 10:53

    數據采集卡如何運用

    ,還需要提供激勵信號.數據采集卡實現數據采集(DAQ)功能的計算機擴展,可以通過USB、PXI、PCI、PCI Express、火線(1394)、PCMCIA、ISA、Compac
    發表于 01-17 15:13

    如何實現基于USB接口的實用型數據采集卡的設計?

    高質量的A/D采集卡及調理放大器是影響其發展的一個重要因素,如何設計一款基于USB接口的實用型數據采集卡
    發表于 04-07 06:40

    電動助力轉向系統(EPS)數據采集實現方法是什么?

    電動助力轉向系統(EPS)數據采集實現方法是什么?
    發表于 05-18 06:45

    基于PCI總線的高速數據采集卡系統設計與實現

    基于PCI總線的高速數據采集卡系統設計與實現:本文介紹一種基于PCI總線的高速數據采集卡系統的設計方法,討論了設計高速
    發表于 06-22 19:04 ?55次下載

    基于LabVIEW的通用數據采集卡的驅動

    基于LabVIEW的通用數據采集卡的驅動 介紹一種通過LabVIEW提供的Call Library Function Node實現對動態鏈接庫(DLL)調用的方法,完成對通用數據采集卡的驅動
    發表于 10-14 15:09 ?4040次閱讀

    USB的高精度多通道數據采集卡設計

    USB的高精度多通道數據采集卡設計 摘要:詳細敘述了用USB控制器CY7C68013與AD轉換器ADS8364,構成高精度多路同步數據采集卡的過程,并給出了相應的前端電路和FPGA
    發表于 04-13 13:28 ?1726次閱讀
    USB的高精度多通道<b class='flag-5'>數據采集卡</b>設計

    虛擬儀器數據采集卡的驅動

    LABVIEW不能直接使用非NI公司的數據采集卡,必須自行編寫驅動程序,本文介紹了LABVIEW中驅動數據采集卡的幾種方法。LABVIEW可以實現對普通 數據采集卡 的編程。
    發表于 07-07 17:10 ?125次下載

    數據采集卡概述

    【零基礎學習LABVIEW】17 數據采集卡
    發表于 01-08 15:35 ?0次下載

    數據采集卡的功能

    (1)數據采集卡可以連接外部傳感器。比如溫度傳感器、壓力傳感器、旋轉編碼器等等。因此,使用數據采集卡可以完成測控系統中的測量環節。 (2)數據采集卡可以連接外部執行器。比如控制繼電器動
    發表于 01-15 15:02 ?6330次閱讀

    如何使用FPGA實現圖像數據采集卡及其驅動設計

    為了解決圖像掃描設備與主機之間海量數據高速傳輸問題,提出了一種基于FPGA的圖像數據采集卡的設計方法。該設計方法對采集卡的原理設計、FPGA的開發以及驅動程序的實現進行了研究;板卡采用
    發表于 02-03 16:26 ?21次下載
    如何使用FPGA<b class='flag-5'>實現</b>圖像<b class='flag-5'>數據采集卡</b>及其驅動設計

    數據采集卡功能特點

    數據采集卡
    的頭像 發表于 08-28 15:45 ?749次閱讀
    <b class='flag-5'>數據采集卡</b>功能特點

    數據采集卡怎么用 數據采集卡怎么讀取數據

    數據采集卡怎么用 數據采集卡怎么讀取數據? 數據采集卡(Data Acquisition Card)是一種用于采集和轉換各種輸入信號的硬件設
    的頭像 發表于 12-15 09:50 ?1943次閱讀

    圖像采集卡:增強視覺數據采集

    圖像采集卡介紹:在視覺數據采集領域,圖像采集卡在捕獲和處理來自各種來源的圖像或視頻方面發揮著關鍵作用。在本文中,我們將深入探討圖像采集卡的世界、其功能、應用以及它們在視覺
    的頭像 發表于 09-24 11:06 ?361次閱讀
    圖像<b class='flag-5'>采集卡</b>:增強視覺<b class='flag-5'>數據采集</b>
    鸟巢百家乐的玩法技巧和规则| 摩纳哥百家乐官网娱乐城| 乐众国际娱乐| 大发888注册 大发888官网| 百家乐suncity| 澳门百家乐赌场娱乐网规则| 百家乐技巧真人荷官网| 至尊百家乐娱乐平台| 爱婴百家乐的玩法技巧和规则| 百家乐专业赌| 新东泰百家乐的玩法技巧和规则| 百家乐特殊计| 大发888最新版本下载| 棋牌源码论坛| 皇冠最新投注网| 百家乐官网作弊手段| 澳门百家乐官网破解方法| 678百家乐官网博彩娱乐场| 伟易博百家乐官网的玩法技巧和规则| 长方形百家乐官网筹码| 百家乐官网规律打| 百家乐高科技| 二八杠的玩法| 澳门足球| 百家乐官网游戏开发技术| 百家乐官网骰盅规则| 百家乐二人视频麻将| 怎样打百家乐的玩法技巧和规则 | 凯斯百家乐官网的玩法技巧和规则| 百家乐也能赢钱么| 百家乐扑| 平山县| 百家乐官网真人博彩的玩法技巧和规则 | 狮威百家乐的玩法技巧和规则 | 永利高| 玩百家乐官网会犯法吗| 百家乐官网赢足球博彩皇冠| 属鼠跟属虎做生意| 金樽百家乐的玩法技巧和规则| 凯斯娱乐城| 百家乐官网板路|