基于单片机无线控制的多功能打铃仪设计
扫描二维码
随时随地手机看文章
0 前言
针对传统电铃控制器存在施工麻烦(拉专线)、控制不灵活、定时不准、校时繁琐、功能简单的缺点,本作品具有以下几个方面的特色及创新:
一是采用GPS 授时技术,控制时间精准,更为重要的是主机不需要调试,一劳永逸;二是考虑极端情况发送,设置了备用时间,内置DS1302 时钟芯片,每间隔一定时间对DS1302 进行GPS 授时,在GPS 授时不成功的前提下可以使用上一次保存在DS1302 中的时间,并给出提示,提醒操作人员检查GPS 设备;三是GPS 与主控制器之间采用无线通信方式,且采用的是433M 的ISM 频道,具有较强的穿墙能力,彻底消除GPS 信号盲区 ;四是打铃仪采用分布式安置方法,采用自定义协议与主机进行通信;五是分布在教学楼、实验楼、图书馆的打铃仪根据使用场合不同,可以自动调整铃声(比如图书馆需要安静式铃声);六是可以点对点控制,实时控制各不同楼宇的打铃仪是关闭或是开启;七是分布在不同楼宇的打铃仪可以作为盗险报警中继路由器,检测到危急情况时可以实时通知主机,并给出报警铃声;八是主机每日巡检子机工作状态,以确定其是否能正常工作。
1 系统设计方案
该系统实现如图1 所示,由GPS 主机接收模块(时基信号源)、主机控制器和下位机打铃仪(子机)三个部分组成。
时基信号模块将内置CPU,控制GPS DEMO 电路获取GPS 卫星中的原子时钟信号,将提取出的世界时间转换成东8 区的标准北京时间,并计算出年、月、日、星期等日历信号,并将这些信息显示在1602 的液晶显示器上,这些日历时间信息通过CC1101无线模块发送给主机控制器。时基信号模块至于无障碍遮挡的屋外,为了方便施工,采用光太阳+ 蓄电池方式作为供电系统,为整个系统提供5V、3.3V 电源。
主控制器在整个系统中扮演重要角色,是整个系统的控制、指挥中心,一方面,它要通过无线方式从时基信号源接收时基信号,另一方面又要通过无线通信方式向所有子机发送(接收)控制(数据)信息。主控制与实际信号源、主机与子机之间采用ISM 频道的433M 无线通信方案,具有开路传输距离远、穿墙能力强的特点。主机与时基信号源以及主机与子机之间的通信采用不同的通信信道实现,以避免频道的冲突。
主机还在每天固定时间对每台子机例行检查,在一个公共频道上依次“传唤”每台子机,“命令”每台子机将自己工作状况发送给主机。如果主机长时间接收不到自己应答或接收到错误数据,则提示对应子机发生故障,并给出提示,以便维护人员检查维修。
子机电铃控制模块可以有多部(最多256 部),分布在不同的位置。由于采用了无线通信的方式,所以其安装施工变得简单方便。主机不断检查日作息时间表,“到点”通过广播信道给所有子机发出“打铃”命令,子机收到该信号后控制电铃动作。此外,还可以发送“屏蔽”指令,让某些特殊位置或在特殊时期的电铃“禁响”,即其他电铃均响,被“禁响”的电铃不响。
子机电铃还可以充当“防盗中继路由”的角色。通过无线通信方式检测置于不同位置的传感器信息,实时检测盗险情况,一旦发送危急情况,立马发出告警铃声,并把该信息反馈给主机控制器。
2 打铃仪实现
设计的主要核心部分是软件构架及其设计,本设计的程序由时基信号源、主机控制器、子机模块三部分组成,部分模块电路如图2 所示。
2.1 时基信号源模块
首先,利用现有的GPS 模块,接收美国卫星数据,通过异步串口通信与主机1 进行联接,波特率为9600bps.主机1 在串行中断中先把接收到的数据装载在一个数组里。主机1 与通过NMEA-0183 协议对转载的数组进行判断与辨别。
先辩断接收辨识位“$”.由于本项目只需GPS 的时间数据。所以只接收GPRMG,其内容为$GPRMC,hhmmss.dd,s,xxmm.dddd,
由于RMC 中还含有其他数据,因此为了避免出错,在程序上以逗号为标志位进行判断。把时间和日期分别提取出来装载在新数组A 里。由于接收到的时间是0 时区的时间,所以在程序对其进行加8 的处理。
其次 把处理好的数据的通过cc1100(采用433HZ,信道为0 发送给主机2 并显示在1602 液晶上。由于考虑天气等其他可能干扰到GPS 接收的因素,本系统在主机1 上还加上了DS1302 备用时钟芯片进行计时,以保证时间系统不至于“瘫痪”.
利用GPS 收到的时间对DS1302 时钟芯片进行同步更新。这样就实现在无信号时可采用DS1302 时间作为临时时间发送给主机2. 并且为了方便主机2 区分接收到的时间是哪一种的,在主机1 发送是采用自制协议,便于主机控制器进行分辨和操作人员维护。
2.2 主机控制器模块
主机控制器先守候在与信号源相同的频率和信道(CH1 授时信道)上。时基信号源一有信号来就根据自制的协议进行判断数 据来源,并点亮相应的指示灯,以判断接收的时间是GPS 授时还是DS1302 授时。提取数据后还要判断季节,如果是5 ~10 月之间的月份,启用夏季打铃时间系统,否则启动冬季打铃系统。如果所接收的数据位1 为特殊标识的话,则进入紧急状态,主机程序工作流程如图3 所示。
夏季作息打铃时间:对接收到的时间进行判断,如果符合打铃时间,则马上切换通信信道(CH3 打铃信道),利用CC1101 向各子机发送打铃控制信号,子机收到后打铃。通信结束后重新切换到CH1 信道(信道)。冬季作息打铃时间:除了预示打铃时间外 其他都与夏季一样。
2.3 系统自检
为了保证主机与子机的正常通信,主机2 每天12 点01 分准时发送信检查信号,工作过程如下:
切换到信道3(CH3),发送包含主机ID 信息的协议包给所有子机,延时等待子机1 应答信号,子机接收到协议包后判断ID 号是否有效,有效则向主机返回应答,否则丢弃。如果主机长时间没有接收到应答信号,对应I/O 口输出低电平,指示对应子机发生故障,继续呼叫下一台子机,直到所有子机检测完毕为止。检测结束后切换信道0(CH0),继续接收时基授时信号。
子机1 守候在03 信道,等待信号。接收到信号后判断信号,是打铃还是检测。如果为打铃则对应的io 口为高电平。继电器导通打铃,延时15 秒后 重设为低电平。如果为检测信号则发送应答信号。
2.4 报警功能
如果有报警按键按下去,则停下子机工作,子机切换到CH3信道向主机发送报警信号,并打铃,直到警报解除。如果外接有无线传感器,子机通过CH5 信道巡检各传感器。
整个系统的通信过程如图4 所示。
2.5 通信协议
各模块之间通信采用简单的协议包完成,根据具体情况不同,每个协议的字节数不同,具体如下:
(1)授时包(主机接收时基信号源)
授时包由8 个字节组成,每个字节定义为:0B :标识符,恒为AAH ;1B :年;2B :月;3B :日;4B :时;5B :分;6B :秒;7B :星期。
(2)打铃控制包(子机接收)
打铃控制包为6 个字节,0B :命令字,不同的命令代表不同动作;1B :ID 号,存放子机的ID 地址;2B :铃声的类型;3B :
禁声与否,00H 为禁声,01H 为正常;4B :保留;5B :保留。
(3)巡检包(子机接收)
巡检控制包为3 个字节,0B :命令字,不同的命令代表不同动作。
1B :ID 号,存放子机1 的ID 地址。2B :动作指令。
(4)子机应答包(子机发送)
巡检控制包为3 个字节,0B :命令字,不同的命令代表不同动作;1B :ID 号,存放子机2 的ID 地址;2B :动作指令。
(5)报警信号包(子机发送)
巡检控制包为2 个字节,0B :命令字,不同的命令代表不同动作;1B :ID 号,存放子机1. 的ID 地址。
(6)传感器巡检包(子机接收)
巡检控制包为2 个字节,0B :命令字,不同的命令代表不同动作;1B :ID 号,存放子机2. 的ID 地址;2B :传感器型号;3B :传感器动作3 作品性能测试与分析
3.1 系统测试方案
方案一:在实验室内对几个模块的性能进行测试,观察各模块的工作情况,及各主要元件工作稳定性能。
方案二:在学校内对几个模块进行分开测试,观察各模块的运行情况及数据传输执行情况。
3.2 测试设备
频谱分析仪(AT6010+/AT6011+);数字式万用表(DT9605A);模拟式万用表(MF-47);标准时间(IBM 电脑)。
3.3 测试数据
3.4 结果分析
通过我们的多次测试,从各种数据反映。本系统性能稳定,存在误差小,可以很好的完成时间的收发及相应的处理,对设置好的打铃时间系统能够准确的做出相应的应答,达到预期设计要求。因电源在测试过程的中电压都可以长期稳定在上述的测试值,电源的安全性能也是比较可靠。由于我们使用的GPS 模块是第二代,固其在室内的接收性能方面不是很理想,有接收失败的情况发生;但我们的设计GPS 相关的模块是安装在室外的,固其存在的这一缺陷就不需要做太多的考虑了。
CC1100 无线模块的收发距离在隔有障碍物时的收发距离只有150 米左右,空旷场合也只有200 米左右,固是限制其发展的主要问题之一,在一些范围较大的场合将是本产品的劣势,但我们可以做多种设置,在不同场合使用传输距离相应的无线模块就可以解决该问题。
4 结束语
电路的安装和操作比较简单,因主机1 采用太阳能供电,固可以将主机1 模块安装固定在楼顶等有阳光的地方就可以正常使用了,注意要对模块进行保护(太阳能接收板除外),尽量把其安装在干燥阴凉的地方。
主机2 可以安装在有人值班的值班室,接220V 市电就可正常工作,因其配备了各模块的工作指示灯,可以很方便的从指示灯的工作情况判断出各模块的工作情况,有利于在出现问题时得到快速准确解决。
而打铃仪的安装也比较简单,只要找一个可以接220V 市电的地方将控制模块与电铃固定好就可以了,且其具备了一下载口,用专门的下载软件(使用时要断开220V 电源),可以随时对打铃的情况进行设置,且电铃设有专门的接口,在电铃损害时可以方便的进行更换。
注意打铃仪要安装在周围空气中无易燃性、腐蚀性气体、导电性尘埃、无显着摇动和冲击振动的环境中使用。
本设计通过合理选用元件及优化的软硬件设计,使我们的设计具有低功耗、低成本、便携式、高精度的特点。且本设计也据有较大的升级空间,可以从软硬件等多个方面入手进行升级与优化,应用范围广,有较好的市场前景。