目前,国内外已有多家公司开发出针对个体潜水电机的智能电了保护装置,虽然可以达到保护电机的目的,但无法实现集中管理。因此,对潜水电机群的实时监控与统一管理的要求日益迫切。本文设计了基于CAN现场总线的潜水电机群分布式智能监控系统,可以对散布的潜水电机保护装置进行组网,实现潜水电机的智能化控制和网络化管理。

潜水电机智能监控系统总体方案设计

基于CAN现场总线的潜水电机分布式智能监控系统由监控计算机(内置PC-CAN适配卡)、智能节点、CAN总线网络组成,其系统的总体结构如图1所示。分布在现场的监控节点可以独立对电机进行智能控制和故障保护;监控计算机可以通过CAN总线网络和各个监控节点进行实时通信,从而实现潜水电机群的分布式控制和集中临管。

智能节点是整个监控系统的核心部分,它对潜水电机进行智能控制,并对电机在运行过程中出现的过载、过热、渗水、漏水、短路、缺相等故障进行保护。PC-CAN适配卡用来完成CAN总线和监控计算机之间的协议转换,可以选用PCI总线适配卡、ISA总线适配卡或RS-232串行通信适配器。各个智能节点之间通过屏蔽双绞线瓦联构成CAN总线网络,总线两端连接120Ω的阻抗匹配电阻,可以提高系统的稳定性和抗干扰能力。

监控系统的硬件设计

由监控系统的整体结构和功能可知,该系统的硬件设计主要足CAN智能节点的设计。智能节点硬件电路设计采用了模块化结构,由MCU、CAN通信模块、信号采集模块、电机控制模块、状态显示模块、参数设置模块及串行通信接口组成,智能节点的整体结构如图2所示。根据具体情况可以只选用其中的部分模块,增加了监控装置的实用性和经济性。例如:可以去掉显示模块和现场设置模块,利用监控计算机实现数据显示和参数设置的功能。在单机运行时,可以不使用CAN通信模块。

为了简化设计,提高系统的可靠性和性价比,智能节点的主要元器件都是选用同一家公司的产品,包括:微控制器(P89V51RD)、CAN控制器(SJA1000)、CAN收发器(PCA82C250)。P89V51RD内带64kB的Flash存储器,该存储器支持ISP功能,ISP的优点是支持在系统编程,即不需要移出为控制器,只需要通过串行接口(RXT和RXD),结合上位机软件就可以实现PC对MCU的重复编程,而且硬件电路连接简单,这样就方便了程序调试,缩短了设计开发周期,提高了系统的稳定性。现场智能节点各个组成模块的功能如下:

1.CAN通信模块:CAN总线通信接口电路主要由CAN控制器SJA1000、6N137高速光隔、CAN收发器PCA82C250组成。SJA1000完全兼容协议,用来完成物理层和数据链路层的功能,可实现对通信数据的成帧处理,具有多主结构、总线访问优先权、硬件滤波等特点;PCA82C250提供了对CAN总线差动发送和接收数据的功能,有效地提高了总线的抗干扰能力,实现了保护总线、降低射频干扰等功能。为了进一步提高整个系统的可靠性和稳定性,在SJA1000和PCA82C250之间增加了光电隔离器件,并且采用了双电源,有效地抑制由总线引入的干扰。

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

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

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

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

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

监控系统的软件设计

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

监控计算机的软件设计

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

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

监控节点的软件设计

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

监控节点通信程序设计

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

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

结语

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

责任编辑:gt

arduino读取水位传感器的数据显示在基于i2c的1602a上_基于PC-CAN适配卡和总线技术实现潜水电机分布式监控系统的应用方案...相关推荐

  1. arduino读取水位传感器的数据显示在基于i2c的1602a上_构建Arduino的LoRa远程智能空气质量监测系统...

    背景知识视频教程 Arduino分步指南:完整指南 - 国外课栈​viadean.com Arduino微控制器:学习Arduino制作项目 - 国外课栈​viadean.com 通过构建实际应用程序 ...

  2. arduino读取水位传感器的数据显示在基于i2c的1602a上_XSB-IC-S2智能水位监测仪-老友网...

    XSB-IC-S2智能水位监测仪 多功能本身就是智能仪器仪表的一个特点.例如,为了设计速度较快和结构较复杂的数字系统,仪器生产厂家制造了具有脉冲发生器.频率合成器和任意波形发生器等功能的函数发生器.这 ...

  3. 基于fastdfs-zyc搭建分布式监控系统

    基于中标麒麟操作系统搭建fastdfs-zyc分布式监控系统 1. 简介 2. 系统环境要求 3. 环境部署,直接上代码 4. 安装tomcat,jdk这步省略,可以自己百度Centos7安装tomc ...

  4. 如何将电子海图的航线导到gps上_基于GPS和电子海图的船舶导航系统设计与实现...

    系统结构1 硬件组成1.1 导航系统的硬件组成如图所示.按其用途可分成两1 类:一类是船用硬件:另一类是陆用硬件.每套船用硬件包括一台笔记本电脑和一台信号处理及发送装置.信号处理及发送装置负责接收信号 ...

  5. 基于mpi的奇偶排序_基于MPI的PSRS并行排序算法的实现

    基于MPI的PSRS并行排序算法的实现 摘 要本文介绍MPI并行编程环境和讨论和分析PSRS的并行排序算法,并在MP并行编程环境下实现PSRS的并行排序算法. 关键词PSRS:MPI:并行计算:消息传 ...

  6. arduino液位传感器_使用Arduino读取水位传感器数据

    首先说明一下,这是一个非常简单的小实验,是我现在所做项目的一个很小的部分,不过还是希望把它分享一下,期待看到的同行或爱好者与我交流或拍砖. 我用的水位传感器是这个. 比较便宜,一块钱一个,但是便宜同时 ...

  7. python基于水色图像的水质评价_基于Python和遥感图像的膨胀与腐蚀操作

    引言 膨胀与腐蚀是图像形态学中的基本操作,本文将从两个角度实现python的膨胀与腐蚀算法,分别是特征提取与分割后处理.目前,在RGB图像领域,这两种形态学算法经常用于分割结果的处理,例如连通区处理. ...

  8. 基于数据库数据增量同步_基于 Flink SQL CDC 的实时数据同步方案

    简介:Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink PMC,阿里巴巴技术专家伍翀 (云邪)分享,内容将从传统的 ...

  9. 基于python的语料库数据处理_基于Python的语料库数据处理(三)

    原标题:基于Python的语料库数据处理(三) <Python玩转语料库数据>专栏· 第3篇 1393 字 | 5 分钟阅读 一起来学习用Python进行语料库数据处理吧! 一.条件判断 ...

最新文章

  1. QIIME 2用户文档. 18使用q2-vsearch聚类OTUs(2018.11)
  2. 初中计算机基础知识说课稿,计算机基础知识说课稿
  3. 五步法颈椎病自我按摩图解
  4. Springboot + Mybatis + Ehcache
  5. Asp.Net项目的部署到Linux中(Linux + Jexus+Nginx )
  6. cmake中添加引用动态链接_C和C++使用对方编译的动态链接库
  7. 问卷星全自动填写脚本浅尝
  8. QT_qss文件简易使用教程
  9. 国立台湾大学里的自动化书库(立体库)
  10. 这些堪称神器的Chrome插件,提升效率不止10倍
  11. 手机邮箱设置qq服务器,手机设置qq邮箱
  12. 哪吒之魔童降世视听语言影评_动画电影《哪吒之魔童降世》艺术语言分析
  13. python人物出场统计实例_实例2之《三国演义》人物出场统计
  14. HNOI 2018 滚粗记
  15. 简要说明什么是cdn?
  16. keil+mdk+c语言,keil mdk+stm32的ac5和 ac6两个编译器下的字节对齐操作方法
  17. 咖说 | 写给女朋友的 DeFi 笔记:半天 2 亿美元的 BarnBridge是什么?
  18. 联想模拟器无网络(快速)
  19. PermGen space 1
  20. 聊聊group lasso

热门文章

  1. 如何用Python操控手机APP攻略!建议收藏!很全面
  2. 智能车单车组之平衡控制理论分析篇
  3. 最简单的直播源抓取方法
  4. 用友NC65“该产品的用户数已达到产品授权数”的伪故障
  5. winget 配置安装路径/卸载等指南
  6. Java实现 LeetCode 609 在系统中查找重复文件(阅读理解+暴力大法)
  7. 风投是如何逆势布局DeFi项目的?
  8. 免费生成!火爆全网的个人行程卡纪念版!
  9. 用速腾16线激光雷达跑gmapping
  10. 阿里合伙人制度的意义及法律分析