分布式控制CAN总线(共10篇)
分布式控制CAN总线 篇1
在建筑、化工、制造等工业中普遍存在圆管相贯线和坡口切割的需求, 随着机器人和数控技术的发展, 圆管的自动切割已经可以实现。
数控切割机的控制系统结构形式分为集中式和分布式, 集中式是把所有运动的控制功能集中到一块板卡或芯片上, 分布式则是一个运动轴由一个运动控制芯片控制, 多个运动轴构成分布式网络结构。分布式的优点是单个节点的处理任务简化, 多个节点可以并行执行任务, 单个节点的故障不影响其他节点的工作。本文中设计的分布式多轴运动控制系统已经成功的应用在实际工业生产中。
1 控制系统总体结构设计
整个分布式多轴运动控制系统由计算机和多个单片机组成。工业计算机PC104做上位机, 完成显示、操作等人机交互功能, CAN总线数据接收、发送和监听功能, 理论数据和测量数据转化为运动数据的功能, 流程控制功能。多个单片机做下位机, 有多个运动控制节点, 一个IO控制节点, 一个手操器控制节点。下位机完成单轴运动控制功能, 多轴运动协调功能, 数据存储功能, CAN通信功能, IO输入输出功能, 手动控制功能, 示教功能。
2 CAN应用层协议的制定
本系统使用CAN总线连接各个节点, 并在上一代系统上进行改进和升级, 使用Peli CAN模式, Peli CAN支持标准帧格式和扩展帧格式;滤波方式有单滤波和双滤波。本系统采用扩展帧和双滤波方式。扩展帧优点:有29位的标识码。命令内容可以更加丰富, 可以给不同的位赋予不同的意义而不相互冲突。双滤波优点:可以有广播模式, 同一条命令可以让不同的轴都收到。而单滤波方式, 必须改变标识码以通过不同的滤波器, 向多个轴发送同一命令需发送多次, 在多轴插补中, 时间的不一致会带来运动的不协调。
经过反复验证, 确定了一套完善的CAN应用层协议。扩展帧格式下的双滤波配置, ACR0、ACR1和AMR0、AMR1组成滤波器1, ACR2、ACR3和AMR2、AMR3组成滤波器2, 两个滤波器都只比较扩展标识码得前两个字节。报文必须通过至少一个滤波器才能被接收。节点0的滤波器配置代码如下:
AMR0=0X8F;AMR1=0XFF;AMR2=0X7F;AMR3=0XFF;ACR0=0X00;ACR1=0X00;ACR2=0X80;ACR3=0X00;
而节点1的滤波器配置代码只需将ACR0设置为0X01, 其余不变。同理, 可得出其他节点的配置方法。
非广播类信息通过滤波器1, 广播类信息通过滤波器2, 实现了双滤波。
3 硬件电路的设计
下位机由多个单片机组成, 有多个运动控制节点, 一个IO控制节点, 一个手操器控制节点。功能模块包含处理器模块、CAN通信模块、数据存储模块、运动控制模块、键盘输入模块和IO控制模块。
3.1 微处理器模块
MCU微处理器选择飞利浦的P89V51RN2FN, 本系统选用该芯片因为看重其以下特性:包含64k B Flash;Flash支持在系统编程 (ISP) , 允许对成品中的器件进行重复编程;有可编程计数器阵列, 具有PWM和捕获/比较功能;有3个16位定时器/计数器;有可编程看门狗定时器 (WDT) ;温度范围-40°C~+85°C, 适应工业现场。
3.2 CAN通信模块
CAN控制器选择SJA1000, CAN收发器选择CTM1040T。SJA1000是一种独立的CAN控制器。它是philips的新一代产品, 增加了一种新的操作模式PeliCAN。SJA1000具有以下特性:64字节接收缓冲器, 先进先出 (FIFO) ;支持CAN2.0A和CAN2.0B协议;支持11位和29位标识码;通信位速率可达1Mbps;温度适应范围大 (-40°C~+125°C) 。
CTM1040T是一款带隔离的高速CAN收发器芯片, 该芯片内部集成了所有必需的CAN隔离及CAN收、发器件。芯片的主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平并且具有DC2500V的隔离功能及ESD保护作用。使用该芯片简化了CAN通信模块的电路设计。
3.3 数据存储模块
数据存储模块选择AT24C256。为了减少对单片机引脚的占用, 采用具有I2C总线接口的串行E2PROM芯片AT24C256作为数据存储器, 其容量为256KB, 本系统在实际应用中所需要的数据容量通常为100KB, 最多不超过180KB, 此芯片完全满足本系统的数据存储要求。
3.4 运动控制模块
为了控制步进电机的脉冲和方向, 选用定时器计数器芯片8254和高压驱动器7407, 脉冲信号由单片机IO口产生, 脉冲信号由8254产生, 7407起信号放大作用。
由于89V51RD2FN和82C54的引脚驱动电流都很小, 约为10m A, 电压也仅有5V, 不能达到电机驱动器所需的水平, 所以加入了低功耗集电极开路六正相高压驱动器74LS07芯片, 信号经放大后再输入到电机驱动器。
3.5 键盘输入模块
为了使工人远程也能方便的完成一些操作, 本系统设计了手操器, 为了不占用单片机的系统资源, 需要有接口芯片独立完成键盘扫描, 并以中断的方式给出键值的编码, 因此选用8279芯片。
3.6 IO控制模块
本系统中有多个接近位置传感器, 会产生开关量输入信号;同时还需要对多个电磁阀进行控制, 所以也需要有开关量输出信号控制。TLP521-4是一款四通道光电隔离器, 传感器输入信号通过它转换为数字信号进入单片机, 从而使单片机获得传感器状态。单片机的输出信号通过它转换为对电磁阀的控制信号, 控制点火阀门的开关。
4 下位机软件设计
4.1 软件的流程和层次
按照实际应用的需要, 流程步骤的控制由上位机发送的CAN总线命令主导。系统每正确的完成一个步骤之后才能进行下一个步骤, 如果错误则退出, 进行错误诊断之后再重新进入系统。
4.2 多轴插补策略
4.2.1将各个轴的运动路径分割为小直线段, 以小直线段逼近原路径。分割原则为直线路径与原路径误差不超过1mm。
4.2.2将各轴每份的相对位移量和运动速度存储在存储器中, 在单片机中设定一个数据缓冲区, 预读取5份运动数据, 运动时单片机将下一份运动数据发送至8254, 驱动电机。
4.2.3以CAN总线命令控制各份的启停, 保证各轴每份都是同时启停的, 多轴合成路径为预先设定的路径。
4.2.4各轴之前比较当前位置, 若误差大于1份, 则进行速度调整, 恢复同步。
4.2.5下位机实时上传运动位置, 如果误差超过5份, 则急停, 检查故障。
通过制定合理的协调策略, 完善的通信协议, 保证信息传递的实时性, 实现了多轴运动的插补, 达到了误差小于1mm的目标。
5 结论
本文设计了控制系统的总体架构, CAN总线的通信协议, 设计了下位机的硬件电路, 编写了软件程序, 制定了多轴的插补策略。将本文设计的分布式多轴运动控制系统应用于GD切割机器人中, 切割机器人为四轴联动, 旋转轴, 伸缩轴, 半径轴, 枪摆轴。经实验验证, 切割效果良好, 误差小于1mm, 满足实际生产要求。
分布式控制CAN总线 篇2
深入研究了CAN网络协议的技术规范,根据J1939应用层协议制订了相应的.通信协议,设计了基于P87C591单片机的CAN总线灯光控制系统网络.试验结果表明,所设计的灯光控制系统局域网络运行状况良好,满足使用要求.
作 者:郭俊飞 李军伟 郑玉英 GUO Jun-fei LI Jun-wei ZHENG Yu-ying 作者单位:郭俊飞,李军伟,GUO Jun-fei,LI Jun-wei(山东理工大学,交通与车辆工程学院,山东,淄博,255049)
郑玉英,ZHENG Yu-ying(福建经济学校,福建,福州,350007)
发动机和变速箱的CAN总线控制 篇3
【关键词】CAN总线;变速箱;发动机;J1939
【中图分类号】S219.031 【文献标识码】A 【文章编号】1672—5158(2012)08—0153-01
一、现有系统介绍
主动式铲运车是动力系统主要包括发动机、变速箱,其协调控制是基于CAN总线通讯来实现,现已通过CAN总线实现了发动机与变速箱的协同控制,摆脱了以往依靠机械式或电气输口的输入控制方式。依托CAN总线发动机及ZF变速箱全开放J1939通信协议标准,根据发动机和变速箱的特性进行集中控制,使各方面专家的成熟控制方案得以实施,在控制其节能和功率控制方面创国内领先水平。该设备于2010年由欧洲引入国内,经过2年的试制研发,其电气控制系统完全由国内专家协作开发,已达到国内工程设备先进水平。
目前这在国内实用两年的成熟动力CAN总线控制系统在采用04排放的发动机的最新铲运机型上得到了继续沿用,并于2012年8月瑞士试机成功。
二、J1939协议简介
J1939是运用于移动车辆的一种支持闭环控制的多个组成部件控制器之间的高速通信网络协议,它CAN2.0为核心,一个J1939的CAN数据帧由标识符(ID)、数据度、最长8字节的数据内容组成。其中标识符信息包含了以下信息:优先权(P)、保留位(R)、数据页位(DP)、协议数据单元(PDU formamt)和源地址(sourceaddress)。
三、发动机J1939部分
通过发动机CAN总线J1939协议可以实现发动机诊断、状态监视、油门控制等多方面信息传递。发动机的状态和控制是通过数据长度为8字节不同的CAN数据包来进行传送,这些数据据包通过各自不同的ID号来加以区别,每个数据包在J1939协议中以不同的名字来命名。其中较常用的如是反映发动机当前故障点的故障号(DM1、DM2、DM5),发动机工作总时间,当前电池电压,燃油经济性,燃油温度和冷却液温度(EET),当前发动机转速及转矩(EEC1)、載荷百分比(EEC2)、冷却液位及机油压力(EFL/P),空压温度;用来控制的CAN数据包发动机转速\转矩控制(TSC1),发动机软启停和最重要的修改发动机工作曲线的CAN指令等。
对于04排放发动机J1939部分新增了冷却水位,后处理器(DPF)选择开关及DPF灯等需要强制安装的开关和灯等元器件相关协议,这样就只需要对虚拟仪表和PLC程序略加改动就能从以往旧有程序升级到适用于04排放发动机的程序。
四、变速箱CAN数据部分
变速箱与发动机和控制器通过CAN总线来进行联系,从发动机和变速箱所发出的CAN数据中可以获得足够的控制信息来协调整个电气系统工作在合理的工作范围内,实现功率分配的最优化和节能的最大化。在发动机所发出的CAN数据中,最常用的包括下列主要状态数据:发动机输入转速、输出转速、变档范围、当前档位、档位方向、OP模式等(TCU1);AEB模式及其子代码、各电气输入输出点的IO状态、油底壳温度等(TCU2)等。对于变速箱,将从总线上获取EEC1、EEC2、EEC3、ERC1、CCVS等各帧CAN数据作为变速箱运行的参考,同时发出TSC1、ETC1、ETC2数据放到CAN总线上供发动机和设备控制器使用。
依据变速箱的相关CAN总线指令协议,在控制方面变速箱可以摆脱电气物理控制接口,实现全CAN通讯控制,这也为生产厂家降低了相关硬件成本,并尽可能减少了维修故障点提供了可能性。
五、设备控制器
设备控制器接收以上发动机和控制器所发出的讯息,采集液压系统等传感器的电气讯号,将信息汇总分析后对设备执行机构发出操作指令,并依据协议规定的CAN数据对发动机转速和扭矩进行控制以及对变速箱的当前档位、采用的工作模式进行操作,并进行协同工作,同时将采集的信息如故障代码、状态信息发送到人机界面,并由人机界面给出相关提示信息和诊断讯息指导操作人员和维护人员进行相关操作或提供信息参考,另外可由专业技术人员通过人机界面来对发动机工作曲线、变速箱工作模式,对整台设备的功率分配方式及节能制式进行简单的配置。
六、前景探讨
整车控制系统通过J1939协议获取发动机和变速箱的转速及转矩信息,加上设备控制器从液压系统采集的液压信息,和通过电磁阀芯反馈电流值大小可控制液压回路的输出排量,合理估算出各子系统的功率分配,通过人工输入的当前工况,根据设备不同的工作特性,采用适当的发动机工作曲线和设置变速箱的不同变档工作曲线,使设备工作得以顺畅的工作在最经济的工作状态下。
现在如何节能已经成为全球面临的普遍问题,越来越多工程设备面临着如何更多地降低油耗的问题,设备各种组成部件由不同的专业厂家制造,而CAN总线通讯技术使得各组成部件按照预设的工作方式协调工作成为可能,基于开放式总线通讯技术的动力控制系统在节能这一方面具备不可比拟的优势,而基于CAN的J1939控制为实现这一最经济的工作方式铺平了道路,不难想像将来在这一基础之上,更先进的节能技术将会不断推陈出新,被开发出来并应用于不同的设备平台。
参考文献
[1]饶运涛,邹继军,郑勇芸S现场总线CAN原理与应用技术[M]北京:北京航空航天大学出版社,2003:18
[2]阳宪惠,现场总线技术及其应用。北京:清华大学出版社,1999
分布式控制CAN总线 篇4
随着大量电子设备的推广使用, 建筑电子化的趋势逐步显现, 人们开始将电器、通讯设备与安防系统设备这些具有独立功能的事物综合在一起, 形成了建筑自动化的概念。随着通信与信息技术的发展, 出现了通过总线技术对建筑中各种设备进行统一监控管理的系统, 也就是现在智能建筑的原型[1]。目前通常把智能建筑定义为利用IT技术和综合布线技术, 通过信息管理平台将大楼中各种子系统有机结合成一个系统。现阶段数字化技术取得了更加迅猛的发展并日益渗透到各个领域, 随着Internet网的不断扩展, 建筑信息化、智能化将是一个不可避免的趋势。
2 总体设计方案
图1所示是本文设计的一种新的基于CAN总线的智能建筑分布式控制系统, 它包含三个模块:主控制系统、门禁系统以及灯光调节系统, 三者之间采用CAN总线进行通讯, 并将各模块的工作运行状态通过以太网传至上位机软件, 由此构成一个简单的分布式智能建筑控制网络。
本文设计的分布式控制系统通讯采用CAN总线, 主要是考虑到CAN总线作为一种有效支持分布式控制和实时控制的现场总线技术, 具有开发维护成本低、总线利用率高、传输距离远 (最远可达10km) 、传输速率高 (最高可达1Mbps) 、抗干扰性强、多节点传输等优势。
与上位机间的通讯采用以太网, 由主控制器来完成。而且万兆以太网的出现大大提高了以太网通讯的速度, 将冲突出现的可能大大降低, 提高了以太网的性能[2,3,4]。
不论是CAN总线还是以太网, 都有一个共同的优点就是方便系统的扩展, 我们可以随意地向以太网网络和CAN总线网络中增加或删除节点。这也正是本文设计的分布式控制系统采用这两种通讯模式的原因。
3 硬件电路设计
3.1 RFID门禁系统
门禁系统采用RFID技术, 利用读卡器芯片MFRC530 及射频卡Mifare S50 构成射频识别系统。
Mifare S50 卡是一款近耦合式射频卡, 集成了ISO14443A协议, 支持8 位并行通讯方式, 同时也可以选用SPI串行通讯方式。这里选用这款芯片的最大原因在于其模拟以及射频信号收发部分采用5V供电, 但其支持数字接口部分的3.3V独立供电, 这样可以省去STM32F107 到MFRC530 之间的电平转换电路[5]。
这里分别将STM32F107 和MFRC530 配置为SPI主、从器件, 通过SPI总线实现主芯片与读卡器芯片的通讯。另外再利用电路腐蚀在PCB上形成一个板上天线, 图2所示就是一个天线的滤波, 调理电路。
另外板子上还设计了一个EEPROM器件X25043, 该器件集成了看门狗功能, 本设计使用该芯片来防止程序跑偏后的死机, 同时其具备的电压检测功能可使主芯片电压不足时进入复位模式。更重要的是用其来存储建筑内各个房间及办公室的门禁信息, 以便与射频卡中读出的信息进行对比。
3.2 可控硅调光模块
灯光调节部分采用PWM调制技术, 通过STM32F107控制器自带的高级时钟功能来产生PWM波形, 灯则采用LED照明灯, 随着国家对于白炽灯的逐步禁止, LED灯以其低功耗和高亮度的特点已经成为照明市场上的一个新趋势, 考虑到照明用的灯为220V供电, 由于STM32F107GPIO的耐压最大值为5V, 所以直接用STM32F107 控制器的GPIO口来控制灯的开断是不可能, 也不安全。所以这里采用三端可控硅元件BTA06 来控制灯的亮灭, 并且采用一个光耦MOC3021对控制电路和强电照明电路实现隔离。如图3所示。
这里控制器的GPIO口连接图上的OUT1 端, 高低电平的变化来控制光耦的通断, 而LED1 端接E27 灯座, 此时将220V的强电接在E27 灯座的另一端以及N3 口上。由此我们就可以通过调节GPIO口输出的PWM波形的占空比来调节可控硅的导通角, 从而调节光的亮度。
3.3 CAN总线通讯模块
传统的CAN总线组网方案是由主控制器、CAN总线控制器 (如PCA82C250) 、CAN总线收发器 (如SJA1000) 以及CAN总线控制器与收发器间隔离电路四部分组成, 其中CAN总线隔离电路一般采用DC/DC隔离电源、高速光耦 (如6N137) 、匹配电阻以及滤波电容组成。这种方案在CAN总线产生早期经常使用, 至今仍是一种使用较为普遍的方案。但是这种电路方案PCB布板面积大, 器件众多, 使用起来较为复杂。本文设计的CAN总线模块采用全新的设计方案, 由集成CAN总线控制器的主控芯片以及带隔离功能的CAN总线收发器 (如CTM1051A) 组成[6]。这种方案可以降低器件成本, 最主要的是可以减少PCB的面积, 方便将产品小型化、模块化。其电路连接方式如图4。
这里采用CTM1051A作为CAN总线收发器, 它将传统的由隔离电源和光耦以及相匹配的电容电阻组成的隔离电路, 完全集成到了一个器件中。考虑到CAN总线网络的两个终端上需要添加匹配电阻, 所以在电路设计上采用了如图4 所示的方式, 当电路板作为CAN总线的终端时, 只需要将P6 的跳帽跳上即可, 而当电路板作为CAN总线的中间节点时, 将跳帽拔下即可, 非常方便。
3.4 以太网模块
以太网部分由集成了以太网控制器的STM32F107作为主控制器, 外接以太网物理层收发器DM9161A, 并连接内部集成了网络隔离变压器的RJ45 接口HR911105A。
STM32F107 与DM9161A的连接方式有两种, 一种是MII接法, MII是将不同类型的PHY器件与相同网络控制器相连接的通用总线。这种接法数据接口需要16 个信号线, 而管理接口则需要两个信号线, 总共18根线, 这将大量占用主控制器的GPIO端口, 为节省资源, 这里采用第二种接法RMII, 即简化的MII接口。使用这种接法我们只需9 根信号线, 另外, 由于DM9161A需要50MHz的频率输入, 可以对其外接晶振, 也可以从外部输入时钟信号, 这里使用STM32F107 的MCO端口输出的50MHz时钟源作为DM9161A的信号输入。
4 以太网软硬件调试
主控制器与PC机的通讯过程主要是采用以太网, 这种通讯方式便于组网, 新增子节点只要设置合适的网关和IP地址就可以方便地加入到整个通讯网络中, 利于后续的扩展开发[7,8]。本节将主要介绍以太网模块的程序编写以及软硬件调试流程。
通讯过程中, 主控制器需要将传输的数据封装成一个以太网帧, 格式如表1。
主控制器上的MAC地址, 可以通过对STM32F107以太网MAC地址寄存器的写操作自己设定。而计算机网卡的MAC地址则可以通过以下步骤查询:开始—运行—输入cmd—输入ipconfig/all, 效果如图6。
这里需要对PC机和主控制器设定IP地址, 主控制器的IP地址通过设定STM32F107 寄存器来完成。计算机IP地址的设定方法是:打开网络连接—本地连接—属性—Internet协议—使用下面的IP地址—设定一个32 位的IP地址即可, 需要注意同步设置网关, 两者必须在同一个网段内。以上设定都完成后, 就可以进行以太网数据的收发了, 这里有两种方式。
第一种方式:按照图6 步骤查询出PC机的MAC地址, 即主控制器要发送的以太网帧的目的地址, 这种方法有一定的缺陷, 那就是和不同PC机进行通讯时, 每次都需要查询该PC机MAC地址, 并在程序中重新设定。
第二种方式:采用ARP协议即地址转换协议来发现网络上其他基于IP地址协议的计算机的以太网地址。这样对不同的PC机, 只需要设定IP地址即可, 不必再去查询其MAC地址。
这里采用第二种方式, 其过程如下:
(1) 设定计算机IP地址为192.0.2.1。设定主控制器IP地址为192.0.2.2。
(2) 主控制器发送ARP包, 用于询问IP地址为192.0.2.1 的结点, 请它将自己的以太网接口48 位MAC地址发送给主控制器, 接收ARP包的各个网络结点分析接收到的数据, IP地址与ARP包中不同者, 不会响应。而IP地址与ARP包中相同者, 则会响应ARP包, 自动将MAC地址回传。
(3) 接收到目标MAC地址的主控制器, 随即将该地址作为目的地址与要发送的数据还有自身地址一起封装成一个标准的以太网帧并发送。
(4) PC接收该帧, 存在相应的存储器中。完成一次收发过程。
对于以太网传输的正确性验证, 使用软件“网络调试助手”, 如图7, 它可以监控相应IP地址节点接收到的数据。
5 结语
本文介绍了智能建筑的概念及发展现状和未来趋势。重点对可控硅照明调光模块、RFID门禁模块、CAN通讯模块、以太网通讯模块的软硬件实现及调试进行了介绍。另外采用现场总线的分布式智能建筑控制系统增强了现场级信息集成能力, 方便对门禁、灯光等设备运行信息进行采集与汇总。系统可靠性高, 并且具备了开放式、可扩展性等特点, 实际系统运行良好, 各模块功能均可正常实现。
参考文献
[1]许宏科, 王维敏.现场总线技术在隧道监控系统中的应用[J].山西交通科技, 2003 (5) :52-54.
[2]张杰.智能建筑的物联感知系统设计[J].数字技术与应用, 2015 (12) :147-148.
[3]邬宽明.总线原理和应用系统设计[M].北京:北京航空航天大学出版社, 2008.
[4]高亮.智能建筑综合布线系统及其项目管理研究[J].信息通信, 2015 (12) :292-293.
[5]李志涛.总线自动化测试设备的设计与研究[J].汽车电器, 2015 (12) :48-53.
[6]谢宁.一种具有CAN总线通信的称重设备设计[J].中国计量, 2015 (12) :70-71.
[7]秦磊.大型商务楼智能化系统关键技术的研究[J].数字技术与应用, 2015 (12) :102-103.
分布式控制CAN总线 篇5
[关键词]CAN总线 现场总线 多机器人
近年来随着机器人研究的不断深入,机器人技术现已涉及到传感器技术、控制技术、信息处理技术、人工智能和网络通信技术等方面,其功能日益强大,结构日趋复杂和完善。多移动机器人的研究工作开始于80年代中期,特别是移动机器人间协调运动控制问题,凭借其工业的需求性和控制的复杂度,现已成为移动机器人方面的一个主要研究方向,在此方面的研究主要集中在多机器人运动描述方法、协调控制、抓取规划和避障等诸多方面。
随着现代工业技术的不断发展,现场总线技术使单个分散的现场设备通过总线连接成相互通信、协同操作的网络控制系统,实现分布式、开放式控制。在多焊接机器人的控制系统中,引入现场总线技术,可实现分布式控制,满足现代工业分布式控制的要求,便于对整个系统的监控。
一、多焊接机器人系统
焊接技术是一种极重要的金属热加工技术,焊接机器人是在工业机器人基础上发展起来的先进的焊接设备。焊接机器人应该能够满足不同的工作场所和焊接规范要求且能进行焊缝的自动跟踪、保护气、焊丝的自动补给。焊接机器人通常包括机器人本体、机器人控制柜、焊机系统及送丝单元、变位机、工装夹具等部件。多焊接机器人系统是近年来开始探索的一项新技术,多焊接机器人系统将整个作业按照操作和应用的要求,从功能、物理和时间上划分成多个部分,由具有一定自主能力的单焊接机器人来分别完成各部分的工作。各焊接机器人之间相互通信、彼此协调,共同完成整个复杂系统的操作任务。
本文的多焊接机器人系统控制器,硬件方面采用开放式的结构和模块化的设计方法,主要由人机界面、轨迹规划、协调控制等多个模块构成。人机界面可为用户提供操作系统和编程环境,便于实现机器人的编程控制,完成预期的任务。轨迹规划模块以时间周期的形式进行循环调用,根据传感模块反馈回来的信息,生成被控机器人的下一段运动轨迹。协调控制模块根据传感器反馈回来的信号,,对各机器人的工作状态进行局部修正,完成各机器人间的协调运动。由于控制器硬件方面采用分层和模块化结构,软件方面以实时多任务操作系统为平台,该操作系统主要完成编程、执行、系统检查、协调运动控制算法以及内嵌PLC功能,使机器人可对多个弧焊工作站进行协调运动。
二、CAN现场总线
CAN(Controller Area Network)即控制器局域网络,凭借其自身所具有的高性能、高可靠性、易开发和低成本的特点[2],现已成为全球广泛应用的现场总线技术之一。CAN现场总线最初用于汽车内部测量与执行部件之间的数据通信。随着应用的不断展开,现在的应用范围已经面向到过程控制、机械制造、机器人和楼宇自动华等领域之中,并已成为国际标准。
1.CAN总线的概述
CAN采用双绞线作为信息传输媒介,网络终端阻抗一般取。最大直接通信距离由传输速率决定。若控制节点拥有惟一标识,每一单独的CAN网络可以链接2032个节点;一般由于硬件方面的限制,实际允许链接的控制节点数为110个。
CAN采用非破坏性总线仲裁技术,媒体访问按节点信息的优先级进行,以满足实时控制的不同需要。传输过程中,信息帧为短帧结构,采用短帧的突出优点是传输时间短,抗干扰性强;信息帧包含4种类型:数据帧、远程请求帧、出错校验帧和溢出帧。发送期间若丢失仲裁或者由于出错而遭到破坏的信息帧可自动重发。
2.基于CAN现场总线的控制系统
控制系统的体系结构如图所示。监控计算机主要进行编程、管理与监控等功能;机器人控制器完成机器人的运动规划、协调控制、伺服控制等功能;机器人控制器可直接控制具有标准脉冲接口的交流位置伺服节点,来实现交流电机的控制,也可通过D/A输出控制交流伺服电机。一个位置伺服模块可控制6路交流电机,可以通过增减该模块的数量来控制不同的机器人的运动轴数,从而实现对多个焊接机器人的协调控制。数据采集节点主要进行信息检测,将检测来的信息发送到控制器和执行控制节点上,其中包含焊接机器人工作所需的传感器信息,数据量较大。
控制系统的体系结构图
三、结束语
将CAN现场总线引入到多焊接机器人系统中,能够较好的利用CAN现场总线的高速、多主从结构和较好的抗干扰能力,非常适合用于多机器人协调控制,并且与同类技术相比,成本较低,比较适合工业应用,因此可以预见在工业机器人领域中具有较好的发展前景。
参考文献:
[1]冯金光周华平:CAN总线在仿人机器人运动控制系统中的应用[J].广东自动化与信息工程,2004(2):10~12
[2]饶运涛周振军郑勇芸:现场总线CAN原理及应用技术[M].北京航空航天大学出版社,2003
[3]祁永庆董秀林董伟亮:基于CAN总线的PLC在车辆多任务协同控制中的应用[J].工程机械,2003(2):1~3
分布式控制CAN总线 篇6
1 系统结构的设计
1.1 CAN总线
主要是一些支持实时控制的串行通信局域网络的总线, 而且对消防报警系统的应用是非常合适的。它主要有如下几种特点:
(1) 节点可以分成不同的有线等级, 对不同的要求能够实时的满足;
(2) 能够组成对等的网络, 任何一个节点无论在什么时候都可以跟网络上的另外的节点主动的发送数据;
(3) 采用的是非破坏性的总线仲裁;
(4) 通信的最远距离能够达到10千米, 最高的速率能够达到1Mbps;
(5) CAN节点如果发生了严重的错误, 能够自动的跟总线切断联系, 这样能够使其它的操作不受影响;
(6) 每帧数据里面都有循环冗余的校对, 因而数据的出错率就会比较低。
1.2 分布式的结构
本系统所运用的设计主要是模块化结构, 是按照建筑物的特定需求以及规模, 进行相应功能模块的增减。主控制器可以直接的对一些消防报警设备进行一定规模的控制, 而且还可以利用区域的控制器进行一定的扩展, 在没有运用通讯中继器的情况下, 扩展的最远距离能够达到1500米。系统体系的结构如下图1所示:
1.3 主控制器的设计
主控制器主要是对系统里的所有节点以及设备的事件控制与数据管理负责, 能够实现跟数据管理的软件和监控中心之间的数据通信, 它是整个系统的核心内容。它的任务就是在线监控各个节点和分析处理各个节点所返回的信息, 并且能够对节点发出一些控制命令。主控制器还配备了LCD显示器、打印机以及声光报警装置等, 在接收其它的节点发送出来的动作信息和报警之后, 对其进行逻辑性的判断以及处理, 最后在彩色LCD上显示出来。
1.4 报警联动的设计
系统主要是在对报警信息进行处理的时候, 也能够同时对联动设备的动作进行控制。在处理联动上, 主要是引入了一个联动矩阵的概念, 当系统在发生报警之后, 如果控制器是在“自动”的状态下, 那么控制器就会自动地对联动控制完成输出。
整个系统的历史信息以及设备的配置数据等都是存放在主控制器里的。
2 CAN网络节点的设计
2.1 控制器的节点设计
mcf5282是集成v2核的32位微处理器, 它的最高频率能够达到66兆赫兹。内部所集成的CAN控制器主要是由CAN内核、控制寄存器、消息RAM以及消息处理单元所组成。mcf5282内部控制器的结构如图2所示:
2.2 回路卡CAN的节点
回路卡主要是对198个模块与探测器的控制以及处理负责的, 它的指标性能对整个系统的反应速度有着一定程度上的影响。它的处理器的主频能够达到40兆赫兹, 而且内部集成了CAN节点, 运用的是TJA1050高速CAN收发器。其芯片具有能够在没有电的情况下对总线不产生影响、电磁辐射低以及防短路等特点, 而且可以选择静音和高速两种模式。要增强CAN节点的抗干扰能力, 可以把CAN的引脚跟总线的收发器连起来, 这样做能够在各个节点之间实现电气隔离。
3 CAN通信系统的数据协议
3.1 系统CAN的通信控制的协议
控制器的节点主要采用的是Flex can协议, 而其它的节点主要采用的则是Pelican协议。控制器和扩展箱的节点在通讯的时候主要采用的是扩展帧格式, 其标识符是29位;其它的节点在通讯的时候主要采用的则是标准帧格式, 其标识符是11位。
对于在通信时所存在的某些数据丢失的问题, 本设计主要提出了一些通信协议, 其定义的规则如下:
(1) 计时处理的规则:就是发出数据包以后就开始计时;
(2) 过期作废的规则:就是指旧的数据还在, 但是被新的数据取而代之;
(3) 重新发送的规则:就是指超时没有回复的或者是回复有差异的, 都可以重新发送;
(4) 数据回复的优先规则:就是指回复可以优先处理的。以上这些规则都能够很好地解决数据丢失的问题。
3.2 令牌环的协议
跟控制器有着频繁交换信息的节点, 可以利用令牌环协议。就是指令牌携带的控制数据, 是由控制器发送出来的, 然后再按照系统里的节点顺序进行依次传递。在收到令牌以后, 节点再根据已经约定好的优先等级把这些数据包全都发回给控制器。
4 系统的软件设计
系统的主控制器的软件主要是在Metrowerks Codewarrior开发环境中开发的。为了能够把mcf5282的性能充分地发挥出来, 可以在控制器里运用实时的操作系统, 可以把其应用分解成多任务, 从而提高系统的可靠性、实时性以及稳定性, 并且把系统软件的设计应用进行一些简化。
运用了实时的操作系统以后, 系统中的任务结构基本上是呈现出多任务以及外加中断处理的结构。系统的软件主要运用的是模块化的设计方法。结构如图3所示:
系统被初始化以后, 即进入到了多任务的一个处理状态。其任务可以分成LCD刷新、导航键盘扫描、键盘扫描及其菜单操作、火警、故障等一些事件的打印、探测器的实时数据的查询以及联动操作的扫描。而且用中断机制处理的内容主要包括UART通信任务、电源的监视和管理、CAN通信以及QSPI通信。
5 结束语
分布式控制CAN总线 篇7
相对于传统的柴油发电机,变速集成发电机(variable-speed-integrated-generator set,VSIG)具有体积小、效率高、对柴油机速度范围利用充分等优点,得到了越来越多的研究和应用[1,2]。
为减少对作业地的噪声污染,一般柴油发电机距离用户有一定的距离。由柴油发电机构成的多机供电是一个复杂的系统,为了方便对机组的统一管理、保证供电安全,需要对油门调速机构、输出电能等进行监测和调控。可用于分布式监控系统的总线类型很多,并各具特点。其中CAN总线通信技术与同类技术相比,在可靠性、实时性和灵活性方面具有独特的技术优势,被列入ISO国际标准,并成为现场数据通信的主流技术[3,4]。
本文针对VSIG远程监控的需求,设计了一种综合电子调速控制器,并以此为基础构建了分布式VSIG调速监控系统,实现了对柴油发电机组的远程统一监控管理,提高了系统的工作效率和自动化程度,为进一步的深入研究和工程应用提供了技术基础。
2 VISG系统结构
本文涉及的变速集成柴油发电机的结构如图1所示。柴油机作为原动机带动永磁同步发电机旋转,永磁同步发电机发出幅值和频率变化的交流电压,并送入逆变器中,逆变器通过电能变换产生幅值和频率符合指标要求的交流电。逆变器输出的电压和电流通过传感器的检测,一方面用来监测输出的电能质量;另一方面,用来确定相应的目标转速。工作时,调速器除了检测柴油机的转速外,还通过相应的传感器监测机油油压,燃油油量,工作环境温度,并通过RS485总线检测逆变器工作状态,以便提供完备的工作状态检测和故障保护。
与传统的柴油发电机不同,变速集成发电机可在宽运行速度范围内变速运行,运行速度的变化会影响输出电压的幅值和频率,为保证输出电压和频率的稳定,引入逆变器作为永磁同步发电机与负载的连接环节,本文采用分压电容式三相逆变结构[5,6],其结构如图2所示。逆变单元控制器实时检测逆变器输出端的电压、电流和频率,依据输出电压、输出电流和给定值之间的误差形成对逆变开关的双闭环控制。为了提高输出电能的质量,在输出端增加了一个EMI环节。此外,逆变单元控制器还通过RS485总线,将本模块的工作参数及状态信息实时传递给调速控制器,以保证调速控制器能对系统进行有效、完备的监控。
3 系统设计
3.1 系统总体结构设计
分布式VSIG监控系统结构如图3所示。系统主要由监控机、CAN网络及VSIG单元组成。
监控机通过CAN数据通信卡与各VSIG单元内部的调速控制器连接,构成CAN通讯网络,VSIG单元采用菊花链连接方式进行组网。
监控机主要用于实时监测各VSIG单元的运行转速、电能输出状况、故障状态信息等,并可根据实际工况控制各VSIG单元停机、怠速运行、定速运行、变速运行,并可以实时调整目标指令。
3.2 VSIG单元调速控制器设计
VSIG单元调速控制器设计如图4所示。控制器通过检测VSIG的转速与目标转速的误差,驱动作为油门调节执行机构的步进电机,调节柴油机的供油量,从而改变VSIG的转速。此外,单元控制器还具有系统工作参数监测、本地面板输入及显示、远程通信等功能。系统工作参数的监测主要是对保证系统正常运行的参数进行检测,如机油压力、燃油油量、工作温度、逆变器的工作状态等;本地控制输入主要接收控制面板的启动、停机等指令输入;显示功能是将相关运行信息显示于本地显示面板;远程通信功能即将本机的运行信息通过CAN总线传送到监控中心,并接受监控中心的相关控制指令。
3.3 CAN通信网络设计
VSIG分布式调速监控系统设计的核心内容之一是CAN通信网络的构建。本系统的CAN通信网络设计为总线结构,连接方式如图5所示。主控机作为一个终端,其中一个VSIG单元为另一个终端,其余VSIG单元作为节点以菊花链方式接入总线。
上位机CAN通信功能通过采用具有PCI接口的CAN通信适配卡实现,由于PC机性能高,运行速度快,可以对整个分布式系统进行实时监测和控制,并可以建立运行数据库,对运行数据进行保存。此外,PC机的可扩展性好,可以通过无线、以太网等方式与远程控制端进行数据交换。
VSIG单元控制器通过CAN接口模块接入CAN总线,模块电路的具体设计如图6所示。
CAN收发器PCA82C250的原边与微控制器的CAN模块接口相连,副边接入CAN总线中。由于PCA82C250的RS管脚用于选择工作模式(高速模式、斜率模式、准备模式)并确定通讯速率,本系统综合考虑实际工作现场对通讯速度和通信可靠性的要求,通过试验确定R5的阻值为20 kΩ,使收发器工作于斜率控制模式。此外为了增强通讯的可靠性,系统在CAN总线驱动器PCA82C250的原边加入了限流保护电阻R3,R4。
由于ds PIC30F4012的内置CAN模块与其程序下载管脚PGC复用一个管脚,因此在设计时采用跳线连接件CON进行连接。在程序在线调试及下载时,将CON断开,以保证程序调试及下载功能;在系统正常运行时,将CON进行短接以保证PCA82C250与控制器的正常通讯。
3.4 系统软件设计
整个VSIG分散控制系统的软件分为上位机监控软件及VSIG单元调速控制器软件。
3.4.1 VSIG单元调速控制软件设计
VSIG单元调速控制器软件主要完成VSIG发电机单元的调速控制,逆变器工作状态监测,相关传感器信息检测,输出电量检测及控制,本地控制面板输入,本地显示屏信息输出,CAN通信等,包括主函数、捕获中断函数、PWM中断函数、定时器中断函数、CAN接收中断函数、UART(RS485)接收中断函数等。其软件主要模块流程图如图7所示。
3.4.2 系统监控软件设计
系统上位机监控软件采用LABWINDOWS CVI为开发软件进行编制,它是NI公司开发的以标准C语言为基础面向测控领域的软件开发平台,它的交互式编程方式、丰富的功能面板和库函数大大增强了C语言的功能,并且包含了GBIP,RS232,VXI,PCI等总线类型的数据采集和分析库等[7,8]。
监控软件设计主要包括界面设计和C程序设计两方面内容。用户界面设计主要是根据系统功能要求和用户使用需求对控件的一种布局设计;C程序设计是整个程序的核心内容,主要完成以下功能:一是对单元控制器控制参数设置,以实现分布式VSIG调速控制的实时设置;二是实现各VSIG有关运行参数的实时采集并进行显示和存储。上位机按功能划分为通讯监控、设备运行监控、监控数据管理3部分,其结构如图8所示。
4 系统实验
为了验证分布式VSIG系统的功能和性能,由4台VSIG组成了分布式发电机网络。VSIG中的柴油机标定转速nN=3 200 r/min,标定功率PN=3 k W,运行阶段的速度范围为2 250~3 200r/min。设定CAN通讯网络的通信传输速度为500 kb/s。
单台VSIG运行时,上位机监控软件界面如图9所示。1#VSIG启动后进入定速运行模式下的空载曲线图见图9。其中横轴为软件运行时间,纵轴为VSIG的实时运行转速。此时单元VSIG调速器的控制参数由远程监控机进行调节。由试验曲线可以看出,1#VSIG启动过程速度快,过冲小,调节阶段时间短,空载稳定转速误差小,启动性能良好。
4台VSIG同时运行的远程调速监控曲线如图10所示。实验工况如下:1#VSIG处于变速运行模式下,对其突加载和突卸除150%的阻感负载;2#VSIG处于定速运行模式,对其突加载和突卸除120%的阻感负载;3#VSIG处于定速运行模式下的空载状态;4#VSIG处于变速运行模式,对其连续突加阻感负载和连续卸除负载。
对实验曲线及实验数据进行分析后,可得出表1所示结果。
由实验数据和实验波形可见,分布式VSIG在不同工作模式下,不同工况下,对负载的变化响应速度快,转速调节过程平滑,调节时间短,具有良好的稳态和动态调速特性。分布式VSIG可在上位机监控软件的控制下,实现工作模式、调速参数等内容的实时调整,并可监控各VSIG的工作状态。
5 结论
本文根据VSIG对远程监控的需求,提出了一种基于CAN总线的分布式VSIG的监控系统,并根据系统需求,设计了相应的单元VSIG的调速控制器及相关应用软件。单元VSIG调速控制器功能齐全,可实现对VSIG的故障检测和保护、本地调速控制、远程通信等功能。整个分布式调速监控系统结构简单、易于实现、扩展性好,实时性高。系统实验证明本文研制的单元调速控制器可靠性高,调速性能好,功能较全;构建的分布式VSIG监控系统通信可靠,实时性好,能够实现多机组的统一监控管理,具有广阔的工程应用前景。
参考文献
[1]Al-Khayat N,Al-Tayie J,Seliga R.Stand Alone AdjustableSpeed Power Generating Set[C]∥10th Internet Conferenceon Harmonics and Quality of Power,Rio de Janeiro,Brazil,2002,2:639-643.
[2]Zdzislaw C,Wlodzimierz K,Nazar A.Laboratory Simulation ofthe Adjustable Speed Generation[J].EPE Journal.Brussels,2007,17(4):37-49..
[3]秦娟英,冯欣.基于CAN总线的分布式嵌入式远程监控系统研制[J].电气传动,2004,34(6):26-28.
[4]曹冬宇,柴建云,李永东,等.基于CAN总线通讯的变桨距风力发电控制系统[J].电气传动,2007,37(7):7-9.
[5]董锋斌,皇金锋,钟彦儒.一种三相SPWM逆变器的建模和控制方法[J].电机与控制学报,2010,14(8):87-92.
[6]陈贤明,吕宏水,刘国华,等.单周控制三相PFC整流器的研究[J].电气传动自动化,2010,32(3):31-36.
[7]工武.基于LabWindows/CVI的电器试验用多参数测试系统的虚拟仪器平台[J].电气传动自动化,2008,30(1):45-49.
分布式控制CAN总线 篇8
数控技术是指用数字、文字和符号组成的数字指令来完成一台或多台机械设备动作控制的技术。随着工业控制的网络化和智能化,现场总线技术和嵌入式相结合必将对数控技术产生深远影响。CAN总线是一种多主方式,串行通信的现场总线。CAN总线的高性能和高可靠性使其为分布式数控系统实现各节点之间实时、可靠的数据通信提供了可靠的技术支持。ARM嵌入式系统由于其高性能、低功耗以及软硬件均可剪裁、调整等优点为数控系统的开放性、模块化和重构设计提供了良好的平台。本设计结合了ARM芯片和CAN总线的实时性高、传输速率高、可靠性高、效率高等特点完全满足了时下工业上对于数控系统的各项要求。
2 分布式数控系统的组成与各部分的功能
系统由一台PC机、CAN总线网络和诸多运动控制节点构成,图1是结构框图,用以同时控制多个步进电机转动。上位机来完成插补运算,其作用是根据给定的信息进行数字计算,不断计算出步进电机的进给指令并通过CAN总线同时完成多个控制电机的运动控制节点的调度,使步进电机按给定的方向和速度转动。
从图1中可以看出运动控制节点包括CAN总线收发器TJA1050,CAN总线控制器SJA1000,ARM微处理器S3C2410,电机驱动器。S3C2410处理器是Samsung公司的基于ARM920T内核的微处理器,是运动控制节点的核心部件。S3C2410微处理器将从上位PC获得的数字的控制信息经过译码和运算转化为脉冲序列,从而控制步进电机的转速和转向。
由于S3C2410内部没有CAN控制器,所以用SJA1000作为CAN控制器为其扩展CAN模块。SJA1000是Philips公司生产的独立的CAN控制器,完全支持CAN2.0B协议,能满足CAN总线高性能通信的全部特性要求,是目前使用比较多的一款独立CAN控制器,用于一般工业环境中的控制器局域网络。因为可以通过对SJA1000内部寄存器的设置和读写来完成SJA1000的操作,而且其内部寄存器地址是连续的,所以可以把SJA1000当做ARM的一个外部RAM器件,对其操作可以当做是对外部RAM的操作[1]。
CAN控制器和物理总线之间的接口芯片采用CAN总线收发器TJA1050。TJA1050的功能是完成对CAN总线的差动发送和接受,它可以增强总线的驱动能力,因此增强了CAN总线的通信距离,使一条总线上可以挂载更多的节点。TJA1050可以为总线提供不同的发送性能,为CAN控制器提供不同的接收性能。TJA1050有高速和静音两种工作模式。通过引脚S可以选择对工作模式进行选择。当引脚S接地时进入高速模式(普通工作模式)。如果引脚S没有连接,默认为高速模式。当引脚S接入Vcc时进入静音模式,静音模式下除了发送器被禁止外其他功能可以继续使用。静音模式可以防止在CAN控制器不受控制时对网络通讯造成堵塞[2]。本设计要实现发送和接收,所以将S接地进入普通模式。
ARM微处理器通过控制步进电机驱动器来驱动步进电机。步进电机驱动器能接收微处理器发来的脉冲信号,并将之转换为具有一定频率的电平序列,可以驱动个步进电机正反转动。
3 ARM微处理器与CAN总线的接口设计
3.1 硬件接口电路
系统的运动控制节点接口电路包括S3C2410,CAN控制器SJA1000以及CAN总线收发器TJA1050。图2是接口电路图[3]。
为增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0通过2片高速光耦隔离芯片6N137与收发器相连,能满足最高1Mb/s下的电气响应。从而实现了收发器与控制器之间的电气隔离,对控制节点的核心电路起到了保护作用。整体来看,也实现了各CAN节点的电气隔离。
3.2 CAN总线控制器与ARM微处理器间的时序设计
Philips公司的SJA1000的地址线和数据线是复用的,而S3C2410外部总线采用的是地址线和数据线分开的结构。所以SJA1000与S3C2410之间的接口信号时序不是完全兼容的,所以必须对S3C2410的读写时序进行变换,使其满足SJA1000的接口要求。
SJA1000在S3C2410中的接口电路的设计是通过采用自定义逻辑单元CPLD作为总线桥完成两个总线的时序转换,使S3C2410处理器和SJA1000之间可以正常的通信。具体实现就是给SJAI000分配一个地址空间,通过高位地址译码来控制CS信号,然后根据对ARM处理器控制信号的监测,来完成这个读写时序的转换,图3是时序转换框图[4]。
对于SJA1000的一次读写操作S3C2410需要2次读写来完成,S3C2410的低8位数据D7~D0作为SJA1000的地址复用线,S3C2410的数据线用来选择SJA1000的内部地址,数据操作需要对地址数据进行锁存后才可以进行。这样S3C2410对SJA1000操作的地址和数据都是通过S3C2410的数据线来完成的,S3C2410的地址信号只作为译码控制信号使用。S3C2410对SJA1000的地址A的数据写(读)操作具体实现是分2步:S3C2410先向地址X(选中的起始地址)+1写SJA1000的地址信号的A(的数据);S3C2410向地址X写(读)SJA1000的地址A的数据。具体的控制逻辑由下面的逻辑组合来实现。
地址锁存信号ALE由S3C2410地址线,写选通信号NEW和片选信号NGCS逻辑组合产生:ALE=NGCS2*NEW*ADD0
读写选通信号可通过NOE,NEW,ADD O信号逻辑组合来实现:WR=NEW+ADD0,RE=NOE+ADD0
片选信号:CS=NGCS2+ADD0
3.3 软件实现
软件部分主要包括了CAN设备初始化程序,报文接受和发送程序等。可以总结为以下2个过程:1.在LINUX中进行硬件注册。这样方便进行中断管理和系统调试。在硬件注册之前先进行硬件监测,成功就对SJA1000进行初始化,开启中断、设置中断方式,设置通信的波特率和总线上的信号样式。否则取消注册,并返回失败信息。2.进行中断处理,包括了中断类型的判断和对于不同中断的不同处理。基本上包括三种中断:TXD INT、RXD INT、ERROR I N T。
3.3.1 L I N U X下的C A N总线驱动
LINUX内核把驱动程序划分为字符设备、块设备、网络设备。其功能主要是直接操作硬件设备,为用户屏蔽设备的工作细节,并向用户提供透明访问硬件设备的机制。SJA1000控制器属于字符型设备。通常字符设备提供给应用程序的是一个流程序接口主要包括open、read、write、ioctl、release等。在系统中添加字符驱动程序,其实就是给上述的操作添加相对应的代码。
CAN设备驱动程序的初始化包括初始化设置和设备注册。初始化主要有分为下几个方面:设置为复位模式,设置工作模式,设置使能中断,定义验收代码和屏蔽代码,设置通讯波特率,设置为正常工作模式。
下面给出在LINUX2.4.18内核中定义的S3C2410_fops
其中,S3C2410_sja1000_write完成CAN总线设备的数据发送,s3c2410_read完成数据的接收。在s3c2410_sja1000_ioctl里完成CAN总线的工作模式、通信的波特率等设置[5]。
3.3.2 C A N总线的通讯程序
C A N总线以报文为单位进行信息传输,图4是发送和接收程序流程图。
(1)报文的发送
报文发送之前先看报文接收到的字节是否符合协议格式,如果报文正确给出协议响应来完成报文的发送。初始化CAN控制器SJA1000后,查询发送缓冲区的状态,当发送缓冲区空闲时才可以将数据写入,然后置位发送请求位才可以发送[6]。图4是发送程序流程图。
(2)报文的接收
报文的接收通过中断方式来接收。中断在接收缓冲区满时被触发。这样做的优点是使得数据传输的响应时间更快同时避免了由于数据超限而引起的数据重发。图4是程序接收流程图。
4 上位PC机插补控制与发送控制的实现
4.1 插补控制
在数控加工实际应用中,常采用一小段直线或圆弧去进行拟合就可满足精度要求(也有需要抛物线和高次曲线拟合的情况),这种拟合方法就是“插补”,实质上插补就是数据密化的过程。
上位机程序包括了逐点比较法直线插补、逐点比较法圆弧插补和DDA直线插补三种插补类型。
4.2 发送控制
该部分负责向总线上的电机控制节点发送控制信息。控制信息有以下几个部分组成:控制节点号,确定该控制信号发送给哪个控制节点从而达到分布式控制步进电机的目的;运行方式,具体就是指步进电机的转向和转速等。
通过插补控制和发送控制就可以指定电机N以哪种类型的插补方式进行插补,并以规定的转向和转速运动。
5 结语
本设计以控制步进电机为例设计了一个具有代表性的基于CAN总线的ARM分布式数控系统。对于控制节点的关键技术做了深入研究,实现了AR M微处理器S3C2410与CAN控制器SJA1000的接口设计与软件编程运行。系统实现CAN总线和ARM的分布式控制,系统运行速度快、计算精度高等优点,增强了系统的实时性、可靠性以及通用性,研究内容具有实用应用价值。
参考文献
[1]饶运涛,邹继军,郑勇芸等,现场总线CAN原理与技术应用,北京:北京航天航空大学出版社,2003.44-47.
[2]蒋荣.基于ARM的CAN总线智能节点的设计[J].电子技术应用,2005(4):24-26.
[3]杨红科,雷立英.基于SJA1000的CAN总线接口电路的设计[J].南京工业职业技术学院学报,2006(6):54-56.
[4]李浩,原亮,巨政权,胡宝平.LINUX+AR M+CAN环境下电机控制系统实现[J].微计算机信息,2007.
[5]王彦堂,李贻斌,宋锐.基于ARM Linux平台的CAN设备驱动程序设计与实现[J].计算机工程与应用,2007,43(15):79-82.
CAN总线在电机控制节点的应用 篇9
1 系统硬件设计方案
系统以单片机为中央处理单元, 由键盘输入电路, LCD显示, 直流电机测速电路等组成。如图1所示, 在CAN总线中, 通信控制器采用SJA1000, 总线收发器采用82C250;电机控制模块中, 采用槽型光耦来测量速度, MC33886驱动电机;人机模块采用5个独立按键和LCD1602显示[3]。
基于MC33886的驱动电路采用双半桥式驱动方式[4]。单片机产生PWM驱动脉冲, 输入到芯片的IN1、IN2脚, 再经OUT1和OUT2脚输出以驱动电机工作。
测速电路分为2个部分, 一个部分用来发送, 另一部分负责接收。发送部分是一个发光二极管, 而接收部分则是一个光敏NPN三极管。当光路通畅时, 光敏三极管的基极接收发光二极管发出的光, be上就会有电流产生, 三极管导通, 集电极输出为低;当光路被阻隔时, 光敏三极管截止, 集电极输出为高。
CAN总线通信节点电路设计
如图2所示, 通信节点采用独立CAN通信控制器SJA1000及CAN收发器PCA82C250, 组成与上位机或其他智能节点的通信接口, 实现数据传输。其中, SJA1000符合CAN2.0B协议。片选信号CS由单片机的第28脚控制, 当CS接到低电平时, SJA1000被选中, CPU可对SJA1000进行读/写操作;单片机的ALE、WR、RD端分别控制SJA1000的ALE、WR、RD端, 地址数据线AD0~AD7由P0口分时复用实现;SJA1000的中断请求信号INT和单片机的INT0直接相连, 有中断发生时, INT由高电平跳变到低电平。PCA82C250作为CAN控制器和物理总线间的接口, 向CAN控制器提供差动接收能力和总线差动发送能力, TXD和RXD引脚分别发送和接收经过驱动后的信号。
2 节点通信软件设计方案
为使控制软件易读、易写、易移植, 软件部分遵循模块化设计原则, 节点软件主要包括五大部分:键盘软件设计、LCD显示设计、电机测速, 转速控制、CAN通信[5]。采用CAN总线协议与上位机通信, 是本节点设计的优势, 通信模块软件设计包括:节点初始化、发送子程序、接收子程序[6]。
2.1 节点初始化
SJA1000的初始化只有在复位模式下才能进行。初始化主要包括对其工作方式、验收代码寄存器和验收屏蔽寄存器、验收滤波方式、中断允许寄存器和波特率参数等进行设置。初始化设置完成后, SJA1000信息技术与信息化计算机应用技术
进入工作模式, 执行正常的通信任务。初始化流程参见图3。
2.2 发送子程序
发送流程如图4所示。节点初始化后, 需要发送数据时, 单片机只需把待发送的数据安装特定格式组合成一帧报文, 送入SJA1000发送缓存区, 启动发送即可。
2.3 接收子程序
接收过程采用中断接收方式。当总线上有数据发往本节点时, 主控芯片产生中断, 在中断服务中读取接收缓存区, 即可完成接收。其流程如图5所示。
3 系统特点分
经调试, 系统成功地实现了对小功率直流电机进行光电测速、按键设定调速、控制电机转速, 以及与上位机通信、远程实时监测和控制该节点的功能。
控制节点通过编程确定报文发送方式和时间间隔, 例如15s、1min等;报文内容为节点工作状态、节点测到的转速等。当控制节点遇到突发故障时, 可立即发送报警报文, 并提供节点故障的具体情况。
尽管没有传递函数和电机特性曲线, 通过试凑法来整定PID参数, 电机在1s中有±2圈的误差。
4 结论
CAN总线自身的特点决定了其数据接收实时性好、数据误码率低。本文设计的控制节点利用CAN总线通过与上位机连接, 构成分布式测控系统。通过长达1km的双绞线与上位机实时传输数据, 结果表明, 该系统具有较好的可靠性、实时性和较好的控制性能。利用CAN总线通信技术的控制节点在过程工业、机械工业等工业自动化领域有广阔的应用前景。
摘要:为解决电机控制节点与上位机通信的实时性和可靠性等问题, 现以单片机为核心的电机控制节点为例, 采用CAN总线技术来实现远程测量电机转速、远程控制, 搭配LCD模块, 实现了远距离和强干扰环境下电机的可视化控制的系统。采用CAN总线技术有效地降低了通信成本, 同时提高了系统的实时性、可靠性和灵活性。
关键词:CAN总线,电机控制,实时性
参考文献
[1]鲍官军, 计时鸣, 张利等.CAN总线技术、系统实现及发展趋势[J].浙江工业大学学报, 2003, 31 (1) .
[2]冯路.CAN总线网络性能分析[C].全国第十一届信号与信息处理、第五届DSP应用技术联合学术会议, 南昌:2007:308-309.
[3]范红刚, 魏学海等.单片机自学笔记[M].北京航空航天大学出版社, 2010.
[4]冉振亚, 周智庆, 李越等.电动汽车CAN总线驱动控制系统设计[J].重庆大学学报 (自然科学版) , 2008, 31 (6) .
[5]Ali, M.8051微控制器和嵌入式系统[M], 机械工业出版社, 2007.
分布式控制CAN总线 篇10
一、电气控制与PLC课程教学改革
电气控制与PLC课程是一门工程实践很强的课程。该课程总体分为两大部分:一是传统的继电-接触器控制系统, 二是以PLC为控制器的电气控制系统。随着课程改革, 将课程重点从过去以继电-接触器控制系统转换为以PLC控制系统, 删去了知识陈旧的章节, 引入了网络通信等实用技术。但实验教学还没有跟上教学内容的更新, 开设的实验大部分是验证型实验, 对现代工业控制网络和通信技术无法开设实验。随着高校实验教学内容的改革, 我们针对实验教学内容和学生综合能力培养的要求, 在现有实验装置基础上, 设计一套现场总线控制系统实验装置, 为本科生的实验教学提供良好的实验条件和实验环境。
二、实验系统与现场总线
近年, PLC控制技术从单机控制向联网群控技术发展。PLC联网群控技术是指利用集成方法, 将智能型计算机技术、高性能的网络通信技术、信息处理技术、综合自动化控制技术有机结合, 通过对设备运行状况的监视、协调、自动控制各种设备的一种监控技术, 在这种监控系统中, 各下位机PLC本地测控终端都配备有本地人机操作界面, 以便通过本地测控终端对整个设备的运行状态进行监视并控制, PLC用于现场设备的直接控制, 计算机对PLC的编程监控管理, 提高了生产效率。计算机系统应用以太网TCP/IP可完成设备远程控制、参数化及故障诊断工作。企业内网Intranet外延接入Internet, 向下联接以过程自动化为主的现场总线 (Fieldbus) 。现场总线是面向工厂底层以单个分散的、数字化、智能化的测量和控制设备作为网络节点, 实现相互交换信息, 共同完成自动控制功能。上世纪80年代以来, 各种现场总线技术开始出现, 人们要求对传统的模拟仪表和控制系统变革的呼声也越来越高, 从而使现场总线成为一次世界性的技术变革浪潮。美国仪表协会 (ISA) 于1984年开始制订现场总线标准, 在欧洲有德国的PROFIBUS和法国的FIP等, 各种现场总线标准陆续形成。其中主要的有:基金会现场总线F F (Foundation Fieldbus) 、控制局域网络CAN (Controller Area Network) 、局部操作网络Lon Works (Local Operating Network) 、过程现场总线PROFIBUS (Process Field Bus) 和HART协议 (Highway Addressable Remote Transducer) 等。我们选用了控制局域网络CAN。CAN总线最早是由德国Bosch公司推出, 用于汽车内部测量与执行部件之间的数据通信协议。其总线规范已被ISO国际标准组织制定为国际标准, 并且广泛应用于离散控制领域。它也是基于OSI模型, 但进行了优化, 采用了其中的物理层、数据链路层、应用层, 提高了实时性。其节点有优先级设定, 支持点对点、一点对多点、广播模式通信。各节点可随时发送消息。传输介质为双绞线, 通信速率与总线长度有关。CAN总线采用短消息报文, 每一帧有效字节数为8个;当节点出错时, 可自动关闭, 抗干扰能力强, 可靠性高。CAN总线是国际上应用最广泛的现场总线之一, 也是我国最早引进的总线之一, 已经在汽车制造、机械制造、包装机械、烟草等行业得到了广泛的应用。为此我们选用了控制局域网络CAN总线来构成PLC联网群控实验系统。
三、实验系统的构建
实验系统总体结构设计从教学和科研出发, 根据集散控制思想, 从系统的稳定性、实时性、控制可靠性几个方面考虑, 构建了总线控制系统。它包括总监控模块、主控制模块和现场控制模块, 各模块独立地完成其所负责的功能。中央总监控模块对控制系统进行监测, 即教师管理模块, 用于所有子系统进行调度和监控, 实现实验项目选择、实验成绩评定和实验过程监控, 相当于企业的管理层。主控制模块起协调作用, 通过现场总线协调主控制层计算机对下层节点的管理, 实现系统运行时各个节点的协调与同步, 同时将下层 (现场控制层) 送达的数据汇总后向高一级管理层传送, 相当于企业的车间管理层。现场控制模块由PLC控制器、现场设备组成, 主要功能是采用PLC作为控制器, 实行对现场设备运行自动控制, 相当于企业的车间设备控制层。
本文针对于基于CAN总线构成现场总线控制系统, 即如何利用主控制PC和PLC基本控制系统构建PLC的联网群控, 实现集散控制。
1. 硬件设计
主控制模块选用通用计算机或工控机, 并选用台湾研华公司的PCL841CAN总线通讯控制卡, PCL841是研华公司开发的双口CAN总线通迅控制卡, 它通过ISA扩展插槽把主控PC机挂接到CAN总线上。
现场控制模块利用实验室的6台三菱FX2N系列PLC, 它具有RS232串行功能。为了实现PLC与总线进行通信, 设计了CAN-S232转换器, 选用Philips公司的SJA1000CAN总线通信控制器和PCA82C250总线收发器。在实际应用中, 由于环境对电路的影响很大。所以为了减少这些干扰, 在设计CAN-S232转换器时, 在电路中使用高速光电耦合器件6N137, 使SJAl000的TX0与RXO不直接82C250的TXD和RXD相连, 而是通过高速光耦与82C250相连, 这样可以实现总线上各CAN节点间的电气隔离, 也可以达到现场控制层和主控制层之间信号的隔离。
实验装置利用实验室现有的PLC实验控制面板, 它们包括继电-接触器控制板、步进电机控制板、气路控制系统、三层电梯控制板、交通灯控制板、抢答器控制板。该实验装置采用模块化结构, 做实验时可以根据实验要求选用不同的实验板搭建实验系统。
2. 软件设计
CAN总线的程序主要包括三个部分, 即CAN初始化、通信程序。
初始化程序主要是对SJA1000的初始化设置, 包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器和验收代码寄存器的设置、波特率的设置和中断允许寄存器的设置。SJA1000的初始化工作要在复位模式下才能进行。
通信程序包括数据的发送和数据的接收两个子程序。发送子程序主要负责节点报文的发送, 发送时用户只需将待发送的数据按特定格式组合成一桢报文送入SJA1000发送缓冲器中, 然后启动SJAI000发送即可。接收子程序是负责节点报文的接受以及其它情况的处理。接收数据较之发送数据要复杂一些, 因为在处理接收报文的过程中, 要对如总线脱离、错误报警等情况作出处理。两种信息从CAN总线到CAN接受缓冲区是由CAN控制器自动完成。SJAl000对于报文的接收可采用两种方式, 即中断接收方式和查询接收方式。如果对通信的实时性要求不是很强, 一般采用查询接受方式。我们采用中断接收方式来实现。
3. 总线冗余
CAN总线存在于环境十分恶劣的工业现场, 总线电缆很容易发生短路、受挤压等情况, 一旦遇到这些情况, 那么总线就不能正常通信, 整个总线系统无法运行。解决这类问题的方法是总线冗余, 也就是说使用两条或多条总线电缆。由于适配卡PCL841有2个CAN线端口, 能同时运行于2个分离的CAN总线网络, 保持一套运行, 另一套备用, 实现总线冗余。
四、实验系统的应用
该实验系统主要用于本科生的实验教学、课程设计和毕业设计, 也可用于研究生和教师从事现场总线控制系统的开发与应用的研究。它可以通过不同的硬件配置和软件组态, 完成相当数量的实验项目。
1. PLC单机控制实验
利用PLC I/O接线板和不同的控制板实现不同的控制系统。例如与继电-接触器控制板构建异步电机控制系统, 实现电机正反转、启动、制动控制以及多电机的顺序控制;与交通灯控制板实现交通灯控制和故障监视、报警功能;与抢答器控制板实现4组抢答器控制, 该系统有一个总按钮, 用于主持人对系统的复位, 各组比赛人员2人, 用指示灯构成的数码管显示组号;与气路元件实现气路控制, 可以构成单回路控制系统或双单回路控制系统, 也可以构成滑台控制系统。控制软件用编程器完成。
2. PC-PLC通信实验
(1) PC-PLC单机通信
利用RS232串行口连接计算机PC和PLC, 用三菱组态软件在PC机完成控制程序的编写和调试, 通过串行口将调试过的程序传送到PLC, 实现相关控制。
(2) PLC群控
利用CAN总线将一台计算机PC和两台PLC连接, 实现PLC群控。例如两台步进电机运动控制, 两台电机复杂的插补运算由PC实现, 电机的控制 (如速度控制) 由PLC实现。但一套CAN总线系统挂接节点数量超过5个, 其电机实时控制时间将大大减少。
3. 课程设计和毕业设计
机电专业的学生可以利用该系统进行控制类的课程设计和毕业设计, 如X-Y工作台的控制, 气动机械手设计, 机床PLC改造等方面的题目, 只有在本实验装置上增加相应的终端设备, 就可以实现不同地控制系统。使学生的设计与实际生产相结合, 大大提高了学生的工程实际能力和严谨的科学作风。因为在学生设计过程稍有错误或精确度不够, 设计就无法完成, 从而使学生认真地对待每一步设计。
4. 现场总线控制系统的开发与研究
现场总线是近几年出现的新技术, 其工程应用在我国刚刚起步, 可以预见在将来各种现场总线将得到广泛应用。利用该系统可以对研究生和教师科研能力的提高起到重要作用。可在该系统上进行现场总线设备 (如现场总线仪表、现场总线控制器) 、控制软件、组态软件和企业管理软件的研究和开发。
五、结束语
随着PLC应用的普及, 对PLC控制系统的监控和管理就显得非常必要。本文利用CANBUS的性能和特点构成的现场总线系统, 不但可以实现PLC的单机控制, 也可以实现PLC的群控和通信。实验内容丰富, 搭构灵活, 技术含量高, 综合性强, 不仅有利于培养学生的学科技术的应用能力和工程实践能力, 也为提高教师的教学和科研水平创造条件。
摘要:本文利用CAN总线把PC机和多台PLC基本控制系统互联构成PLC联网群控实验系统。阐述了该实验系统构建以及现场总线实验系统硬件与通信软件组成, 介绍了该系统在实验教学中的应用。
关键词:CAN总线,PLC联网,集散控制系统,实验系统
参考文献
[1]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社, 1 9 9 6
[2]刘美兰.PLC控制教学实验系统的设计[J].实验室研究与探索, 2004 (2) :26-27
[3]鞠勇.面向实际工程应用的P L C实验室建设[J].实验室研究与探索, 2002 (1) :101-103