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