1 引言
在现代化工业加工及自动化生产线上经常要使用诸如加工中心、机器人之类的需要进行多轴协同控制的自动化设备。对于这些设备,一种比较常见的控制方式是采用“计算机+运动控制卡+驱动器”的方法,即通过计算机软件控制专用运动控制卡来控制驱动器,达到控制自动化设备的目的。其中,3坐标运动控制是多轴协同控制中最常见且能完成绝大多数任务要求的一种形式。本文介绍.PARKER公司的ACRl505型运动控制卡的特点及其应用。
2 自动封装系统
2.1 机械系统
自动封装系统的任务是首先抓取盖片A,接着在盖片A正面上涂胶,然后反转180°下移动,压到基片上,完成封装过程。
自动封装系统主要由移动大平台、自动涂胶机构、自动布贴机构、控制系统4部分组成。系统的主体结构设计采用了3自由度的桥架式机器人,数字控制器作为控制系统的核心,实时控制X、Y、Z轴的运动,同时通过输出开关量控制电磁阀的开启与关闭,完成抓取、反转、滴胶、加压的整个封装过程。
自动封装系统的控制系统工作流程如下:
(1)在移动平台一端设有“定位槽”,控制X导轨先使“翻转定位槽”装置移动到平板最外端,然后将盖片A背面向上放到“定位槽”内,该定位槽内每个对应单元格的位置上有真空吸孔,通过控制真空阀实现盖片A的吸附固定。
(2)抓取盖片A固定后,控制x导轨运动,将“翻转定位槽”定位在平板待封装基片B的正上方,采用真空吸盘吸附方式将基片A抓取槽翻转180°,使基片A的背面正对布贴位置,并处于等待滴胶状态。
(3)自动滴胶系统由1个3自由度直角坐标机器人控制“翻转定位槽”带动一排针头将胶滴到固定好的盖片A的正面上。
(4)通过节流阀控制气缸使“翻转定位槽”缓慢向下运动,使盖片A与基片B保持一定的接触压力与接触时间,同时控制喷嘴的电磁阀打开并对盖片A均匀地施加设定的压力。
(5)停止抽真空。
(6)布贴完成后,进行下一组盖片的定位放置,以此类推。
2.2 运动控制系统
结合自动布贴系统的特点,选用“PC+运动控制器+伺服电机”的运动控制形式,功能结构框图如图1所示。运动控制器利用高性能微处理器(以DSP为主)及复杂可编程逻辑器件(CPLD)实现多个伺服电机的多轴协调控制,具体就是将实现运动控制的底层软件和硬件集成在一起,使其具有伺服电机控制所需的各种速度和位置控制功能,这些功能可通过计算机方便地调用。计算机的主要功能是根据具体装置的运动控制类型优化指令形式,它属于上层控制。伺服电机及其驱动器是主要的执行部件,具体完成运动控制。运动控制卡根据上层计算机给出的指令,结合具体的伺服系统类型,将其指令转化为伺服电机的运动。
3 系统硬件设计与实现
由于DSP具有高达数10MHz的数据吞吐能力和短至几十ns的指令周期,非常适合于大量数据的高速数据采集系统和实时控制系统。采用基于DSP的运动控制器与PC一起构成控制系统,它可以将Windows强大的图形用户接口、多任务能力、强大的硬件和软件兼容能力与基于DSP的运动控制器的伺服、插补和实时计算能力结合在一起,为用户提供高速、高精度和低成本的现代化控制。
3.1系统组成
基于DSP的ACR1505型多轴运动控制卡使用120MHz、32字节浮点TMS320VC33型DSP作为CPU,提供了全新的高性能技术和Windows平台。它是高性能伺服运动控制器,通过灵活的高级语言能同时控制1-4个轴(最多可扩展到8个轴),既可单步执行程序,也可执行存储于控制器内部的运动程序和PLC程序,还可以进行伺服环更新及以串口、并口、总线3种方式与上位机和多个控制卡进行通信。控制系统的硬件结构如图2所示。
核心DSP主要完成位置和速度的PID控制、插补迭代运算、开关量输入,输出PLC控制等实时性要求高的任务,以及程序和数据存储及上下位机的通信。采用复杂可编程逻辑器件(CPLD)来进行外设的寻址和最终信号的输出。由于其极短的传输延迟、大量的用户可用I/O口、内部连线和可编程资源较为丰富,因而可以实现复杂的时序和组合逻辑,能大大简化系统的硬件设计。同时由于其不可读,与DSP配合使用具有较好的软件保密性能,并且编程简单方便,通过修改CPLD的软件程序而不改变硬件就能方便实现系统的升级。模拟量控制电路将速度信号数字量用D/A转换器转换成一10V~+10V的模拟信号,输出接模拟信号输入的电机伺服驱动模块。反馈电路是由CPLD构成的4路12位可逆脉冲计数器,接收差分光电编码器信号,对编码脉冲进行循环计数。通信电路通过PCI接口器件与PC的PCI总线相连,实现高速数据传输。
系统的工作过程如下:电机反馈信号取白与电机同轴的光电编码器产生的A相和z相脉冲,经由CPLD构成的正交脉冲计数器循环记录脉冲数。DSP定时读取计数器的计数值,计算各电机的当前速度和位置,并通过由插补程序计算出的进给指令计算电机跟踪的误差,通过增量式PID算法求出发给电机的控制信号,输出到DAC,经驱动器驱动伺服电机。在控制运算间隙,DSP完成和上位机的通信,取得指令,并将电机的状态信息反馈给上位机。
3.2 控制算法
运动控制卡的控制采用增量式PID的控制算法。经典的PID控制表达式为
其中,uk(t)为输出函数,kP为比例系数,Ti为积分时间常数,Td为微分时间常数,e(t)为给定量和输出量的偏差。
对(1)式进行数字化离散处理后,可得到增量式PID算式:
式中,△ui为增量输出,T为采样周期,ei为当前的差值,ei-1为ei前一次的差值,ei-2为ei-1前一次的差值。
4 软件设计
4.1“PC+运动控制器”运动控制软件的特点
针对运动控制卡开发的运动控制软件在PC上运行,它由底层运动控制软件和用户操作界面组成。底层运动控制软件告诉运动控制器进行直线和圆弧等插补运动所需的所有参数及对I/O口进行操作,同时接收运动控制卡上返回的运动状态及输入口状态等参数。
运动控制卡按接收到的指令自行控制伺服电机进行插补运动及对I/O口进行操作。
用户操作界面把操作员与底层运动控制软件连接起来,输入所有运动参数,控制运动过程及显示各种运动状态等。
4.2 软件的设计与实现
软件开发的重点是控制卡与PC的通信以及上层系统操作调度管理软件的编制和故障诊断、参数输入、程序编辑等非高实时性的任务功能的实现。由于控制卡提供了极其有效的开放软件包ACR-View和API函数,与控制卡通信和交换信息只需调用动态链接库acrownt.dll里面包含的函数库里的相应功能函数或使用其提供的各种事件和方法,所以省去了繁重的通信驱动程序的开发,不必直接与控制卡硬件打交道,用Visual Basic语言即可方便的实现控制系统的操作。
在Windows操作系统下,以Visual Basic6.0为开发工具,采用面向对象的编程方法,充分利用控制卡配套的动态链接库中的函数,开发伺服控制系统软件,实现了控制系统的基本功能。可实现的具体功能包括windows友好人机接口界面、系统初始化预处理、状态监控、坐标位置和转速的实时显示、系统动态参数化配置等。
软件程序实现对电机位置的信号采集,对电机速度信号进行PID算法控制,对多轴进行插补运算,对被控对象的各种传感器信号和控制开关等多个开关量进行控制和监测,对DSP内部存储器中的加工程序进行管理。可以从上位机接收单独的动作指令,并对上位机进行实时信息反馈,实现在自动和手动等多模式下运作。系统的初始化在ACR-View设置的过程中完成,主要进行控制卡参数的设置。系统的运行有许多状态需要实时监控,这里利用timer定时器控件,在程序运行时,计时器控件每隔一定时间间隔产生一次Timer事件,周期性的控制某些操作。控制器提供可擦写存储器来存储用户常用的参数、变量及数组,因此在进行调试工作之前必须对一些固定不变的参数进行设定,并且保存在可擦写存储器中。这些参数包括电机类型设定、编码器反馈方式、极限位置设定和扭矩极限设定等,参数设置界面如图3所示。设定这些参数的目的是确保系统不会出现飞车情况或者在出现异常情况的时候能够保护系统。对于一些常常变化的参数,如PID参数、行程开关极性、电机转动极性等,可以在调试过程中不断进行设置来达到最佳的控制效果。
5 结束语
基于PCI总线的“PC+运动控制器+伺服电机”的数字化控制系统具有信息处理能力强、功能全面、高速、高精度、高可靠性、易扩展升级及易实现人机交互等优势,提高了运动控制系统的可靠性,降低了成本,成效显著。