方向盤轉(zhuǎn)向角傳感器的數(shù)據(jù)采集系統(tǒng)設計
摘要:通過對方向盤轉(zhuǎn)向角傳感器的分析,設計了轉(zhuǎn)向角傳感器的數(shù)據(jù)采集系統(tǒng),并且設計了相應的外圍輔助電路,通過ARM讀取傳感器中的數(shù)據(jù),對方向盤轉(zhuǎn)向角,方向盤轉(zhuǎn)向角速度以及轉(zhuǎn)動方向這三個參數(shù)進行數(shù)據(jù)采集。這些參數(shù)為汽車自適應前照燈控制,以及助力轉(zhuǎn)向系統(tǒng)提供了方向盤轉(zhuǎn)向角相關信息,為了便于對采集到的數(shù)據(jù)進行分析,方向盤轉(zhuǎn)向角傳感器采集到的數(shù)據(jù)通過串口送到上位機上,并且利用Matlab對采集的數(shù)據(jù)進行分析處理。
關鍵詞:方向盤轉(zhuǎn)向角傳感器;數(shù)據(jù)采集;ARM;Matlab
自適應前照明系統(tǒng)(AFS),是一種能適應各種不同環(huán)境條件的智能前照燈系統(tǒng),獲得汽車在轉(zhuǎn)彎處的參數(shù),如:轉(zhuǎn)向角,角速度以及轉(zhuǎn)向,是汽車前向燈自適應控制的前提條件。為了獲得這些參數(shù),采用了方向盤轉(zhuǎn)向角傳感器,它能測試出方向盤的轉(zhuǎn)向角,轉(zhuǎn)向角速度以及轉(zhuǎn)向三個參數(shù),這幾個參數(shù)在一定程度上能反映汽車在轉(zhuǎn)彎處的行駛狀態(tài),準確地獲取這些參數(shù)具有重要意義。因而設計了基于ARM的數(shù)據(jù)采集系統(tǒng)。在這個采集系統(tǒng)中方向盤轉(zhuǎn)向角傳感器采集到的數(shù)據(jù)通過CAN總線傳送到ARM中,并對其進行相應數(shù)據(jù)處理。
1 方向盤轉(zhuǎn)向角傳感器數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)框圖
方向盤轉(zhuǎn)向角傳感器數(shù)據(jù)采集系統(tǒng)包括轉(zhuǎn)向角傳感器,CAN總線和ARM微控制器三個部分。方向盤轉(zhuǎn)向角傳感器是通過CAN總線的方式傳送采集到的信號,控制器采用的是ARM微處理器,系統(tǒng)具體的結(jié)構(gòu)框圖如圖1所示。
2 系統(tǒng)的硬件設計
2.1 ARM簡介
ARM是指精簡指令集的微處理器,具有高性能、廉價、耗能低的特點,在各個領域得到了廣泛的應用。該系統(tǒng)采用的是ARM7系列的LPC21 19微控制器,LPC2119是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-S CPU的微控制器,并帶有128 KB嵌入的高速FLASH存儲器。指令支持32位的ARM模式與16位的Thumb模式。128位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使32位代碼的ARM方式能夠在最大時鐘速率下運行。對代碼規(guī)模有嚴格控制的應用可使用16位Thumb模式將代碼規(guī)模降低超過30%,而性能的損失卻很小,LPC2119非常小的64腳封裝、極低的功耗、多個32位定時器、4路10位ADC、2路CAN、PWM通道、46個GPIO以及多達9個外部中斷使它們特別適用于汽車、工業(yè)控制應用以及醫(yī)療系統(tǒng)和容錯維護總線。由于內(nèi)置了寬范圍的串行通信接口,它們也非常適合于通信網(wǎng)關、協(xié)議轉(zhuǎn)換器以及其他各種類型的應用。
2.2 方向盤轉(zhuǎn)向角傳感器介紹
方向盤轉(zhuǎn)向角傳感器前期安裝在轉(zhuǎn)向盤軸上,轉(zhuǎn)向軸帶動編碼盤的轉(zhuǎn)動,在發(fā)光二極管照射下,形成或明或暗的圖案,通過感光元件轉(zhuǎn)換成相應的電信號,經(jīng)過整形濾波后得到一系列的脈沖信號,通過單片機轉(zhuǎn)換為相對應的數(shù)字信號,并通過CAN控制器發(fā)送出去,能提供方向盤轉(zhuǎn)向角的絕對位置。工作電壓是12 V,數(shù)據(jù)是通過CAN發(fā)送出去的,輸出信號為方向盤轉(zhuǎn)角,方向盤的轉(zhuǎn)動方向以及方向盤轉(zhuǎn)的轉(zhuǎn)動角速度。
2.3 控制器的電源電路與CAN收發(fā)器電路的設計
數(shù)據(jù)采集系統(tǒng)的硬件設計包括電源的設計,轉(zhuǎn)向角傳感器需要12 V電源供電,這部分由電源直接提供,LPC2119的控制器需要的5 V電源通過7805穩(wěn)壓芯片把12 V轉(zhuǎn)化為5 V,7805穩(wěn)壓芯片能夠把12 V的電壓變?yōu)? V,電容C1,C2,C3起到濾波的作用。具體電路如圖2所示。
由于LPC2219集成了CAN控制器,在此基礎上還必須接上一個CAN的收發(fā)器,才能正常的收發(fā)數(shù)據(jù),它實現(xiàn)的是一個電平轉(zhuǎn)換與信號差分傳送的轉(zhuǎn)換的功能。收發(fā)器采用的是PCA82C250控制器,具有差分的形式傳送數(shù)據(jù),寬范圍的共模干擾,抗電磁干擾強等特點。具體電路如圖3所示。
3 系統(tǒng)的軟件設計及調(diào)試
系統(tǒng)的軟件設計包括對轉(zhuǎn)向角傳感器接收程序的設計,即CAN總線的接收程序的設計(轉(zhuǎn)向角傳感器是通過CAN接口把數(shù)據(jù)傳送出來的),以及在上位機上利用Matlab對接收來的數(shù)據(jù)進行處理的相關程序設計。
3.1 CAN總線的接收程序設計
CAN總線是目前在汽車上應用得最廣泛的現(xiàn)場總線之一,是目前發(fā)展比較成熟的總線。在各個領域已經(jīng)得到了廣泛的應用,特別是在汽車領域,它能夠?qū)崿F(xiàn)點到點以及一點到多點的通信,能夠?qū)崿F(xiàn)系統(tǒng)數(shù)據(jù)的共享。轉(zhuǎn)向角傳感器數(shù)據(jù)輸出接口為CAN接口。LPC2219控制器中具有CAN的控制器,在這個系統(tǒng)中CAN的程序設計包括:CAN的初始化程序設計,CAN接收程序的設計。CAN接收方式有查詢式接收和中斷式接收,查詢式接收方式總是不停地查詢接收標志位,對控制器來說這是種浪費,中斷式接收方式是當接收到數(shù)據(jù)時,控制器進行中斷,沒有接收數(shù)據(jù)的時候ARM可以執(zhí)行其他的任務,該系統(tǒng)采用的是中斷式接收方式。具體流程圖如圖4所示。
ARM微控制器接收到的數(shù)據(jù)通過串口來顯示,并將其保存在txt的文檔里,便于在Matlab中處理。具體部分數(shù)據(jù)如下所示:
接收到的信息包括:其中CAN:00表示接收的CAN通道為CAN控制器1;FIF:08表示接收的是具有8個字節(jié)的數(shù)據(jù)擴展幀;FID表示幀的ID號;Dat表示接收到的數(shù)據(jù),如果是遠程幀的話,則為0。
3.2 在上位機上對方向盤轉(zhuǎn)向角傳感器接收的數(shù)據(jù)進行處理
ARM通過CAN總線把從轉(zhuǎn)向角傳感器接收的數(shù)據(jù)通過串口送到上位機上,并且以txt的格式存儲在上位機上,由于Matlab具有強大的數(shù)據(jù)處理及可視化功能,所以在上位機上利用Matlab對接收來的數(shù)據(jù)進行處理。由于方向盤轉(zhuǎn)向角傳感器的數(shù)據(jù)是通過CAN總線以幀的形式進行發(fā)送的,是一串十六進制數(shù)字,分別代表的是轉(zhuǎn)向角傳感器采集到的方向盤轉(zhuǎn)角,轉(zhuǎn)角方向以及角速度,在實際應用中需要對這些數(shù)據(jù)進行分割,從中提取出方向盤的轉(zhuǎn)角,轉(zhuǎn)角方向以及角速度。其相應的轉(zhuǎn)向角方向以及轉(zhuǎn)向角顯示結(jié)果如圖5所示。
圖5中橫坐標N是采集的數(shù)據(jù)量,取了4 000個數(shù)據(jù)點。以采集第一個數(shù)據(jù)的時間為0時刻,以后每個數(shù)據(jù)點之間的時間間隔是10.3 ms,由于數(shù)據(jù)點比較多,橫坐標只取了具有代表性的數(shù)據(jù)點。圖中縱坐標分別代表的是方向盤轉(zhuǎn)向角傳感器轉(zhuǎn)角的方向和大小,用藍色的點表示轉(zhuǎn)角的大小(采用弧度制),紅色的曲線表示轉(zhuǎn)角的方向。方向盤轉(zhuǎn)向角的方向,順時針方向用1來表示,逆時針方向用0來表示,在Matlab中通過繪圖的方式把這些數(shù)據(jù)形象的顯示出來。
4 結(jié)論
本文通過對轉(zhuǎn)向角傳感器數(shù)據(jù)采集系統(tǒng)的設計,采集到了方向盤轉(zhuǎn)向角傳感器的轉(zhuǎn)向角,轉(zhuǎn)向角速度和方向三個參數(shù),并對采集到的數(shù)據(jù)進行了相應處理。經(jīng)分析表明,方向盤轉(zhuǎn)向角傳感器的數(shù)據(jù)采集系統(tǒng)設計是有效的、可行的,能為汽車前向燈自適應控制提供準確的方向盤轉(zhuǎn)向角相關參數(shù)信息。