一个简单的闭门传感系统建设规划

概述

门开关传感器之前做过几版,实际上之前称不上传感器,之前只是个手动做的带开关和非门的报警器罢了。最接近现在的一版中采用的ne555有较大的静态功耗,现在使用单片机,希望它的低功耗能带来较长时间的续航。

主要功能

发送开/关门事件、ir汇报开关错误率、ir汇报电池状况、蜂鸣器摩斯电码发送超时报警、调试按键按下通过摩斯电码或ir信息包发送2~4信息

前期分析

前言

家里有两层门,一个是外门,一个是里面一个装饰用的门,有时存在忘记关外侧门的问题(以后装修记得只装一个门就好)。由此产生了对门开关状态检测的要求,对于一个DIY爱好者,当然喜欢自己做,经过几次迭代升级,我现在写出第三版计划的预期目标书。

前版本分析

第一版

第一版只采用一节CR2032钮扣电池,门传感器采用易拉罐皮作弹片,曲别针作触点的开关(闭门时断开)。
优点:

  • 断电时零功耗

  • 缺点:
  • 没有特殊功能如:蜂鸣器
  • 开关外观不美观且大

第二版

第二版经过几次迭代,一开始使用ne555为灯增加闪烁功能,更易引起注意,后来添加一个ne555驱动一个无内部震荡电路的蜂鸣器。
优点:

  • 容易吸引注意
  • 使用一个上拉的开关(闭门时拉低),减小了开关复杂水平
    缺点:
  • 开门即响,不够智能
  • ne555即使通过复位脚停止震荡也有同样的功耗
  • 为实现闭门断电使用了一个mos管,但奇怪的是有时有较大的发热、压降,导致有时2s锂电在mos管后对芯片供电电压不足4v,从而工作异常。(mos使用坏显卡拆机,ne555购自淘宝。

第三版(理论)

第三版有如下几个预期功能:

  1. 休眠功耗达到uA级
  2. 有向中心设备传递时间的功能
  3. 成本尽量低
  4. 使用PCB
    且现在经简易选型决定使用立创商城里最便宜且有货的NY8A051H,向中心设备传递数据使用红外发射管,但这个芯片采用1k*14bit的EPROM,不能多次编程且容量较小,可能不够为蜂鸣器存储音乐。但我希望专门优化红外线传输功能,只要能传递能够计算出开关门事件发生时间就够了。播放音乐可以交给中央采集设备,最好再优化下蜂鸣器,当出现没有回传事件的故障时也能有开门超时报警功能。

工程分析

实际做起来才发现有许多实际问题,我想先考虑清楚一个框架再开始写会有许多帮助。以下内容虽然是普通的文字,但可能经过了综合考量和推敲,但考量的过程没有保留。请注意!

  • 延时函数:延时函数使用中断优先较低的定时器解决,中断前设置延时标志位即一个volatile变量,检测到接下来的内容可能中断就执行些不怕打断的工作。

程序框图

1
2
3
4
5
开门(下降沿中断从睡眠唤醒,然后关中断,用软delay函数间隔采样:总采样数右移一位(十进制除2操作)和开关开次数比较进行消抖)
?
计时器计时(每次溢出给一个变量+1)关门后发送开门时间。时间超时-蜂鸣器提示-超出过长时间-蜂鸣器报警,此时关门即刻停止报警,消抖开关后确认关门,ir发送报文,最后发出简短提醒提示已关好或回到初始状态
任意时刻按下报文按键回报电量,关门后按键蜂鸣器发送数据包[数据包编号;开门时间;电量;报警状态]
:消抖失败,给网关发送开关故障报告

一个简单的闭门传感系统建设规划
https://zhaosn.github.io/2023/securitySensor/
作者
Zhao SN
发布于
2023年3月23日
更新于
2023年3月24日
许可协议