基于微处理器与CAN的工业联机控制系统

发布者:数字小巨人最新更新时间:2014-12-09 来源: e-works关键字:微处理器  CAN  工业联机  控制系统 手机看文章 扫描二维码
随时随地手机看文章
1 引 言

  CAN总线是目前流行的总线技术之一,是一种基于微控制器件的网络。它用开放的,具有可互操作的网络将现场各种控制器及仪表设备互连,构成现场总线控制系统,将控制功能彻底下放到现场,降低了安装成本和维护费用。FCS实质是一种开放的、具可互操作性的、彻底分散的分布式控制系统。CAN总线属于工业现场总线的范畴是目前流行的现场总线控制系统之一。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,同时具备了现场总线优点。本文提出一种基于CAN智能节点的设备联机控制系统。

2 系统概述

  本文设计的是一种基于工业设备控制系统的以CAN总线智能节点。节点分为控制节点、主机节点和从机节点三种,多个不同节点通过总线连接,形成多机联控系统。系统虽然有三种不同功能的节点,每类节点采用相同的CAN节点结构。


图1 CAN总线节点结构示意图


  CAN总线节点可以归纳为三种构成方式: 1) CAN控制器的单片机+CAN收发器;2) 带有CAN控制器的单片机+CAN收发器;3)带有CAN控制器的I/O端口+CAN收发器。系统结构更为如图1所示。本文选择第一种方式连接方式,由于器件组合灵活,很容易实现高的性价比。

3 节点的硬件结构设计

  3.1 节点控制芯片选择

  本研究选用的是美国微芯Microchip Technology公司的PIC芯片(PIC16F873,28脚FLASH)和福州贝能公司的MPLAB开发工具。MPLAB开发系统是一种廉价的开发工具,集编程器与调试器为一体。它利用了PICI6F87X的在线调试能力和MICROCHIP的串行编程技术(In-Circuit Serial Programming)。它工作于MPLAB-IDE集成开发环境软件包下,直接连接到应用系统中去。PICI6F87X是MICIZOCHII)公司的中档产品,继承了MICROCI-III,的传统特点,实用、低价、指令集少、低功耗。

  PIC16F873开发装置的不足之处有:系统只能设置一个断点;运行系统程序后单步执行速度慢;由于占用了芯片资源,I/O管脚RB3,RB7,RB6功能不正常,无法调试。另外程序调试时,应注意编程电压不能太低。

  3.2 节点CAN通讯的硬件设计

  在CAN中应用的元器件主要包括CAN控制器和CAN收发器。本文选用的是独立CAN控制器。PHILIPS公司的SJA1000管脚太多,占用过多的I/O口,MCP2510是目前市场上体积最小的CAIN控制器,通过SPI通讯方式与微处理器连接,连接端口少,所以系统选择MCP2510作为CAN控制器。MCP2510只要跟MCU和驱动芯片(8X250 )就可以构成一个简易局域网的节点。MCP2510可以完全实现CAN2.0A和CAN2.0B协议。图2为MCP2510芯片的内部结构图。


图2 MCP2510内部结构图


  它的特点有:CAN总线的收发器大部分都是8脚DIP封装,各公司的产品价格和性能类似,无太大的区别。PHILIP公司新推出的高速容错CAN收发器TJA1050, TJA1040与早先推出的PCA82C250相比,价格大致相同,但其抗干扰性更强,可防止电磁干扰。本文选用了PCA82C250CAN收发器。

  3.3 控制节点设计

  控制节点采用PIC16F873进行控制和通讯控制板的结构如图。控制板由以下电路组成:键盘输入电路、IC卡控制电路、液晶显示电路、无线信号接收电路、主控制电路、CAN通讯电路。图3为控制节点结构示意图。


图3 控制节点结构示意图


  1、键盘输入电路采用74C922键盘编码芯片。其输出的有效端(DATA AVAILABLE)与I6F873的PORTB口的硬件中断连接。其解码输出与分别接至PORTA, PORTB口。74C922芯片通过外部时钟或者外部电容执行键盘扫描,功耗小,宽范围供电3V-15V。当按键按下,数据有效端输出高电平,否则为低电平。数据输出端口在下一次按键之前保持前次按键解码输出的状态。[page]

  2、IC卡控制电路。控制芯片采用I2C通讯方式与IC卡通讯。只有读到卡内的数据才能操作控制板,否则控制板只显示当前的时间,按键无效。通用存贮器1C卡是由通用存贮器芯片封装而成的,由于它的结构和功能简单,生产成本低,使用方便,因此在各领域都得到了广泛的应用。目前用于IC卡的通用存贮器芯片多为E2PROM,其常用的协议主要有两线串行连接协议(I2C)和三线串行链接协议。本文采用比较常用的ATMEL公司生产的AT24系列芯片EEPROM AT24C01,它具有1k的存贮容量,两线串行I2C通讯方式,适用于2V~5V的低电压/标准电压的操作,具有低功耗和高可靠性等优点。

  3、LCD显示是单片机控制产品中的典型应用。目前有多种方法实现LCD液晶显示控制:一种是单片机内部直接集成了LCD驱动电路,这种方法一般在4位机中较常用,8位机则很少,成本也较高。另一种方法是使用LCD模块,这种模块中带有LCD显示屏和LCD驱动电路,用起来较方便,但成本偏高,不适合于大批量生产采用。本文采用的是单片机+LCD驱动器+LCD显示屏的方式,可选用不同的单片机,另外选用性价比很高的LCD驱动器HT1621。

  4、本系统设计的无线信号接收电路采用MICRF002芯片。MICRF002芯片是超外差电路。美国Micrel公司推出的MICRF系列超外差电路灵敏度高和选择性好。单片集成电路可完成接收及解调功能。Micrel 公司MICRF002为MICRF001的改进型,与MICRF001相比,功耗更低,并具有电源关断控制端。MICRF002性能稳定,使用非常简单。

  5、主从机节点硬件电路相同(我们称其为电机板),二者仅软件设计不同而己。电机板由主控芯片PIC16F873,水位检测电路、脉冲检测电路、驱动电路组成。

4 节点软件设计

  系统软件的设计分为以下几个部分:CAN节点通讯程序、控制板程序(包括键盘输入程序、无线接收程序、IC卡通讯程序、液晶界面控制程序)、电机板程序三个大部分。控制板上的IC芯片包含控制板程序和CAN通讯程序。电机板上的IC芯片存有CAN通讯程序和电机板程序。CAN节点要有效、实时地完成通讯任务,CAN通讯软件设计是关键。它包括初始化程序报文发送子程序,报文接收子程序和出错处理子程序等。

  控制板的主程序流程图如图4所示。系统设计要求只有插入IC卡后,才可以通过键盘或遥控器来控制系统。键盘处理子程序和无线接收子程序都是采用中断方式执行,且任何时刻二者只能有一个被执行。键盘处理子程序的中断是外部INT中断,无线接收子程序采用的是PORTB 口的RB6端。


图4 控制板程序流程图


  在编程时有一点要注意,PORTB口RB7-RB4端有电平变化时可以产生中断,但只有当I/O引脚设置为输入状态时才能发生中断。芯片通过把RB7-RB4端口的输入信号与上次读入的锁存值进行比较,如不等,则二者异或后输出,产生变化中断,使标志位RBIF为1。控制板程序运行时,控制板的程序接收各块电机板的状态,然后在控制板液晶上显示电机台数和水箱的水位状态。控制板收到键盘和遥控器的命令,向总线发送信息。电机板接受总线信息,执行控制板的命令动作。同时定期发送水位的状态值给控制板。其中冷冻功能就是同时执行冲洗功能和通风功能。冷冻功能程序是电机板程序的子程序。每次冷冻结束后必须执行清洗,保持过滤网清洁。

  CAN控制器MCP2510与控制芯片PIC16F873采用SPI通讯方式。PIC微控制器工作于主模式下,可实现完全SPI功能。数据的收发采用软件缓冲区。发送数据时,软件缓冲区装入所发数据,同时发出SPI中断。CAN总线废除了站地址编码,对通讯数据进行编码。数据的编码通过帧ID号来识别。可以通过编码开关设定数据ID号。总线仲裁指如果2个或2个以上的单元同时开始传送报文,那么就会有总线访问冲突。通过使用了识别符的逐位仲裁可以解决这个冲突。仲裁的机制确保了报文和时间均不损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。

本文作者创新点

  本文构建了基于工业设备控制系统的CAN总线节点,按照功能的不同,设计三种不同功能的节点。设计了不同节点的硬件结构。采用PIC的汇编程序,实现了基本CAN通讯的方式和不同节点的功能要求。本文设计的CAN总线节点解决了在传统的工业通讯控制方式485总线中的一些弊端,如无法构成多主结构,主节点任务繁忙,主节点故障可能引起系统瘫痪,数据传输效率降低;实时性差,错误处理能力不强等。

关键字:微处理器  CAN  工业联机  控制系统 引用地址:基于微处理器与CAN的工业联机控制系统

上一篇:单片机单总线技术
下一篇:基于CAN总线分布式安全检测系统设计

推荐阅读最新更新时间:2024-03-16 13:48

基于Agent的智能控制系统的设计
  智能控制系统是一个能以人类专家水平完成专门任务的智能计算机控制系统,是伴随计算机研究、应用日益发展的,通过模仿人类专家应用其知识与经验的方法解决控制问题。在运用智能控制系统时,一般有多个控制参数,因此在做出控制决策时需要进行决策分析,从而确定控制方法。所以有必要在智能控制系统中融入决策分析的相关技术和方法,使控制决策更科学、合理。   Agent技术是分布式人工智能的一个概念。Agent是在一定环境下能独立自主运行的实体,它具有智能,有自己的知识;它具有学习功能,能够感知环境,并对环境的变化做出反应;多Agent实现了知识的分布,能够相互合作,共同完成任务。随着人工智能的发展,Agent技术得到广泛应用,把Agent技术引入
[工业控制]
基于AVR的LED照明灯控制系统设计
  引言   LED照明已经进入了家庭用户,与传统的照明设备(如白炽灯、荧光灯)相比,具有光源单色纯度高、色彩多样、效率高、光强度可调等优点。针对传统照明亮度不易调节、开关位置固定的问题,本文基于AVR单片机设计了一种LED遥控照明系统,提出了LED照明灯的驱动与亮度调节的方法。   1 LED照明灯控制系统原理   系统原理图如图1所示。当红外接收器接收到红外遥控信号时,通过外部中断将AVR单片机从休眠模式中唤醒;AVR单片机开始解析红外信号,如果与系统地址匹配,则将根据解析到的命令改变LED恒流源驱动的输入,从而改变LED灯的状态。      2 系统硬件设计   2.1 控制器   控制器采用AVR单片机ATmega
[单片机]
基于AVR的LED照明灯<font color='red'>控制系统</font>设计
水泵机组全自动变频调压PLC控制系统设计运行总结
1 引言 汕头市澄海区第一水厂送水泵房共有六台送水机泵,包括55kW、75kW、110kW三种不同功率的机泵各两台。由于用户用水量具有一定的随机性,如果只靠启动和停止机泵来保持供水压力,这样很难满足随时变化的供水要求。据统计分析,在水厂的生产成本中,送水机泵运行用电成本占了很大的比例。为降低电耗,保证供水质量,受用户委托对送水泵房水泵机组实施全自动变频调压PLC控制。全自动变频调压PLC控制系统主要采用变频调速技术,它具有恒定水压,降低能耗等显著优点,是一项集现代先进电力电子技术和计算机技术于一体的高效节能技术。 2 系统介绍 全自动变频调压PLC控制系统主要由一套可编程控制器PLC和一台变频器组成。PLC对管道压力进行
[工业控制]
水泵机组全自动变频调压PLC<font color='red'>控制系统</font>设计运行总结
CAN总线研究及应用
  一、引言   在计算机数据传输领域内,长期以来使用RS-232和CCITTV.24通信标准,尽管它们被广泛地使用,但却是一种低数据速率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模的应用(如工业现场或生产自动化领域)中需采用传统星型拓扑结构,那么安装成本和介质造价都将非常高昂;采用流行的LAN组件及环型或总线型拓扑结构,虽然可以减少电缆长度,但是增加的LAN介质及相关硬件和软件又使其系统造价与星型系统相差无几。所以在最低层次上的确需要设计出一种造价低廉而又能经受工业现场环境的通信系统,现场总线(Field bus)就是在这种背景下产生的。   二、CAN总线   控制器局部网(CAN-Co
[嵌入式]
如何用您的手机控制CAN总线
传统的CAN通信仅局限于PC机与电气导线连接的现场应用,面对当今移动设备大规模占据生活中的各个领域,我们CAN通信也不能固步自封,在无线与APP应用领域,使用手机等移动设备监控CAN总线成为未来一个趋势。 自1990年奔驰公司发布了第一辆使用CAN-bus通信的轿车之后,CAN-bus便成为了通讯界里一颗闪亮的星星,在车载设备的通讯中更是一枝独秀。但面对目前这快速发展的新世界,传统应用方案下的线缆组网,PC机监控已无法满足我们新时代的需求,限制了CAN-bus通信的应用场合。 如果说手机的使用拉近了人与人之间的距离,那么智能手机的出现,各种APP应用程序的深入用户群体,则是完全改变了新时代人类的生活方式。物联网、智能工厂、
[嵌入式]
如何用您的手机控制<font color='red'>CAN</font>总线
基于CAN总线的电气火灾监控系统设计
1引言   据《中国火灾统计年鉴》统计,自1993~2002年全国范围内共发生电气火灾203780起,占火灾总数近30%,在所有火灾起因中居首位。我国的电气火灾大部分是由短路引发的,特别是接地电弧性短路事故。采取确实可行的方法预防和遏制电气火灾的发生已刻不容缓。      在各类建筑及其它领域中广泛应用安装电气火灾监控器,能有效预防和减少漏电引起的电气火灾。应用在线检测技术,可长年不间断地检测用电线路的过电流、漏电电流等参数,能随时掌握电气线路或电气设备电气火灾危险参数的变化情况、故障和异常状态,及时发现电气线路的火灾隐患,消除隐患,防患于未然,保护国家和人民生命财产的安全。    2电气火灾监控系统组成   系统由电气火灾集中
[工业控制]
基于<font color='red'>CAN</font>总线的电气火灾监控系统设计
基于LIN总线的汽车雨刮控制系统设计
随着汽车电子技术的不断发展,汽车上的各种电子装置也越来越多,电子控制装置之间的通讯也越来越复杂,而汽车上传统的电气系统大多采用点对点的单一通信方式,造成庞大的布线系统,增加了制造及维护成本。LIN总线全称为区域互连网络,用于实现汽车车身控制系统的分布式控制,其具有价格低廉、结构简单、配置灵活等特点,为现代汽车网络提供功能上的补充,使汽车结构的设计变得更加灵活。LIN总线主要被应用于车门、方向盘、座椅、雨刮器、车窗等控制单元,并将分布的智能传感器和执行器连接到车内主控制器。本文将LIN总线技术应用到汽车雨刷系统上,提出了安全性好、可靠性高的设计方法,该系统经实际调试,取得了良好的应用效果。 1 LIN协议介绍 LIN(Local
[单片机]
基于LIN总线的汽车雨刮<font color='red'>控制系统</font>设计
基于CAN总线的城市客车信息集成控制系统
1 引言   随着电子技术的不断发展,汽车电子技术也迅速的发展了起来,汽车上各种电子控制单元的数目也不断地增加,连接导线显著增多,因而提高控制单元间通信的可靠性和降低导线成本已成为迫切需要解决的问题。在20世纪80年代,以研发和生产汽车电子产品著称的德国bosch 公司针对此问题开发了can总线协议,这种多主网络协议,它的基础是无破坏性仲裁机制,使得总线能以最高优先权访问报文而没有任何延时。can作为标准车载网络技术,其在汽车网络化应用的进程中起着桥梁和纽带的作用,将城市客车信息集成采集提高到一个新的层次。    2 城市客车信息集成控制系统概述   城市客车信息集成控制系统是建立在汽车网络控制技术的基础上,从控制对象分,可
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved