李力 陈新华 冯军军
摘要:随着社会的发展,平衡检测技术被用到多个领域,如老人防跌倒检测、机器人平衡状态检测、车辆平衡检测、飞行器的姿态测量等。因此本文基于LPC2136控制器,设计了一款便携式的倾角检测仪。
关键词:倾角检测;平衡检测;ADXL345;LPC2136
中图分类号:TP312 文献标识码:A
文章编号:1009-3044(2019)24-0235-02
开放科学(资源服务)标识码(OSID):
Design of Inclination Detector Based on LPC2136
LI Li,CHEN Xin-hua,FENG 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
平衡檢测或倾角检测被广泛地应用到现代生活的各个方面,如手持设备、工业控制、个人导航、医疗设备等都会用到倾角检测。因此本文基于LPC2136微控制器,利用ADXL345传感器设计了一款便携式的倾角检测仪。
1 系统总体设计方案
如图1所示,整个系统由核心控制模块和3个子功能模块组成。核心控制模块完成外设的初始化以及子程序调用;倾角检测子模块主要完成倾角检测;语音子模块完成语音录放功能;显示子模块主要用于显示倾角。
其中微控制器选用的是LPC2136,倾角检测模块选用的是ADXL345传感器,语音模块选用的是LM386音频放大器和ISD4004语音芯片,显示模块选用的是LCD1602字符型液晶。
1.1 LPC2136微控制器
LPC2136是PHILIPS公司生产的32位ARM7TDMI-S微控制器,特点是:抗干扰能力强、效率高、封装小、功耗低[1];分别有256KB的Flash程序存储器和32KB的片内SRAM存储程序和数据[2];2个串口,47个通用I/O口,9个外部中断[3];2个32位定时/计数器,可用于定时和计数[4]。
1.2 ADXL345三轴加速度传感器
ADXL345是ADI 公司的一款3轴数字加速度传感器[5],可以检测被测物体在x、y、z轴三个方向的加速度变化,从而计算其倾角变化。
ADXL345的加速度最大测量范围为±16g,最高分辨率为13位[6],灵敏度为3.9mg/LSB,可以检测小于1°的倾角变化;可以测量静态重力加速度和动态加速度[7];32级FIFO缓存,可以存储32组x、y、z轴的检测数据,最大限度地减小对主控制器的影响;40~145uA 的超低功耗,待机模式只有 0.1uA;14引脚的LGA封装,尺寸为3mm*5mm*1mm;数据以16位的二进制补码方式输出,通信方式有I2C或者SPI[8]。
ADXL345的检测轴如图2所示,当检测轴向上时,其检测的是正加速度;当检测轴向下时,检测的是负加速度;当某个检测轴处于水平面时,其对应的加速度为0g。如图2所示,Z轴垂直向上,且X和Y轴处于水平面时,X、Y、Z轴的加速度分别为:Xout=0g,Yout=0g,Zout=最大正向加速度。当ADXL345的Z轴垂直向下时,X、Y、Z轴的加速度分别为:Xout=0g,Yout=0g,Zout=最大反向加速度。
ADX345对于每个检测轴的数据都分别通过2个8位的数据寄存器以16 位二进制补码格式的方式输出。例如X轴的检测数据通过DATAX0(低字节)和DATAX1(高字节)输出。
ADXL345数据的输出格式与分辨率(固定的10位分辨率和全分辨率)、测量范围(±2g,±4g,±8g,±16g)和数据对齐方式(左对齐和右对齐)有关。分辨率模式、测量范围、数据对齐方式都可以通过DATA_FORMAT寄存器进行设置。
假设为全分辨率,测量范围为±16g,则分辨率为13位,数据右对齐,DATAZ0和DATAZ1的数据分别为0000 1111 1111 1111,高4位(符号位)为0,说明检测为正向加速度,则ADXL345输出的数字信号与加速度转换方法为,将0000 1111 1111 1111转换成10进制再与比例因子相乘,即:加速度az=(212-1)LSB×3.9mg/LSB=15.9705g。
如果DATAZ0和DATAZ1的数据分别为1111 0000 0000 0000,其他条件不变,高4位为1111,说明检测的是负加速度,则加速度计算方法为,首先将补码变成原码,即0001 0000 0000 0000,再转换成10进制与比例因子相乘,所以加速度az=-212LSB×3.9mg/LSB=-15.9744g。
在应用环境中,如果要倾角检测,则需要将检测到的加速度转化为倾角,假设最大正向加速度为a,每个检测轴的加速度分别为ax、ay、az,则X、Y、Z轴与重力反方向的夹角为A、B、C,如图3所示。
根据三角函数可知,每个检测轴检测到的加速度与重力反方向的夹角的关系为:
ax=a*cosA,ay=a*cosB,az=a*cosC
a相当于由ax,ay,az组成的长方体的对角线,因此它们之间的关系为:
[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个字符模块;可以显示数字、字母和符号,但不能显示图形。每个模块都是一个5×11或5×7的点阵,模块间有一个点的间距[9]。
1.4 ISD4004语音芯片和LM386音频功率放大器
ISD4004语音芯片,输出的音质高;单个芯片的录放时间为8~16分钟,可录音10万次;3V的工作电压;通信方式有SPI或者Microwire;常用在便携式语音设备中。
LM386音频功率放大器,特点是外接元件少、失真小、功耗低、工作电压范围宽等,常用于各种收音和录音设备中。
2 软件设计
本文中程序使用keil uvision4作为程序编译、调试工具,编程语言为C语言。整个系统由主控制程序和多个子程序组成。主控制程序完成各种外设的初始化以及子程序的调用。不同的子程序用于完成不同的子功能,其中倾角检测子程序主要完成倾角检测;语音采集子程序用于完成系统语音的采集;显示子程序用于实时显示检测的倾角;语音播报子程序主要完成检测倾角的语音播报。
3 电路调试与结果
根据系统框架图和选择的硬件设备,绘制电路图并制版、焊接,编写并调试程序,设计了一款基于LPC2136微控制器的倾角检测仪。经过测试,系统测量效果良好、性能可靠,适用多种场合下的倾角测量。
参考文献:
[1] 卢飞. 基于ARM内核μC/OS-Ⅱ操作系统的15ppm舱底水监测系统的设计与实现[D].大连海事大学,2012.
[2] 喻海军. 基于ARM的汽車电子稳定控制系统设计[D].合肥工业大学,2010.
[3] 梁辰明. 基于FPGA和ARM的数字逻辑测试仪的设计与实现[D].东南大学,2018.
[4] 高磊. 基于物联网技术的果园虫害信息监测系统设计[D].安徽大学,2018.
[5] 纪利琴,欧杨磊,孙静,苏巧平.基于ADXL345无线避障小车控制系统设计[J].贵阳学院学报(自然科学版),2018,13(04):66-69+88.
[6] 沈拓. 小型地效无人机飞控系统研究[D].南昌航空大学,2018.
[7] 张宁. 基于无人机平台的动态目标检测系统开发[D].浙江大学,2018.
[8] 金思达,徐艺铭.浅谈基于单片机的计步器设计[J].电子制作,2018(08):8-9.
[9] 陈才国. 基于机器视觉的全方位倾斜传感器的开发及其应用[D].浙江工业大学,2013.
【通联编辑:梁书】