在地质测量和生产生活中经常会接触到倾角的测量, 传统的测角工具和仪器使用起来存在操作复杂、时间较长、人为干扰较大等缺点。本文中提到的测量系统具有测量速度快、操作简便易行的特点, 并且可以在一定程度上减小人为因素的干扰从而减小测量的误差。
1 测量原理
1.1 物理原理
加速度计的默认受力轴为水平方向, 即水平放置轴向上受到的拉力为0, 加速度a为0。 (图1) 当加速度计产生倾斜时, 受力轴的轴线与水平线会产生大小为θ的夹角, 从而在轴线方向受到大小为的F=Mgcosθ重力分量, 轴线上加速度a为gcosθ。不同的倾斜角度下, 加速度计受力轴所受到的力的大小不同。θ在0到90度的范围内a与θ存在着一一对应的关系。因此a与θ还存在如下形式关系:arccos (a) =θ可以通过测量F的大小得到θ的值, 即倾斜角的大小。
1.2 MMA726工作原理
加速度计MMA726具有三个加速度感应轴, 感应方向两两垂直 (图2) 所示。用于感应物体的运动和方向, 根据物体运动和方向改变输出电压值。各个轴的信号在不运动或者不被重力作用的状态下 (0g) , 其输出为1.65V。如果沿着某一个方向活动, 或者受到重力作用, 输出电压就会根据其运动方向以及设定的传感器灵敏度而改变其输出电压。
加速度计灵敏度由两个开关S1、S2连接的电阻控制, 电阻大小选择在1kΩ到3.3kΩ之间。具体情况见表1。
1.3 倾角的测量
将加速度计静止的放在所要测量的斜面上, 使感应轴与斜面保持平行, 且指向斜面倾斜方向 (图3) 。根据牛顿第二定律的现代表述方法:物体的动量对时间的变化率与所加的外力成正比, 并且发生在这外力的方向上。此时由于加速度计相对地球静止, 所以改变加速度计输出电压的因素只有地球的重力加速度g在感应轴方向的分量。因此可以通过测量加速度计输出的电压大小V1, 减去水平放置时的电压初始值V0, 再除以测量灵敏度k, 得到加速度的变化值Δg。
公式为:计算得到的Δg即为本文1.1中提到的加速度a。进一步利用公式, 就可以得到物体表面的倾角。
2 AD转换
2.1 A/D转换器
A/D转换器是一种用来将连续的模拟信号转换成适合于数字处理的二进制器件。
A/D转换器的输入有两种, 即模拟输入信号V (in) 和参考电压V (ref) ;其输出是一组二进制数。可以认为, A/D转换器是一个将模拟信号值编码制成对应的二进制的编码器。
常用的A/D转换器有:双积分式、逐位比较式及并行直接比较式等几种。
2.2 A/D转换方法
本系统利用的是AVR芯片, 内部集成有一个10位逐次比较ADC电路。因此, 使用AVR可以非常方便地处理输入的模拟信号量。
ATmega128的ADC与一个8通道的模拟多路复用器连接, 能对来自端口F的8路单端输入电压进行采样。单端电压输入以0V (GND) 为基准。器件还支持16路差分电路输入组合。两路差分输入 (ADC1、ADDC0、与ADC3、ADC2) 有可编程增益级, 在A/D转换前给差分输入电压提供0dB、20dB或46dB的放大级。七路差分模拟输入通道共享一个通用负端, 而其他任何ADC输入可作为正输入端。基准电压可以通过在AREF引脚上加一个电容进行解耦, 以更好地抑制噪声。
3 系统设计
3.1 流程设计
本系统实现倾角测量的流程为:加速度计通过感应重力的变化输出连续的模拟信号, 将这一信号连接A/D转换设备。A/D转换设备再将模拟信号转化成数字信号, 并将这一信号经过单片机I/O口输入到单片机内部。单片机再将数据进行处理, 得到倾角的大小, 然后通过LCD液晶显示屏将结果显示给用户 (图4) 。
3.2 单片机选择
由于加速度计所需的数据处理速度不需要很高, 所以适用于大多数类型的单片机。在选用单片机的时候应考虑的因素有:可靠性、功能实现性、兼容性、功耗和价位。
ATmega128单片机为基于AVR RISC结构的8位低功耗微处理器。可以减缓系统的功耗和处理速度之间的矛盾。具有相对完善的接口性能和大量的功能接口, 便于实现多个外设的同时工作。此外在省电、稳定性、抗干扰性以及灵活性方面具有良好的性能, 故这里选用它来执行测角的功能。
3.3 硬件接口设计
由于ATmega128芯片内部集成了ADC转换电路, 所以只需要设计模拟信号的输入电路再与芯片的ADC输入口 (PORTF) 相连, 则可以实现A/D转换的要求。将加速度计的输出端接单片机模拟输入电路的输入端口, 加速度计使能端接到未被利用的I/O端口, 这样就组成了倾角测试系统 (图5) 。图中的PE4引脚即为加速度计的是能控制引脚, 当该引脚为高电平时, 加速度计芯片使能, 当该引脚变为低电平时, 加速度计芯片停止工作, 此时单片机可以执行其它的任务。
4 软件设计
4.1 编程步骤及流程图
流程图 (图6) 。
程序所要经过的步骤为:初始化端口, 初始化A/D转换器, 开加速度计使能, A/D转换, 单片机处理数据, 初始化LCD, LCD显示输出。
4.2 编程所需注意的问题
程序中需要定义数组储存倾角值, 应注意倾角的正负符号;经计算得到的公式参数与实际值有一定的误差, 需要在程序中进行修正;程序中注意转换器使能的控制;试验中处理后得到的数据传送到L C D上显示时应注意进行格式的转化;为了尽可能充分的利用单片机资源, 在不测量倾角的时候可以使单片机进行其它操作。
5 结果分析及总结
通过选取合理的参数本系统中所选取的加速度计两个感应轴工作正常, 可以得到较为精确的结果, 平且可以通过LCD进行显示。
在整个系统的构造中, 应确保接口连接正确, 加速度计安放平稳, 不会产生晃动。编程中合理使用延时, 经过多次反复测量选取合适的参数。
如果在试验中产生“意外”的结果要仔细分析查找原因, 找到解决方法, 保持严谨的态度, 然后重复试验, 最终获得理想的结果。
加速度计与单片机之间的连线越短越好, 最好直接焊接到一起, 这样可以有效的减少信号在传输线路中引入的噪音干扰使测量结果更加精确。
摘要:介绍了加速度计测量倾角的原理、方法和步骤, 并提供了基于AVR单片机和MMA726模块的系统设计思路和测试结果。
关键词:MMA726,A/D转换,系统设计
参考文献
[1] 龙丘.MMA7260模块V30使用手册.
[2] 张三慧.大学物理学[M].清华大学出版社, 1999 (4) .
[3] 张俊谟.单片机中级教程[M].北京航空航天大学出版社, 2006 (10) .
[4] 陈冬云, 杜敬仓, 任柯燕.ATmega128单片机原理与开发指导[M].机械工业出版社, 2006 (10) .