基于LPC2136的倾角检测仪设计

2019-11-03 13:11李力陈新华冯军军
电脑知识与技术 2019年24期

李力 陈新华 冯军军

摘要:随着社会的发展,平衡检测技术被用到多个领域,如老人防跌倒检测、机器人平衡状态检测、车辆平衡检测、飞行器的姿态测量等。因此本文基于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.

【通联编辑:梁书】