液压元件与控制系统设计讲义5.ppt
液压元件与系统设计,液压系统设计(第五讲),,,,,,,,,,电液速度控制系统实例速度控制系统给定设计参数为负载转动惯量J=0.43kgm2最大负载转矩T=49Nm转速范围n34195r/min供油压力ps=7.84MPa速度传感器增益Kfv=0.19Vs/rad性能指标为跟踪精度lr/min完成准确跟踪的时间0.9s,,,,,,,,,,,1决定系统控制方案采用伺服阀控制液压马达的阀控系统。,,,,,,,,,,,2确定马达排量取,则马达排量为,或,选取BMl10摆线液压马达,其排量为Dm10210-6m3/r或Dm16310-7m3/rad3选择伺服阀规格伺服阀流量为,此时阀的压降为,查伺服阀样本,选用QDYC63型,额定电流为30mA,供油压力为7.84MPa时的额定空载流量为1.0510-3m3/s。,,,,,,,,,,,4确定传递函数,A电液伺服阀的传递函数伺服阀的增益,由样本得,于是电液伺服阀的传递函数为,,,,,,,,,,,B液压马达的传递函数马达油腔容腔与伺服阀到马达间容积之和为,又取,则,取,于是液压马达的传递函数为,速度传感器的传递函数,积分放大器的传递函数,,,,,,,,,,,5绘制系统开环频率特性,由图可见,为了满足系统稳定性的条件,取开环频率特性的相位滞后180点上的幅值裕量为6分贝,此时的角稳定裕量为87,由于幅值稳定裕量不能减小,所以穿越频率不能再增加。,,,,,,,,,,,6确定系统开环增益及积分放大器增益开环增益,由系统波德图知,在区间<c内,L是一条斜率为-20dB/dec的直线,所以,求得积分放大器的增益为,7速度控制系统的开环传递函数系统的开环传递函数为,,,,,,,,,,,8计算系统的稳态误差因为系统是I型系统,对速度指令信号误差为零,满足了跟踪精度为lr/min的要求。,9系统的仿真实验由试验结果可见,现有系统是稳定的,没有超调,但上升过程有几次小的振荡。过渡过程在0.1秒以内结束,完全满足在0.9秒内完成准确跟踪的任务。,,,,,,,,,,,,,,,,,,,力控制系统设计实例现要求设计一个如图的力控制系统。其设计参数及性能指标为,液压缸最大速度1cm/s,,,,,,,,,1液压缸的确定根据力控制系统的控制特性,系统要在供油压力的95%状态下工作取负载压力pL=0.95ps=16.625MPa,则液压缸有效工作面积A=Fm/pL=54.2cm2,令d/D=0.5,则D=9.59cm,取D=10cm,d=5.5cm,校核得A=54.78cm2。,最大流量,2选择电液伺服阀,选定压力降为7MPa,输出流量为3.81/min的伺服阀。设阀的流量增益Kq,压力一流量增益Kc分别为,压力增益,阀的额定电流IR=150mA,输出位移xv=0.038cm,增益为,,,,,,,,,,,3力反馈传感器输入力为Ff=113000N,输出电压为Vf=0.01V,其增益为,4静态特性为得到5%静态控制精度,开环增益,取K0=25,电放大器增益,,,,,,,,,,,5动态特性为了确定l、2,要计算油的压缩性,设油路的阻尼系数,其中V是液压缸的总油腔容积,为确保行程充裕,选择工作行程大于10cm行程的液压缸,取行程为x=15cm的液压缸,计算液压缸容腔V=Ax8.2210-4m3,假设4=14108Pa,则此时油路阻尼系数C=0.14610-12m3/N/m2。根据油的压缩性,计算弹性系数,把这个值与k比较,可知控制系统在,的情况下工作,负载弹簧k=180000N/cm时,负载弹簧k=9000N/cm时,,,,,,,,,,,取开环增益为25,根据开环放大特性求出穿越频率负载弹簧k=180000N/cm时,负载弹簧k=9000N/cm时,对应于3的阻尼比,3的共振峰值超过了零分贝轴,这是造成系统不稳定的原因。,频率2、3与负载质量有关,由负载弹簧刚度的最大值决定。k=180000N/cm时,弹簧的计算频率为,,,,,,,,,,,,使得系统的超调量减少。,为此在2前的一个频率处加入一个校正环节,,,,,,,,MATLAB介绍1MATLAB基本使用界面简介;简单的数学运算;MATLAB变量;脚本和帮助;脚本文件、在线帮助。2MATLAB的基本矩阵运算简单矩阵输入键盘输入、语句生成矩阵运算矩阵的转置(复数conj)、矩阵的四则运算、矩阵的乘方、矩阵的超越函数、关系和逻辑运算矩阵操作矩阵下标、矩阵大小、矩阵操作函数、逻辑矩阵、矩阵查找和排序,结束TheEnd,,,,,,,,,MATLAB可以象计算器一样进行一些简单的数学运算。MATLAB通常不考虑空格,并且计算结果赋给了变量ansanswer的缩写。MATLAB中的变量是区分大小写的。Aa;aa。变量可以参与运算之中。Bbaa*10。MATLAB命令窗中存储着输入的命令和创建的所有变量值,可以在任何需要的时刻被调用。多条命令可以放在一行中,之间可用逗号或者分号隔开。逗号告诉MATLAB显示结果,分号表示禁止。如果在一行中无法写下一个完整的命令,可以在行尾加入三个连续的点,表示命令余下的部分在下一行出现。百分号之后的所有文字为注释,注释为单行型。MATLAB遵守一般的计算优先规则表达式从左向右执行,指数运算具有最高优先级,乘除法次之,加法和减法优先级最低。括号可以改变通用的优先级,由最内层括号向外执行。MATLAB可以使用光标键↑来调用前面的命令。在提示符后按一次↑键调出上一次命令;在提示符后键入命令的一部分,按↑键,可以遍历代有相应字头的最近的命令。MATLAB的命令行具有一般的编辑功能。,返回,,,,,,,,,变量区分字母的大小写;名字不能超过19个字符,第19个字符后的字符被忽略;变量必须以字母开头,之后可以是任意字母、数字或者下滑线;变量中不能含有标点符号。如果忘记了变量名,可以使用who命令查询。变量可以保存为数据文件,也可以从数据文件中读入。Save,load。将变量aa和bb保存在二进制数据文件中。如果希望保存为一般的文本文件,可以在save命令之后使用-ascii选项。将数据文件datas.mat中的输入读入命令窗口,如果不存在datas.mat则读datas文件,如果还是不存在,则报出错。如果是.mat文件,文件中包含变量名和值,并且可以是多个变量,如果是非.mat文件,即为文本文件,读入的变量名为文件的名字。loaddatas使用clear命令,可以清除工作空间的变量。Clearaabb。如果clear后为空,则将清除工作空间的所有变量,并且系统不会要求你确认这个命名,也不可能恢复,使用这个命令一定要注意。在clear变量后,使用pack命令可以优化内存空间。MATLAB中的一个强大功能为对复数不需要特殊的处理。tt10-9i。复数运算不需要特殊处理,可以直接进行。MATLAB计算中所有的量为双字长浮点数,显示中为了方便,并不按照双字长浮点数进行显示。MATLAB显示数据时,遵循一定的规则。在缺省情况下,当结果为整数,MATLAB将它作为整数显示;当结果为实数,MATLAB以小数后4位的精度近似显示。如果结果中的有效数字超出了这一范围,MATLAB以科学计数法显示结果。可以使用at命令来改变显示格式,常用的的格式有long16位、bank2个十进制位、short缺省、shorte5位加指数、longe16位加指数。,,,,,,,,,返回,,,,,,,,,对于简单问题,使用直接输入命令简单有效;对稍复杂和多次重复的应用,直接输入命令比较麻烦。MATLAB提供了逻辑解决方案,它允许用户把多个命令放在一个简单的文本文件中,如同在MATLAB中键入命令一般,这种文件称为脚本文件,由于脚本文件以m为扩展名,它常称为M文件。脚本文件为文本形式的,对跨平台处理十分有利。MATLAB5.0之后提供了内置的文件编辑器,用户也可以使用自己喜欢的文件编辑器生成脚本文件。将文件以m扩展名保存为exp1.m后,在MATLAB中简单的键入exp1就可以执行exp1.m中的命令。使用脚本文件,可以把命令保存在磁盘上,便于以后的访问;同时对使用大的数组也带来的方便;增加注释可以为脚本中的命令作文挡以免以后忘记。,返回,,,,,,,,,MATLAB的命令很多,很难全部记住。为了便于查找命令和用法,MATLAB提供了三种在线帮助形式help、lookfor以及超文本帮助。如果已经知道命令或者标题名字,希望查找它的使用方法,help命令是最简单的方式。helpabs虽然帮助文本中的命令为大写,这只是为了阅读方便,运算中不能使用大写。MATLAB中的命令都为小写,并且命令区分大小写。不带标题的help命令将列出所有的MATLAB可以获得帮助的目录。通过一级一级的标题查找可能找到自己要找的命令,但这样的查找比较麻烦。当还不能确定主题的拼写或者是否存在,可以使用另外两种方式获得帮助。lookfor命令通过搜索所有的MATLABhelp,返回包含指定关键词的那些项。例如,希望得到各种有关的FFT运算方法,lookforFFT。可以进一步使用help命令察看所找到的命令。使用lookfor命令最重要的是关键词不必为MATLAB命令,它提供了一中通过一般关键词找到命令和帮助标题的方式。在MATLAB5.0以前,提供了winhelp类型的帮助文件,可以顺序查找所需的主题。5.0版之后,提供的帮助为Html文件形式。这种形式搜索命令简单,使用比较方便。,返回,,,,,,,,,对于比较小的简单矩阵,可以使用键盘直接输入。矩阵生成不但可以使用纯数字,也可以使用变量。矩阵的元素直接排列在方括号内,每行内的元素使用空格或者逗号分开,行与行之间使用分号隔开。大的矩阵可以分行输入,用回车键代替分号,这和我们平时使用的矩阵形式很相近。大部分的试验数据是用上面的形式给出的,在处理试验数据中,可以简单的将数据前后加入左右括号,就可以得到矩阵的表示。这种处理可以在脚本文件中进行。,返回,,,,,,,,,如果是线性等间距格式生成矩阵,可以使用fromstepto方式。from、step、to分别表示开始值、步长和结束值。aa1210。用linspace命令,aalinspace1,10,5。linespace的三个参数表示开始值、结束值和数据个数。数据个数可以省略,确省值为100。在画Bode图等应用中,需要使用对数等间隔的数据,可以使用logspace命令生成。Logspace和linspace的参数相同,只是结果不同。,返回,,,,,,,,,矩阵的加减法使用“”、“-”运算符。两个矩阵只有同阶方可进行加键运算。如果运算的对象之一是标量,则对矩阵的每个元素施加运算。矩阵的乘法使用“*”表示,与数学上的形式一致。矩阵的除法有两种符号“\”和“/”,分别表示左除和右除。一般的讲,XA\B是A*XB的解,XA/B是X*AB的解;通常A\B≠A/B。另外,MATLAB定义了点乘和点除运算。使用“.*”、“./”、“.\”表示。运算符号前面带有的小点告诉MATLAB执行元素对元素的运算,即为数组员算,不带点号的为矩阵运算。矩阵的乘方也有几种定义形式。“”为矩阵乘方,“.”为元素对元素的乘方。MATLAB中exp、sprt、sin、cos等命令可以直接使用在矩阵上,这种运算只是定义在矩阵的单个元素上,即分别对矩阵的每个元素进行运算。MATLAB中也提供了基本的三角函数。,返回,,,,,,,,,返回,,,,,,,,,MATLAB常用的关系操作符有大于、大于或等于、等于、不等于。MATLAB的关系操作符可以用来比较两个大小相同的数组,或者比较一个数组和一个标量。在与标量比较时,结果和数组大小一样。a19,ba4,caa4。逻辑操作符定义了一种与或非的关系表达式。MATLAB的逻辑操作符有aa3子矩阵的查找使用find命令完成,它返回关系表达式为真的下标。a1020;finda15矩阵的排序使用sort函数,它将矩阵按照升序排列。,返回,