馮 洋
(渭南師范學(xué)院物理與電氣工程學(xué)院 渭南 714000)
?
基于MSP430單片機的車輛狀態(tài)監(jiān)控系統(tǒng)設(shè)計*
馮洋
(渭南師范學(xué)院物理與電氣工程學(xué)院渭南714000)
摘要為了提高車輛在緊急情況下的安全性能,定時對車輛各項指標(biāo)進行檢測,設(shè)計了一個車輛速度、加速度及振動幅度監(jiān)控系統(tǒng)。該系統(tǒng)運用微功耗處理器MSP430g553作為控制器,通過陀螺儀和電感傳感器檢測車輛實時狀態(tài),可經(jīng)由安卓客戶端或者網(wǎng)頁提供給用戶或生產(chǎn)廠商。系統(tǒng)便于用戶實時了解自己車輛的情況,實現(xiàn)管理者對車輛的監(jiān)督管理,更方便生產(chǎn)商分析數(shù)據(jù)提升自我生產(chǎn)制造能力。
關(guān)鍵詞微功耗處理器; MPU6050陀螺儀; LDC1000電感傳感器
Class NumberTP212
1引言
隨著計算機技術(shù)的進步,車輛狀態(tài)檢測也飛速發(fā)展。目前人們已經(jīng)能依靠各種先進的儀器設(shè)備,對車輛進行實時精確檢測,而且安全、迅速、準(zhǔn)確[1~2]。為了進一步提升車輛安全系數(shù)和舒適度要求,設(shè)計了一種精確、可靠、高效的監(jiān)控系統(tǒng),系統(tǒng)通過傳感器數(shù)據(jù)采集、無線數(shù)據(jù)傳輸、串行數(shù)據(jù)傳輸、互聯(lián)網(wǎng)數(shù)據(jù)傳輸、數(shù)據(jù)庫等技術(shù)實現(xiàn)車輛行駛過程中速度、加速度、振動幅度檢測[3~5]。在行駛過程中對車輛各項參數(shù)的變化的了解,便于駕駛者盡快調(diào)整,保證人身安全,同時給交管及制造商提供大量數(shù)據(jù),為用戶購車提供參考,為制造商改進提供意見,為交管部門提供有據(jù)可依的執(zhí)法憑證。
2系統(tǒng)概括介紹
本系統(tǒng)為車輛狀態(tài)監(jiān)控系統(tǒng),主要實現(xiàn)對車輛速度、加速度及振動的監(jiān)控,系統(tǒng)主要分為兩大部分,無線節(jié)點和數(shù)據(jù)集中處理端。無線節(jié)點由傳感器組、微處理器、無線傳輸構(gòu)成,主要負責(zé)采集實時數(shù)據(jù),并回傳數(shù)據(jù);數(shù)據(jù)集中處理端接收無線節(jié)點的回傳數(shù)據(jù)并處理、存儲,給用戶提供數(shù)據(jù)顯示,數(shù)據(jù)下載接口等。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)框圖
數(shù)據(jù)集中處理端無線接收到數(shù)據(jù),經(jīng)USB口發(fā)送到嵌入式系統(tǒng),嵌入式系統(tǒng)再將數(shù)據(jù)解壓分包寫入共享內(nèi)存和數(shù)據(jù)庫;boa服務(wù)器為小型網(wǎng)頁服務(wù)器,適合于嵌入式系統(tǒng),瀏覽器可以通過域名或IP訪問boa服務(wù)器,完成網(wǎng)頁的傳感器數(shù)據(jù)交換;TCP/IP并發(fā)服務(wù)器主要為安卓客戶端服務(wù),安卓客戶端可以與TCP/IP并發(fā)服務(wù)器建立連接,完成數(shù)據(jù)傳輸。
3硬件電路設(shè)計
硬件部分由發(fā)送端、接收端和交互端三大部分構(gòu)成,硬件框圖如圖2所示。

圖2 硬件結(jié)構(gòu)框圖
3.1發(fā)送端
發(fā)送端主要采集溫度、加速度、速度和振幅數(shù)據(jù),其中加速度、溫度和振幅的數(shù)據(jù)源由陀螺儀MPU6050提供,速度由LDC1000電感傳感器采集得到。微處理器采用MSP430g2553,通過片上硬件SPI與nRF24L01進行數(shù)據(jù)交換,完成傳感器數(shù)據(jù)回傳的功能[6]。電源7.2V鎳鎘電池提供,為保證系統(tǒng)能無誤的運行,所以添加了對電源電壓的ADC,在電壓不能保證系統(tǒng)正常工作時,讓系統(tǒng)關(guān)機。
3.1.1MPU6050陀螺儀[7]
MPU6050是InvenSense公司生產(chǎn)的六軸陀螺儀,其被運用于智能手機、平板電腦和玩具等地方,通信協(xié)議為IIC,輸出數(shù)據(jù)分為三類:
1) 在xyz絕對坐標(biāo)系上的加速度分量;
2) 在xyz相對坐標(biāo)系上的角速度;
3) 當(dāng)前環(huán)境溫度。
系統(tǒng)結(jié)合實際需求選用了MPU6050陀螺儀,可同時獲得瞬時的加速度、角速度和環(huán)境溫度。系統(tǒng)不能直接測量振幅,必須借助角速度才能算出振動幅度值。

圖3 振幅測量
如圖3所示,設(shè)陀螺儀采樣時間為t,已知:l=θ×r=ω×t×r;S=ν×t;當(dāng)角度θ<5°時l≈S,化簡得ω×r=ν,當(dāng)半徑趨近于0(r→0)時,ω=ν。在MPU6050中采樣角度遠小于5°,半徑可忽略,則ω=ν成立。每次采樣時間t和角速度的積和便是振幅值。MPU6050與微控制器通過IIC連接,如圖4所示。

圖4 陀螺儀連接圖
3.1.2LDC1000電感傳感器[8]
LDC1000是德州儀器生產(chǎn)的世界第一款數(shù)字式電感傳感器,其具有體積小、功耗低、分辨率高,可靠性強等優(yōu)點,能運用于金屬成分檢測、旋轉(zhuǎn)角度測量、線性位移測量等領(lǐng)域[5],用戶可根據(jù)實際需求改變測量范圍和線圈大小,必要時可將彈簧作為電感線圈;它能通過SPI直接輸出數(shù)字量,給用戶開發(fā)提供了便捷。
系統(tǒng)測速選用此傳感器,它通過SPI接口與微處理器連接,如圖5所示。

圖5 LDC1000連接圖
LDC1000對感性物體敏感,當(dāng)有金屬靠近時,接近值增大,遠離時接近值減小,金屬相對運動,LDC1000的輸出數(shù)接近值也隨之規(guī)律變化,系統(tǒng)測速就是用金屬物體安裝在小車車輪上,LDC1000固定在車輪不遠處,車輪轉(zhuǎn)動模擬測速;在實際運用中我們測速的理想物體是金屬齒輪。
LDC1000有三種模式:Comparator Mode、Wake-Up Mode、DRDY Mode。系統(tǒng)中將LDC1000配置為Comparator Mode,即當(dāng)前采集的數(shù)據(jù)不在預(yù)設(shè)的范圍內(nèi)時,LDC1000向微控制器發(fā)送一次中斷信號,在固定的時間內(nèi)統(tǒng)計中斷信號次數(shù),便可求出齒輪的轉(zhuǎn)速。
3.1.3nRF24L01無線
由于系統(tǒng)面向的是運動的車輛,因車輛的復(fù)雜結(jié)構(gòu),所以系統(tǒng)選用的是可靠性高的無線數(shù)據(jù)傳輸芯片nRF24L01。nRF24L01芯片是Nordic公司開發(fā)的無線產(chǎn)品,其具有功耗低、GFSK調(diào)制、內(nèi)置硬件CRC檢錯、CRC校驗出錯重發(fā)等特點,且高效的校錯重發(fā)能力使數(shù)據(jù)丟包率極低;nRF24L01通過SPI與微控制器連接,完成數(shù)據(jù)發(fā)送,接收功能,nRF24L01原理圖如圖6所示。

圖6 nRF24L01連接圖
3.2接收端
接收端的主要作用是接收發(fā)送端發(fā)送來的數(shù)據(jù)包,并通過USB口傳輸?shù)角度胧皆O(shè)備或者PC端。接收端同樣用到nRF24L01作為無線通信單元,用于接收發(fā)送端發(fā)來的數(shù)據(jù)包;微處理器又將數(shù)據(jù)包轉(zhuǎn)發(fā)到串口,串口與嵌入式設(shè)備或PC端通過USB轉(zhuǎn)串口芯片連接。
USB轉(zhuǎn)串口芯片選型為CH340T,它比PL2303芯片波特率更高,傳輸丟位率更低,USB轉(zhuǎn)串口原理圖如圖7所示,USB插口如圖15所示。

圖7 USB轉(zhuǎn)串口連接圖
3.3交互端
交互端主要由Linux嵌入式系統(tǒng)或者PC機(系統(tǒng)選擇PC機運行Linux系統(tǒng))、路由器、安卓手機組成。PC機主要完成接收端數(shù)據(jù)的解包、分類、匯總、存儲等功能;路由器提供以太網(wǎng)通信鏈路,PC機內(nèi)的服務(wù)程序通過以太網(wǎng)接入局域網(wǎng);先在手機上安裝安卓應(yīng)用,當(dāng)連入路由器的WIFI后,打開應(yīng)用登錄后便可與PC機上的程序通迅;當(dāng)然不安裝應(yīng)用也可訪問PC機內(nèi)的服務(wù)程序,當(dāng)手機連入WIFI,打開瀏覽器地址欄輸入IP便可訪問了。
4軟件原理
軟件設(shè)計分為三個部分,分別是下位機、上位機和交互端軟件設(shè)計,軟件框圖如圖8所示。其中下位機為微處理器,包含發(fā)送端和接收端控制程序[9];上位機服務(wù)器包含數(shù)據(jù)處理進程、boa服務(wù)進程和TCP/IP服務(wù)進程[10];交互端為安卓客戶端設(shè)計和網(wǎng)頁設(shè)計[11]。由于篇幅有限,下面就下位機發(fā)送端程序流程和上位機數(shù)據(jù)處理流程作一介紹,其他程序流程在此不再累述。

圖8 系統(tǒng)軟件結(jié)構(gòu)圖
4.1下位機發(fā)送端程序流程
發(fā)送端上電首先初始化無線nRF24L01、MPU6050陀螺儀、LDC1000電感傳感器和片上ADC等,接著采集陀螺儀數(shù)據(jù)和LDC1000數(shù)據(jù),之后將這些數(shù)據(jù)壓縮打包并加上包頭和包尾,通過無線nRF24L01發(fā)送出去;發(fā)送端在一定時間間隔后對電源電壓采樣一次,若電源電壓過低,不能維持正常系統(tǒng)的正常工作就會關(guān)機,停止一切操作。發(fā)送端具體流程圖如圖9所示。
4.2上位機數(shù)據(jù)處理流程
接收端將數(shù)據(jù)發(fā)送到USB口,數(shù)據(jù)會被臨時存放到操作系統(tǒng)的ttyUSB0流緩存中,ttyUSB0為USB轉(zhuǎn)串口數(shù)據(jù)緩存,操作系統(tǒng)提供接口去判斷ttyUSB0流緩存中是否為空,若不為空就可以去讀取數(shù)據(jù)。
共享內(nèi)存是操作系統(tǒng)的PV操作,是操作系統(tǒng)不同進程通信的手段之一,也是眾多通信手段中效率最高的,在操作系統(tǒng)中要想使用共享內(nèi)存就必須先申請,不同進程通過相同的鍵值去訪問相同的共享內(nèi)存,在系統(tǒng)中運用共享內(nèi)存作為實時傳感器數(shù)據(jù)共享單元;boa服務(wù)器和TCP/IP服務(wù)器就是在共享內(nèi)存中獲得傳感器實時數(shù)據(jù)的,共享內(nèi)存的數(shù)據(jù)不斷被新數(shù)據(jù)覆蓋,所以保證其他進程在不改變數(shù)據(jù)訪問流程的前提下可以獲得當(dāng)前最新傳感器數(shù)據(jù)。
系統(tǒng)選用的是SQLite數(shù)據(jù)庫,SQLite數(shù)據(jù)是個小型數(shù)據(jù)庫,既能在嵌入式小系統(tǒng)上運行,還能在大型服務(wù)器上運行,SQLite數(shù)據(jù)庫操作語言簡單,兼容其他數(shù)據(jù)庫能力強;在系統(tǒng)中運用SQLite數(shù)據(jù)庫存儲傳感器歷史數(shù)據(jù),還存放了用戶的登錄賬號和登錄密碼。
數(shù)據(jù)處理單元程序流程如圖10所示。

圖9 發(fā)送端程序流程圖

圖10 數(shù)據(jù)處理程序流程圖
5結(jié)語
本文基于陀螺儀和電感傳感器實現(xiàn)了對車輛速度、加速度及振動的監(jiān)控,同時結(jié)合操作系統(tǒng)和網(wǎng)絡(luò)通信等知識,實現(xiàn)了傳感器數(shù)據(jù)采集、存儲和監(jiān)控的目的。本系統(tǒng)在傳統(tǒng)監(jiān)控系統(tǒng)的基礎(chǔ)上可以實現(xiàn)多用戶監(jiān)控的功能,而且數(shù)據(jù)還可下載管理,同時還可通過網(wǎng)頁實時監(jiān)控,將數(shù)據(jù)庫管理接口拓展到網(wǎng)絡(luò)服務(wù)程序中即可實現(xiàn)歷史記錄的查詢。該系統(tǒng)的設(shè)計具有一定的理論依據(jù)和實用價值,稍作修改即可用于實際車輛狀態(tài)的監(jiān)控。
參 考 文 獻
[1] 李秋麗.鐵路客車JC001門檢測系統(tǒng)的研制[D].南京:南京理工大學(xué),2004:5-6.
LI Qiuli. Development of JC001 detection system for railway passenger car[D]. Nanjing: Nanjing University of Science and Technology,2004:5-6.
[2] 張曉群,嵇啟春.智能車運行狀態(tài)實時監(jiān)控系統(tǒng)[J].實驗室研究與探索,2011,30(8):81-84.
ZHANG Xiaoqun, JI Qichun. Real-Time Monitoring System for Smart Car Running State[J]. Research and Exploration in Laboratory,2011,30(8):81-84.
[3] 謝勇,時合生.基于智能視覺的交通多狀態(tài)監(jiān)控系統(tǒng)[J].科學(xué)技術(shù)與工程,2013,13(26):7911-7915.
XIE Yong, SHI Hesheng. Traffic Condition Monitoring System Based on Intelligent Vision[J]. Science Technology and Engineering,2013,13(26):7911-7915.
[4] 戴喜明,袁濤,吳定雪.基于GSM/GPS/GIS車輛狀態(tài)監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].微計算機信息,2006,22(9):246-248.
DAI Ximing, YUAN Tao, WU Dingxue. Design and Implementation of Condition Monitoring System for Vehicle Based on GSM/GPS/GIS[J]. Micro Computer Information,2006,22(9):246-248.
[5] 趙軍利,錢峰.基于無線測控專網(wǎng)的車輛狀態(tài)監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機測量與控制,2009,17(7):1299-1300.
ZHAO Junli, QIAN Feng. Design and Implementation of Condition Monitor System for Vehicle Based on Ituran[J]. Computer Measurement Control,2009,17(7):1299-1300.
[6] 張晶晶,王建明.基于AT86RF212芯片的無線傳感器網(wǎng)絡(luò)節(jié)點的設(shè)計[J].電子測量技術(shù),2010,33(7):3.
ZHANG Jingjing, WANG Jianming. Design of wireless Sensor Networks Nodes Based on AT86RF212[J]. Electronic Measurement Technology,2010,33(7):3.
[7] 何永勃,賈輝,姜坤,等.基于Android終端陀螺儀傳感器的無人機飛行姿態(tài)控制[J].傳感器技術(shù)學(xué)報,2015,28(4):474-478.
HE Yongbo, JIA Hui, JIANG Kun, et al. UAV Attitude Control Based on Gyroscope Sensor of the Android Terminal[J]. Hinese Journal Sensors and Actuators,2015,28(4):474-478.
[8] 楊景昱.LDC1000傳感器在硬幣識別中的應(yīng)用研究[J].電腦與電信,2014,(7):33.
YANG Jingyu. LDC1000 Sensor in the Application of Coin Recognition[J]. Computer and Telecommunication,2014,(7):33.
[9] 李清寶,張平.基于分布/共享內(nèi)存層次結(jié)構(gòu)的并行程序設(shè)計[J].計算機應(yīng)用,2004,24(6):148-150.
LI Qingbao, ZHANG Ping. Parallel Programming Based on Distributed/Shared Memory Hierarchical Architeture[J]. Computer Application,2004,24(6):148-150.
[10] 魯力,張波.嵌入式TCP/IP協(xié)議的高速電網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)[J].儀器儀表學(xué)報,2009,30(2):405-409.
LU Li, ZHANG Bo. High-speed power grid data acquisition system based on embedded TCP/IP protocol[J]. Chinese Journal of Scientific Instrument,2009,30(2):405-409.
[11] 朱斌.Linux Socket編程及其在無線網(wǎng)關(guān)中的應(yīng)用[J].微計算機信息,2007,12(2):21-23.
ZHU Bin. Linux socket Programming and Its Application in Wireless Gateway[J]. Micro Computer Information,2007,12(2):21-23.
Design of Vehicle Condition Monitoring System Based on MSP430 MCU
FENG Yang
(School of Physics and Electrical Engineering, Weinan Normal University, Weinan714000)
AbstractIn order to improve the safety performance of vehicle in the event of an emergency and time to test the vehicle indicators, a vehicle speed, acceleration and vibration monitoring system is designed. The system uses the power consumption of the micro processor MSP430g553 as controller, through the gyroscope and inductance sensor to detect the vehicle real-time status, it can be presented to the user or manufacturer through android client or internet. System allows users to know their real-time vehicle condition, implement management of vehicle supervision and management, it is more convenient for manufacturer to analyze data and increase their ability to manufacture.
Key Wordsmicro power processor, MPU6050 gyroscope, LDC1000 inductance sensor
* 收稿日期:2015年11月21日,修回日期:2015年12月30日
基金項目:陜西省教育廳基金項目(編號:14JK1247);渭南師范學(xué)院教育科學(xué)研究項目(編號:2014JYKX024)資助。
作者簡介:馮洋,女,碩士,講師,研究方向:嵌入式系統(tǒng)設(shè)計。
中圖分類號TP212
DOI:10.3969/j.issn.1672-9722.2016.05.040