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