?

基于MLX90316的方向盤轉角檢測系統設計

2016-03-30 11:46楊超韓峻峰郭毅鋒田博
科技視界 2016年2期

楊超 韓峻峰 郭毅鋒 田博

【摘 要】本文介紹了一種基于MLX90316霍爾傳感器的方向盤轉角檢測系統。系統采用MLX90316霍爾元件作為角度采集芯片,STM32作為微控制器,詳細分析了系統的硬件設計和軟件實現。試驗表明,系統能實現對方向盤旋轉角度檢測并實時顯示,理論誤差小于0.5°,具有良好的精度,可以滿足方向盤角度的測量要求。

【關鍵詞】STM32;方向盤轉角;MLX90316;檢測系統

0 引言

在當今,隨著汽車工業和檢測技術的發展,越來越多的方向盤轉角檢測設備應用在汽車檢測領域。然而傳統的檢測設備采用的角度傳感器如磁感式、光電式和磁阻式等,存在機械磨損導致精度降低,使用壽命不高、抗沖擊震動能力差需要經常更換,同時存在采集數據量小、計算程序復雜等缺點[1]。文中提出的方向盤轉角檢測系統,采用基于三軸霍爾技術的MLX90316作為角度采集芯片,克服了傳統傳感器存在的機械磨損導致精度降低、需要經常維修更換的缺點,同時充分利用STM32豐富的資源,減少了硬件投資,體積小、成本低,避免了復雜的程序設計。

1 總體設計方案

本系統分為MLX90316角度檢測模塊、STM32處理模塊、電源模塊、存儲及LCD顯示模塊,系統總體設計框圖如圖1所示。首先利用三軸霍爾芯片MLX90316設計的轉角傳感器測得方向盤旋轉角度,根據MLX90316的SPI通訊協議將角度數據發送給STM32微控制器,經過STM32進行處理后在LCD上實時顯示角度數據,利用STM32的(可編程電壓檢測器)PVD可以進行掉電存儲,有效保證系統的可靠性。

2 系統硬件設計

2.1 STM32片上資源簡介

STM32是ST公司發布的一款基于Cortex-M3內核的微控制器,Cortex-M3內核是ARM公司設計的32位RISC核心,具有高性能、低功耗、實用性強等優點。本系統采用增強型芯片STM32F103VC作為控制核心,該款芯片具有256K字節的FLASH閃存以及48K字節的RAM,最高運行頻率可高達72MHz,工作電壓為2.0 ~3.6 V[2]。STM32F103VC擁有3路速度高達2MB/24MHz的SPI設備接口,3路USART,2路UART串行通信接口,內置可編程波特率發生器,最高可達4.5Mbit/s,此外,靈活的靜態存儲器控制器FSMC能夠快速訪問NOR FLASH或者NAND FLASH,便于存儲器擴展和LCD液晶顯示屏。STM32F103VC豐富的片上資源,簡化了系統硬件設計,降低了系統功耗,能夠滿足系統要求。

2.2 角度信號采集模塊設計

角度信號采集模塊主要由MLX90316以及外圍電路組成。MLX90316是一款運用Melexis公司獨創Triaxis(三軸霍爾)技術的傳感芯片。檢測原理如圖2所示,MLX90316采用的差分技術將垂直于芯片表面的磁感強度B⊥抵消,將平行于芯片表面的磁場強度B||分解為兩個正交的分量Bx||和By||,再通過集磁片IMC將兩個正交分量轉化為垂直方向上的分量Bx⊥和By⊥,然后由內部平面霍爾元件測量從而產生同步的相位差為90°的正交差分信號,最后經過內部可編程為14bit或15bit的ADC將模擬信號轉化為數字信號傳輸給基于16bit RSIC微處理器的DSP計算得出角度位置信號[3]。計算得到的角度信號可以選擇12bit的ADC或PWM輸出、14bit的數字串行SPI輸出,本文選擇SPI方式輸出,省去了A/D轉換電路,這極大的減小了系統設計的復雜度,理論分辨率可達0.022°。

2.3 電源模塊電路設計

為了便于汽車工業的應用,電源采用車載12V DC供電,同時為滿足MLX90316傳感器的5v 工作電壓及STM32微控制器的3.3V供電要求,采用L7805和AMS1117電源穩壓穩壓芯片。L7805是一款常用電源穩壓芯片,所需的外圍元件少,電路內部還有過流、過熱及調整管的保護電路,使用起來可靠、方便,而且價格便宜,AMS1117是正向低壓降穩壓器,內部集成過熱保護和限流電路,是本系統電源設計方案中較理想的選擇。電源電路設計圖如圖4所示。

2.4 掉電存儲和LCD顯示模塊設計

為了實現角度數據存儲和防止角度數據掉電丟失,系統采用ATMEL公司的AT45DB161D FLASH存儲器,具有功耗低,容量大,讀寫速度快,抗干擾能力強等優點。AT45DB161D工作電壓為2.5V至3.6V,可采用SPI接口進行讀寫,最高頻率可達66MHz容量高達16MB,支持用戶智能頁面編程,每頁512/528字節,共4096頁,另外還有兩個512/528字節的SRAM數據緩沖區[5]。由于系統采用可編程電壓監測器PVD來監視供電電壓,當供電電壓下降到預設定的閥值以下時,將產生中斷,在中斷服務函數中調用FLASH讀寫函數,將數據緩沖區的角度信息通過SPI串行總線保存在AT45DB161D中。當供電電壓又恢復到給定的閥值以上時,也會產生一個中斷,通知軟件供電恢復。供電下降的閥值與供電上升的PVD閥值有一個固定的差值(PVD遲滯),引入PVD遲滯目的是為了防止電壓在閥值上下小幅抖動,而頻繁地產生中斷,從而保證系統的穩定性和可靠性。

為了便于實時監測系統測量的角度信息,設計了LCD顯示模塊。文中采用驅動芯片為SSD1289的3.2英寸TFT液晶LCD,分辨率可達320×240,支持65K色顯示,自帶觸摸屏。采用STM32F103VC的靈活的靜態存儲控制器FSMC模塊來控制LCD顯示器,將測得的角度信息實時顯示在LCD上,同時加入觸摸控制,設計了良好的人機交互界面。利用FSMC模塊可以對LCD快速讀寫,簡化硬件接口設計,同時避免了模擬I/O口的復雜程序設計。

3 系統軟件設計

系統的軟件設計使用C語言編程,以高效的ARM開發環境Realview MDK為編譯調試平臺。軟件程序主要包括系統初始化程序、角度數據采集及處理程序、數據存儲及顯示程序3個主要部分,程序流程圖如圖5所示。

4 系統測試實驗

基于以上設計方案,研制出實驗樣機并進行了角度測量,試驗在0到360°之間進行每隔36°的角度測量。測試過程和方法為:將MLX90316傳感器通過聯軸器與電機連接,電機采用42步進電機,步距角為1.8°,經過1/8細分為0.225°,通過定時器輸出160個PWM脈沖控制電機轉動36°,通過串口將角度檢測系統與PC上位機連接,讀取100組的傳感器數據取平均值并保存,其它測量點的測試方法類似,最終試驗結果如表1所示。

由表1可知,系統測試的誤差在±0.5°以內,小于汽車方向盤角度檢測所要求的≤±3°,表明本文介紹的基于MLX90316的方向盤轉角檢測系統具有良好的精度,系統的設計方法是可靠可行的。

5 結論

針對傳統方向盤轉角檢測設備存在的不足,設計了一種基于STM32F103VC微控制器和三軸霍爾傳感器MLX90316的轉角檢測系統,完成了硬件電路設計和軟件程序調試,制作了實驗樣機。同時給出系統測試結果,試驗表明系統的絕對誤差小于0.5°,低于國家機動車輛方向盤檢測儀規范要求的≤±3°,具有良好的精確性。該系統硬件投資小成本低,程序簡單,能夠實時檢測方向盤旋轉角度,具有一定的實踐意義。

【參考文獻】

[1]楊平,黃妙華,喻厚宇.寬量程方向盤轉角傳感器系統研究[J].武漢理工大學學報,2014(6).

[2]王永虹,徐煒,郝立平.STM32系列ARM Cortex-M3微控制器原理及實踐[M].北京:北京航空航天大學學出版社,2008:318-338.

[3]Melexis Microelectronic Integrated System.MLX90316 Rotary Position Sensor IC, 2005[Z].

[4]張從鵬,徐兵,徐宏海.基于STM32的高精度多圈絕對角度傳感器[J].儀表技術與傳感器,2014(12).

[5]何敏,劉榮,孫崢.串行存儲器AT45DB161B在車輛行駛記錄儀中的應用[J].新特器件應用,2007(1).

[6]曹平軍,于曉東,竇珂,姜浩.基于MLX90316的磁性角度傳感器設計[J].電子世界,2013(18).

[責任編輯:楊玉潔]

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合