加速度传感器是一种能够测量加速力的电子传感器,通过它可以载体相对于水平面的倾斜角度。通过对加速度进行分析,还可以判别载体的移动方向。
加速度传感器可以帮助机器人了解它是在爬坡还是在下坡,帮助飞行器监控它的飞行姿态,甚至可以用于分析物体的振动。在具有防抖功能的数码相机和摄像机中,加速度传感器就被用来检测拍摄时手部的振动。
加速度传感器基于何种原理?
多数加速度传感器是根据晶体的压电效应来工作的。所谓的压电效应就是 “对于不存在对称中心的异极晶体加在晶体上的外力除了使晶体发生形变以外,还将改变晶体的极化状态,在晶体内部建立电场,这种由于机械力作用使介质发生极化的现象称为正压电效应 ”。
加速度传感器利用了加速度会造成晶体变形这个特性。由于变形会产生电压,只要计算出产生电压和所施加的加速度之间的关系,就可以将加速度转化成电压输出。
当然,还有很多其它方法来制作加速度传感器,比如电容效应,热气泡效应,光效应等。无论基于何种效应,其基本原理都是由于加速度产生某个介质产生变形,通过测量其变形量并用相关电路转化成电压输出。
应用实例:笔记本电脑防跌落检测与保护
加速度传感器能够检测到输入轴方向运动加速度减去重力加速度部分。但是,在自由跌落过程中,运动加速度与重力加速度完全相同,因此输出为零。 检测相互直交的X、Y、Z轴加速度的3轴加速度传感器利用自由跌落时各轴的输出均为零这一特性,检测物体的自由跌落。(除了自由跌落以外,由于某种运动速度或重力加速度作用于 X、Y、Z轴的任意一轴时,3轴的输出不会同时为零)。
3轴加速度传感器检测自由跌落的流程如下图所示。通过A/D转换,将从3轴加速度传感器 GS3的X、Y、Z各轴的输出(模拟信号)转换成数字信号。各轴的输出为零,意味着各轴输出的平方和成为零。因此,如果输出的平方和=Gsum低于某阈值时,就会判定为自由跌落。阈值有可能因应用不同而不尽相同。而且,为了与跌落以外的上下运动区别,有时必须进行低于阈值的时间测定。
利用3轴加速度传感器保护硬盘(点击图片放大)
自由跌落的检测功能主要用于移动设备的小型HDD跌落保护。一般的应用是通过3轴加速度传感器检测自由跌落,在受到冲击之前,使磁头退缩,从而防止HDD因跌落而受损。IBM Thinkpad笔记本电脑中就内置了这样的三轴加速度传感器,当硬盘自由跌落或遇到强烈振动时,系统能够根据振动数据选择关闭硬盘还是让其继续运行,以最大限度地保护硬盘。
IBM Thinkpad 内置的Active protection界面
除IBM之外,东芝、索尼、惠普等主流笔记本电脑产品也都加入了类似的技术。
SONY SZ17CP笔记本电脑的加速度传感器位于硬盘的排线上
如何选用加速度传感器?
(1)模拟输出 vs. 数字输出
这取决于你系统中和加速度传感器之间的接口。一般模拟输出的电压和加速度是成比例的,比如2.5V对应0g的加速力,2.6V对应于0.5g的加速力。数字输出一般使用脉宽调制(PWM)信号。
如果你使用的微控制器只有数字输入,比如BASIC Stamp,那你就只能选择数字输出的加速度传感器了,但是问题是你必须占用额外的一个时钟单元用来处理PWM信号,同时对处理器也是一个不小的负担。
加速度传感器
如果你使用的微控制器有模拟输入口,比如PIC/****R/OOPIC,你可以非常简单的使用模拟接口的加速度传感器,所需要的就是在程序里加入一句类似"acceleration=read_adc()"的指令,而且处理此指令的速度只要几微秒。
(2)测量轴的数量
对于多数项目来说,两轴的加速度传感器已经能满足多数应用了。而对于某些特殊的应用,比如U****,ROV控制,三轴的加速度传感器可能会适合一点。
(3)最大测量值
如果你只要测量机器人相对于地面的倾角,那一个±1.5g加速度传感器就足够了。但是如果你需要测量机器人的动态性能,±2g也应该足够了。要是你的机器人会有比如突然启动或者停止的情况出现,那你需要一个±5g的传感器。
(4)灵敏度
一般来说,灵敏度越高越好。因为高灵敏度传感器输出电压的变化较大,测量的精确度也比较高。
(5)带宽
这里的带宽实际上指的是刷新率。也就是说每秒钟,传感器会产生多少次读数。对于一般只要测量倾角的应用,50Hz的带宽应该足够了。在需要进行动态测量的情况下(比如测量振动),你则需要一个具有上百Hz带宽的传感器。
(6)电阻/缓存机制
对于某些微控制器来说,要进行A/D转化,其连接的传感器阻值必须小于10kΩ。比如Analog Devices's analog 加速度传感器的阻值为32kΩ,在PIC和****R控制板上无法正常工作,所以建议在购买传感器前,仔细阅读控制器手册,确保传感器能够正常工作。