基于PIC单片机的智能小区监控系统的设计
1. 引言
本文引用地址:http://www.amcfsurvey.com/article/171827.htm随着生活水平的不断提高,人们对居住环境的要求也大大提高,对信息服务和安全防范的要求尤为突出.如何利用计算机和通信技术在智能化小区家庭智能管理系统中,对住户家庭水表、电表、煤气表的自动计量以及火灾、煤气泄漏、入室盗窃等警情的实时监控已经成为信息产业的热点技术.利用CAN总线技术虽然有其开放式、数字化、多点通信等诸多优点,但将其用于智能住宅小区,却因其成本偏高,目前在我国还难以推广.为此,作者开发出一种设备简单,成本低廉,便于维护经济型智能小区家庭管理系统,能有效地实现三表自动采集计费,防盗、防灾、自动报警和远程监控等功能.利用单片机进行实时采集,并将采集的数据通过串行口传给PC机,PC机完成数据的运算、存储、和打印。硬件通过PIC16FXX单片机实现,软件由VC++6.0实现.
2. 系统结构
系统是由一台PC机(上位机)和多台PIC单片机(下位机,作为终端控制器)构成分布式控制系统,PC机COM口带多个终端控制器,终端控制器地址设为 1-N。PC机采用巡查工作方式自动查询小区内所有终端控制器的报警状态,及时对各种报警信号做出响应,并通过有效手段(语音提示、电子地图标识等)向监控中心工作人员提供报警业主家庭有关地址、电话等详细信息,以便及时处理;同时通过抄表工作方式完成自动抄表以及报表输出等任务.终端控制器采集用户煤气表、电表、水表脉冲数据,实现3表自动计数;同时采集现场的防盗、防灾等信息,有意外事件发生时可自动启动报警器报警.PC机与终端控制器采用总线式网络结构相连,采用RS—485接口总线通信;RS485接口总线利用平衡发送和差分接收方式实现通信.,以半双工工作方式工作,最大传输距离可达 1200m,波特率在1200和38400b/s间可设置,RS485网络采用一对有补偿的双绞线。终端控制器采用PIC16FXX单片机,片中串行口加 MAX487转换器,选用在多点总线传输线中双向数据通信应用网络广泛使用的MAX487收发器,其特点是具有限斜率的驱动器,即驱动器发送数字信号,其沿边斜率是受限制的,这使电磁干扰(EMI)减至最小,并减少因电缆终端不匹配而产生的影响.接口接线简单,维护方便,保证了抄表的可靠性和监控的实时性.
3. 终端控制器硬件设计
为了简化硬件结构,将三表设计成脉冲表,报警探头为脉冲输出,从而避免了在控制器主板上使用A/D转换接口.本系统对表脉冲安排4路输入通道,利用单片机 PIC16FXX的PORTA端口输入,表脉冲和报警脉冲信号分别通过斯密特触发器波形整形和74LS244缓冲器进入CPU,在一定的采样周期内,CPU轮流查询用户表和报警的输入端口状态,并进行数据分析处理,存到EEPROM 24C16相应的存储区,等待中央计算机的查询和抄写.再安排4路输入通道用于对设防、撤防、解警和求助操作的遥控处理.串行接口器件LCD液晶显示器可显示表数据和有关报警状态等信息,所采用的液晶显示模块,内置显示RAM和驱动控制器,通过4线与单片机相连. 8KB串行EEPROM 24C16,用以存储用户各表的数据信息、报警状态信息和采集监控终端地址以及有关初始化信息.每个用户的采集监控终端设置不同的地址,从而保证采集数据的正确无误.
终端控制器工作过程如下:上电复位自检后,开始运行,指示灯闪烁表示程序开始正常工作,初始化LCD,脉冲表,密码,报警状态,键盘,串口。然后进入主程序循环,首先记录报警状态,脉冲表数据,然后将上述两种数据存入24C16中,查询键盘,通过串口响应PC机通信命令与PC机之间进行数据传输。
4. 系统通信
通信的发起方总是主机开始,由PC机控制通讯的主动性,单片机在通讯过程中处于被动地位。由于各分机共享同一频率,为避免冲突,PC机通过巡查分机的工作方式查询各单片机是否有信息要上报给PC机。
为了保证PC机与多台单片机之间能够准确、可靠的通信,确定一个明确而合理的通讯协议是关键。包括对数据格式、通讯方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定。
为区分不同的分机,必须为每一个分机分配一个唯一的地址,此地址唯一区别各单片机。数据格式采用数据包的形式,一次传输一组数据,数据包格式如下所示:
起始标志位:1个字节 数据长度:1个字节
分机地址:1个字节 数据内容:n个字节
和检验:2个字节 命令/数据:1个字节
结束标志位:1个字节
评论