摘 要: 针对目前倾角测量仪测量精度差、功耗较大等缺点,设计了一种新型的倾角测量装置。该低功耗倾角测量仪以PIC16F685单片机为主控芯片,利用ADXL345数字式传感器三轴加速度测速计测量倾角,采用LCD液晶显示所测数据。通过优质算法使倾角测量仪的测量精度大大提高,使精度误差在±0.5°之内,并且功耗较低,在实际应用中效果较好。
关键词: 倾角测量仪;ADXL345;PIC16F685
0 引言
随着科技水平的提高,机械产品需求越来越高,倾角测量仪越来越广泛地应用于工程机械设计、汽车电子设计、水平测量、电力系统监控以及建筑设计等各个行业的角度测量中。由于环境条件的干扰,对测量仪的要求越来越高,需要有较高的精度以及较强的抗干扰和抗冲击能力,并且需要结构简单易用。基于这种要求,本文改进设计出了一种新型倾角测量仪器。
1 系统概述
本设计主要由充电模块、倾角测量仪模块、主控制电路模块、显示模块等几部分组成。其中充电模块由电容、干电池等组成,为测量倾角提供电源;倾角测量仪模块是由加速度传感器ADXL345作为主要芯片的设计,主要用于测量倾角;主控模块采用了基于PIC16F685单片机为主芯片的设计;显示模块采用LCD显示模块,可以清晰地显示所测角度。设计中软硬件互相配合,并采用各种保护和抗干扰技术,通过优质算法使倾角测量仪的测量精度大大提高,并且采用低功耗元器件使所需能耗大大降低。
系统框架如图1所示。采用PIC16F685[1]作为主控制器,具有低电压启动、功耗低、体积小、抗干扰性强等优点,且内置I2C模块,可大大简化硬件电路和软件编程。ADXL345[2]是一款小而薄的超低功耗三轴加速度计,分辨率高(13位),测量范围达±16 g,用其测量静态重力加速度。显示器选用低功耗的段码液晶,具有低压微功耗、外观小巧精致、显示信息量大、寿命长等优点。其工作原理是通过ADXL345模块检测得到数据,通过接口传送给单片机PIC16F685,再把测量结果通过输出接口传送给LCD显示。
2 理论分析与计算
2.1 倾角计算
在立体坐标轴情况下,可在全球面范围确定传感器的方向。可通过传统的直角坐标(x,y,z)—球面(ρ,θ,φ)转换法来表征xy平面倾斜角θ及重力矢量倾斜角与各轴测得加速度之间的关系。如以下二式[3]所示:
2.2 理论功耗分析
PIC16F685为采用纳瓦技术的20引脚8位CMOS闪存单片机。待机电流: 2.0 V时,典型值为1 nA;工作电流:32 kHz、2.0 V时,典型值为20 μA;4 MHz、5.5 V 时,典型值< 1 mA;看门狗定时器电流:2.0 V时,典型值< 1 μA。
RA2上的超低功耗唤醒(ULPWU)功能允许缓慢下降的电压能够在RA2上产生电平变化中断,同时不消耗很大的电流。将ULPWUE 位(PCON<5>)置1将选取超低功耗唤醒模式。这将产生一个小的灌电流,可用来对RA2上电容器进行放电。将ULPWUE位置1 以开始放电,并执行SLEEP指令。当RA2上电压下降到低于VIL时,将产生中断,将器件唤醒。该功能提供了一种周期性将器件从休眠中唤醒的低功耗方法。休眠时间取决于RA2上RC电路的放电时间。
如果运行条件超过了“绝对极限参数值”(总功耗:800 mw),即可能对器件造成永久性损坏。器件长时间工作在绝对极限参数条件下,其稳定性可能受到影响。MCLR引脚上若出现低于VSS的尖峰电压,感应电流超过80 mA,可能导致闭锁[4]。因此,在MCLR 引脚上施加低电平时,应使用一个50~100 Ω的串联电阻,而不是将该引脚直接与VSS 连接。
功耗计算公式为:
PDIS = VDD × {IDD - Σ IOH} +
Σ {(VDD - VOH) × IOH} +
Σ(VOL × IOL)
ADXL345是一款小而薄的超低功耗三轴加速度计,分辨率高(13位),测量范围达±16 g。它具有自动调节功耗功能,与输出数据速率成比例,如表1所示。如果需要额外省电,可采用低功耗模式。该模式下,内部采样速率降低,12.5 Hz~400 Hz数据速率范围内达到省电目的,而噪声略微变大。要进入低功耗模式,在BW_ RATE寄存器(地址0x2C)中设置LOW_POWER位(位4)。表2为低功耗模式下的功耗,低功耗模式的优势从中可见。相对于正常功耗模式的数据速率,低功耗模式的数据速率并无任何优势。
3 硬件与程序设计
3.1 硬件设计
(1)主电路电气原理图如图2所示。
(2)电容充电装置电路图如图3所示。开关S闭合电池对电容C1充电,当C1电压达到一定电压值时,使VT1、VT2导通,此时C1通过R1、R2、VT2放电,当C1电压降到一定电压值时,VT1、VT2截止,电池再对C1充电,如此重复形成高频电,通过升压变压器升压后整流输出,再经稳压管VD2稳压给电容充电。
3.2 软件流程图与程序设计
(1)本设计的软件流程图如图4所示。
(2)程序设计
PIC16F685通过I2C方式对ADXL345芯片的内部寄存器进行读写操作,从而实现对该芯片的设置和对检测结果的数据读取[3]。
I2C通信模式电路连接图如图5所示,CS引脚拉高至VDD I/O,ADXL345处于I2C模式,需要简单2线式连接。ALT ADDRESS引脚处于高电平,器件的7位I2C地址是0x1D,随后为R/W位。这转化为0x3A写入,0x3B读取。通过ALT ADDRESS引脚(引脚12)接地,可以选择备用I2C地址0x53(随后为R/W位)。这转化为0xA6写入,0xA7读取。对于任何不使用的引脚,没有内部上拉或下拉电阻,因此,CS引脚或ALT ADDRESS引脚悬空或不连接时,任何已知状态或默认状态不存在。使用I2C时,CS引脚必须连接至VDD I/O,ALT ADDRESS引脚必须连接至任一VDD I/O或接地。
4 系统测试
4.1 测试方案
⑴目的:倾角变化时,能够达到设计要求,测量斜面倾角,范围为0°~ 90°。
⑵环境:日常情况,斜面倾角改变。
⑶设备:木板、电解电容、倾角测量装置。
⑷方法:通过自制充电装置给电解电容充电,然后电容给倾角测量仪供电;将倾角测量仪放在斜面上固定,手动控制木板变化,显示器件自动显示不同数据值,测量斜面倾斜角度。
4.2 测试结果及分析
(1)倾角改变而测量仪在斜面上固定时,实测角度和沿x轴、y轴、z轴方向上的分量显示结果如表3所示。
(2)倾角固定而测量仪在斜面上旋转时,实测角度和沿x轴、y轴、z轴方向上的分量测得一组数据如表4所示。
利用绝对误差和相对误差公式:
计算表3中的平均绝对误差为0.4°,平均相对误差值为0.88%,达到设计要求。同理可计算表4中的数据亦达到设计要求。
5 结论
经过试验测试分析表明,设计的倾角测量仪能够达到精度要求,并且能够满足实际的需求。实现了实时数字显示,功耗较低,能够在实际的工业中有较广的应用。
参考文献
[1] 姚晓通. 轻松玩转PIC单片机C语言[M]. 北京:北京航空航天大学出版社, 2011.
[2] ADI.ADXL345:3-Axis.,±2g/±4g/±8g/16g数字加速度计[DB/OL].[2014-04-15]http://www.analog.com/zh/mems-sensors/mems-inertial-sensors/adxl345/products/product.html.
[3] Christopher J. Fisher. 利用加速度计进行倾斜检测[DB/OL].(2010)[2014-04-15] http://www.analog.com.
[4] 邱仁峰,胡晓东. 一种高精度数字倾角测量系统的设计[J]. 电子技术应用, 2005,31(6):38-41.
[5] 花鹏. 基于三轴加速度计的腕式健康监测系统设计[J]. 单片机与嵌入式系统应用, 2013(3):71-74.