李力 陳新華 馮軍軍
摘要:隨著社會(huì)的發(fā)展,平衡檢測(cè)技術(shù)被用到多個(gè)領(lǐng)域,如老人防跌倒檢測(cè)、機(jī)器人平衡狀態(tài)檢測(cè)、車輛平衡檢測(cè)、飛行器的姿態(tài)測(cè)量等。因此本文基于LPC2136控制器,設(shè)計(jì)了一款便攜式的傾角檢測(cè)儀。
關(guān)鍵詞:傾角檢測(cè);平衡檢測(cè);ADXL345;LPC2136
中圖分類號(hào):TP312 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)24-0235-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Design of Inclination Detector Based on LPC2136
LI Li,CHEN Xin-hua,F(xiàn)ENG Jun-jun
(Department of Information Engineering, Sichuan Vocational College of Information Technology, Guangyuan 628017, China)
Abstract: With the development of society, balance detection technology has been used in many fields, such as fall-proof test for the elderly, balance state detection of robots, vehicle balance detection, posture measurement of aircraft, etc. Therefore, based on LPC2136 controller, a portable inclination detector is designed in this paper.
Key words: Ultrasonic; Ultrasonic ranging; Ultrasonic ranging instrument; Microcontroller; LPC2136
平衡檢測(cè)或傾角檢測(cè)被廣泛地應(yīng)用到現(xiàn)代生活的各個(gè)方面,如手持設(shè)備、工業(yè)控制、個(gè)人導(dǎo)航、醫(yī)療設(shè)備等都會(huì)用到傾角檢測(cè)。因此本文基于LPC2136微控制器,利用ADXL345傳感器設(shè)計(jì)了一款便攜式的傾角檢測(cè)儀。
1 系統(tǒng)總體設(shè)計(jì)方案
如圖1所示,整個(gè)系統(tǒng)由核心控制模塊和3個(gè)子功能模塊組成。核心控制模塊完成外設(shè)的初始化以及子程序調(diào)用;傾角檢測(cè)子模塊主要完成傾角檢測(cè);語(yǔ)音子模塊完成語(yǔ)音錄放功能;顯示子模塊主要用于顯示傾角。
其中微控制器選用的是LPC2136,傾角檢測(cè)模塊選用的是ADXL345傳感器,語(yǔ)音模塊選用的是LM386音頻放大器和ISD4004語(yǔ)音芯片,顯示模塊選用的是LCD1602字符型液晶。
1.1 LPC2136微控制器
LPC2136是PHILIPS公司生產(chǎn)的32位ARM7TDMI-S微控制器,特點(diǎn)是:抗干擾能力強(qiáng)、效率高、封裝小、功耗低[1];分別有256KB的Flash程序存儲(chǔ)器和32KB的片內(nèi)SRAM存儲(chǔ)程序和數(shù)據(jù)[2];2個(gè)串口,47個(gè)通用I/O口,9個(gè)外部中斷[3];2個(gè)32位定時(shí)/計(jì)數(shù)器,可用于定時(shí)和計(jì)數(shù)[4]。
1.2 ADXL345三軸加速度傳感器
ADXL345是ADI 公司的一款3軸數(shù)字加速度傳感器[5],可以檢測(cè)被測(cè)物體在x、y、z軸三個(gè)方向的加速度變化,從而計(jì)算其傾角變化。
ADXL345的加速度最大測(cè)量范圍為±16g,最高分辨率為13位[6],靈敏度為3.9mg/LSB,可以檢測(cè)小于1°的傾角變化;可以測(cè)量靜態(tài)重力加速度和動(dòng)態(tài)加速度[7];32級(jí)FIFO緩存,可以存儲(chǔ)32組x、y、z軸的檢測(cè)數(shù)據(jù),最大限度地減小對(duì)主控制器的影響;40~145uA 的超低功耗,待機(jī)模式只有 0.1uA;14引腳的LGA封裝,尺寸為3mm*5mm*1mm;數(shù)據(jù)以16位的二進(jìn)制補(bǔ)碼方式輸出,通信方式有I2C或者SPI[8]。
ADXL345的檢測(cè)軸如圖2所示,當(dāng)檢測(cè)軸向上時(shí),其檢測(cè)的是正加速度;當(dāng)檢測(cè)軸向下時(shí),檢測(cè)的是負(fù)加速度;當(dāng)某個(gè)檢測(cè)軸處于水平面時(shí),其對(duì)應(yīng)的加速度為0g。如圖2所示,Z軸垂直向上,且X和Y軸處于水平面時(shí),X、Y、Z軸的加速度分別為:Xout=0g,Yout=0g,Zout=最大正向加速度。當(dāng)ADXL345的Z軸垂直向下時(shí),X、Y、Z軸的加速度分別為:Xout=0g,Yout=0g,Zout=最大反向加速度。
ADX345對(duì)于每個(gè)檢測(cè)軸的數(shù)據(jù)都分別通過2個(gè)8位的數(shù)據(jù)寄存器以16 位二進(jìn)制補(bǔ)碼格式的方式輸出。例如X軸的檢測(cè)數(shù)據(jù)通過DATAX0(低字節(jié))和DATAX1(高字節(jié))輸出。
ADXL345數(shù)據(jù)的輸出格式與分辨率(固定的10位分辨率和全分辨率)、測(cè)量范圍(±2g,±4g,±8g,±16g)和數(shù)據(jù)對(duì)齊方式(左對(duì)齊和右對(duì)齊)有關(guān)。分辨率模式、測(cè)量范圍、數(shù)據(jù)對(duì)齊方式都可以通過DATA_FORMAT寄存器進(jìn)行設(shè)置。
假設(shè)為全分辨率,測(cè)量范圍為±16g,則分辨率為13位,數(shù)據(jù)右對(duì)齊,DATAZ0和DATAZ1的數(shù)據(jù)分別為0000 1111 1111 1111,高4位(符號(hào)位)為0,說明檢測(cè)為正向加速度,則ADXL345輸出的數(shù)字信號(hào)與加速度轉(zhuǎn)換方法為,將0000 1111 1111 1111轉(zhuǎn)換成10進(jìn)制再與比例因子相乘,即:加速度az=(212-1)LSB×3.9mg/LSB=15.9705g。
如果DATAZ0和DATAZ1的數(shù)據(jù)分別為1111 0000 0000 0000,其他條件不變,高4位為1111,說明檢測(cè)的是負(fù)加速度,則加速度計(jì)算方法為,首先將補(bǔ)碼變成原碼,即0001 0000 0000 0000,再轉(zhuǎn)換成10進(jìn)制與比例因子相乘,所以加速度az=-212LSB×3.9mg/LSB=-15.9744g。
在應(yīng)用環(huán)境中,如果要傾角檢測(cè),則需要將檢測(cè)到的加速度轉(zhuǎn)化為傾角,假設(shè)最大正向加速度為a,每個(gè)檢測(cè)軸的加速度分別為ax、ay、az,則X、Y、Z軸與重力反方向的夾角為A、B、C,如圖3所示。
根據(jù)三角函數(shù)可知,每個(gè)檢測(cè)軸檢測(cè)到的加速度與重力反方向的夾角的關(guān)系為:
ax=a*cosA,ay=a*cosB,az=a*cosC
a相當(dāng)于由ax,ay,az組成的長(zhǎng)方體的對(duì)角線,因此它們之間的關(guān)系為:
[a=ax2+ay2+az2]
由此可推得X、Y、Z軸與重力反方向的夾角分別為:
A=acos(ax/a)*180/3.14
B=acos(ay/a)*180/3.14
C=acos(az/a)*180/3.14
所以X、Y、Z軸與水平方向的夾角A'、B'、C'分別為:A'=90-A,B'=90-B,C'=90-C。
1.3 LCD1602液晶顯示器
LCD1602液晶顯示器共兩行,每行16個(gè)字符模塊;可以顯示數(shù)字、字母和符號(hào),但不能顯示圖形。每個(gè)模塊都是一個(gè)5×11或5×7的點(diǎn)陣,模塊間有一個(gè)點(diǎn)的間距[9]。
1.4 ISD4004語(yǔ)音芯片和LM386音頻功率放大器
ISD4004語(yǔ)音芯片,輸出的音質(zhì)高;單個(gè)芯片的錄放時(shí)間為8~16分鐘,可錄音10萬(wàn)次;3V的工作電壓;通信方式有SPI或者M(jìn)icrowire;常用在便攜式語(yǔ)音設(shè)備中。
LM386音頻功率放大器,特點(diǎn)是外接元件少、失真小、功耗低、工作電壓范圍寬等,常用于各種收音和錄音設(shè)備中。
2 軟件設(shè)計(jì)
本文中程序使用keil uvision4作為程序編譯、調(diào)試工具,編程語(yǔ)言為C語(yǔ)言。整個(gè)系統(tǒng)由主控制程序和多個(gè)子程序組成。主控制程序完成各種外設(shè)的初始化以及子程序的調(diào)用。不同的子程序用于完成不同的子功能,其中傾角檢測(cè)子程序主要完成傾角檢測(cè);語(yǔ)音采集子程序用于完成系統(tǒng)語(yǔ)音的采集;顯示子程序用于實(shí)時(shí)顯示檢測(cè)的傾角;語(yǔ)音播報(bào)子程序主要完成檢測(cè)傾角的語(yǔ)音播報(bào)。
3 電路調(diào)試與結(jié)果
根據(jù)系統(tǒng)框架圖和選擇的硬件設(shè)備,繪制電路圖并制版、焊接,編寫并調(diào)試程序,設(shè)計(jì)了一款基于LPC2136微控制器的傾角檢測(cè)儀。經(jīng)過測(cè)試,系統(tǒng)測(cè)量效果良好、性能可靠,適用多種場(chǎng)合下的傾角測(cè)量。
參考文獻(xiàn):
[1] 盧飛. 基于ARM內(nèi)核μC/OS-Ⅱ操作系統(tǒng)的15ppm艙底水監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連海事大學(xué),2012.
[2] 喻海軍. 基于ARM的汽車電子穩(wěn)定控制系統(tǒng)設(shè)計(jì)[D].合肥工業(yè)大學(xué),2010.
[3] 梁辰明. 基于FPGA和ARM的數(shù)字邏輯測(cè)試儀的設(shè)計(jì)與實(shí)現(xiàn)[D].東南大學(xué),2018.
[4] 高磊. 基于物聯(lián)網(wǎng)技術(shù)的果園蟲害信息監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[D].安徽大學(xué),2018.
[5] 紀(jì)利琴,歐楊磊,孫靜,蘇巧平.基于ADXL345無(wú)線避障小車控制系統(tǒng)設(shè)計(jì)[J].貴陽(yáng)學(xué)院學(xué)報(bào)(自然科學(xué)版),2018,13(04):66-69+88.
[6] 沈拓. 小型地效無(wú)人機(jī)飛控系統(tǒng)研究[D].南昌航空大學(xué),2018.
[7] 張寧. 基于無(wú)人機(jī)平臺(tái)的動(dòng)態(tài)目標(biāo)檢測(cè)系統(tǒng)開發(fā)[D].浙江大學(xué),2018.
[8] 金思達(dá),徐藝銘.淺談基于單片機(jī)的計(jì)步器設(shè)計(jì)[J].電子制作,2018(08):8-9.
[9] 陳才國(guó). 基于機(jī)器視覺的全方位傾斜傳感器的開發(fā)及其應(yīng)用[D].浙江工業(yè)大學(xué),2013.
【通聯(lián)編輯:梁書】