摘 要: 針對(duì)目前傾角測(cè)量?jī)x測(cè)量精度差,、功耗較大等缺點(diǎn),設(shè)計(jì)了一種新型的傾角測(cè)量裝置,。該低功耗傾角測(cè)量?jī)x以PIC16F685單片機(jī)為主控芯片,,利用ADXL345數(shù)字式傳感器三軸加速度測(cè)速計(jì)測(cè)量?jī)A角,采用LCD液晶顯示所測(cè)數(shù)據(jù),。通過優(yōu)質(zhì)算法使傾角測(cè)量?jī)x的測(cè)量精度大大提高,,使精度誤差在±0.5°之內(nèi),并且功耗較低,,在實(shí)際應(yīng)用中效果較好,。
關(guān)鍵詞: 傾角測(cè)量?jī)x;ADXL345,;PIC16F685
0 引言
隨著科技水平的提高,,機(jī)械產(chǎn)品需求越來越高,傾角測(cè)量?jī)x越來越廣泛地應(yīng)用于工程機(jī)械設(shè)計(jì),、汽車電子設(shè)計(jì),、水平測(cè)量、電力系統(tǒng)監(jiān)控以及建筑設(shè)計(jì)等各個(gè)行業(yè)的角度測(cè)量中,。由于環(huán)境條件的干擾,,對(duì)測(cè)量?jī)x的要求越來越高,需要有較高的精度以及較強(qiáng)的抗干擾和抗沖擊能力,,并且需要結(jié)構(gòu)簡(jiǎn)單易用,。基于這種要求,,本文改進(jìn)設(shè)計(jì)出了一種新型傾角測(cè)量?jī)x器,。
1 系統(tǒng)概述
本設(shè)計(jì)主要由充電模塊、傾角測(cè)量?jī)x模塊,、主控制電路模塊,、顯示模塊等幾部分組成。其中充電模塊由電容,、干電池等組成,,為測(cè)量?jī)A角提供電源;傾角測(cè)量?jī)x模塊是由加速度傳感器ADXL345作為主要芯片的設(shè)計(jì),,主要用于測(cè)量?jī)A角,;主控模塊采用了基于PIC16F685單片機(jī)為主芯片的設(shè)計(jì);顯示模塊采用LCD顯示模塊,,可以清晰地顯示所測(cè)角度,。設(shè)計(jì)中軟硬件互相配合,并采用各種保護(hù)和抗干擾技術(shù),,通過優(yōu)質(zhì)算法使傾角測(cè)量?jī)x的測(cè)量精度大大提高,,并且采用低功耗元器件使所需能耗大大降低。
系統(tǒng)框架如圖1所示,。采用PIC16F685[1]作為主控制器,具有低電壓?jiǎn)?dòng),、功耗低、體積小,、抗干擾性強(qiáng)等優(yōu)點(diǎn),,且內(nèi)置I2C模塊,可大大簡(jiǎn)化硬件電路和軟件編程,。ADXL345[2]是一款小而薄的超低功耗三軸加速度計(jì),,分辨率高(13位),測(cè)量范圍達(dá)±16 g,,用其測(cè)量靜態(tài)重力加速度,。顯示器選用低功耗的段碼液晶,具有低壓微功耗,、外觀小巧精致,、顯示信息量大、壽命長(zhǎng)等優(yōu)點(diǎn),。其工作原理是通過ADXL345模塊檢測(cè)得到數(shù)據(jù),,通過接口傳送給單片機(jī)PIC16F685,再把測(cè)量結(jié)果通過輸出接口傳送給LCD顯示,。
2 理論分析與計(jì)算
2.1 傾角計(jì)算
在立體坐標(biāo)軸情況下,,可在全球面范圍確定傳感器的方向??赏ㄟ^傳統(tǒng)的直角坐標(biāo)(x,,y,,z)—球面(ρ,θ,,φ)轉(zhuǎn)換法來表征xy平面傾斜角θ及重力矢量?jī)A斜角與各軸測(cè)得加速度之間的關(guān)系,。如以下二式[3]所示:
2.2 理論功耗分析
PIC16F685為采用納瓦技術(shù)的20引腳8位CMOS閃存單片機(jī)。待機(jī)電流: 2.0 V時(shí),,典型值為1 nA,;工作電流:32 kHz、2.0 V時(shí),,典型值為20 μA,;4 MHz、5.5 V 時(shí),,典型值< 1 mA,;看門狗定時(shí)器電流:2.0 V時(shí),典型值< 1 μA,。
RA2上的超低功耗喚醒(ULPWU)功能允許緩慢下降的電壓能夠在RA2上產(chǎn)生電平變化中斷,同時(shí)不消耗很大的電流,。將ULPWUE 位(PCON<5>)置1將選取超低功耗喚醒模式,。這將產(chǎn)生一個(gè)小的灌電流,,可用來對(duì)RA2上電容器進(jìn)行放電,。將ULPWUE位置1 以開始放電,,并執(zhí)行SLEEP指令。當(dāng)RA2上電壓下降到低于VIL時(shí),,將產(chǎn)生中斷,,將器件喚醒。該功能提供了一種周期性將器件從休眠中喚醒的低功耗方法,。休眠時(shí)間取決于RA2上RC電路的放電時(shí)間,。
如果運(yùn)行條件超過了“絕對(duì)極限參數(shù)值”(總功耗:800 mw),即可能對(duì)器件造成永久性損壞。器件長(zhǎng)時(shí)間工作在絕對(duì)極限參數(shù)條件下,,其穩(wěn)定性可能受到影響,。MCLR引腳上若出現(xiàn)低于VSS的尖峰電壓,,感應(yīng)電流超過80 mA,可能導(dǎo)致閉鎖[4],。因此,,在MCLR 引腳上施加低電平時(shí),應(yīng)使用一個(gè)50~100 Ω的串聯(lián)電阻,,而不是將該引腳直接與VSS 連接,。
功耗計(jì)算公式為:
PDIS = VDD × {IDD - Σ IOH} +
Σ {(VDD - VOH) × IOH} +
Σ(VOL × IOL)
ADXL345是一款小而薄的超低功耗三軸加速度計(jì),,分辨率高(13位),,測(cè)量范圍達(dá)±16 g,。它具有自動(dòng)調(diào)節(jié)功耗功能,與輸出數(shù)據(jù)速率成比例,,如表1所示,。如果需要額外省電,,可采用低功耗模式,。該模式下,,內(nèi)部采樣速率降低,,12.5 Hz~400 Hz數(shù)據(jù)速率范圍內(nèi)達(dá)到省電目的,,而噪聲略微變大,。要進(jìn)入低功耗模式,,在BW_ RATE寄存器(地址0x2C)中設(shè)置LOW_POWER位(位4),。表2為低功耗模式下的功耗,,低功耗模式的優(yōu)勢(shì)從中可見。相對(duì)于正常功耗模式的數(shù)據(jù)速率,,低功耗模式的數(shù)據(jù)速率并無任何優(yōu)勢(shì),。
3 硬件與程序設(shè)計(jì)
3.1 硬件設(shè)計(jì)
?。?)主電路電氣原理圖如圖2所示,。
?。?)電容充電裝置電路圖如圖3所示,。開關(guān)S閉合電池對(duì)電容C1充電,,當(dāng)C1電壓達(dá)到一定電壓值時(shí),,使VT1,、VT2導(dǎo)通,,此時(shí)C1通過R1、R2,、VT2放電,,當(dāng)C1電壓降到一定電壓值時(shí),VT1,、VT2截止,,電池再對(duì)C1充電,如此重復(fù)形成高頻電,,通過升壓變壓器升壓后整流輸出,,再經(jīng)穩(wěn)壓管VD2穩(wěn)壓給電容充電。
3.2 軟件流程圖與程序設(shè)計(jì)
?。?)本設(shè)計(jì)的軟件流程圖如圖4所示,。
(2)程序設(shè)計(jì)
PIC16F685通過I2C方式對(duì)ADXL345芯片的內(nèi)部寄存器進(jìn)行讀寫操作,,從而實(shí)現(xiàn)對(duì)該芯片的設(shè)置和對(duì)檢測(cè)結(jié)果的數(shù)據(jù)讀取[3],。
I2C通信模式電路連接圖如圖5所示,CS引腳拉高至VDD I/O,,ADXL345處于I2C模式,,需要簡(jiǎn)單2線式連接。ALT ADDRESS引腳處于高電平,,器件的7位I2C地址是0x1D,,隨后為R/W位。這轉(zhuǎn)化為0x3A寫入,,0x3B讀取,。通過ALT ADDRESS引腳(引腳12)接地,可以選擇備用I2C地址0x53(隨后為R/W位),。這轉(zhuǎn)化為0xA6寫入,,0xA7讀取。對(duì)于任何不使用的引腳,,沒有內(nèi)部上拉或下拉電阻,,因此,CS引腳或ALT ADDRESS引腳懸空或不連接時(shí),,任何已知狀態(tài)或默認(rèn)狀態(tài)不存在。使用I2C時(shí),,CS引腳必須連接至VDD I/O,,ALT ADDRESS引腳必須連接至任一VDD I/O或接地,。
4 系統(tǒng)測(cè)試
4.1 測(cè)試方案
?、拍康模簝A角變化時(shí),能夠達(dá)到設(shè)計(jì)要求,,測(cè)量斜面傾角,范圍為0°~ 90°,。
⑵環(huán)境:日常情況,,斜面傾角改變。
?、窃O(shè)備:木板、電解電容,、傾角測(cè)量裝置,。
⑷方法:通過自制充電裝置給電解電容充電,,然后電容給傾角測(cè)量?jī)x供電,;將傾角測(cè)量?jī)x放在斜面上固定,手動(dòng)控制木板變化,,顯示器件自動(dòng)顯示不同數(shù)據(jù)值,測(cè)量斜面傾斜角度。
4.2 測(cè)試結(jié)果及分析
(1)傾角改變而測(cè)量?jī)x在斜面上固定時(shí),,實(shí)測(cè)角度和沿x軸,、y軸,、z軸方向上的分量顯示結(jié)果如表3所示。
?。?)傾角固定而測(cè)量?jī)x在斜面上旋轉(zhuǎn)時(shí),,實(shí)測(cè)角度和沿x軸、y軸,、z軸方向上的分量測(cè)得一組數(shù)據(jù)如表4所示,。
利用絕對(duì)誤差和相對(duì)誤差公式:
計(jì)算表3中的平均絕對(duì)誤差為0.4°,平均相對(duì)誤差值為0.88%,,達(dá)到設(shè)計(jì)要求,。同理可計(jì)算表4中的數(shù)據(jù)亦達(dá)到設(shè)計(jì)要求。
5 結(jié)論
經(jīng)過試驗(yàn)測(cè)試分析表明,,設(shè)計(jì)的傾角測(cè)量?jī)x能夠達(dá)到精度要求,,并且能夠滿足實(shí)際的需求。實(shí)現(xiàn)了實(shí)時(shí)數(shù)字顯示,,功耗較低,,能夠在實(shí)際的工業(yè)中有較廣的應(yīng)用。
參考文獻(xiàn)
[1] 姚曉通. 輕松玩轉(zhuǎn)PIC單片機(jī)C語言[M]. 北京:北京航空航天大學(xué)出版社, 2011.
[2] ADI.ADXL345:3-Axis.,±2g/±4g/±8g/16g數(shù)字加速度計(jì)[DB/OL].[2014-04-15]http://www.analog.com/zh/mems-sensors/mems-inertial-sensors/adxl345/products/product.html.
[3] Christopher J. Fisher. 利用加速度計(jì)進(jìn)行傾斜檢測(cè)[DB/OL].(2010)[2014-04-15] http://www.analog.com.
[4] 邱仁峰,,胡曉東. 一種高精度數(shù)字傾角測(cè)量系統(tǒng)的設(shè)計(jì)[J]. 電子技術(shù)應(yīng)用, 2005,31(6):38-41.
[5] 花鵬. 基于三軸加速度計(jì)的腕式健康監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用, 2013(3):71-74.