运动控制中电机速度跟踪曲线教学系统设计

2013-11-23 07:22朱晓明张淑芝
实验技术与管理 2013年11期
关键词:加速度电机速度

朱晓明,李 欣,张淑芝,徐 岩

(1.哈尔滨工程大学 工程训练中心,黑龙江 哈尔滨 150001;2.大庆石化公司 乙烯工程指挥部,黑龙江 大庆 163714)

运动控制是自动控制领域的一个分支领域,它一般以电机为控制对象,完成位移、速度和加速度等运动参数的快速而准确的控制。运动控制系统在数控、航天、医疗等多个领域都有广泛应用,主要用于完成控制对象的位置与速度控制[1-2]。

本文所依托的运动控制系统设计是机电及控制专业的一门重要选修课程,其目的是使学生在编程实践中结合TRIZ(发明问题的解决理论)创新理论,以创新思维方式完成对运动控制系统设计能力的训练与培养。为了激发学生的兴趣,并达到锻炼效果,课程的多数训练题目都与工业现场或者应用领域相关。本文所论述的速度跟踪曲线设计是很多工业现场用于跟踪电机速度参数的重要手段,可以直观地反映现场中电机的运动变化规律。通过训练,学生可以学习电机的速度反馈与动态曲线跟踪方法设计,设计出满足特定需要的速度曲线显示系统[3-6]。

1 教学理念与教学系统模块设计

在实践环节中,融入趣味性、实用性、动态可视化、互动性等特点才能达到更好的效果。为了使系统适应单机教学演示和联机实践教学,系统具有两种运行状态:仿真状态与联机状态,可根据需要随时切换。

根据TRIZ理论的分割原理,将系统分为如下5个模块:速度采集与显示模块、T曲线控制模块、S曲线控制模块、手动控制模块、随机数测试模块等。速度采集与显示模块采用动态曲线形式反映电机速度的变化趋势,借鉴了示波器的曲线变化形式,该种曲线能够始终保持最新的采集数据并动态显示,在工业现场监控应用中有广泛应用,并体现趣味性、实用性、动态可视化的特点;T曲线控制模块和S曲线控制模块在目标位移给定情况下,完成电机的梯形和S形的加减速控制,并可在一定范围修改参数,体现互动性;手动控制模块在目标位移未知情况下,完成电机在T形曲线模式下电机的手动加减速控制;随机数测试模块主要模拟工业现场一些参数的随机发生过程,通过速度采集与显示模块显示,训练学生对通用数据的采集与显示设计,体现实用性特点。系统软件模块结构如图1所示。

图1 系统软件模块结构

2 硬件设计

系统所使用的实验设备是深圳固高公司的四轴运动控制开发平台。硬件控制只有当系统处于联机状态时才可用,由用户通过人机界面操作,完成单个电机的位置或速度控制,验证控制效果。

实验平台结构示意图如图2所示,实验平台操作面板如图3所示。系统主要由PC机、运动控制器、端子板、电机和驱动器以及操作面板组成。电机控制通过软件编程实现。控制指令通过控制软件的人机界面发出,到达运动控制器,经过PCI总线、端子板,由驱动器放大,传给电机。控制指令的格式由运动控制器提供商专门定义,以动态链接库文件的形式给出,设计时以库函数的形式进行调用。

2.1 T曲线模式控制

T曲线控制是使电机的速度曲线以梯形完成加、减速。该种模式的特点是参数设置简单、直观。要完成T曲线控制,用户需要首先进行消息映射处理,将该模式的按钮事件的处理函数调用以下4个指令库函数:rtn=GT_PrflT()设置 T曲线模式;rtn=GT_SetVel(0.1)设置速度;rtn=GT_SetAcc(0.01)设置加速度;rtn=GT_SetPos(10000)设置位移目标。

图2 实验平台结构示意图

图3 实验平台操作面板

目标单位是脉冲而非毫米或者度,需要用户根据设备的机械结构进行相应的系数转换。以下两种控制模式也需要进行同样的转换。

2.2 S曲线模式控制

S曲线控制是使电机的速度曲线以S形完成加、减速。该种模式的特点是速度变化平缓,对电机冲击小,但是参数设置复杂。要完成S曲线控制,处理函数需要调用以下5个指令库函数:rtn=GT_PrflS()设置T曲线模式;rtn=GT_SetVel(0.1)设置速度;rtn=GT_SetMAcc(0.01)设置最大加速度;rtn=GT_Jerk(0.001)设置加加速度;rtn=GT_SetPos(10000)设置目标终点。

2.3 手动模式控制

手动模式控制和以上2种模式不同,不需设定目标坐标,只需设置目标速度和加速度,一般用于用户手动控制电机,根据需要随时停止和启动。电机要实现手动控制,需要调用以下3个指令库函数:rtn=GT_PrflV()设置运动模式为速度模式(手动模式);rtn=GT_SetAcc(0.01)设置加速度;rtn=GT_SetVel(0.1)设置目标速度。

2.4 速度数据采集

速度数据采集主要采集电机的实际转动速度,获得电机的实时参数,并显示速度曲线。由于库函数中没有提供直接读取速度功能,设计了通过获取位置的库函数来间接实现速度读取功能。库函数GT_GetAtlPos(&atlpos)可直接读取电机轴内置的光电式增量旋转编码器的位置脉冲值。通过求取其单位间隔内增加的数值,即可实现速度的换算。

3 软件功能设计

3.1 采集与显示模块设计

采集与显示模块是整个系统的核心模块,用于实现与用户的信息交换。在设计时借鉴了示波器的电流显示模式,以动态曲线的形式不断更新最新采集数据,形象直观。

为了实现嵌入式屏幕的显示效果,设计了新类CVelPane,它继承系统本身的静态文本框类CStatic,并定义了自己的界面绘制函数 OnPaint()[7-8]。在该函数中将背景处理为黑色,并分为10×10黄色网格区域[9-10]。纵坐标代表速度值,其范围为0~10;横坐标代表离散的时间点,范围0~10。为存储采集的速度数据,定义了容器类型数组deque<double>m_data。为了增加易用性,定义了唯一的用户函数接口Add-Vel(double data),自动完成数据的添加、判断、更新、显示等[11]。

每次用户存储数据时,都会对其有效性进行判断,合法后存入数据数组;然后判断全部数据的个数,只要超过100,就会删除数组的第1个数据,直到小于等于100个数据;然后系统会使客户区域失效,导致重绘背景,并调用曲线绘制函数void CVelPane::DrawCurve(CDC*pDC),函数中关键代码是曲线绘制函数pDC->LineTo(x,y),通过 while循环,它将所有数据点坐标连接,完成速度曲线绘制。

3.2 状态切换设计

为了使系统能够在单机仿真状态和联机状态都可使用,设计了状态变量m_iStatus。每次用户进行电机实验测试时,首先判别该变量。如果该变量为0,代表处于仿真状态,电机速度变化过程由单机通过算法仿真完成,并进行仿真数据的采集与曲线更新;如果该变量为1,电机的速度变化过程由运动控制器硬件完成,并进行实时速度采集与曲线更新。状态切换设计为由用户根据现场情况在人机界面上的单选按钮完成。虽然控制过程不同,二者的采集数据最终都转为0~10范围内,便于屏幕显示。

3.3 速度曲线仿真设计

仿真状态下,速度曲线有3种模式:T曲线模式、S曲线模式以及手动模式。其中最复杂的是S曲线,速度变化过程有7个阶段:加速度匀加阶段1、速度匀加阶段2、加速度匀减阶段3、速度匀速阶段4,以及与阶段1、2、3速度曲线对称的阶段5、6、7[12]。各阶段终点的速度设为vi(i=1…7),每个阶段所经过的时间设为ti(i=1…7)。各参数的运行曲线如图4所示。下面重点对其速度曲线的仿真设计过程进行分析。

图4 S曲线模式的速度、加速度、加加速度曲线

为了实现速度曲线过程仿真,采用了VC++6.0窗口内置定时器函数SetTimer(1,20,Null),即每隔20ms调用1次信息处理函数。由于Windows系统本身为多任务非实时系统,该定时器调用周期要大于设置值,且不稳定,因此无法按照模拟量的方法进行计算,而只能采用离散化方法。每次调用处理函数时认为时间过了单位时间dt,在该时间内位移s,速度v离散化如下:

其中j是加速度的变化率,称为加加速度。

仿真的关键是判断速度曲线每个阶段终点速度。由图及积分公式可推导如下公式:

其中vm、am、jm分别为用户设定的目标速度、目标加速度和目标加加速度。通过式(2)获得每个阶段终点速度后,仿真状态下,通过定时器循环不断判断速度的变化值,以确定其在7个阶段的不同加减速策略。在第1阶段,加加速度j为给定值jm,加速度a匀速递增;速度v从零开始不断增加;当速度v达到v1时,进入第2阶段,加加速度j为零,加速度a为给定值am,速度v匀速递增;当速度v达到速度v2时,进入第3阶段,加加速度j变为给定值-jm,加速度a匀速递减,速度v不断增加;当速度v达到目标速度vm时,进入第4阶段,速度v为恒速,加速度a和加加速度j都为零。后面3个阶段的速度变化规律与前3个阶段一致,只是速度变为递减。通过这种策略,最终实现S曲线的速度变化规律。

4 实验测试

实验测试分为2个部分:单机仿真测试与联机测试,以验证在不同使用环境下的准确性与可靠性。

在仿真测试中,主要验证T曲线模式和S曲线模式的运行效果。T曲线模式的目标设为210,速度设为8(最大显示速度10),加速度设为0.5,所有单位无量纲。S曲线模式的目标设为240,速度设为8,加速度设为0.5,加加速度设为0.05。点击开始按钮后,开始调用定时器运行仿真过程。经过仿真运行,两种模式的速度曲线如图5所示。由图5可见:T模式的速度变化曲线为梯形,参数设置仅需要3个参数;S模式的速度曲线为S形,即加速过程与减速过程为S形,变化平缓。因此可以判断仿真结果符合理论要求。

图5 仿真测试的T模式和S模式的速度曲线

在联机测试中,需要系统和四轴运动控制开发平台相连,并进行必要的运动控制器参数设置和控制轴的参数设置。实验主要测试了经常使用的T曲线模式。参数设置如下:目标设为300,速度设为8,加速度为0.5,使用第1轴作为控制对象。经联机运行后,电机轴T模式的速度曲线如图6所示。由图6可见电机的加减速过程符合T模式运行规划,证明系统控制、信号采集设计合理。但是在匀速运行时存在小幅振荡情况,这是由于速度值并非直接采集,而是由2个窗口定时器的位移差计算所得,窗口定时器本身不具有硬实时性,每次调用时间间隔存在微小差异,导致速度曲线存在轻微振荡。

图6 联机测试中T模式的速度曲线

5 结束语

运动控制系统设计广泛用于以电机为主要控制对象的工业现场中,具有广泛的应用领域。其中电机的速度控制以及状态反馈是重要的研究内容,具有积极的教学意义。本文主要对运动控制系统中电机速度跟踪曲线教学系统进行了相关研究,分析了其软件模块结构,介绍了硬件控制方法、信号采集与显示模块的软件设计,详细论述了电机仿真控制中S曲线的数学理论及其软件设计方法。经过仿真与联机实验测试表明,系统运行稳定可靠,达到预期的设计效果。

但是在仿真测试中,如果某些参数设置不当,比如在S曲线中加加速度设置过大,会导致曲线出现变形,甚至畸变,对于这种情况,系统缺乏精确的分析和适当的处理方法。这将成为后续改进研究的重要方向。

[1]卢秉娟.运动控制系统课程教学突出工程实际应用性研究[J].洛阳理工学院学报,2011,21(3):88-90.

[2]王亚丽,刘广亮,李向东,等.基于CPAC多轴运动控制教学平台的设计与实现[J].实验室研究与探索,2012,31(8):17-20.

[3]林立,唐杰,邱雄迩.“电力电子及运动控制”教学方法探讨[J].电气电子教学学报,2012,34(4):114-115.

[4]潘庭龙,沈艳霞.大工程观下运动控制系统课程教学体系改革探索[J].江苏教育学院学报,2012,28(5):1-3.

[5]刘晓明,武业敏,高飞.基于VC的电机测试系统界面设计[J].湖南农机,2012(9):80-81.

[6]金海飞,丁文政,汪木兰.基于运动控制卡的数控工作台控制系统设计[J].机电产品开发与创新,2012,25(6):156-157.

[7]尚晓锋,刘廷章,袁文.基于VC++的电机参数的在线采集与显示[J].机床与液压,2011,39(15):59-62.

[8]卢佳祺.基于VC++平台的工程曲线绘图软件开发[J].电脑编程技巧与维护,2011(8):16-17.

[9]赵万军,邓正华.基于VC++的数控DDA圆弧插补轨迹仿真[J].制造业自动化,2012,34(3):125-127.

[10]葛研军,刘邦文,赵亮.二维曲线数控加工刀具轨迹仿真技术研究[J].机械制造,2005,43(5):53-55.

[11]田小静,陈煜蒙.基于VC程序的四轴运动轨迹规划控制[J].新技术新工艺,2012(1):16-18.

[12]胡磊,林示麟,徐建明,等.S曲线加减速速度控制新方法[J].组合机床与自动化加工技术,2010(1):22-34.

猜你喜欢
加速度电机速度
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
行驶速度
关于电机滚动轴承的选择与计算
速度
瞻望电机的更新换代
欢迎订阅2022年《电机与控制应用》
天际加速度
创新,动能转换的“加速度”
死亡加速度
电机隐忧