APP下载

基于ADAMS与MATLAB的药仓推药链联合仿真

2020-10-09管佳伟李志刚

机械与电子 2020年9期
关键词:链节链轮滚轮

管佳伟,李志刚

(南京理工大学机械工程学院,江苏 南京 210094)

0 引言

随着科学技术的飞速发展,军事战场日趋现代化,对中大口径火炮系统发射速度也有了更高的要求,而弹药自动装填技术是提高火炮射速的关键技术之一[1]。在弹药自动装填系统中,自动化药仓起存储模块药以及输送模块药的作用,执行输送模块药任务时,药仓将模块药推到药协调中,药协调将模块药送入炮膛内,完成发射药的自动装填[2],进而提高火炮射速。目前,计算机仿真技术越来越成熟,并且应用于很多领域,特别是在军事武器领域方面,计算机仿真技术贯穿了武器装备的设计、研制、生产和使用维护等全过程。本文利用ADAMS与MATLAB软件,对自动化药仓系统中的推药链进行联合仿真,通过对仿真结果进行分析,可以为后期优化机械系统结构和探索新的控制算法提供理论依据。

1 推药链系统多边形效应分析

药仓推药链条由链节、滚轮和销轴3个部分组成。如图1所示,每个链节首尾相连,链节与链节之间通过销轴进行连接,并且在链节之间的连接处安装滚轮。链轮进行转动时,会与链条上的滚轮发生啮合,从而带动整个链条运动。

图1 链条实体

根据图2可知,在推药链条与链轮啮合过程中,啮合部分的链条可以看作多边形,相邻滚轮中心的连线就是这个多边形的边。在推药链运动过程中,多边形的边与链轮上分度圆交替呈相切或相割的位置,链条运动方向的速度也会出现周期性变化,该现象为链传动的多边形效应。

图2 药仓推药链链条与链轮啮合示意

由图3可知,链条运动的速度与滚轮A的运动速度相同,而滚轮A速度与滚轮B圆周速度的水平方向分量相同。滚轮B的速度为

v=R1ω1

(1)

链条水平方向运动速度为

vx=vA=vcosβ=R1ω1cosβ

(2)

链条垂直方向运动速度为

vy=vsinβ=R1ω1sinβ

(3)

图3 推药链运动原理

设Z1为链轮齿数,则单个链节在链轮上截取的圆心角为

(4)

(5)

当β=0时,链条水平方向的速度最大,即

vx=vxmax=R1ω1

(6)

由此可以看出,推药链条每转过1个链节,其运动速度也会发生1次周期性变化,这就导致了推药链在推药过程中存在运动不均匀性,会对链条推药运动精度造成影响。所以对药仓推药链推药运动进行仿真研究,进而提高控制精度是非常有必要的。

2 推药链联合仿真系统总体设计

利用ADAMS与MATLAB软件建立联合仿真系统,首先要用三维绘图软件建立药仓推药链三维模型,将三维模型导入到仿真分析软件ADAMS中,在ADAMS中建立虚拟样机三维模型。控制软件MATLAB提供控制规划曲线和控制算法[3]。在ADAMS与MATLAB之间建立数据接口模块,MATLAB通过控制算法为ADAMS中的虚拟样机提供力矩控制指令,ADAMS则将虚拟样机在仿真过程中的链轮转动角度反馈给MATLAB,形成一种闭环交互式仿真系统,如图4所示。

图4 联合仿真系统

3 虚拟样机机械系统建模

3.1 建立药仓推药链三维模型

ADAMS具有强大的运动学和动力学仿真能力,一些简单机械结构可以在ADAMS中进行建模,但是对于一些复杂的机械模型,很难在ADAMS准确建立[4]。为了建立准确的药仓推药链三维模型,选择采用SolidWorks软件建立仿真三维模型,如图5所示。药仓推药链系统共有2个链轮,分别为主动链轮和从动链轮,主动链轮由永磁同步电机进行驱动,在从动链轮端安装有编码器,通过编码器给控制系统提供反馈。电机驱动链轮旋转,从而带动链条运动。整个链条由链节和滚轮组成,每个链节之间通过销轴固定,在仿真中为了简化模型,销轴通过添加约束进行代替,在链节之间的连接处安装滚轮,与内外侧的定位板及链轮接触。在链条上等间距安装2个链头,链头的作用是将药筒中的模块药推入药协调中,从而实现发射药的自动装填。

图5 推药链三维模型

在SolidWorks中完成推药链的装配后,将其保存为Parasolid(.x_t)格式,然后导入到ADAMS中。为使虚拟样机与实际的物理样机具有相近的物理特性,在ADAMS中对每个零件的材料、质量以及转动惯量进行编辑,依据实际工程中的装配,在每个零件之间添加相应的约束关系和接触关系[5]。

由于整个推药链零件较多,滚轮的数量为124,链节的数量为60,每个滚轮和链节又有多个约束和接触,如果进行逐个添加会十分麻烦。而利用ADAMS中的宏命令集,可以减少重复性工作量,也能减少人为出错[6]。通过编写相关宏命令,对推药链上零件的材料、约束关系和接触关系进行定义,能够减少建模所花的时间,提高建模工作效率。

3.2 运动学及动力学仿真

在ADAMS中完成三维模型的约束定义和接触定义后,在主动链轮上添加驱动或力矩就可以实现运动学和动力学仿真。为了验证推药链仿真模型的有效性和可靠性,在主动链轮上添加驱动,设置驱动Type为Velocity,驱动速度大小为2 rad/s。在此驱动函数下,设置仿真时间为2 s,仿真步数为500。仿真结束后,对链头的运动速度进行测量,在ADAMS后处理模块中获得链头的速度变化曲线,如图6所示。

根据链头速度变化曲线可以知道链条的速度变化情况:在链条运动的启动阶段,由于整个链传动系统还没有稳定,链条速度会存在短暂的突变;在链传动运动稳定阶段,链轮与滚轮即将啮合或者脱离啮合时,链传动系统会出现多边形效应,从而导致链条的运动速度并不是恒定值,在0.40 m/s附近呈现一定的震荡现象,并且该现象是周期性变化的,符合链传动多边形效应理论分析结果。仿真的结果与推药链实际运行过程相符,可以作为下一步的联合仿真机械子系统。

图6 推药链运动学及动力学仿真结果

4 虚拟样机控制系统设计

4.1 期望轨迹设计

对于控制系统的链轮转角期望轨迹设计,按照实际工程运用中,将药仓药筒内的模块药全部推出时的从动链轮角位移轨迹曲线进行设计,采用S型轨迹曲线,其期望轨迹曲线如图7所示。

图7 规划轨迹

药筒内存放的模块药的数量为6块,每块模块药的长度为175 mm,因此要将药筒内的模块药全部推出,则链条上链头的位移距离应为1 050 mm。每个链轮有5个轮齿,节距为40 mm,所以链轮旋转1周,链头的推药距离为200 mm。把药筒内模块药全部推出,则链轮的旋转圈数应为5.25,转过的角度为33 rad。对链轮旋转角度变化进行设计,可以分为5个阶段,即初始位置阶段、匀加速运动阶段、匀速运动阶段、匀减速运动阶段和末端位置阶段,匀加速和匀减速运动阶段加速度分别为66 rad/s2和 -66 rad/s2,匀速运动阶段速度为33 rad/s,总时间为3 s。链轮转角期望轨迹为二阶可导平滑曲线,能够满足链轮在运动过程中的平稳要求。

4.2 控制算法

联合仿真中,需对药仓推药链的运动进行控制,使链轮准确地跟踪给定的轨迹曲线。由于PID算法具有结构简单、物理意义明确、鲁棒性强等优点[7],因此,采用实际工程中运用广泛的PID控制方法对链轮运动进行控制,其控制规律为

(7)

e(t)=θ-θd

(8)

u(t)为系统控制量函数;KP、KI、KD分别为比例增益系数、积分增益系数、微分增益系数;e(t)为系统误差函数;θ为系统实际输出值;θd为理想轨迹给定值。

在实际推药链系统中,永磁同步电机收到控制量指令后输出动力至减速器,经过减速、增扭后作用在推药链传动主轴上,传动主轴上的输入力矩函数为

T=KT×i×u(t)

(9)

T为主动链轮输入力矩;KT为电机力矩常数,KT=72 N·mm/A;i为传动比,i=3。

在联合仿真过程中,对于控制系统来说,关键是对KP、KI、KD3个参数进行调整,才能不断提高药仓推药链的控制效果,降低偏差值。

4.3 负载添加

在推药链进行推药的工作过程中,模块药与药筒之间会存在摩擦阻力,作用在链头上。每块模块药的质量为2 kg,模块药与药筒之间的摩擦系数为0.5,通过计算可以求出链头在推动药仓内模块药时所受的摩擦阻力大小为58.8 N,在链条推药过程中,6块模块药所产生的阻力会一直作用于链头端,直至整个推药过程结束。在联合仿真中,将该摩擦阻力以定值的形式作用在链头上,与链头运动方向相反,仅在链头进行推药工作时起作用。

5 联合仿真系统

5.1 联合仿真系统搭建

为了实现药仓推药链的ADAMS与MATLAB联合仿真,首先要进行的工作是建立机械系统和控制系统之间数据交互的接口,然后将ADAMS机械系统导入到MATLAB/Simulink中,将其作为Simulink中的一个子系统模块,与Simulink中的其他仿真模块进行连线搭建,从而实现机械系统与控制系统之间的联合仿真。

对于机械系统接口建立,先在ADAMS中建立虚拟样机的状态变量,这些状态变量是机械系统与控制系统在联合仿真中交流的数据。建立完状态变量后,对这些状态变量进行分类,分为输入变量和输出变量,本文中建立的状态变量及分类如表1所示。建立完状态变量后,将这些变量与模型中的数据进行关联,控制力矩与加在主动链轮上的力矩形成关联,从动链轮转角、角速度以及链头的位移则与对应位置的测量结果进行关联。利用ADAMS 中的Controls模块将虚拟样机机械系统转换成MATLAB/Simulink中子系统模块,根据状态变量的分类,在建立子系统模块时选择输入输出信号。

表1 状态变量定义

打开Simulink中的模块库,依据PID控制原理搭建出控制系统模型,在MATLAB命令窗口中输入ADAMS_sys处理命令,MATLAB会自动将ADAMS中导出的机械子系统模块打开,机械子系统模块如图8所示。将机械子系统模块移动到搭建完成的控制系统模型中,利用模块端子上引出的线将机械子系统和控制系统进行连接,完成药仓推药链联合仿真系统搭建[8],如图9所示。

图8 联合仿真机械子系统

图9 联合仿真系统模型

5.2 联合仿真实验

完成联合仿真系统的搭建后,在Simulink中进行药仓推药链联合仿真。设置仿真系统仿真时间为3 s,仿真步长为0.001 s。为了获得理想的控制效果,对PID 3个参数进行整定。PID参数整定方法一般采用经验法,通过试凑确定PID 3个参数的数量级,选取1组PID参数作为初始值,在每个参数的初始值附近选取几个值作为测试值,对比不同参数间的控制精度,选择最佳的参数值作为整定结果,整定顺序为先KP,然后KI,最后KD。通过试凑法获得较优的KP、KI、KD参数后,再利用MATLAB中的非线性控制系统设计工具箱NCD对参数进行优化,最终整定结果参数值如表2所示[9]。

表2 PID参数整定值

链轮在转动过程中,会带动整个链条运动,链条上的链头也会进行相应的位移。对仿真结果进行分析,根据图10与图11可知,当从动链轮角位移跟踪误差达到0.01 rad左右时,由于推药链上链头受到模块药与药筒之间摩擦阻力的影响,误差快速增加到0.07 rad,在随后链条的运动过程中,误差逐渐减小;链头运动到达末位时,曲线趋于平缓,速度减小,从动链轮角位移跟踪误差不断趋于0。由图12链头位移曲线可知,整个仿真的时间为3 s,链头位移的距离为1 051 mm,能够将药仓药筒内的模块药全部推入药协调中,链头位移过程中运动平稳。从动链轮的角位移与理想轨迹基本重合,如图13对比曲线。并且从误差曲线上看,推药过程中的误差能够控制在0.08 rad以内,满足推药链在实际工程中所给出的误差控制在0.20 rad以内的要求。综上可得,采用PID控制算法搭建控制系统,并对参数进行调整和优化后,能够满足推药链在实际工程中的控制要求。

图10 负载变化曲线

图11 从动链轮角位移仿真曲线与期望轨迹曲线偏差

图12 链头位移曲线

图13 从动链轮转角仿真曲线与期望轨迹曲线对比

6 结束语

本文利用ADAMS与MATLAB软件,对某自动装填系统中药仓推药链机构进行了联合仿真。首先在SolidWorks中绘制推药链三维模型,并将其导入ADAMS。为了提高建模效率,依据工程实际,在ADAMS中利用宏命令定义零件材料、约束和接触关系,并建立联合仿真的接口,为联合仿真提供机械子系统。在MATLAB中建立控制系统,与机械子系统模块相接,完成联合仿真系统搭建。从仿真结果可知,推药链运动平稳,链轮仿真曲线与设定的理想轨迹之间的偏差能够控制在较小的范围内,满足实际的推药要求。通过对药仓推药链进行联合仿真,为优化实际工程中的机械系统提供理论依据,对于新算法的探索、进一步提高对系统的控制效果有积极意义。

猜你喜欢

链节链轮滚轮
基于键合空间理论的直线闭合弹带启动特性
固定吊回转支承关键技术研究
刮板输送机驱动链轮结构改进优化
延长500 m 长钢轨座架滚轮使用寿命的措施研究
滚轮滑雪运动多元价值与推广策略研究
FSC赛车链轮传动系统设计分析
渐开线齿廓链轮梳齿刀的设计
一种适用于凸辊拉矫机的新型引锭链
1+1=150
大型链篦床链节的分析与优化