整个系统由监控计算机、PC-CAN适配卡、智能监控节点(n<110)、CAN总线网络组成,其系统结构如图1所示。分布在现场的监控节点可以独立对电机进行智能控制和保护;监控计算机可以通过CAN总线网和各个控制节点之间进行实时通信,从而实现潜水电泵机组的分散控制和集中监管。
监控系统中的控制节点由CAN控制器、CAN收发器和外围电路(如:光耦隔离、I2C、LED显示等)组成。监控计算机可以选用普通PC或工控机IPC。PC-CAN适配卡用来完成CAN总线和监控计算机之间的协议转换,可以选用PCI总线适配卡、ISA总线适配卡或RS232串行通信适配器。各个控制节点之间通过屏蔽双绞线互联构成CAN总线网络,总线两端连接120Ω的阻抗匹配电阻,用来提高系统的稳定性、增强系统的抗干扰能力。
3监控节点的硬件设计
目前,市场上有两种CAN总线器件可以选择:一种是片内集成CAN的微控制器,如P8XC591/2、87C196CA/CB、MC68376等;另一种是独立的CAN控制器,如控制Philips公司的SJA1000、82C200、,Intel公司的82526、以及Microchip公司的MCP2510等,但是独立的CAN控制芯片需要外接一个微处理器才能运行。本文设计中选用的是Philips公司的带有在片CAN控制器的P87C591微型控制器,这样大大简化了节点的硬件电路设计,减少了程序的复杂程度,提高系统的可靠性。
3.1监控节点的构成
监控节点硬件电路设计上采用了模块化结构,由微控制器、CAN通信模块、传感器组件、数据采集模块、电机控制模块、LED显示模块、现场设置模块组成,其整体结构如图2所示。根据具体情况可以只选用其中的部分模块。例如:可以去掉显示模块和现场设置模块,利用监控计算机实现数据显示和参数设置的功能。在单机运行时,可以不使用CAN通信模块。
3.2监控节点的功能
监控节点各个组成部分的功能如下:
(1)传感器组件:用来检测潜水电机的运行状况,包括:温度传感器、电流互感器、液位传感器。分别用来检测电机三相定子的温度、三相主电流、和电泵腔内的水位,可以有效的监测潜水电机的过流、过热、缺相、短路、渗漏等异常现象。
(2)数据采集模块:将传感器采集到的模拟信号转变为数字信号并通过多路模拟开关送入微控制器,CPU得到电机定子温度、电流、液位信息做出相应的判断,并送至不同的子程序进行相应的处理。
(3)电机控制模块:CPU判断电机定子温度、电流、液位中的任一项值超出正常值范围时,都会通过SSR(过零触发型交流固态继电器)触发相应的异常处理电路,使电机得到保护。
(4)LED显示模块:采用基于I2C总线的显示技术,通过LED数码管实时显示电机运行过程中定子的温度和电流值。并可以在设置模式下显示待定置参数的当前值。当电机出现非正常停机时发光二极管可以指示出故障的类型,方便检查处理。
(5)CAN通信模块:CAN总线通信接口电路主要由P87C591的片内CAN驱动器SJA1000、6N137高速光隔、CAN收发器PCA82C250组成。P87C591完成CAN协议的应用层功能,SJA1000完成物理层和数据链路层的功能。PCA82C250提供了对总线差动发送和接受数据的功能,有效的提高了总线的抗干扰能力,实现了保护总线、降低射频干扰等功能。6N137隔离控制电路和收发器电路,能够有效地抑制由总线引入的干扰,进一步提高了系统的可靠性。
(6)现场设置模块:采用基于8255的键盘和基于X25045的E2PROM,实现节点工作参数现场设定能。X25045存储报警电流、停机电流、报警温度、停机温度、节点地址、波特率等信息。这些参数都可以通过按键进行设置。除了节点地址外,其它的参数也可以通过监控计算机设置。
4监控节点的软件设计
4.1软件设计的总体结构
与节点硬件设计相一致,软件设计也遵循模块化的设计原则,使控制软件具有易读、易扩展和易维护的优点。通过C51语言编写相应的软件模块实现上述监控节点的各种功能。软件的各功能模块之间通过入口和出口参数相互联系,组合灵活且方便,减少了调试时间,缩短了开发周期。监控节点的软件设计流程如图3所示。