资源描述
word现场总线课程论文轻工业学院题 目:基于can总线的火灾报警控制系统设计姓 名: 尚鹏程 学 号:3 所在学院:电气信息工程学院 年级专业:自动化11-01摘 要为快捷有效的预测火灾的发生,减少人们生命和财产损失;解决“传统火灾报警器只对单一物理或化学信号进展探测而容易使报警系统出现误报或漏报等问题从而设计了本系统。本系统采用主从式结构,具有反响迅速、工作稳定、安全等特点。主节点与从节点的单片机都采用AT89C52芯片来控制。为了实现主节点对从节点的实时监测,在主节点和从节点处都设计有CAN通信电路模块,由控制器SJAl040和收发器82C200组成CAN通信接口。从节点的外围电路由烟雾传感器SS-168、光电传感器ST-178、温度传感器DS18B20和声光报警装置组成。单片机巡回检测温度、红外辐射、烟雾等传感器,当温度采集、红外检测、烟雾检测模块中任意两项检测到异常时系统发出声光报警,直到任意一项异常排除时系统才自动停止声光报警。本系统在每个从节点跟主节点处都设有声光报警装置,它方便工作人员能快速的找到哪一个从节点所在位置有火灾发生,同时也提醒了在场的人员此处有火灾发生,从而能让工作人员快速的到达火灾现场跟现场人员快速灭火,提高了本系执行度。关键词:传感器,火灾报警系统,CAN总线目 录第1章 绪论11.1 PLC的历史和开展11.2 PLC的特点与应用11.3 PLC的工作原理2第2章 系统的总体设计42.1 总体结构框图4第3章 系统硬件设计53.1 CPU型号的选择53.2 模块的选择53.3 硬件电路设计63.4 系统I/O分配78第4章 系统软件设计9第5章 程序调试11第6章 MCGS组态126.1 绘制组态界面126.2 组态参数设置126.3 脚本程序13第7章 总结15参考文献16附录1729 / 32第一章 绪论课题的研究背景火灾是目前最常见、最普遍的威胁公共场所安全和建设和谐社会的重要灾害之一。但是“火被人类控制与利用也是人类迈进文明社会的一个重要标志,所以说“火,它既能给人们带来了文明的进步,光明和温暖,但是当其一旦失去控制,就会为人类带来消灭性地灾难。使用“火的过程中,人们总是在不断地总结发生火灾的规律,尽可能地尽最大可能减少火灾对人身财产造成的伤害或损失。在100年前,那时的科技还不兴旺,我们伟大的先祖发挥他们的聪明与才智总结出“防为上,救次之,戒为下的经验来防治火灾。随着科技不断的发与进步,人们居住的场所越来越集中,而在现如今人们的财富日益增加,诱使发生火灾的机会也越来越多,比如违规的使用电器等。现代建筑发生火灾危险性越来越强,一旦发生某地起火,如果不能与时的扑灭就会照成一系列的连锁反响,火会越燃越大有的甚至燃烧了整条街。这样的报道时常会出现在电视、杂志上,让人们苦不堪言。因此,消防设施已经成为每一个场所的必需设施,突显其对现代人们社会活动的重要性。1.2 国外火灾自动报警技术的现状从第一个感温探测器面世,至今已有一百多年了。其低灵敏性和不兼容性,早已难以满足时下客户的要求。第二次世界大战后,光电和离子感烟探测器进入市场。这些新型灵敏度高的探测器在开展初期,已能够探测早期火警,难怪它们能以革命性姿态进军世界消防保安行业。众所周知,火警时任何事都是分秒必争的。为此,生产商,甚至一些顾客,擅自调高探测器灵敏度,大大减低自动火灾报警系统可靠性,以至这些系统的“主要产品被加上“误报帽子,引起了很多连带问题。对现代消防技术的开展来说,这绝对是急需改善的。长期以来,大幅度地改善火灾探测器的可靠性,是客户的迫切要求和迅速扑来火警所不可或缺的。也是世界各国科学家努力研究的方向。随着科技的不断开展,更新的传感器、微型电子装置、数据处理与通讯设备等都正积极地寻找在火灾探测方面的新的突破。目前国外专业界对其分类方法还存在一些差异,从探测器利用的原理可以分为四代:第一代 四线制式开关量探测器,这种探测器历史悠久,目前依然有一定的市场;第二代 带地址编码的开关量探测器,这种探测器作为四线制探测器技术的延伸,是属于一种过渡性产品;第三代 集中智能模拟探测器,采用探测器主机的对话方式与自动编址等技术,为目前最为流行的产品;第四代 无线智能模拟探测器和空气采样分析探测器。目前这两种探测器已在少数工程应用之中,价格偏高,但安装方便,报警安全可靠,为未来应用的开展趋势。1.3 论文的课题背景与主要容根据资料分析,现如今在学校的寝室里,学生贵重物品被盗、由于学生过失而引起着火等事故时有发生,这些都是一直以来困扰着学生、学工以与学校保卫处的“大问题。传统的防措施存在很大的弊端,比如当事故发生时,防护铁门、铁栏杆就会成为主人逃生的最大障碍。而采用智能防火防盗报警系统,便能很好地解决此类问题了。但是市场上防火防盗系统价格对大学生来讲过高,本系统便是针对大学宿舍,从低本钱的角度来设计制作的。学生宿舍报警系统是以火灾为监控对象,研究总线协议,采用can总线实现网络报警。采集20路火警、盗警信息。接警中心要有报警信息点指示。宿舍中采用热释电传感器对人体进展检测,烟雾传感器实现烟火检测,主机通过CAN总线对从机实时监控,当有异常出现时,宿舍和监控室的报警装置会同时响起,只有本宿舍成员在本宿舍成员在本宿舍通过按键才可解除报警状态。第二章CAN总线规2.1 CAN总线简介CAN中文名为控制器局域网,它是一种实时控制的串行通信网络或者有效支持分布式控制的控制器。CAN总线最初是由德国博世公司开发的,在20世纪80年代初为解决现代汽车中众多的控制和数据交换之间的测试设备而开发的一种串行数据通信协议,它是的通信介质可以是双绞线、同轴电缆、光导纤维,通信速率高达1Mbps的一种多主总线控制器。CAN总线通信接口中集成了CAN协议的物理层,数据链路层功能,可完成对通信数据的成帧处理,包含位填充,数据块编码,循环冗余校验,优先级判别等项工作。现在,CAN总线通信被誉为自动化领域的计算机局域网。它出现在分布式控制系统主从节点之间,为实现实时并可靠的数据通信提供了强有力的技术支持。CAN总线的高性能和高可靠性也同时得到各业界的认可,它被广泛应用于工业自动化,船舶,医疗设备,工业设备等场所。同时CAN总线的现场控制也是当今自动化技术领域的热点话题之一。由于CAN为越来越多地被不同的领域采用和推广,致使要求各种应用领域通信报文实现标准化。为此,1991年9月Philips Semiconductors制订并发布了CAN技术规(Version 2.O)。该技术规包括A和B两局部。Version 2.O的A局部给出了曾在CAN技术规版本1.2中定义的CAN报文格式,而Version 2.O的B局部如此给出了标准的和扩展的两种报文格式。此后,1993年11月ISO正式颁布了道路交通运载工具、数字信息交换、高速通信控制器三者之间的CAN控制的国际标准(IS011898),为控制器局部网标准化、规化推广与发奠定了根底。CAN的一些根本概念:1报文:报文就是在总线上所传送的信息,该信息以不同的报文传送,但报文长度要受帧结构的限制。当总线空闲时,任何连接的单元均可开始发送一个新报文。2帧传送:在总线上传输的报文以帧结构进展传输。报文传送有种不同类型的帧来表示跟控制,它们分别为数据帧、远程帧、出错帧和超载帧。3裁仲:用于处理总线访问冲突。依据其报文标识符与RTR位来确定。4标识符:一个报文的容由其标识符ID命名,ID并不指出报文的目的,但描述了数据的含义,以便网络中的所有节点有可能借助报文滤波来决定该数据是否使它们激活。5技术规:CAN技术规Version2.0包括2.0A和2.0B。2.0A的报文标识符为11位,2.0B有标准和扩展两种报文格式,前者的标识符19位,后者29位。6远程数据请求:通过发送一个远程帧,需要数据的节点可以请求另一个节点发送一个相应的数据帧,该数据帧和对应的远程帧以一样的标识符命名。7显性隐性:CAN总线数值为两种互补的逻辑数值“显性和“隐性。其中显性表示逻辑“0,而隐性表示逻辑“1。当显性和隐性位同时发送时,总线数值将为显性。2.2 产生与开展控制器局部网CANCONTROLLER AREA NETWORK是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以与建筑、环境控制等众多部门。控制器局部网将在中国迅速普与推广。 随着计算机硬件、软件技术与集成电路技术的迅速开展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活性的高要求,工业控制系统的开展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。分散式工业控制系统就是为适应这种需要而开展起来的。这类系统是以微型机为核心,将5C技术-PUTER计算机技术、CONTROL自动控制技术、MUNICATION通信技术、CRT显示技术和 CHANGE转换技术严密结合的产物2。它在适应围、可扩展性、可维护性以与抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。典型的分散式控制系统由现场设备、接口与计算设备以与通信设备组成。现场总线FIELDBUS能同时满足过程控制和制造业自动化的需要,因而现场总线已成为工业数据总线领域中最为活跃的一个领域。现场总线的研究与应用已成为工业数据总线领域的热点。尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线的高性能价格必将吸引众多工业控制系统采用。同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰富的依据。控制器局部网 CANCONTROLLER AERANETWORK正是在这种背景下应运而生的。由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。为此,1991年9月PHILIPS SEMICONDUCTORS制订并发布了CAN技术规VERSION 2.0。该技术规包括A和B两局部。2.0A给出了曾在CAN技术规版本1.2中定义的CAN报文格式,能提供11位地址;而2.0B给出了标准的和扩展的两种报文格式,提供29位地址。此后,1993年11月ISO正式颁布了道路交通运载工具-数字信息交换-高速通信控制器局部网CAN国际标准ISO11898,为控制器局部网标准化、规化推广铺平了道路。2.3 CAN总线优势CAN属于现场总线的畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性: 首先,CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权取决于报文标识符采用无损结构的逐位仲裁的方式竞争向总线发送数据3,且CAN协议废除了站地址编码,而代之以对通信数据进展编码,这可使不同的节点同时接收到一样的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进展,系统的实时性、可靠性较差; CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁状态。而且,CAN具有的完善的通信协议可由CAN控制器芯片与其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是仅有电气协议的RS-485所无法比拟的。另外,与其它现场总线比拟而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是目前 CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。CAN 即控制器局域网络,属于工业现场总线的畴。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能与独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如BENZ奔驰、BMW宝马、PORSCHE保时捷、ROLLS-ROYCE劳斯莱斯和JAGUAR美洲豹等都采用了CAN总线来实现汽车部控制系统与各检测和执行机构间的数据通信。同时,由于CAN总线本身的特点,其应用围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械与传感器等领域开展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。其典型的应用协议有:SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。 第三章 CAN智能节点的电路设计本论文采用的CAN通信主要由微控制芯片AT89C52、CAN控制器SJAl040、CAN总线驱动器82C200、光电耦合器6N17组成。其原理是CAN数据通过82C200传输到SJAl040经AT89S52处理后再传送出去。CAN电源采用高性能的AC/DC变换器,能起到稳定电压和隔离防干扰的作用。下面我们来介绍上述各元器件在本论文中的应用。本文主节点的CAN通信结构框图与其流程图如如下图2.1所示。图2.1 CAN通信结构框图由上图我们可以看出,主节点的CAN总线电路由由单片机AT89C52、CAN控制器SJA1040、CAN总线驱动器82C200、光电耦合器6N137组成屏蔽电路中的高频信号,CAN数据通过82C200传输到SJA1040,经单片机89C52处理之后再传送出去。下面我们来详细介绍主节点的用到的每一个芯片的用法。3.1 AT89C52微控制器电路本论文的主节点采用AT89C52芯片作为微控制器,主要是应为AT89C52部附有ISP模块。ISP(In-System Programming)是指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件。已经编程的器件也可以用ISP方式擦除或者再编程。主节点所用的微控制器的最小系统电路图如如下图2.3所示。AT89C52所用“晶振频率在4MHz到24MHz之间,本论文在此的晶振频率由CAN总线提供,在它的两旁可用3010pF的电容。又由于AT89S52单片机的复位为高电平复位,故让其工作状态下RST脚与地电位相等为低电平,让其复位不能起到作用,而当按下S2按键时,电容C3放电,使RST脚为高电平,从而让AT89S52单片机复位,松开时,电源给C3充电,从而让RST脚渐渐地变成低电平,从而让其脱离复位状态。图2.3 微控制器最小系统如图2.3所示为最小系统图,下面简绍各个引脚的元器件的:P1.1用于控制发光二极管,用来做灯光报警用。P1.2接温度传感器DS18B20的数据脚,用于读入温度。P1.3接红外辐射的检测口,用来检测现场的是否有烟雾跟火源产生的强红外线。P1.4接烟雾传感器的检测口,用来检测现场的烟雾浓度。P1.5作为声光报警器的控制口,用来提醒该楼宇的工作管理人员或者现场活动的居民。20脚接地,40脚接电源。18、19脚接CAN总线主节点的输出总线,用来进展主从节点之间的通讯。31脚接电源端。3.2 CAN总控制器本系统CAN总线收发器采用PHILIPS公司生产的TJA1040芯片。TJA1040是控制器局域网CAN协议控制器和物理总线之间的接口,它主要应用在客车的高速应用速度可达1Mb/S。TJA1040为总线提供差动的发送功能为CAN控制器提供差动的接收功能完全符合ISO 11898标准,它还有优秀的EMC性能,在不上电状态下有理想的无源性能。SJAl040主要负责把并行的数据转换成CAN的格式进展发送与接收。它本身自带发送与接收缓冲装置,而且它还具有较强的错误报警和双重滤波处理功能。SJAl040的硬件框图如图2.4所示。图2.4 SJA1040的硬件框图可以看出,SJAl040的管理主要是由IML的逻辑接口、消息缓冲区位流处理器BSP、位时序处理逻辑BTL、接收过滤器ASP、部振荡器与复位电路、错误管理逻辑EML等组成。CPU的命令由IML来接收,控制存放器被定向到主可以提供警报和其所处的状态信息。IML在其CPU的控制下,将数据写入到发送消息缓冲区,发送缓冲区和位时序处理逻辑输出到CAN总线,经CAN总线处理的数据由位流处理器跟位时序处理逻辑器始终监视CAN总线,如果检测到一个有效的头时,“平安隐性控制级别的转换过程开始收到的第一个处理器比特流处理ASP BSP P滤波器刀接收信息。只有当收到的信息识别码匹配ASP测试时,收到的消息才被写入RXFIFO或者RXB。RXFIFO中高达64字节的数据可以被缓存,数据可以被CPU读取,调制器的错误管制可被EML调制,并接收BSP错误报告,促使BSP和IML错误统计。3.3 CAN通讯收发器本系统采用PHILIPS公司生产的PCA82C200独立控制器,它具有完成高性能通信协议所要求的全部必要特性,通过简单连接即可完成CAN总线协议的物理层和数据链路层的所有功能。并且它与ISOll898的标准完美的兼容,其速率高达可达1Mbps,并且它能够采用斜率控制大大的降低了射频的干扰,最主要的是其在未上电节点时不会干扰总线,从而增大通信距离,并且很大程度的增强了系统瞬间的抗干扰性能,从而增加其抗干扰的能力并增强了对总线的保护。PCA82C200芯片是一种I/O设备基于存编址的微控制器。该芯片的独立操作系统就如同是RAM一样的片存放器修正而实现的。但其也有缺点,那就是它仅仅支持标准的信息帧格式。PCA82C200的地址区包含信息缓冲区控制段控制段。在其初始化载入的时候可以被编程用来配置系统的通信参数。同时这个段也能用来通过微控制器来控制系统上的CAN总线上的通信。图2.6 主节点硬件电路全图图2.7 主节点主图分解图1图2.8 主节点主图分解图23.4温度传感器模块,被测温度的数值采用16位数字符号的扩展串行输出。它正常运行时可以采用外置电源也可以应用寄生电源,电压围为3.0V5.5V。它的CPU仅需要有一个端口线就能够与诸多DS18B20进展控制,所以它占用微处理器的端口极少,很方便电路的设计与实物的安装调试,简化了分布式温度传感应用,更重要的是它大大提高了系统的抗干扰性。由于上述的优点,所以它能在现场环境相当恶劣的情况下进展准确的测量。因此,它广泛的应用在对环境的温度控制、设备使用过程中的温度控制、以与各类测量温度的电子产品中。本论文设计采用了数据总线来对其进展供电,电压为5V。又应为DS18B20温度传感器的测量围很广,可以测试-55到+125之间的温度,其中它在-10到+85的精度可以控制在之。DSl8B20可编程的分辨率为912位,温度转换为12位,最大值为750毫秒。应用围包括恒温控制、工业系统、消费电子产品温度计以与任何热敏感系统。DSl8820温度传感器的电路设计如图3.1所示。本系统设置在温度大于或等于80时为异常单片机P1.2口检到异常,接线如下列图。3.5 烟雾,红外检测模块图3.2 烟雾,红外检测模块接线图如图3.2所示,当没有检测到火光时,光电传感器1脚检测口电压约为0.5V;当光电传感器检测到火光时,1脚检测口电压约为4.2V。烟雾传感器没有检测到烟雾时,YW脚检测口电压约为0.2V,当检测到烟雾时,YW脚检测口电压约为3V。烟雾传感器供电电压为9V,因此烟雾检测模块要单独供电。而系统其它模块的供电电压为5V,因此要把烟雾传感器的电源负极与系统的地相连接,这样才达到了设计要求。系统通电瞬间,单片机P1口不管有无外接电路都为高电平。为防止单片机误判断,设计单片机检测到低电平时为异常。利用光电和烟雾传感器的电压变化特性,再根据单限比拟器的电压传输特性,就能有效的达到单片机检测目的并构成一个简单的电路。根据光电传感器和烟雾传感器的电压变化特性,为了让单片机检测到低电平是为异常,因此规定LM339的5脚同相输入端和7脚同相输入端接入参考电压。根据烟雾、光电传感器的电压变化特性可分别确定它们参考电压为2V和3V。由上述可知,LM339的5脚和7脚电压分别为固定值2V和3V,从而计算出该模块相应电阻阻值如图3.2所示。LM339的4脚反相输入端和6脚反相输入端分别接烟雾传感器检测口和光电传感器检测口,根据单限比拟器电压传输特性可知,当烟雾传感器没有检测到烟雾时4脚电压为0.2V小于5脚参考电压根据LM339引脚图可知,2脚输出高电平;反之,当烟雾传感器检测到烟雾时4脚电压为3V大于5脚参考电压LM339的2脚输出为低电平。当光电传感器没有检测到火光时6脚电压为0.5V小于7脚参考电压根据LM339引脚图可知,1脚输出高电平;反之,当光电传感器检测到烟雾时6脚电压为4.2V大于7脚参考电压根据LM339引脚图可知,引脚1输出为低电平。如图3.2所示,LM339的1脚和2脚分别接单片机的P1.3口和P1.4口。LM339的1脚和2脚上下电平变化可由单片机来判断,确认单片机检测到低电时为异常。又由LM339的原理我们可以知道,在使用时输出端到正电源之间必须要接一只上拉电阻,其选择围为选3-15K,为满足本设计的要求选择了3.9K阻值作为其上拉电阻,如图3.2所示。3.7烟雾传感器烟雾探测器就是一种测量现场烟雾的浓度是否超过阀值而判断是否发生火灾的检测装置,也可以说他就是一种将现场的烟雾浓度转换为具有一定对应关系的输出信号装置,它部结构采用离子式烟雾传感器,它具有技术先进,工作稳定可靠的特点,因此被大量的运用到在各式各样的消防报警系统中,跟传统的运用气敏式电阻来测量的火灾报警器相比,无论是性能、准确度还是使用寿命都有了较强的提升。离子式烟雾探测器的工作原理是:等效于利用两个电离室串联,构成等效于电阻串联的偏置电路;其中一个是根本不与外界相通的电离室,另一个是跟外界连在一起的检测电离室,两个电离室中都放有一片为镅24l(AM241)的放射源,它们之间不断放出粒子,使两室之间的气体被局部电离。一旦遇到有烟雾进入外电离室时,由于烟雾颗粒吸附一局部离子,使外室的离子放射出来的电流减小,其效果相当于它的部电阻阻值变大,分压电阻的电位增高。一旦烟雾的浓度超过限定的检测的值时,电位就会增高到能触发开关电路而启动报警。该离子式烟雾探测器型号SS-168,供电电压为9V,输出触发报警电路的高电平大约为3V,因此将该触发信号接至比拟器LM339的4脚作为比拟器反相输入端,LM339的同相输入端5脚接参考电压为2V,当无触发信号时比拟器LM339输出端2脚输出高平5V,当有触发报警信号时,比拟器2脚的输出低电平0V,从而与单片机AT89S51的管脚电压相匹配,LM339输出端2脚低电平视为异常,SS-168与单片机接法如图3.2所示。3.8声光报警模块图3.5 声光报警模块因为本系统是应用在办公室、机房等小单位的防火场所,所以采用发光二极管电路极蜂鸣电路作为报警电路。如图3-4蜂鸣器驱动电路,图中为Q1为低频小功率PNP型三极管9012,用驱动压电式交流蜂鸣器(2K)U3。三极管基极直接与单片机p1.5连接。这就构成了蜂鸣器的驱电路,工作原理:要让蜂鸣器响,必须给交变信号,为了给蜂鸣器施加交变电压,由于单片机没有专用蜂鸣器驱动器,为了让单片机产生交变驱动信号。在编程时,为让蜂鸣器产生频率稳定的声音,所以要让单片机产生频率稳,最好方法就是在单片机定时器产生驱动脉冲,设置定时器中断周期为0.25ms,中断频率为4K,只要每次进入中断后让P1.5电平取反即可以产生2KHz驱动脉冲,由于单片机驱动能力弱不足以直接驱动蜂鸣器,所以用9012放大电流电压,驱动电平低平有效。一般发光二极管电压在1.7-3.6V之间,电流通常是5-20mA,所以5V电压不适合发光二极管直接使用,一般要串联一个电阻才可以,因此发光二极管串接一个电阻具有限流保护作用。但如果串接电阻过大,导致电流过小,发光二极管无法点亮,因此发光二极管串接一个560的电阻。其接线如图3.5所示。当温度采集模块,红外、烟雾检测模块三项电路模块中任意两种检测电路发生异常时,经过单片机AT89S52控制器的分析处理后发出声光警报信号,蜂鸣器立即蜂鸣同时发光二极管点亮。当三项检测电路中小于两项发生异常时,蜂鸣器立即停止蜂鸣同时发光二极管熄灭。当把手动控制模块中控制按键按下时,系统立即发出声光报警,直到按下复位按键时声光报警才停止。点描述了温度传感器DS18B20,烟雾传感器SS-168和光电红外传感器ST178的用法跟在本设计中的运用。本系统具有电路简单,功能强大,检测快速等特点。其电路连接如如下图3.6所示:图3.6 从节点设计的总电路图图3.7 从节点总图分解图从节点设计总图的下半局部第4章 火灾系统的软件设计本章工作主要围绕基于CAN总线的楼宇火灾报警系统的软件设计展开。首先我们结合第一章节中的第三小节中所描述的系统整体设计所要完成的功能,确定各局部模块功能,设计系统整体软件开发流程图。重点完成基于CAN总线的楼宇火灾报警系统的整体软件设计,即主节点与从节点的所有软件设计,同时针对各个局部要实现的功能做出具体的分析与简绍,最后设计出各个功能模块的软件程序。4.1系统整体软件设计本论文的整体软件设计主要结合各硬件电路图完成,主节点对各从节点的进展实时监测,并对负责处理从各从节点对现场所采集到的数据进展传送,同时主节点也控制声光报警器是否工作等。为了确保本系统能够正常长久的运行,同时也为了断电后下次能正常的工作,所以在给本系统上电时,必须对本系统的主节点与从节点初始化。为了保证本系统在正常的情况下能够与时准确的能够往从节点接收传来的现场采集信号传送到主节点。要定时从主节点发送信号,根据从节点的ID号,验证它是否工作正常。如果主节点在一段时间没有接收到从节点的ID号,就说明该从节点出现了错误,提醒工作人员尽快排除故障。在每个节点的正常工作条件下,每个从节点将采集现场环境数据信息被发送到主节点,主节点确定从节点的数据信号是否超过了传感器阈值,如果不超过阈值的,如此返回到继续监测从节点的信息,如果有一个从节点的数据信息超过阈值时,如此发出火灾报警。综上所述,系统软件设计的主要工作是从主从节点的信号传输来进展开展。其硬件的整体设计框图如下4.1所示。图4.1 硬件整体设计框图4.2主节点软件设计结合上所所设计出的硬件电路图,为保证各个模块的正常工作,主节点的整体软件设计流程图如如下图4.2所示。图4.2 主节点整体软件流程图从上图我们可以得到,当启动主节点是应对其进展初始化,以免别的因素而影响本系统的运行。让后让主节点来处理并分析从各个从节点传上来的现场信息。如果判断出某一个从节点出现异常情况时,就触发光电报警系统报警来提醒该楼宇的管理人员或者现场工作人员。4SJA1040的初始化有3种方式:一是上电复位,二是硬件复位,三是软件复位,即通过向CAN控制器SJA1000模式存放器写0x01,让其进入复位模式,然后分别对SJA1040的时钟分频存放器、错误报警限额存放器、中断使能存放器、接收代码和接收屏蔽存放器、总线时序存放器和输出控制存放器设置,最后向模式存放器写0x08,进入正常工作模式。在对它进展复位的时候,因为其部的存放器仅能在此期间进展写访问,所以在对这些存放器初始化之前,必须保证系统已经进入复位状态。SJA1040的初始化流程图如如下图4.3所示。图4.3 SJA1040初始化流程图4SJA1040根据CAN总线的协议能够自动完成报文的发送。发送时我们唯一要做的就是将要发的信息或者数据按特定的格式组成为一帧报文,从AT89C52中发送到SJAl040的缓冲区中,然后通过发送请求令符来启动SJAl040发送用以完成任务。有一点很重要,那就是报文在发送到SJAl040的发送缓冲区之前,得做下判断,检测它是否发送完成,如果没有发送成功,如此其本身的错误存放器会自动加1,并重新进展发送。SJAl040子程序报文发送流程图如如下图4.4。图4.4SJA1040子程序发送流程图4如上图4.5为CAN总线接收子程序的流程图;应为在我设计的这个系统中,从节点的报文什么时候发送到此处是不知道的,所以如上所示,在此处采用了中断接收的方法,可以大大的减少系统寻址的时间。如果CAN总线的信号接收模块还担任着接收报文的情况时,那么其接收子程序就会自动的负责该处主节点的报文接收,但是在接收时,我们必须得从SJAl040的接收缓冲模块中读出数据,组成一帧报文这样才能通过这种中断方式来接收报文。如果在中断使能存放器IER操作可以接收中断使能,那么当接收FIFO中有数据的,它会产生一个中断,以此来达到启动接收程序的目的。4.3 从节点软件设计结合上所所设计出的硬件电路图,为保证各个模块的正常工作,从节点的整体软件设计流程图如如下图4.7所示。图4.7 从节点总体软件流程图在其处在正常的工作状态时,从节点会将自己的ID发送到主节点上,并将检测到的温度、烟雾、红外等信号发送到主节点上。当发生异常状态时,就触发灯光报警装置,同时也将检测到的异常数据上传到主节点。如果没有异常发生,如此一直保持从节点到主节点之间发送相关信息。温度传感器的软件设计本系统采用DALLAS公司生产的DSl8B20温度传感器。此传感器为单总线传感器,在使用时得先对其进展初始化,然后读取温度经所在的单片机将其传送到CAN总线,经处理判断其数值是否超出阀值,如果是就启动声光报警,并经过CAN总线反响回其所在的单片机让其也执行声光报警装置,假如没有超过阀值如此继续读取其温度值。从而达到所需的要求。其程序流程图如图4.8所示。图4.8 温度传感器工作流程图第5章 总结现场总线是一种应用于过程自动化、制造自动化、楼宇自动化最底层现场设备或仪表互连的全数字化、双向、多站式通信网络。它将位于生产现场具有信号输入、输出、运算、控制和通信功能的数字通信仪表或设备,通过双绞线连接成网络,采用标准的通信协议,使位于生产现场的设备与设备之间,以与设备与控制站之间实现数据交换与信息共享,是现场通信网络与控制系统的集成。这项以控制技术、智能仪表技术、计算机网络技术以与数字通信技术为支撑的综合技术,己成为世界围工业自动化领域广为关注的热点,并将成为该领域的开展方向。参考文献1CAN总线的火灾报警系统的设计与实现D.:大学,2008.2 J.微计算机信息19995 J.自动化技术与应用2002.6 J.电子工业2009.(7):2038.7 M.:中国科学技术大学.1995.8 J.火灾科学2001,102:108112.10 M.:人民邮电2002.11 丽敏,玄子玉,玲玉.单片机控制的火灾报警控制器J.自动化技术与应用,2008,(03).12DALLAS公司.DS18B20数据手册Z.13 余国卫,谭延军.基于AT89S52单片机的火灾自动报警系统J.微处理机,2006,(05)15 久超.单片机在火灾自动报警控制器中的应用J.工程技术高等专科学校学报,1995,(Z2)16 倬.单片机在火灾报警控制系统中的应用J.科技资讯,2009,(22)17 胡向东.传感器与检测技术M.机械工业,200.18 M.航空航天大学,2007,7.55-64.附 录1主节点代码/主节点单片机程序#include#includeWG.h/#includeDS18B20h#includeSJA1040gai.h#define key P22sbit beep = P15; /蜂鸣器char table1=Message is sending;char table2=Sengding succeded;char table3=Receiveing succeded;/定义BUF数据结构/*struct BASICCAN_BUFstructunsigned char FrameID_H;/标识符高八位信息功能2加节点号6unsigned char FrameLENTH;/数据长度码unsigned char FrameKIND;/RTR位1为远程帧,0为数据帧unsigned char FrameID_L3;/低3位信息格式unsigned char FrameData;/数据BASICCAN_FRAME,receive_BUF,send_BUF;*/*char temp_buffer2;/温度缓冲/*char temp_buffer3;/烟光缓冲void read_temp() init_ds18B20(); temp_buffer0=read_byte();temp_buffer1=read_byte(); */void send() uchar Data,sdat; uchar i,j; if(!key) void main() init_ds SS-167st-178; temp_buffer0=read_byte();temp_buffer1=read_byte(); /void send() uchar Data,sdat; uchar i,j; if(!key) void main()init_SJA1040NO1(); /void read_temp(); /display_temp(); while(1) send(); receive(); 2从节点代码/从节点单片机程序#include #include #define uint unsigned int#define uchar unsigned char#define WENDU 40sbit deng = P11; /发光二极管sbit DQ = P12; /温度传送数据IO口sbit guang = P13; /光电传感器检测口sbit yanwu = P14; /烟雾传感器检测口sbit beep = P15; /蜂鸣器/*ds18b20子程序*/*ds18b20延迟子函数晶振12MHz */ void delay_18B20(unsigned int i)while(i-);/*ds18b20初始化函数*/void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 delay_18B20(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay_18B20(80); /准确延时 大于 480us DQ = 1; /拉高总线 delay_18B20(14); x=DQ; /稍做延时后 如果x=0如此初始化成功 x=1如此初始化失败 delay_18B20(20);/*读取ds18b20当前温度*/void ReadTemp(void)unsigned char a=0;unsigned char b=0;unsigned char t=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换delay_18B20(100); / this message is wery importantInit_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度存放器等共可读9个存放器前两个就是温度delay_18B20(100);a=ReadOneChar(); /读取温度值低位b=ReadOneChar(); /读取温度值高位temp_value=b4;/取温度值的地位的高四位,右移四位后与温度的高四位相加得到温度值 /*延时子程序*/void mdelay(uint delay)uint i;for(;delay0;delay-)for(i=0;i=WENDU)&(yanwu=0)|(temp_value=WENDU)&(guang=0)|(guang=0)&(yanwu=0)|(temp_value=WENDU)&(yanwu=0)&(guang=0)|( anjian=0) biaozhi=1; else biaozhi=0; void main()init_SJA1040NO1(); /void read_temp(); /display_temp(); while(1) send(); receive();
展开阅读全文