国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

STM32的方位角度與傾斜數(shù)據(jù)測(cè)量?jī)x系統(tǒng)設(shè)*

2016-01-26 08:32:26云中華劉洪春李勇峰陰歡歡

云中華,劉洪春,李勇峰,陰歡歡

(1.西藏大學(xué) 工學(xué)院,拉薩 850012;2.武漢大學(xué) 珞珈學(xué)院)

* 基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61440045);西藏自治區(qū)自然科學(xué)基金重點(diǎn)資助項(xiàng)目(2015ZR-14-3);2014西藏自治區(qū)級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(2014QCX044)。

?

云中華1,劉洪春1,李勇峰1,陰歡歡2

(1.西藏大學(xué) 工學(xué)院,拉薩 850012;2.武漢大學(xué) 珞珈學(xué)院)

* 基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61440045);西藏自治區(qū)自然科學(xué)基金重點(diǎn)資助項(xiàng)目(2015ZR-14-3);2014西藏自治區(qū)級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(2014QCX044)。

摘要:介紹一種使用STM32微處理器作為主控制器,采用HMC5883L傳感器的電子方向角度測(cè)量裝置。該裝置利用I2C總線接口進(jìn)行方位角度數(shù)據(jù)讀取與傳輸,利用ADXL345傳感器進(jìn)行傾斜數(shù)據(jù)采集,最后方位角在彩色液晶顯示器上進(jìn)行顯示。經(jīng)過(guò)實(shí)物測(cè)試,該設(shè)計(jì)可即時(shí)準(zhǔn)確地測(cè)量所在位置的方位,是一種可靠的方向角測(cè)量裝置。

關(guān)鍵詞:STM32微處理器;HMC5883L;ADXL345;TFTLCD

引言

伴隨著現(xiàn)代科技的不斷發(fā)展,人類(lèi)的活動(dòng)范圍也逐漸增大,在大范圍的活動(dòng)中容易發(fā)生方位迷失的現(xiàn)象,就需要響應(yīng)迅速且精確的測(cè)量設(shè)備。傳統(tǒng)的指北針等設(shè)備采用平衡架式結(jié)構(gòu),體積較大,難以實(shí)現(xiàn)微型化,在數(shù)據(jù)測(cè)量中無(wú)法精確獲取當(dāng)前坐標(biāo),且GPS系統(tǒng)模塊成本較高。針對(duì)以上諸多問(wèn)題,提出了一種基于STM32微處理器,采用Honeywell HMC5883L弱磁傳感器進(jìn)行實(shí)時(shí)方位角測(cè)量的設(shè)計(jì)方案,微處理器通過(guò)I2C總線將測(cè)量結(jié)果在彩色液晶顯示器上進(jìn)行顯示。該方案具有方位度測(cè)量值精度高、測(cè)量讀數(shù)速度迅速且成本低的優(yōu)點(diǎn),并且采用數(shù)字化微型傳感器,電路較簡(jiǎn)單,容易集成到便攜式設(shè)備中。

1方位角度測(cè)量原理

可以通過(guò)測(cè)量地球磁場(chǎng)水平方向的分量來(lái)確定北極,當(dāng)北極確定之后可推算出其他極性方向[2,6]。如把傳感器放在水平位置時(shí),坐標(biāo)示意圖如圖1所示。

圖1 傳感器水平放置時(shí)坐標(biāo)圖

2傳感器HMC5883L

HMC5883L傳感器是美國(guó)Honeywell公司的一種表貼封裝并具有數(shù)字接口的弱磁傳感器芯片,主要應(yīng)用于低成本的磁場(chǎng)檢測(cè)領(lǐng)域。傳感器內(nèi)部集成HMC118X系列磁阻傳感器、放大器、自動(dòng)消磁驅(qū)動(dòng)器、偏差校準(zhǔn)單元和12位 A/D轉(zhuǎn)換器,能利用I2C總線接口快速傳輸數(shù)據(jù)。HMC5883L傳感器采用各向異性磁阻(AMR)技術(shù),具有軸向高靈敏、高精度的特點(diǎn),測(cè)量范圍可以從milli-gauss 到 8 gauss,是靈敏度和可靠性較高的一款傳感器。由于地球磁場(chǎng)強(qiáng)度在最強(qiáng)的兩極且強(qiáng)度不到10-4(T),平均強(qiáng)度約為0.6×10-4(T),故HMC5883L的測(cè)量精度完全能滿足測(cè)量地球磁場(chǎng)大小和方向的準(zhǔn)確性。HMC5883L內(nèi)部結(jié)構(gòu)圖略——編者注[2]。

3主控制器STM32F103RBT6

主控制器選用內(nèi)核為Cortex-M3的32位高性能微處理器STM32F103RBT6,其頻率可達(dá)72 MHz,擁有128 KB 閃存容量,工作范圍達(dá)到-40~85 ℃,內(nèi)部集成16位定時(shí)器和12位A/D轉(zhuǎn)換器,擁有多達(dá)51個(gè)I/O端口(可以方便地進(jìn)行設(shè)備擴(kuò)展),集成SPI和I2C總線接口(方便數(shù)據(jù)傳輸),對(duì)于一般的運(yùn)算控制和數(shù)據(jù)處理已經(jīng)完全滿足要求[1]。本設(shè)計(jì)中,通過(guò)微處理器讀取HMC5883L數(shù)據(jù),測(cè)量到的數(shù)據(jù)經(jīng)過(guò)ADXL345L的傾角補(bǔ)償后將結(jié)果顯示在TFT液晶屏幕上,同時(shí)將數(shù)據(jù)通過(guò)USART口輸出以便被其他裝置調(diào)用。系統(tǒng)總體結(jié)構(gòu)圖如圖2所示,圖中預(yù)留了按鍵以擴(kuò)展啟動(dòng)復(fù)位等功能,預(yù)留USART端口以便數(shù)據(jù)和其他設(shè)備傳輸。

圖2 系統(tǒng)總體結(jié)構(gòu)圖

4電源處理部分

設(shè)計(jì)所用STM32F103RBT6微處理器、加速度傳感器ADXL35所需電源電壓為2.0~3.6 V,弱磁傳感器HMC5883L所需電壓為2.16~3.6 V,TFT液晶3.3 V也可使用,故本設(shè)計(jì)可采用鋰電池供電。由于鋰電池充滿電時(shí)電壓為4.16~4.22 V,隨著剩余容量的下降其輸出電壓也在下降,當(dāng)其容量剩余1%時(shí)電壓達(dá)到3.59 V,故需要進(jìn)行電源轉(zhuǎn)換,將鋰電池電壓轉(zhuǎn)換為3.3 V穩(wěn)恒電壓。本設(shè)計(jì)采用AMS1117-3.3 V穩(wěn)壓器,可將鋰電池電壓轉(zhuǎn)換為3.3 V電壓,其電路圖如圖3所示。

圖3 電源轉(zhuǎn)換電路

5測(cè)量數(shù)據(jù)顯示輸出部分

圖4 液晶顯示器電路圖

6方位測(cè)量系統(tǒng)設(shè)計(jì)部分

圖5 HMC5883L電路圖

利用STM32F103RBT6讀取HMC5883L傳感器的方位角數(shù)據(jù),按照HMC5883L手冊(cè),芯片采用3.3 V電壓,SETP需要連接一個(gè)0.22 μF的電容連接到SETC端,DRDY為數(shù)據(jù)準(zhǔn)備端,HMC5883L的數(shù)據(jù)以I2C方式傳輸數(shù)據(jù),SCL時(shí)鐘信號(hào)連接STM32F103RBT6的PB6,SDA連接STM32電路的PB7引腳,HMC5883L的原理如圖5所示。

7三維加速度傳感器處理傾斜部分

在實(shí)際情形中,HMC5883L傳感器常由于未水平放置而導(dǎo)致偏差,這時(shí)需要進(jìn)行傾斜角度采集并對(duì)方位角進(jìn)行糾正,ADXL345是一款13位分辨率的三維加速度傳感器,直接輸出16位數(shù)字?jǐn)?shù)據(jù),可在傾斜檢測(cè)中測(cè)量重力加速度并通過(guò)SPI或者I2C總線接口進(jìn)行數(shù)據(jù)傳輸,STM32處理器控制傳感器ADXL345進(jìn)行傾斜數(shù)據(jù)采集,根據(jù)所采集到的傾斜數(shù)據(jù)對(duì)MC5883L姿態(tài)進(jìn)行修正,ADXL345電路圖如圖6所示,圖中SCL和SDA分別為ADXL345的I2C總線的時(shí)鐘和數(shù)據(jù)端口。

圖6 速度傳感器ADXL345電路圖

8系統(tǒng)軟件設(shè)計(jì)

圖7 系統(tǒng)總流程圖

系統(tǒng)軟件部分包含HMC5883L、ADXL345的數(shù)據(jù)采集部分,STM32主控程序以及求得的數(shù)據(jù)在TFT液晶顯示部分。系統(tǒng)首先進(jìn)行初始化,然后進(jìn)行HMC5883L數(shù)據(jù)采集,接下來(lái)進(jìn)行ADXL345L數(shù)據(jù)采集并監(jiān)測(cè)修正水平度,最后將數(shù)據(jù)進(jìn)行計(jì)算求得的方位角顯示在TFT液晶顯示器上。系統(tǒng)總流程圖如圖7所示。

8.1弱磁傳感器部分

弱磁傳感器HMC5883L的初始化比較簡(jiǎn)單,主要設(shè)置其采樣頻率和采樣量程,初始化之后就可以直接讀取其數(shù)值,初始化程序代碼段如下:

void Init_HMC5883L(){

I2C1_WriteByte(HMC5883L_Addr,0x00,0x18);

I2C1_WriteByte(HMC5883L_Addr,0x01,0x40);

I2C1_WriteByte(HMC5883L_Addr,0x02,0x00);

}

8.2加速度傳感器部分

加速度傳感器初始化主要是設(shè)置其測(cè)量范圍和速率等,初始化之后同樣可以直接讀取其數(shù)值,加速度傳感器初始化代碼段如下:

void Init_ADXL345(void){

I2C1_WriteByte(ADXL345_Addr,0x31,0x0B);

I2C1_WriteByte(ADXL345_Addr,0x2C,0x0B);

I2C1_WriteByte(ADXL345_Addr,0x2D,0x08);

I2C1_WriteByte(ADXL345_Addr,0x2E,0x80);

}

8.3TFT液晶顯示部分

圖8 TFT液晶初始化流程圖

TFT液晶顯示首先需要初始化,然后進(jìn)行數(shù)據(jù)的讀寫(xiě)操作,這樣就可以把求得的數(shù)據(jù)顯示在TFT液晶顯示器上。由于TFT液晶顯示的初始化主要部分為ILI9328的初始化,而其初始化程序較占篇幅,此處僅給出其初始化流程圖如圖8所示。

9測(cè)量系統(tǒng)的測(cè)試分析

系統(tǒng)測(cè)試結(jié)果圖如圖9所示,圖中以數(shù)字形式準(zhǔn)確地顯示出了當(dāng)前的方位角,并以箭頭的方式給出了正北方,和標(biāo)準(zhǔn)指南針相比其角度誤差小,滿足使用要求。

圖9 系統(tǒng)測(cè)試結(jié)果圖

結(jié)語(yǔ)

本文利用STM32微處理器結(jié)合HMC5883L弱磁傳感器設(shè)計(jì)了一款方位角度測(cè)量裝置,并將結(jié)果顯示在TFT彩色液晶顯示器上,得益于HMC5883L的性能優(yōu)勢(shì)和STM32較強(qiáng)的處理性能,經(jīng)實(shí)地檢測(cè)證明其響應(yīng)速度較快,測(cè)量精度較高,適合于對(duì)響應(yīng)速度和測(cè)量精度要求較高的場(chǎng)合,且由于STM32和HMC5883L的高集成度和小體積封裝,該方案也可集成到其他便攜式設(shè)備中,有較強(qiáng)的實(shí)用性。

參考文獻(xiàn)

[1] ST.STM32微處理器數(shù)據(jù)手冊(cè)[EB/OL].[2015-06].http://www.st.com.

[2] Honywell.hmc883L傳感器數(shù)據(jù)手冊(cè)[EB/OL].[2015-06].http://honeywell.com.

[3] ADI.ADXL345傳感器數(shù)據(jù)手冊(cè)[EB/OL].[2015-06].http://www.analog.com.

[4] 時(shí)堯,周佳璐.基于I2C的嵌入式多點(diǎn)觸摸屏幕驅(qū)動(dòng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011(3).

[5] 劉蒼,王建業(yè),張景偉.基于ARM的便攜式數(shù)據(jù)采集存儲(chǔ)系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2013(8).

[6] 胡寧博,李劍, 趙櫸云.基于HMC5883的電子羅盤(pán)設(shè)計(jì)[J].傳感器世界,2011(6).

云中華(助教)主要研究方向?yàn)榍度胧较到y(tǒng)和傳感器應(yīng)用技術(shù)等;劉洪春(本科),主要研究方向?yàn)榛赟TM32微處理器的嵌入式系統(tǒng)應(yīng)用。

Yun Zhonghua1,Liu Hongchun1,Li Yongfeng1,Yin Huanhuan2

(1.School of Engineering,Tibet University,Lhasa 850012,China;2.Luojia college Wuhan University)

Abstract:An Electronic longitude and latitude meter is designed based on STM32 microprocessor and HMC5883L sensor.The device uses I2C bus to read and deliver the azimuth data,and ADXL345 sensor to collect the tilt data.Finally,the azimuth result is displayed on the color TFT displayer.The design can accurately measure the azimuth,and it is a reliable direction angle measuring device.

Key words:STM32 microprocessor;HMC5883L;ADXL345;TFT LCD

收稿日期:(責(zé)任編輯:楊迪娜2015-06-08)

中圖分類(lèi)號(hào):TP391

文獻(xiàn)標(biāo)識(shí)碼:A

申扎县| 屏东县| 蛟河市| 通州市| 辛集市| 南部县| 郑州市| 甘孜| 潮州市| 常山县| 恩施市| 钟山县| 阿坝县| 河东区| 龙江县| 舒兰市| 宁德市| 公安县| 应城市| 惠东县| 湘潭县| 汤阴县| 无为县| 绥中县| 普洱| 绥宁县| 龙江县| 新营市| 渑池县| 崇文区| 邵阳县| 和政县| 宁波市| 石河子市| 梁山县| 清水县| 宁都县| 烟台市| 霍林郭勒市| 纳雍县| 海晏县|