基于CAN总线的潜水电机智能监控系统设计

时间:2012-03-17来源:网络

2.信号采集模块:用来检测电机的运行状态,包括:铂电阻温度传感器、电流互感器、电极式液位传感器。分别用来检测电机三相定子的温度、三相主电流和电机腔内的水位,可以有效地监测潜水电机的过流、过热、缺相、短路、渗漏等异常现象。信号采集模块以12位精度的ADC和多路模拟开关为核心,将传感器采集到的模拟信号进行调理后转变为数字信号并送入微控制器。MCU得到检测信息后做出相应的判断,并送至不同的子程序进行相应的处理,如:把电机运行的温度、电流等信息通过通信程序发送给监控计算机;若出现电机内腔水位过低、温度过高、电流过大,则自动切断本节点的电机、发出声光报警信息,并把节点的停机信息通过CAN总线发送给监控计算机。

3.电机控制模块:MCU判断电机定子温度、电流、液位中的任一项值超出设定值范围时,都会通过SSR(固态继电器)触发相应的异常处理电路,使电机得到保护。

4.参数设置模块:报警电流、报警温度、停机电流、停机温度、节点地址、波特率等信息通过参数设置模块存储于基于X25045的E2PROM中,实现节点工作参数现场设定功能。除了节点地址外,其它的参数也可以通过监控计算机设置。

5.状态显示模块:采用基于I2C总线的显示技术,通过LED数码管实时显示电机运行过程中定子的温度和电流值。并可以在设置模式下显示待定参数的当前值。当电机出现非正常停机时,发光二极管可以指示出故障的类型,方便检查维护。

监控节点的硬件部分除了以上介绍的之外,还有电源电路和看门狗电路。电源电路提供所需隔离电源,用于提高节点的可靠性和安全性;看门狗电路主要保证系统运行的稳定性,在上电、掉电以及警戒情况下复位输出。

监控系统的软件设计

从整个监控系统的角度来看,该系统的软件设计主要分为两大部分:即监控计算机应用软件设计和现场智能节点软件设计。

监控计算机的软件设计

计算机监控软件主要分为用户应用层、数据分析处理层及硬件设备驱动层3个部分,其软件设计流程如图3所示。

硬件设备驱动层通过PC-CAN接口卡建立监控计算与CAN总线的连接,并与智能节点进行数据交换;数据分析处理层完成CAN总线数据的接收、分类、判断、处理、发送、存取操作等任务;用户应用层和用户需求紧密相关,它主要完成的任务是为用户提供显示各类信息的监控界面,进行人机交互,也就是通常所说的人机界面(HMI)设计。

监控节点的软件设计

潜水电机的现场控制与数据采集都是通过智能节点完成的,与节点的硬件设计相一致,智能监控节点的软件设计也遵循模块化的设计原则,使控制软件具有易读、易扩展和易维护的优点。通过C51语言编写相应的软件模块实现智能节点的各种功能。软件的各功能模块之间通过入口和出口参数相互联系,组合灵活方便,减少了调试时间,缩短了开发周期。

监控节点通信程序设计

智能监控节点的通信采用CAN总线2.0A协议,通信模块的软件设计主要由初始化子程序、报文接收子程序、报文发送子程序3部分组成。其中初始化子程序是实现通信的关键,它主要用来完成CAN控制器工作方式的选择,即对系统中的CAN控制器控制段中的寄存器进行设置。初始化过程是在CAN控制器复位模式下完成的。

智能节点与监控计算机之间的数据交换是通过发送程序和接收程序实现的。报文发送时只需将电机的状态数据送入SJA1000的发送缓冲区中,然后启动发送请求。监控节点采用定时中断的方式主动向监控计算机发送数据。这是利用了CAN总线可以采用多主机方式通信的特点。由于实时监控功能由各个控制节点完成,而监控计算机主要起到管理作用,所以采用了定时上传数据的方法,而没有实时上传所有传感器采集到的数据,从而减轻了总线负担。一个正在等待的报文会从存储器复制到发送缓冲器后,置位命令寄存器TR标志产生发送请求,发送过程由SJA1000独立完成。基于SJA1000的报文接收有两种方式:中断方式和查询方式。为了保证接收报文的准确性,选择实时性较高的中断方式。在中断方式下,如果SJA1000已接收一个报文,并且报文已通过验收滤波器并放入接收FIFO,那么会产生一个接收中断,通知微处理器有报文已经接收。接收缓冲区用来存放CAN总线上发来的数据,MCU读取数据后,接收缓冲区将被清空,等待接收新的数据。

结语

本文采用CAN现场总线设计的潜水电机分布式智能监控系统具有抗干扰能力强、网络化管理程度高、人机界面友好等特点。开发过程中所提出的技术方案和实现方法可以在类似的工业底层监控网络系统及分布式监控系统的设计中推广应用。

1 2

关键词: CAN总线 潜水电机 智能监控系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版