传感器

这里展示的设备是迄今为止世界上最小的地震传感器。 它的最重要特征之一是,它通过INT1引脚发出信号,指示可能对电子设备造成破坏性影响的地震事件。 例如,这种功能允许在振动可能实际上造成这种损坏之前关闭所述设备。 保护机械至关重要,以便在发生地震后仍能拥有操作设备,以防止进一步的破坏性事件。 顺便说一下,可以使用从INT1触点获得的警告来激活警报,以及(为什么不这样做)激活对测量工具及其存放位置的机械保护。

传感器发出的信号有两种:关闭信号和地面崩溃信号。如果认为地震的强度等于或大于5,则会发生第一种情况。 如果地面倾斜约20°,则会发生第二种情况。

该传感器还具有一个内部存储器,用于存储与最近保存的五个地震和五个最大地震有关的数据,当然,还包括所有配置设置。

由三轴加速度计组成,在地震检测过程中仅使用了其中两个,并且可以由用户自动选择,也可以根据传感器的倾斜度自动选择。 I²C总线的存在允许修改传感器的设置,或读取有关地震的数据:这可以由上述总线附带的任何微控制器以及Arduino来执行。

在使用传感器之前,必须执行初始安装步骤,也就是说,传感器必须检测所选轴的偏移量,并将其值保存到内部存储器中; 这样的偏移量将用于区分塌陷状况,以便在检测地震事件时将其与当前状况进行比较。

初始安装后,当开始计算有关地震事件的数据时,传感器将进入待机模式,直到地震开始。 它一直保持这种状态直到认为地震已经结束。 在此阶段,将使用最近测量的数据更新内部存储器。

每次上电时,传感器进入偏移检测模式,并确定是否满足崩溃条件,如果满足,则通过将其设置为低电平来改变INT1引脚的逻辑条件。 如果不满足条件,则传感器进入待机模式,并开始地震检测周期。

内部存储

为了使用传感器,还需要知道如何编程主要配置参数以及传感器针对每次地震计算的数据位置。

内部存储器配置在可通过16位地址寻址的8位寄存器中。 因此,例如,使用Arduino Wire库,需要发送地址的最高有效8位,然后发送最低有效8位。

并非所有寄存器都可以访问,并且制造商明确声明您必须注意不要访问禁止访问的寄存器,以防止损害传感器本身的正常功能。

存储器中的前三个寄存器是STATE,AXIS_STATE和EVENT(它们具有只读访问权限); 它们包括有关传感器当前状态及其当前配置的信息:在其次有效位中,STATE寄存器包含状态,AXIS_STATE寄存器由2位组成,其中指示用于检测的轴,而EVENT寄存器由4位组成,每个位与可能发生的可能事件有关。

以下三个寄存器分别是MODE,CTRL和CLEAR_COMMAND,它们可以进行读取和写入操作,并且可以修改传感器的行为:第一个寄存器MODE,可以更改传感器的状态,后面的CTRL, 启用要使用的轴的选择和关闭阈值,而CLEAR_COMMAND通过将其位设置为1启用以重置特定的存储部分。

表1综合显示了所有配置寄存器及其使用的所有值。

在从0x2000地址到0x2003的寄存器中,可以找到有关正在进行的地震事件的即时信息(如果传感器处于待机模式,则将寄存器复位),然后将它们划分为:前两个寄存器分别为0x2000 和0x2001包含SI值,分为上,下部分,而在其余寄存器0x2002和0x02003中,找到了PGA值,也分为上,下部分。

之后,找到了十个寄存器块,从0x30XX地址到0x39XX一个,它们包含有关地震的数据:前五个对应于保存的最后五个地震事件,而后五个是具有地震记录的更高的强度地震。

如表2所示,所有块均已划分,其中前六个寄存器对应于偏移信息,两个寄存器包含地震发生的温度,两个寄存器包含SI值,最后两个寄存器包含已保存的PGA值。

板子+原理图

源代码

详情参阅 - 亚图跨际

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐