基于AT89C51单片机和CAN总线控制器SJA1000设计中央空调控制系统

描述

中央空调控制系统是智能建筑中不可缺少的组成部分。传统的控制方法是采用DDC(直接数字控制器)方式,将各个温度、湿度检测点和控制点连接到一台或多台DDC上,实行多点实时监控。由于现代智能建筑楼层较多,多个空调风机位于不同楼层,温、湿度检测点分布于各个房间,采用DDC方式进行控制具有引线过长、施工不便、系统通信的实时性和可靠性不高等缺点。

在各种通信方式中,面向工业控制的现场总线技术是目前解决工业控制现场数据通信问题的最佳方案。现场总线技术是在二十世纪80年代后期发展起来的一种先进的现场工业控制技术。它集数字通信、智能仪表、微机技术、网络技术于一身,从根本上突破了传统?quot;点对点“式的模拟信号或数字-模拟信号控制的局限性,为真正的”分散式控制,集中式管理“提供了技术保证。

现场总线的通信协议结构是根据国际标准化组织提供的开放系统互连模型(ISO/OSI)来制定的。本系统所采用的CAN总线是最早在我国得到应用的现场总线之一,它采用ISO/OSI七层框架中的物理层和数据链路层。CAN总线标准采用多主方式,网络上任何节点均可主动向其它节点发送信息,网络节点可按系统实时性要求分成不同的优先级。数据链路层采用短帧结构,每一帧为8个字节,易于纠错。发送期间丢失仲裁或出错的帧可自动重新发送,故障节点可自动脱离总线。CAN总线标准支持全双工通信,传输介质采用双绞线和光纤,传输速率可达1Mbps,节点数可达110个。其最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。其容错能力和抗干扰能力强,传输安全性高。

1 、中央空调控制系统的整体构成

中央空调控制系统的总体框图如图1所示。

控制器

图中,上位机采用IBM-PC兼容机,负责系统数据的接收与管理、控制命令的发送、系统工作过程的实时显示等。各单元控制器作为下位机,采用ATMEL公司生产的AT89C51单片机作为微处理器,负责本单元内空调风机机组的现场数据检测以及工作状态的控制等。单元控制器内的CAN总线控制器SJA1000负责接收来自CAN总线的数据以及通过CAN总线向上位机发送数据。上位机通过插在PC总线扩展槽内的智能CAN总线通信适配卡连接CAN总线

并通过CAN总线与各单元控制器相连接。单元控制器也可以脱离上位机,直接进行现场手动控制。

系统的工作原理为:各单元控制器对本单元的各检测点进行巡回检测,将检测数据按照CAN总线协议标准发送给上位机;上位机通过智能CAN总线通信适配卡接收各单元控制器上传的数据,根据操作者的指令或系统软件预先设定的控制程序向各单元控制器发送控制命令,由单元控制器对各空调风机机组进行实时控制。若脱离上位机,单元控制器将根据软件设定的控制参数直接对空调风机机组进行自动控制。操作者可通过单元控制器上的小键盘对控制参数进行现场修改。

2、 硬件设计

系统硬件主要包括智能CAN总线通信适配卡和单元控制器。图2为智能CAN总线通信适配卡的原理框图。

控制器

它提供了上位微机和CAN总线的接口,采用高性能的嵌入式微处理器80C188、CAN总线控制器82C200和CAN总线收发器82C250负责数据交换和通信处理。82C200是PHILIPS公司的产品,可完成物理层和数据链路层的所有功能。电子控制单元(ECU)的应用层由微处理器提供,82C200为其提供一个多用途的接口。双口RAM IDT7130作为PC机与CAN总线控制器的数据共享区,可提供两路相互独立的端口,每个端口均有各自的地址线、数据线和控制线,并且具有两套相互独立的中断逻辑来实现两个CPU之间的握手控制信号。通过软硬件设置将双口RAM映射成PC机的物理内存,使收发数据相当于直接向内存读写数据,从而提高了数据交换速率,并保证两个CPU同时对同一内存单元进行读写操作时数据的正确性。

此外,智能CAN总线通信适配卡还具有中断选择、主存基地址选择、LED指示系统状态及CAN收发状态等功能。系统工作时,上位机将控制命令经ISA总线发送至智能CAN总线通信适配卡,经驱动电路写入双口RAM,然后发出中断信号。CAN通信控制器82C200收到中断信号后,从双口RAM中取出数据,并以CAN总线协议标准,经输出驱动电路、光电隔离电路以及CAN总线收发器82C250发送至CAN总线,完成从上位机到单元控制器的数据交换。上位机接收数据的过程与发送命令的过程相似,但方向相反。

控制器

图3为单元控制器电路的原理框图。

图中,微处理器采用ATMEL公司生产的AT89C51单片机,CAN总线控制器选用SJA1000,CAN总线收发器仍选用82C250,控制CAN总线的数据交换。工作时,CAN总线控制器SJA1000从CAN总线接收上位机发出的命令和数据,以中断方式通知CPU89C51。CPU收到中断信号后,将SJA1000接收到的数据存入RAM中,并根据数据对I/O接口电路发出相应的命令,控制风机机组、加湿器等执行部件进行相应的操作。若上位机需要各单元状态信息,则CPU启动数据采集程序,控制I/O接口电路对各个检测点的数据进行巡回检测,并由CAN总线控制器发送至CAN总线,由上位机接收。I/O接口电路可提供8路数字量输入、8路数字量输出、16路模拟量输入及4路模拟量输出接口,用于接单元内各个检测点和控制点。

硬件看门狗电路X25045用于系统监控,防止程序跑飞,并提供512字节EEPROM来保护重要的系统控制参数,提高了单元控制器的抗干扰能力。

数字显示器可以显示风机的互回风温度、送风温度、回风湿度、变频器频率、风门开度、水阀开度、报警信号的类型及数量等系统状态信息。小键盘用于修改设置参数、改变显示类型,从而使单元控制器在脱离上位机的情况下仍然可以完成控制功能。

3 、软件设计

系统软件由上位机管理软件和单元控制器控制软件组成。上位机管理软件是在Windows98操作平台上,利用Visual Basic6.0开发的,包括系统监控、通信管理、数据处理、控制命令、动态显示等模块,具有界面友好、显示直观、操作方便等优点。系统运行时,各检测点和控制点的位置以图形方式形象地显示在上位机显示器上,检测和控制数据在各自位置旁动态显示,操作者经简单培训即可对整个系统进行控制。单元控制器控制软件采用8051汇编语言编程,固化于89C51的EEPROM中,主要完成数据采集、数据通信、I/O接口控制、数字显示控制等功能。根据各个季节对室内温、湿度的不同要求,软件中预先设置了不同季节的控制参数,并可通过小键盘随时进行修改。实际运行时,温度控制精度达到±0.5℃,湿度控制精度达到±2%RH。

在中央空调控制系统上、下位机之间采用CAN总线进行通信,可大大提高系统工作的可靠性、实时性及扩展性,实现高精度的温度、湿度控制,具有广阔的推广应用前景。

责任编辑:gt


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分