关键词 现场总线 温度传感器 节点 网络架构
随着经济建设的发展, 人们对现代智能楼宇的环境要求越来越高, 如适宜的温度、新鲜的空气等。高层建筑网络监控面广, 通信距离长, 对楼宇控制系统提出了更高的要求。基于CAN (控制器局域网) 的现场总线控制系统(FCS) 将系统的分散控制转换到现场控制, 形成开放性的控制网络, 将其应用在楼宇自动化领域中, 可以克服传统方式因采用封闭式专用通信协议而带来的“自动化孤岛” 问题。
本文应用CAN 总线技术和单总线数字温度传感器DS18B20, 设计了智能楼宇温度测控系统。测试结果表明, 房间温度能被很好地控制在22 ~ 26 ℃, 满足设计要求。
1 CAN 总线概述
CAN 总线是德国Bosch 公司为解决现代汽车中众多的控制与测试仪器之间的数据交换问题而开发的一种串行数据通信协议[1] 。它是一种多主总线, 通信速率可达1 Mbps, 直接传输距离最远可达10 km。可挂接设备数最多可达110 个。它是一种有效支持分布式控制或实时控制的串行通信网络。CAN 总线属于总线式通信网络, 数据通信具有较高的可靠性、实时性和灵活性。CAN 总线的应用范围遍及高速网络和低成本的多线路网络。由于CAN 总线具有较强的纠错能力,支持差分收发, 因而可用于高干扰环境, 并且由于具有较远的传输距离, CAN 协议对于许多领域的分布式测控是很有吸引力的。
2 数字温度传感器DS18B20 [2、3]
DS18B20 是美国Dallas 公司继DS1820 之后推出的增强型单总线数字温度传感器。它在测温精度、转换时间、传输距离、分辨率等方面较DS1820 有了很大的改进。
2. 1 DS18B20 的特点
a . 单线制接口方式, 仅需要一根信号线与CPU连接, 传送串行数据, 不需要外部元件。
b . 每个芯片有惟一的地址编码, 多个DS18B20可以挂接在一根总线上, 实现多点测温。
d . 既可用数据线供电, 也可用外部的电源(3 . 0~ 5. 5 V) 供电。
2. 2 DS18B20 使用注意事项
a . 根据DS18B20 的通信协议, 主机控制DS18B20 完成温度转换必须经过3 个步骤: 每一次读写之前都要对DS18B20 进行复位操作, 复位成功后发送一条ROM (只读存储器) 指令, 最后发送RAM(随机存储器) 指令, 这样才能对DS18B20 进行预定的操作。由于DS18B20 与微处理器间采用串行数据传送, 因此, 在对DS18B20 进行读写编程时, 必须严格地保证读写时序, 否则, 将无法正确读取测温结果。
b . 在DS18B20 的单总线上所挂DS18B20 数量超过8 个时, 需要解决微处理器的总线驱动问题, 因此, 在进行多点测温系统设计时要加以注意。
c . 连接DS18B20 的总线电缆是有长度限制的。试验中, 当采用普通信号电缆传输长度超过50 m 时,读取的测温数据将发生错误; 当将总线电缆改为屏蔽双绞线时, 正常通信距离可达150 m; 当采用带屏蔽层且每米绞合次数更多的双绞线电缆时, 正常通信距离进一步加长。这种情况主要是由总线分布电容使信长距离测温系统设计时, 要充分考虑总线分布电容和阻抗匹配问题。
d . 在DS18B20 测温程序设计中, 向DS18B20发出温度转换命令后, 程序总要等待DS18B20 的返回信号, 一旦某个DS18B20 接触不好或断线, 当程序读该DS18B20 时, 将没有返回信号, 程序进入死循环。在进行DS18B20 硬件连接和软件设计时应予以重视。
3 系统硬件设计
上海某高层综合楼, 设计了智能楼宇温度测控系统。该综合楼建筑面积为34 800 m2, 系统共有600 个温度测控点需要监测和控制, 此外, 还有其他开关量输出点800 个, 数字量输入点500 个, 共用智能节点80 个。其中, 30 个节点用于温度的监测与控制, 每个温度节点可挂接16 个温度测控点, 温度测控的要求是: 被控量以24 ℃ 为平衡点, 在± 2 ℃ 内变化。本文仅涉及温度测控节点。
3. 1 网络架构
基于CAN 总线的智能楼宇温度测控系统网络架构框图见图1。由于CAN 总线固有的电气特性, 在一个CAN 总线网络中最多只能配置110 个节点, 为了满足智能大厦的要求, 可利用中继器对CAN 总线进行扩展, 这样不仅增加了系统的节点, 还可以起到信号放大作用, 增大通信距离。此系统为管理计算机和智能节点组成的两层网络结构。整个系统由上位监控机、CAN 通信适配卡和多个智能节点组成,节点数量可根据建筑物的规模增减[4]。采用CAN 总线作为通信网络, 将各节点连接成一个分布式智能楼宇自控系统。
本设计中, 节点包括扩展芯片、传感器、控制设备、收发器和电源等。节点之间的通信支持双绞线、电力线、光纤和红外线等多种介质, 按照规范的协议进行通信, 其通信速率范围在300 kbps~ 1 . 5 Mbps 之间。上位监控机通过通信适配卡与总线相连, 用于整个系统的集中监控、管理、分析及网络通信检测等。
系统的智能温度节点选用美国Atmel 公司增强型单片机AT89S52 作为主处理器完成主要的测控任务,其内嵌8 k Flash ROM, 兼容AT89C52, 最大的特点是集成了ISP (In - System Programming, 在系统编程)接口, 可直接在目标板上进行系统编程, 为用户带来了极大的方便; 单总线上挂接的DS18B20 采用外接电源供电方式而未用寄生供电, 以便除了正常测量各点室温外, 还可在火灾初期等异常情况下能准确工作; 利用8155 芯片扩展I / O, 对显示、键盘、超温报警等电路提供接口; 此外, 还通过温控输出单元对空调机组进行新/ 回风、送排风、喷淋管等阀门进行控制, 达到控温的目的。
以SJA1000 芯片作为CAN 总线控制器, 用于系统的通信, 单片机AT89S52 完成现场传感信号的采集、系统的计算、信息处理等功能; 82C250 芯片作为CAN 总线收发器用于增强系统的驱动能力, 增大通信距离, 提高系统的瞬时抗干扰能力, 保护总线,降低射频干扰(RFI) 以及实现热保护等。传输介质采用的是双绞线, 当通信位速率设为20 kbps时, CAN 总线上任意两个节点之间的距离可以达到
3. 3 km, 完全可以满足智能大厦内部的通信要求, 上
位监控机通过CAN 通信适配卡与CAN 总线相连, 实现了内部与各个下位智能节点的信息交换及对整个系统的监视管理和控制。
4 系统软件设计
本系统软件包括3 个部分: 第1 部分是以主机节点为管理中心的上位机的软件设计, 采用VB 6 . 0 开发, 既可使系统与智能温度节点进行链接, 又实现了友好的人机操作界面, 用户可以在主控室设置大楼各房间的运行参数, 查询各房间的温度及控制设备的运行情况, 查看历史运行记录和实时运行费用等; 第2部分是以AT89S52 为控制核心的下位机的软件设计,采用汇编语言开发, 主要完成键盘扫描与输出显示、现场温度数据的采集、超限声光报警、配置8155 芯片的工作模式、AT89S52 与8155 芯片进行通信、温度控制算法及对调温设备的控制等; 第3 部分是与SJA1000 为核心的通信程序设计, 采用C51 开发, 完成与网络其他节点及上位机的信息交互, 以及与AT89S52 进行通信。
图2、图3 分别给出了温度测控软件、调温设备控制软件的流程图。为了节能而在温度控制算法模块中采用了增量型PID (比例-积分-微分) 控制算法与模糊控制算法相结合: 当偏差较大时执行前者, 使温度快速回到设定值附近; 而当偏差较小时执行后者,以避免控制装置对被控温度过于敏感而频繁动作或振荡。此外, 还采取了变新/ 回风比例自动控制、变频调速变风量空调控制、舒适性空调温度上限设定值提高等节能措施, 以达到节能目的。
a . 加大电源线截面, 合理走线、接地, 三总线分开。使用完全光耦隔离的方法来提高抗干扰能力, 减少互感振荡, 光耦器件应该选择高速类型。
b . CPU、RAM、ROM 等芯片VCC和GND 引脚间接电解电容及瓷片电容: 去掉高、低频干扰脉冲。
c . 独立系统结构, 减少接插件与连线, 提高可靠性, 减少故障率。
d . 在外部供电的输入接口应加入二极管桥依据电路, 防止在一些特殊条件下出现的电流逆向问题, 同时也使得内外电路的地线隔离, 起到抗干扰作用。
e . 加复位电压检测电路。防止复位不充分CPU就工作, 尤其有EEPROM(电可擦可编程只读存储器)的器件, 复位不充分会改变EEPROM 存储的内容。
f . 单片机空单元写上00 H, 最后放跳转指令到ORG 0000 H, 防止程序跑飞。
6 测试结果分析
选取第6 个温度测控智能节点所控制的1018号房间进行了温度控制的测试, 房间温度希望的控制平衡值以0 . 5 ℃ 为步长, 由21 . 5 ℃ 开始变化到26 . 5 ℃, 控制范围分别为0、± 1℃、± 2℃、± 3 ℃,测试结果如下表所示。测试数据表明: 系统能够满足人体对温度舒适度感觉不大于26 ℃ 的控制要求;控制范围值较小时, 在低温端控制精度较高; 控制范围值较大时, 在高温端控制精度较高。
7 结语
本设计将CAN 总线技术、DS18B20 及AT89S52等应用于智能楼宇温度测控系统中, 能方便地获取并解析现场控制或通信数据, 及时响应现场操作,实现了温度数据采集和通信功能, 具有结构简洁、扩容方便及可靠性高等优点, 为工程设计、施工布线提供了极大的方便, 提高了系统信息传输的安全性、实时性。