ADXL345與EB3631在GPS導航中的應用
摘要:為實現(xiàn)用戶到目標點的距離測量和方向控制,設計并實現(xiàn)了基于加速度傳感器ADXL345和EB3631的GPS模塊的實時導航系統(tǒng)。系統(tǒng)選用EB3631搭建GPS模塊,通過串口與ATMEGA644P控制器通信采集GPS定位信息;采用加速度傳感器ADXL345,通過IIC協(xié)議與控制器通信實現(xiàn)位移測量。在0m-500m范圍內,時系統(tǒng)穩(wěn)定性和準確性的反復測試,最終實現(xiàn)了相對誤差在10%以內的準確度較高的導航系統(tǒng)。
本文引用地址:http://www.ex-cimer.com/article/201610/308983.htm隨著GPS用戶設備價格不斷下降及GPS應用研究的不斷深入,大量GPS定位導航系統(tǒng)被應用于航海、飛機的導航、導彈衛(wèi)星測控、精密授時、石油開采等方面。由于受測量環(huán)境的干擾或者信號被阻擋導致GPS不能定位,同時受GPS定位芯片的影響,使得GPS接收機定位精度大大降低。為解決這些問題,獲得精準的定位。文中以三軸加速度傳感器ADXL345為基礎,詳細描述了基于第三代GPS芯片EB3631的硬件和軟件設計方案,使得用戶可以實時獲取當前位置到目標位置的距離及方位,系統(tǒng)實用性較高。
1 硬件設計
GPS測距系統(tǒng)總體設計框架如圖1所示。主控制器采用基于AVR內核的8位低功耗控制器ATMEGA644P,芯片具有64K的片內FLASH,2K的EEPROM,4K的片內SRAM。芯片通用I/O接口32個,集成了IIC接口、SPI接口、JTAG接口及8通道的10為ADC轉換接口,豐富的外圍接口,能更好的滿足系統(tǒng)的設計要求。GPS MODULE采用臺灣環(huán)天公司的EB3631為核心器件,由于采用TTL電平輸出,可以直接通過串口與控制器進行通信,為用戶提供定位信息。三軸加速度傳感器ADXL345實現(xiàn)加速度的測量,從而得到用戶位移。電源模塊采用8節(jié)AA電池,經(jīng)過π型濾波電路,LM7805穩(wěn)壓為ATMEGA644P、LCD1602液晶提供5 V電壓,5 V電壓經(jīng)過AMS1117系列低壓差穩(wěn)壓芯片穩(wěn)壓,為GPS模塊和加速度傳感器ADXL345供電。
1.1 加速度傳感器接口電路
ADXL345是ANALOG DEVICES公司的一款數(shù)字式的三軸加速度感器,測量范圍最小+2g,測量范圍最大達到±16g。芯片輸出數(shù)據(jù)采用16位的二進制補碼形式,控制器可以通過三線制或四線制SPI接口訪問,也可以通過IIC接口訪問。ADXL345非常適合移動設備應用,不僅可以測量靜態(tài)重力加速度,還可以測量運動或者沖擊導致的動態(tài)加速度。芯片分辨率非常高,能夠測量傾斜角度小于1°的變化。ADXL345的工作流程為:首先由三軸敏感單元感知3個方向的比力,通過電子感應器件獲得模擬量,經(jīng)過AD轉換為數(shù)字信號,經(jīng)過數(shù)字濾波后送往控制欲中斷邏輯,在命令字的控制下通過I/O口與控制器交互。
ADXL345在IIC模式下工作時,CS引腳必須接VDD,芯片支持單字節(jié)或多字節(jié)的讀寫,讀寫地址是由7位的IIC器件地址和R/W位組成。IIC器件地址與ALT ADDRESS引腳的邏輯電平密切相關,當ALT ADDRESS引腳處于高電平時,7位器件地址是0x1D,相應的讀寫地址就轉換為0x3B,0x3A;當ALT ADDRESS引腳處于低電平時,7位器件地址是0x53,相應的讀寫地址就轉換為0xA7,0xA6[4];加速度傳感器的接口電路如圖2所示。SCL作為IIC總線的時鐘線,SDA是IIC總線的數(shù)據(jù)線,通過1~20K上拉電阻至VDD;INT1、INT2是ADXL345的中斷引腳。
1.2 NMEA-0813協(xié)議
NMEA-0813是美國海洋電子協(xié)會為海用電子設備制定的標準格式,數(shù)據(jù)輸出采用ASCII碼字符,目前廣泛采用的版本是V2.0。數(shù)據(jù)傳輸以$開始,后面的是5個字母的語句頭。其中語句頭的前兩個字母代表系統(tǒng)“ID”,如果是GP,則表示該語句屬于GPS定位系統(tǒng);如果是HC,則表示該語句屬于羅經(jīng)方位系統(tǒng)。語句“ID”由最后3個字母決定,語句頭之后是數(shù)據(jù)集合,不同類型的數(shù)據(jù)字段以“,”分割,每條語句以回車換行符結束。
$GPGGA是GPS定位系統(tǒng)中標準的GPS定位信息語句,$GPRMC是推薦最小的定位信息語句。GPS數(shù)據(jù)傳輸采用標準的RS232異步傳輸,通信的波特率一般默認是4800,1個起始位,8個數(shù)據(jù)位,一個停止位,無奇偶校驗位。
1.3 EB3631 GPS模塊設計
GPS(Global Positioning System),也是我們通常所說的全球定位系統(tǒng),一個完整的GPS定位系統(tǒng)由太空部分、監(jiān)控部分、用戶部分組成。用戶部分由GPS接收機、數(shù)據(jù)處理軟件及相應的設備組成,GPS接收機是由前置放大器、信號處理、控制與顯示、記錄和供電單元組成。GPS系統(tǒng)定位的原理:每顆GPS衛(wèi)星時刻發(fā)送自身的位置和時間信號,用戶接收機可以測量出每顆衛(wèi)星到接收機的時間延遲,根據(jù)信號傳輸?shù)乃俣?,將速度與時間延遲相乘便可得出接收機到不同衛(wèi)星的距離。三維坐標、速度和時間的確定至少需要接收到4顆衛(wèi)星的數(shù)據(jù)才能解算。
基于EB3631的GPS接收板,是高性能的、低功耗的GPS接收板。核心器件采用第三代芯片SiRFstar III,高速的GPS芯片,-159dBm超高的靈敏度,4Mb的flash存儲空間,該芯片具有兩個串行口,方便與ATMEGA644P控制器通信,采用NMEA-0183和SIRF binary協(xié)議,一次最大可接收20顆衛(wèi)星,即使在信號很微弱的環(huán)境,定位也很快。圖3所示是GPS接口電路。
2%20軟件設計
GPS測距系統(tǒng)的軟件開發(fā)采用WINAVR/GCC編譯器,程序設計采用模塊化方式編寫,其中包括ADXL345測量程序、GPS接收程序、LCD1602液晶驅動程序。在編寫程序前需要采集目標點坐標,這些數(shù)據(jù)將存儲在ATMEGA644P控制器的片內2K的EEPROM中,在PC機上通過Google地圖獲得目標點經(jīng)緯度坐標。表1所示是阿壩師專校園坐標記錄。
2.1 ADXL345程序
ATMEGA644P通過IIC總線訪問三軸加速度傳感器ADXL345,IIC總線是飛利浦公司推出的一種串行總線,是具備多主機系統(tǒng)所需的總線裁決和高低速器件同步功能的高性能串行總線。IIC總線由數(shù)據(jù)線SDA和時鐘線SCL組成。IIC總線的數(shù)據(jù)線上提供起始、停止、應答、非應答四種信號。在使用ADXL345測量加速度時,需要對電源寄存器、數(shù)據(jù)格式寄存器初始化,初始化完成后,方可測量x、y、z方向的加速度。電源寄存器不僅可以設定供電模式,而且配合BW_RATE寄存器,還可對數(shù)據(jù)速率進行設定,默認情況下是100 Hz。配置數(shù)據(jù)格式寄存器,可以設定SPI工作模式是三線制還是四線制、分辨率位數(shù)、量程、是否將自測應用到傳感器。以下是ADXL345初始化的主要代碼。
本題中將三軸加速度傳感器ADXL345的分辨率設置為13位,從寄存器DATAX0,DATAX1中讀出數(shù)值,將DATAX1中低5位數(shù)據(jù)和DATAX0的數(shù)據(jù)進行拼接,DATAX1的高3為作為符號位,就能實現(xiàn)X方向的加速度測量,Y軸、Z軸方向加速度讀取方法與X軸方向一致。
2.2 GPS接收程序
由于GPS板接收到的語句格式不只一條,所以要完整的接收到“$GPGGA*”數(shù)據(jù),就必須對語句頭進行檢測,當接收的字符和這7個字符完全相同后,才能將數(shù)據(jù)進行存儲,當接收到“*”字符,表示該條語句接收結束,可以對數(shù)據(jù)進行處理。圖4所示是串行口中斷函數(shù)接收子程序流程。
2.3 主程序
主程序的設計包括初始化相關寄存器、I/O端口、USART、IIC以及LCD1602液晶初始化,初始化完成之后顯示開機LOGO。在循環(huán)體中,先進行鍵盤掃描,以選擇目標點,ATMEGA644P控制器通過串口中斷接收GPS接收板發(fā)回的$GPGGA數(shù)據(jù),以獲得當前的坐標,經(jīng)過計算得到當前位置距離目標點距離及相對方向,通過LCD1602液晶顯示。然后每隔5秒,判斷是否需要采集當前的經(jīng)緯度數(shù)據(jù),通過公式(1)計算獲得最新數(shù)據(jù)信息,以便數(shù)據(jù)信息及時更新。圖5是主程序流程圖。
d=R*arccos(θ)*PI/180
其中θ=sin(LatA)*sin(LatB)+cos(LatA)*cos(LatB)*cos(LongA-LongB),(LatA,LongA)是A點的經(jīng)緯度坐標,(LatB,LongB)是B點的經(jīng)緯度坐標。經(jīng)度按照東正西負來計,緯度按照北緯取90-緯度值,南緯取90+緯度值,地球半徑R為6 371 004 m,PI取值3.141 592 6。
3 測試結果
在阿壩師專校園試運行,接收當前位置信息時要確保接收到3顆及以上的衛(wèi)星,使得GPS定位準確,所采集的經(jīng)緯度數(shù)據(jù)有效,獲得較準確的距離。表2所示是實測距離結果是以行政樓作為當前位置。
通過表2可以看出測量距離在500 m以內,相對誤差范圍控制在10%以內,達到了較高的精度。
4 結束語
文中設計了一種基于ATMEGA單片機的低功耗、低成本的跟蹤系統(tǒng)。主要闡述了整個系統(tǒng)的硬件設計原理、主要模塊電路設計及軟件設計流程,系統(tǒng)在戶外運行,通過實驗測得的數(shù)據(jù)誤差較小,能提供長達8h以上連續(xù)穩(wěn)定工作,為用戶導航提供很大的幫助。
評論