APP下载

基于PC104主控制器的开放式数控运动控制系统设计

2018-06-22王宝庆刘振忠周海波

重型机械 2018年3期
关键词:伺服电机编码器开放式

王宝庆,杨 璐,唐 念,刘振忠,周海波

(1.天津市先进机电系统设计与智能控制重点实验室,天津 300384;2.机电工程国家级实验教学示范中心(天津理工大学),天津 300384)

0 前言

随着数控技术的发展,数控运动控制系统正向着低成本、开放式[1]、可重构发展,研究满足多层次需求的模块化、可重构运动系统具有重要意义[2-4]。伺服系统在运动控制领域有着广泛的应用[5],尤其应用在某些对位置要求较高的进给运动中,工业中常见的液压缸或气缸作为执行机构往往达不到对位置的控制要求,利用伺服电机的闭环控制特性可以很方便地达到运动过程中对位置的要求。

研究伺服控制器主要包括:开放式软硬件体系的建立、模块化可重构系统的实现、控制输出、建立精确控制系统等内容。目的是为数控运动控制系统设备集成商提供一种可以快速构建多样化运动控制系统的开放式模块化的通用平台[6]。解决相对传统“工控机+运动控制卡+PLC+数据采集卡”模式中功能浪费、实时性一般、成本高的问题。本系统可以自由扩展,具备高性能和低成本的特点,能够有效缩短数控运动控制系统设备开发周期,具有广泛的市场应用前景。

1 工作原理与硬件设计

1.1 工作原理

试验机所需要的伺服电机控制系统,包括硬件平台搭建、数据采集卡设计、控制软件研发三个方面。硬件平台要求实现对伺服电机及相关传感器的数据采集、数据处理、控制信号输出等功能,并可以从硬件层面增减相关功能模块,达到开放式可重构的目的。软件平台需要满足用户对电机运行参数的实时监控并以图像和数据两种形式显示的要求,通过操作软件控制电机的运行轨迹、更改电机的运行参数。

以一款基于PC104主线的嵌入式主板作为系统主控制器[7],与一枚可采集旋转编码器的ART2394编码器计数卡和一款ART2003数据采集卡通过PC-104总线堆栈连接。其他如显示器、键盘鼠标、USB串口等外部功能模块通过硬接线的方式连接到主控器上,实现硬件平台开放式可重构的设想。

软件平台利用iPlot插件将采集到的位置信号和速度信号以坐标图像的方式显示在软件界面上。系统流程图如图1所示,运动控制系统结构如图2所示。

图1 系统流程图

图2 运动控制系统结构图

1.2 硬件设计

1.2.1 伺服电机

采用松下A4交流伺服电动机(图3)进行试验[8],该伺服电动机具有良好的位置、速度闭环控制性能,加减速动态响应迅速,高速性能、抗过载能力较强。编码器能输出精确的脉冲信号,通过查询伺服电机的参数表得知,该伺服电机转动一圈编码计数器输出脉冲数为2500,因此每一个脉冲相当于360°/2500=0.144°,即编码计数器每增加或减少一个脉冲表示电机正转或者反转0.144°。因此需要达到的目标位置或角度均可以由电机转动角度换算成脉冲数。控制精度精度达到0.144°,可以满足高精度位置操作需求。

该伺服电机采用12-24V电源驱动,通过将电压转换为转速和转矩从而驱动控制对象。转速可控制区间为0X0000到0XFFFF。对指定地址写入控制区间内的相应十六进制数便可获得对应的速度。

图3 伺服电机

1.2.2 ART2394编码器计数器卡

ART2394是一种基于PC104总线的编码器计数卡,可以直接和PC104接口相连接,具有四轴正交编码计数器,4个32位四元AB相位编码计数器,多个时间选择范围8位定时器,4路隔离的数字量输入和4路隔离的数字量输出。每个通道接收的数字量输入可以是旋转编码器的指数,也可以是线性编码器内部传感器的输入。灵活的中断源选择特别适合位置监控、运动控制等。

连接伺服电机驱动器后,读取地址0x200、0x202可以分别获得高16位和低16位的32位准确的计数器脉冲数,(电机转动一圈对应2500个脉冲信号)。转速可控制区间为0X0000到0XFFFF。对地址0x280写入控制区间内的相应十六进制数便可向伺服电机驱动器输出对应的速度控制信号,来获得相应的速度。

1.2.3 ART2003H数据采集卡

ART2003H是一块PC104总线高速光隔离4路16位通用D/A转换模板,可提供4路电压信号输出,同时具有上电置零(或者中值)功能,以确保被控装置不会出现错误动作。ART2003H采用了光电隔离技术,从而避免了总线供电以及地线所引起的误差和干扰,使本卡具有精度高、量程多、转换速度快、噪声小等优点。

技术特点包含:4路16位模拟量输出通道;隔离电压达到了1 500 VDC;多种的输出范围;双极性电压±10 V,±5 V;单极性电压0-10 V,0-5 V;被广泛应用于工业控制、波形信号发生器、伺服电机控制等领域。

ART2003的板基地址可以通过拨码开关SW的手动编码设置选择,板基地址可设成200H~3F0H之间可被16整除的二进制码,ART2003将占用从基地址起的连续4个I/O地址,开关的1、2、3、4、5、6、7、8位分别对应地址A2、A3、A4、A5、A6、A7、A8、A9。默认基地址为280H。本系统在实际使用该卡时使用的是初始化设置,即默认基地址280H。因此后期系统写入速度控制数:0x282,读取地址:0x282,数据地址:0x280。

1.2.4 PC104主控制器

PC104是一种专门为嵌入式控制而定义的工业控制总线。与普通PC总线的主要不同是:

(1)较小尺寸和紧凑的结构。其标准模块的物理尺寸是3.6英寸×3.8英寸,即96 mm×90 mm;

(2)采用堆栈式的连接方式。去掉了原有的总线背板和插板滑道,总线以“针”和“孔”的形式层层堆叠连接,即PC104总线模块与模块之间总线的连接方式是通过上层针和下层孔相互咬合相连,省略掉了原有的物理排线连接,这种层叠封装有极好的抗震性;

(3)轻松的总线驱动。减少了元件数量和电源的消耗以及占用空间,4 mA的总线驱动即可以使模块正常的工作,每个模块仅仅1~2 W能耗。

PC104板卡使用非常灵活,主要有以下两种规范使用方式:一种独立的模板堆栈方式,模板可用作全兼容的总线底板,不需要板卡和板卡之间利用插槽和针脚连接相互堆叠,板之间留有0.6英寸的空间。即以本板作为系统总底板,其他元件以插线或者串口的方式连接至本板;另一种将本板作为一个元件来使用,即将本板作为一个拥有高度集成若干功能部分的独立元件使用,将其插连到另一个功能母板上,母板上必须包括各种应用接口和必须的总线逻辑,这种方式使用比较灵活,再测试或调试时可以临时更换相应的该模块,还可以达到更换选件、升级产品的目的。硬件电路实物如图4所示。

图4 硬件电路实物图

2 PID定位控制与软件设计

2.1 PID工作原理

由于本系统输出量主要用来控制电机转速,需要根据偏差来确定速度大小,但要求伺服电机从初始位置到达目标位置过程中运行平稳、精确,因此采用增量式PID控制算法,如式(1)所示,增量式PID输出的是每个控制周期电机应该到达位置的增量。增量式PID控制流程如图5所示。

(1)

图5 PID控制流程图

该方法为伺服电机精确控制带来的优点:

(1)控制器只输出控制增量,当发生误动作时造成的影响比较小;

(2)操作方式切换时的冲击强度较小;

(3)不需要连续累加,增量仅跟最近的几次误差采样值有关,容易获得比较好的输出效果。由于无累加,消除了偏差存在时发生饱和的危险。

2.2 软件设计

在VC++ 6.0软件的集成开发环境下,采用C++语言进行MFC控制系统软件编程,软件编写完成后界面如图6所示。其中使用了locomp工业空间做了图形可视化处理。WinIO程序库可以在Windows程序中被调用,用来直接对I/O口或物理内存进行读写操作。数据采集中使用了WinIO函数库[9]。操作软件拥有运动数据采集与运动参数设置两个模块。

图6 软件操作界面

3 数据采集与实验分析

3.1 数据采集

本系统使用ART2394的单脉冲信号输入连接方法如图7所示。这种模式把通道A输入计数脉冲信号,通道B作为计数方向源。当B为低电平(为0)时,通道A信号发生一个上升沿时增加计数值,当B为高电平(为1)时,通道A信号发生一个上升沿时减少计数值。

图7 单脉冲信号输入连接方法

ART2394数据采集时地址分配为:绝对地址=基地址+偏移地址。基地址板卡拨码开关如图8所示,选用地址为:200H。

图8 板卡基地址拨码开关图示

根据板卡初始化设定,读取与写入脉冲数为:

低16位读取地址:0X200 数据地址:0X202

高16位读取地址:0X200 数据地址:0X202

3.2 SIN曲线轨迹输出实验

利用上面搭建的PID闭环控制部分设计,通过对“position”的设定,可以控制伺服电机精确运动到设定位置,例如:希望电机输出sin正弦轨迹,只需要向“position”中写入sin正弦信号即可,通过调用math.h函数库中的sin( )函数,如式(2),模拟图形发生器,用编程的方式虚拟连续增加的时间轴,来实现sin运动轨迹输出,得到实验数据、图像。

S=A·sin(t)

(2)

系统实物如图9所示,sin运动轨迹输出如图10所示。试验机可以精准的控制电机的转速以及加速度,并且实时在界面上进行显示。通过图形显示界面可以看出,动态曲线平滑波动较小,所以电机运行平稳。满足了现代数控机床运动控制的需求。如果需要运行其他函数,只需在编程界面中进行更改即可。系统具有随时调用、随时更改的特性。

图9 连杆丝杠与控制器试验机实物图

图10 轨迹输出曲线

4 结论

本系统主要对面向数控机床的试验机运动控制系统进行设计。完成了低成本、可重构、开放式为主要的研究目的,实现了对伺服电机进行位置、速度、速度轨迹规划等功能。可用来对单个或多个伺服电机直接进行控制,在控制过程中只需要根据工况需要,在软件界面上对相关参数进行设置。操作简便,实用性较强。同时本设计可以用来进行二次开发,当需要伺服电机输出复杂曲线时,只需要将运动曲线的数学模型以编程的方式对接到目标位置输入端即可。本设计主要设计成果如下:

(1)根据要求设计出位置PID调节器;

(2)优化了伺服电机速度轨迹;

(3)实现了对伺服电机运行图形监控;

(4)在低成本、可重构、开放式的前提下,解决了数控机床运动控制系统的运动精度需求。

[1] 盛晓超, 陶涛, 张东升,等. 基于运动控制器的开放式数控系统设计[J]. 机床与液压, 2011, 39(19):58-60.

[2] 罗辉. 开放式数控系统运动控制方法研究[D]. 上海工程技术大学, 2016.

[3] Xu X M, Li Y, Sun J H, et al. Research and Development of Open CNC System Based on PC and Motion Controller [J]. Manufacturing Automation, 2012, 29(04):1845-1850.

[4] Yang W D, Chang J. An Open CNC System Based on Motion Controller[J]. Applied Mechanics & Materials, 2011(44-47):956-959.

[5] 杜少华. 开放式数控系统可重构技术研究[D]. 中国科学院研究生院, 2012.

[6] 陆小虎. 开放式数控系统网络化平台关键技术研究与应用[D]. 中国科学院研究生院(沈阳计算技术研究所), 2015.

[7] 张亿, 黄志刚, 张永俊,等. 基于PC/104的嵌入式四轴运动控制卡硬件设计[J]. 机械工程与自动化, 2016(06):203-205.

[8] 刘玲. 交流变频调速技术的优势与应用[J]. 电气开关, 2010, 48(01):61-63.

[9] 付笑宇, 张线媚. VC2010下WinIo3.0直接访问I/O端口[J]. 科技资讯, 2015, 13(13):20-21.

猜你喜欢

伺服电机编码器开放式
融合CNN和Transformer编码器的变声语音鉴别与还原
开放式数字座舱软件平台IndiGO
专利名称:一种适应压铸环境的伺服电机
小学作文开放式教学的思考
生产线中的伺服电机定位控制
开放式计算机实验教学自主学习平台
伺服电机控制技术的应用及发展趋向分析
基于双增量码道的绝对式编码器设计
开放式弹簧机数控系统开发
伺服电机控制在电阻焊机的应用研究