基于DeviceNet协议的伺服系统设计

发布者:RadiantSerenity最新更新时间:2014-03-05 来源: elecfans关键字:DeviceNet协议  伺服系统  89C51 手机看文章 扫描二维码
随时随地手机看文章

  引言

  DeviceNet作为基于现场总线技术的工业标准开放网络,为简单的底层工业装置和高层如计算机、PLC等设备之间提供连接。 DeviceNet应用国际标准的控制局域网(CAN)协议,具有公开的技术规范和价廉的通信部件,使得其具有比其他现场总线低得多的开发费用。设备网采用总线供电方式,提供本质安全技术,广泛适用于各种高可靠性应用场合。

  本文主要研究基于DeviceNet的伺服系统的软硬件设计。通过CAN总线、单片机和高性能电机控制器ADMC401进行数据传输与控制,使伺服电机的性能更加稳定,能更好更灵活地地应用于数控系统中。

  CAN总线和DeviceNet协议的实现

  CAN总线协议及特点

  控制器局域网CAN为串行通信协议,能有效地支持具有很高安全等级的分布实时控制。CAN的应用范围很广,从高速的网络到低价位的多路配线都可以使用CAN。在汽车电子行业中,使用CAN连接发动机控制单元、传感器、防滑系统等,其传输速度可达1Mbps。同时,可以将CAN安装在卡车本体的电子控制系统里,诸如车灯组、电气车窗等,用以代替接线配线装置。由于采用了许多新技术及独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。其特点概括如下[1]:

  l CAN为多主方式工作,网络上任一节点可在任意时刻主动地向网络上其他节点发送信息,而不分主从;

  l 在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最快可在134us内得到传输;

  l CAN采用非破坏总线仲裁技术。当多个节点同时向总线发出信息出现冲突时,优先级较低的节点主动退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其在网络负载很重的情况下,不会出现网络瘫痪情况(以太网则可能)。

  DeviceNet协议及特点

  DeviceNet是在1994年由美国的Allen Bredly公司开发的是基于CAN的一种现场总线,实现低成本高性能的工业设备的网络互连。DeviceNet协议特别为工厂自动控制而定制,它在美国和亚洲扮演了非常重要的角色。在欧洲,越来越多的系统方案使用DeviceNet来实现。

  DeviceNet规范在2002年12月被国家标准化管理委员会批准为中国的国家标准,于2003年4月开始实施。DeviceNet协议适用于最低层的现场总线,例如:过程传感器、执行器、阀组、电动机起动器、条形码读取器、变频驱动器、面板显示器、操作员接口和其他控制单元的网络。可通过 DeviceNet连接的设备包括从简单的挡光板到复杂的真空泵各种半导体产品。DeviceNet也是一种串行通信链接,可以减少昂贵的硬接线。 DeviceNet所提供的直接互连性不仅改善了设备间的通信,而且同时提供了相当重要的设备级诊断功能,这是通过硬接线I/O接口很难实现的。 DeviceNet具有多种特点[2]:

  l DeviceNet基于CAN技术用于PLC与现场设备之间的通信网络。它可连接开关、变频调速设备、固态过载保护装置、条形码阅读器、I/O和人机界面等,传输速率为125~500kbps;

  l DeviceNet使用的通信模式是:消息产生者(Producer)和消息使用者(Consumer)。传统的通信在消息传送上采用的技术式指定数据源和目标地址。DeviceNet使用的模型更为有效,它可使控制数据同时到达控制的每一个单元,可以更有效地利用网络的频带宽度。消息产生者一次发送的数据可被多个消息使用者使用,从而更有效的传送数据;

  l DeviceNet使用的通信协议为11位标识符,即所有的I/O消息都有自己的11位标识符ID,标识符ID分成四个消息组,各有不同用途ID中同时提供了多重优先权。工作时,总线上的设备监听网络上消息,当设备辨识出正确的标识符后,将接受该消息;

  l DeviceNet上的每一个设备可以随时连接或断开,而不会影响其他设备的正常运行。真正的开放性使系统扩充和改型非常方便。

  控制系统的构成

  为了实现伺服系统的快速实时控制,系统在设计上采用了单片机+DSP双CPU结构。在设计时将系统控制任务进行了划分:DSP完成实时性要求高的伺服控制任务,FLASH结构的8位单片机89C51完成实时性要求比较低的管理任务,单片机和DSP之间的通讯采用并行数据方式,由FPGA实现。同时 FPGA还要完成外部I/O信号管理、位置脉冲指令信号处理及计数、故障信号处理等功能。伺服控制系统的结构如图1所示。由图1可以看出,系统主要有以下几部分:伺服控制中心ADMC401;外设接口FPGA+单片机89C51;主电路以及开关电源电路[3]。下面分别说明。[page]

  

伺服控制系统的结构

 

  DeviceNet通信接口部分

  本文所设计的DeviceNet接口电路中,采用AT89C51ED2作为节点的微处理器,在CAN总线通信接口中,CAN通信控制器采用SJA1000,CAN总线驱动器采用82C250。

  图2为DeviceNet接口电路原理图。从图2中可以看出,电路主要由4部分构成:微控制器89C51、独立CAN通信控制器SJA1000、 CAN总线收发器82C250和高速光电耦合器6N137。微处理器89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。

  

DeviceNet接口电路原理图

 

  为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RXO并不是直接与82C250的TXD和RXD相连,而是通过高速光耦 6N137后与82C250相连,这样就很好的实现了总线上各CAN节点间的电气隔离,从而保护了系统电路以及总线的信号传输。从整体性能来说,系统设计具有很好的通用性和实用性。

  微控制器AT89C51ED2用来实现通讯的应用层协议。它具有丰富的内存资源,4个8位I/O端口、3个16位定时/计数器、256字节暂存 RAM、9个中断源、4个优先级,此外还有2K EEPROM空间,系统不需要扩展外部程序存储器便可满足DeviceNet协议程序的容量要求。并且能够在×2模式(6个时钟/机器周期)下工作运行,本文中的设计即是在×2模式下。单片机通过访问SJA1000的寄存器来实现和上位机的通信。CAN控制器SJA1000的接收寄存器和发送寄存器用于暂时存放接收和发送的数据。单片机发送数据则通过设置SJA1000的命令寄存器发送命令位,接收数据是通过中断方式实现,SJA1000的INT引脚与AT89C51ED2的INT1引脚相连,使单片机能够实时响应CAN的中断请求。采样周期2ms由 AT89C51ED2的定时器中断产生。

  电机控制部分

  伺服电机控制电路部分采用高性能电机控制器ADMC401,它是美国模拟器件公司(ADI)推出DSP芯片中的高档产品。ADMC401是面向电机控制的高性能数字信号处理器,它以ADSP-2171为内核,辅以完备的电机控制外设。其中包括8路12位A/D转换系统、三相16位PWM产生单元、两路辅助PWM输出及用于位置反馈的增量式码盘接口。另外ADMC401还包括12路数字I/O口、事件捕获单元及内部定时器等设施,为开发快速、高精度的电机控制系统提供了完善的硬件设施。

  ADMC401内部提供了2K×24位的内部程序RAM、2K×24位的内部程序ROM和1K×16位的内部数据RAM;程序及数据RAM的内容可由其串口从外部ROM中以同步或异步方式调入。为了满足实际工程的需要,ADMC401还提供了外部存储器的扩展能力,用户最多可以直接寻址片外 14K×24位的程序存储器和13K×16位的数据存储器[4]。ADMC401是整个伺服系统的核心,具有高速的运算能力、较高的采样精度,外设配置性能和功能较强,能胜任实时性要求高的伺服控制任务。本系统用它来实现矢量变换、电流环、速度环、位置环控制以及PWM信号发生、各种故障保护处理等。

  系统软件设计

  上位机软件设计

  上位机主控计算机是整个系统的核心,通过CAN接口卡与CAN总线相连,负责系统的管理、运动规划以及通讯功能。其上位PC机软件设计包括网络管理,参数管理,状态管理三个部分。

  l 网络管理 设置CAN接口卡工作波特率和本机节点地址,同时初始化CAN控制器SJA1000,以及DeviceNet各个对象类,并且检查此网络中是否设置重复的节点地址。因为PC机的CAN卡初始化要涉及CAN卡与PC机的联系工作,所以要对CAN通讯适配卡的各个寄存器进行配置,设置中断向量、通信波特率和滤波接收码以及中断屏蔽字等参数,为正常通讯做好准备工作。另外此部分还要完成扫描网络中的节点,并与从机节点建立连接的功能。 DeviceNet是面向连接的网络,两个节点之间首先建立连接然后才能够通讯,本设计中只采用仅限组2的从设备建立连接,其建立连接是通过“分配预定义主/从连接组”来完成的。[page]

  l 参数管理 完成伺服系统的各个参数字或者控制字的读取修改工作,这些参数包括伺服电机的内部参数Kp、Ki、Kd等以及针对雷达系统的参数: 雷达扇扫中心角度、扇扫范围、扇扫速度、手轮方式中的手轮与天线的转速比、运行模式选择(第26号参数,其中0—手轮方式,1—匀速扫描方式,2—扇扫方式,4—接收停方式)。一般情况下,对各个控制字参数的读写操作类似于对各个参数的读写操作。在本设计中为了简化软件设计,我们可以对31号参数的读写操作来完成对16个控制字的读写操作,实现过程如下:第31号参数为控制字参数,是由16个控制字按照STA-15至STA-0顺序组合而成的一个整型数,这样对控制字参数的读写操作的同时也就完成了对16个控制字的读写操作。

  l 状态管理 能够反应伺服电机当前的运动状态,如实际位置,速度指令,力矩反馈,速度反馈,指令偏差等。这样给我们观察伺服电机当前状态提供了一个直观方便的平台。

  下位机软件设计

  下位机通信部分的单片机完成I/O数据过程的自动控制作业,包括输入输出数据的解包下发、打包上传,以及故障事件记录、报警等工作。通信卡采用定时中断方式与CAN总线的控制卡节点频繁地交换各自通信缓冲区的数据,以确保系统I/O数据的实时性,同时缩短了整个系统响应时间。图3示出程序框图。

  

 

  下位机初始化完成后,则进入等待中断状态。下位机的通讯过程是通过单片机访问CAN控制器寄存器来实现的,单片机对CAN控制器的寄存器访问是作为单片机的外部存储器访问的,每个寄存器的地址为SJA1000的首地址与SJA1000内部相对地址之和。单片机采用中断方式接收数据。CAN控制器 SJA1000接收到上位机的数据并且当接收缓冲区有空余空间时,接收的数据被依次放在SJA1000的接收缓冲区中,这是有硬件自动完成的。当调用清除命令清除接收寄存器中的数据后,FIFO接收缓冲区会把数据填充到已清空的接收寄存器中,同时回答一个中断信号。单片机把这个中断信号作为单片机的外部接收中断,单片机响应接收中断后读出CAN控制器中的接收缓冲区数据并保存,再清空CAN控制器的接收寄存器。

  在设计本系统软件时, 开发工具使用Borland C++语言 。因Borland C++是一种可视化、面向对象的C++程序设计语言快速开发工具,具有简单直观和功能强大的特点。在Borland C ++集成开发环境下,可以方便的编写PC机的通讯程序。

  以PC机A作为主机,伺服驱动器和PC机B作为网络中的2个节点,设置主机节点地址和通讯波特率后,对网络进行扫描建立连接,可以正确扫描到两个在线节点,如图4是读取伺服驱动器各个参数值。

  

 

  结语

  实际运行结果表明:本系统具有可靠性高、实时性好、易于维护等特点,达到了设计所需的要求。

关键字:DeviceNet协议  伺服系统  89C51 引用地址:基于DeviceNet协议的伺服系统设计

上一篇:轻松编程实现无线遥控
下一篇:VB霍尔传感器性能测试系统

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

西门子V90伺服系统一般要注意的安全问题
  西门子V90伺服系统在使用上很方便,集成了 PTI, PROFINET, USS, Modbus RTU多种上位接口方式,与控制系统的连接快捷简单,西门子一站式提供所有组件,快速便捷的伺服优化和机械优化,简单易用的 SINAMICS V-ASSISTANT 调试工具,通用 SD 卡参数复制等,但在使用时也是会有危险的情况发生,下面天拓就为您分享下西门子V90伺服系统一般要注意的安全问题。   一般安全说明   危险   接触带电部件和其他能源供给会引发生命危险   接触带电部件会造成人员重伤,甚至死亡。   只有专业人员才允许在电气设备上作业。   在所有作业中必须遵守本国的安全规定。   通常有六项安全步骤:   做好断电的
[嵌入式]
交流伺服系统一会停一会好_交流伺服系统的三个闭环的作用
  交流伺服系统一会停一会好   如果交流伺服系统工作时出现一会停一会的情况,可能有以下几个可能的原因:   编码器信号问题:编码器的信号是伺服系统中非常重要的反馈信号,如果编码器信号出现问题,将会导致控制器误判电机状态,从而导致电机运行不稳定。检查编码器是否正常工作,如编码器是否受到干扰、连接是否松动、分辨率是否合适等。   控制器问题:控制器是伺服系统中的核心部件,如果控制器出现问题,将会影响伺服系统的控制效果。检查控制器的输出信号是否正常,以及控制器的参数设置是否合理。   伺服驱动器问题:伺服驱动器是控制电机运行的重要部件,如果伺服驱动器出现问题,将会导致电机运行不稳定或者停止运行。检查伺服驱动器是否正常工作,如电源是否正
[嵌入式]
数控机床中的伺服系统分析
  一、概述   伺服系统是以机械运动的驱动设备,电动机为控制对象,以控制器为核心,以电力电子功率变换装置为执行机构,在自动控制理论的指导下组成的电气传动自动控制系统。   作为数控机床的执行机构,伺服系统将电力电子器件、控制、驱动及保护等集为一体,并随着数字脉宽调制技术、特种电机材料技术、微电子技术及现代控制技术的进步,经历了从步进到直流,进而到交流的发展历程。数控机床中的伺服系统种类繁多,本文通过分析其结构及简单归分,对其技术现状及发展趋势作简要探讨。     二、伺服系统的结构及分类   从基本结构来看,伺服系统主要由三部分组成:控制器、功率驱动装置、反馈装置和电动机(图1)。控制器按照数控系统的给定值和通过
[嵌入式]
基于单片机的多机并行通信设计
  1. 问题的提出   某系统中使用了三路串行接口的传感器(GPS、压力和风向)及三路模拟电流(4~20mA)接口的传感器(湿度、温度和水位)。现需要将这些数据汇总后通过串口上传给PC机,并且要求每路信号数据都能够实时独立的接收。   2.系统设计   经过分析,我们分别使用一块2051单片机接收各路串口传感器的数据,同时使用一块多路高精度ADC对转换成电压的温度等信号采样,系统结构图如图1所示。主从机之间的具体管脚连接参见图2。 图1 系统结构框图   系统中51单片机作为主机控制着整个系统的动作并发起每次通信,每块2051作为实时从传感器获取数据并在主机控制下完成通信。主机和各从机之间通过并口连接通信。主从机工
[单片机]
基于单片机的多机并行通信设计
一种船载光电稳定跟踪伺服系统的设计与实现
船载光电稳定跟踪伺服系统的主要任务是隔离浪涌引起的船体摇摆,同时完成对目标的精确跟踪。本系统通过光纤速率陀螺反馈构成速率稳定环路,敏感船体角速率变化,反方向补偿该速率的变化,保证光电负载瞄准线稳定;同时接收上位机或者光电传感器发送的位置偏差指令,控制负载框架使光电设备准确跟踪目标,实现稳定跟踪功能。 1 系统组成 系统由伺服控制机箱和光电转台两大部分组成,其中伺服控制机箱由箱体、电源及保护电路、DSP伺服控制器、电流调节器、功率驱动器组成;光电转台为两轴系,无刷直流力矩电机、测角编码器分别套轴安装在光电转台上,方位轴系、高低轴系分别独立安装一套光纤速率陀螺,感应本轴系的角速率。系统组成框图如图1所示。      
[嵌入式]
89C51及74LS273、74LS244组成的单片机系统功能实现
已知系统的连接如图所示,试编写程序实现下列功能: (1)编写显示程序,显示“123456”。 (2)编写主程序,功能为:当有键按下(0~7号)时,都显示键号; 无键按下,保持原有显示状态。
[单片机]
<font color='red'>89C51</font>及74LS273、74LS244组成的单片机系统功能实现
单片机多机并行通讯的一种方法
1 简介   本文介绍的单片机多机并行通讯系统,使用89C51作为主机,多片89C2051作为从机。(89C2051为20脚300MIL封装,带有2K FLASH E2PROM的单片机,除了少了两个并口外,具备MCS-51系列单片机所有功能。因为其体积小,功能强,必将在单片机应用领域内广泛使用)。这种并行通讯方法适用于在多站点,多层次的检测和控制系统中充当通信控制器的角色;也适合于用作单片机串行口扩充电路。         图1 芯片的逻辑图及四种工作状态           图2 单片机并行通信原理框图   2 三态总线缓冲寄存器74HC646   在单片机构成的多机并行通讯系统中,总线上的信息交
[单片机]
基于利用89C51单片机的微波脉冲测试系统设计方案
1工作原理 本系统充分利用89C51单片机的控制和计算能力,采用MCS-51汇编语言,设计了一种基于平均功率法的微波脉冲测试系统。 平均功率法测量的是射频脉冲复重周期的平均功率,并采用辅助方法测出脉冲的占空系数。设脉冲为矩形,宽度为τ,重复周期为T。则脉冲峰值功率为: 上式中,Q=τ/T是射频脉冲的占空系数。 测量时,用示波器显示其脉冲波形,并测量脉冲重复周期T和宽度τ。用测量连续波功率的方法测出脉冲的平均功率Pav。 当使用衰减器和定向耦合器时,若衰减器两端匹配时的衰减量为A(dB),定向耦合器的过渡衰减量为C(dB),方向性为无穷大,则脉冲峰值功率为 当脉冲为非理想矩形时,须乘以修正系数K进行修正,即Ppp
[单片机]
基于利用<font color='red'>89C51</font>单片机的微波脉冲测试系统设计方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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