设计一个简单分页存储管理系统_如何设计一个运动控制系统

5259dfadeea08188c930dee9df77b2ed.png
一、典型的运动控制系统的架构
二、如何设计一个直流电机电流环
三、什么是积分饱和
四、如何设计速度环
五、如何设计位置环

一、典型的运动控制系统的架构

工程实践中,大多数控制系统为运动控制系统,比如飞机控制,其实就是通过控制飞机的几个翅膀进而调解作用在飞机上的气动力来调整飞机的姿态。飞机的翅膀上面(舵面)都安装有作动器(简称舵机),通过作动器的位置控制就可以控制舵面的位置,最终实现飞机的控制。

b8b19d61bfaab1e6c1d59ce30ce04a31.png

我们一般都会见到如下的一个典型的控制框图,即通过三个环路来实现位置控制(以电机作为最终的出力元件)。外环为位置环,中间为速度环,最内部为电流环,很多第一次接触这种控制方式的人都会多多少少有点疑问:为什么是这是三个环路?换一个行不行?

eefba45edf3d53d9c4e21999a53099a8.png

好了,如果我们将上面的环路稍微变形一下,可能会有助于大家的理解:

8bfeb93101b8fa897b5b0ae64ae69fd2.png

即最内环换成了加速度环,细心的童鞋可能已经注意到了某种规律——位置、速度、加速度,内环是外环的导数?这貌似是有那么一点点规律!——其实呢内环电流环和加速度环是等价的,因为对于理想电机而言,其转矩和电流成正比(比例就是转矩系数),转动惯量可近似认为是常值,这样加速度就和电流成正比,因为电机中电流更容易测量,所以呢一般用电流环来代替加速度环。

好了,那怎么理解这三个环路呢?为什么位置换控制器的输出就是速度环呢输入呢?——可以这么简单的理解:要想控制位置,可以通过调节速度来实现,因为速度随时间的积分就是位置,合适的速度经过一定的时间就能达到想要的位置;同样,速度可以通过调节合适的电流来实现;那么怎么调节电流呢?——调节电压啊,怎么调节电压呢?——逆变器啊!好了,是不是知识点都串起来了?——我们先简单的了解一下,后面再进行理论分析。


二、如何设计一个直流电机电流环

先以简单的直流电机为例,一个典型的直流电机的数学模型如下:

1b1067f2ff5912fa083994ffcd1b5726.png

其中

为力矩系数,
为反电势系数,
为线圈电感,
为线圈电阻,
为转子转动惯量,
为转子阻尼系数,
为负载,
为转子速度,
为转子位置,
为端部电压,这就是理想直流电机的数学模型,注意这是开环的电机模型。那电流环一般长什么样呢?

电流就是控制线圈中的电流,线圈的传递函数是

,所以电流环的的一般控制模型为:

e61d05b8c909aa774520bcaeb47d7a4c.png

其中

为PI控制器。

好了,那这个小闭环系统长什么样子呢?我们不妨把它的传递函数写出来分析一下:

前向通道的开环传递函数为:

其中

,为绕组电气时间常数。由于是单位负反馈,所以
,所以闭环传递函数为:

可见这是一个含有零点的二阶系统,为简单期间,我们先忽略零点的影响,将闭环传递函数简化为:

我们知道,其瞬态响应主要取决于其极点分布,其极点的分布的方程为

我们不妨设这个方程的截止频率 为

,阻尼比为
,则通过

可以得到:

这样只要我们设定了截止频率和阻尼比,我们就能设计一个满足要求的PI控制器了,此时阶跃响应上升时间约为

,稳定时间约为

举个例子:某个电机的电感

,电阻为
,则传递函数为
,我们不妨设这个方程的截止频率
为1000rad/s,阻尼比
为0.75(0.6-0.8都可以,看系统需要),则可以计算出:

所以设计的控制器为:

这样我们不考虑零点的传递函数的为:

我们画个伯德图看一下这个系统的响应是多少!

figure('color','w');
H = tf([1e6],[1 1500 1e6]);
bode(H);
grid on;

928d3ae5ddcda245c5dbbade100e83bd.png

可见在1000rad/s时系统的幅值衰减到-3.53dB,相位滞后90°。

前面我们都忽略了零点的作用,现在我们看一下完成的模型系统响应什么样!此时系统的闭环传递函数为:

figure('color','w');
H = tf([1450 1e6],[1 1500 1e6]);
w=logspace(2,4,10000);
bode(H,w);
grid on;

d053a03e7f93b741ebe8190562e7b933.png

可见,有零点之后1000rad/s时幅值响应为1.4dB,相位响应为-34.8°,和无零点的简化模型有区别,但是主要特征没有发生明显变化,为简单期间呢,我们一般都会用无零点的模型进行控制器设计。

同时注意到,有零点的模型在截止频率附近幅值响应是大于0dB的,也就是大于1的,因此可以预见,系统的响应会出现一定的超调,我们不妨搭个simulink模型看看:

13b3ed7bcf0604b9e417899c5318d0e5.png

当指令是阶跃指令时,可以看到响应非常快,同时又一定的超调。

94ef310b0e226067384994c3e92352d6.png

三、什么是积分饱和

在J Pan:如何入门自动控制理论一文中,我们说了,一个系统的截止频率越高,能通过的信号的带宽就越大,这样系统的响应就约快速、越及时,响应时间就越短。按照第二节的描述,只要我们知道了电机的传递函数

,理论上只要我们设定了想要的截止频率
和阻尼比
,我们都可以设计一个控制器进行整定,已达到我们设定的带宽——等等,这好像和我们的常识有悖啊,没听说过哪个系统的带宽可以无限宽啊!

问题在哪呢?——首先我们前面的理论分析完全没有问题,理论上截止频率确实可以达到无限宽,但有一个前提,那就是我们要有一个能力无限大的电源!如何理解这句话?

还是前面的例子,现在假设我要截止频率为10000rad/s,阻尼比还是0.75,则可以计算出控制器的传递函数为

54a2916c3b2a22bbe07e1de1a2aefa07.png

我们把PI控制器的输出显示出来,上图中绿色示波器位置。

5fe8d6eb2ca7f02ff6f3515c8d97bd5c.png

可以看出,为了达到较高的截止频率,需要给绕组的电源电压达到了接近300V,如果想提高截止频率,这个值还会更高,而我们一般的供电电压可能只有28V,那怎么办呢?我们需要在PI控制器后面加一个限幅,如下图所示:

a69693c0a8aec4f662875359f5b7ba91.png

我们以为皆大欢喜了,可是我们计算完后又发现了问题,那就是加完限幅后系统出现了大的超调,如下图所示,这是什么原因呢?

cf139968ab28209f3b853b031110ecb3.png

原因也很简单,那就是积分器输出饱和了!——什么意思?请看下图,红色线为原始的PI控制器输出,因为限幅,其实际的输出为绿色线所示(红色和绿色线纵坐标在右侧,蓝色线纵坐标在左侧)。在电流(蓝色线)到达理论值前,由于误差一直是正值,因此积分器不断积分,数值也不断增大,直到到达理论值时积分器达到达最大值,而这个值和限幅相比大的多(800比28)。在电流超过理论值后,误差开始变为幅值,积分器的数值开始减小,但由于之前的数值太大了,需要一段时间后才能减小到零甚至幅值,在到零之前积分器还是正值,而且大部分时间都是很大的值,因此限幅后的PI控制器在电流到达理论值后还会维持一段时间的正值(见绿色线),导致电流出现了较大的超调,这种情况一般叫迎风超调(windup)。

3e9a6513da8a6dc1d4d87504fa05cda7.png

那怎么解决呢?——是不是可以减小PI控制器的积分增益呢?当然是可以的,但这样会导致响应变慢,减小带宽。一个最常见的方法就是采用抗积分饱和的方法(anti-windup),抗积分饱和的方法有很多种,比如积分遇限消弱法(clamping)、积分分离法以及反馈抑制抗饱和法以及变种等,我们简要介绍一下反馈抑制饱和法。

反馈抑制饱和法的采用反馈的基本思想:当饱和时,对积分项加入负反馈,使其尽快退出饱和,具体实现见下图:

3a692979fb605fd7b0383d33917b2c31.png

对积分回路增肌负反馈环节,即当积分器积分量较大时,通过负反馈减小其积分值,确保其在一定的范围内。反馈增益

一般取值为
,当然也需要根据实际要求进行调整。进行积分抑制饱和后其电流的实际响应见下图所示,可见响应时间略慢(因为电压限幅了),但是也没有出现较大的超调。

82a5d3ff98d0ab50349b5ecf58f8b4e3.png

前面分析的都是理论情况,实际上还要复杂一点,比如PI控制器的输出要经过一个计算周期(

)才能更新一次,PWM计算模块计算的三极管门信号最大可能延迟一个斩波周期(
),逆变器(比如IGBT)从接收到信号到管子作用也要一个时间(
),以及反馈电流的采集、滤波都有延迟时间(
),这些要么是延时环节,要么是惯性环节,都会影响带宽,引入这些环节的电流环设计与前面所述的方法是一致的,只是略复杂一点(即将这些量与绕组一起等效成一个大的惯性环节)。当然,一般这些量与电机的电气时间常数
相比都比较小,大多数情况下为简单期间可以先忽略。

987135a213a2ef3f32fffcdfb18f38ea.png

四、如何设计速度环

有了电流环,我们就可以设计速度环了,完整的速度环框图如下图所示:

a2c3d9bbe29e68dac831e26dc838df7a.png

因为电信号的变化是非常快的,电机的电气时间常数一般比机械时间常数小的多,通常我们将电流环的截止频率设计的尽量高,速度环的截止频率要低一些。

在速度环里,因为机械时间常数比电气时间常数大的多,也就是说在一个电气时间常数里面,电机的速度可以认为是不怎么变的,也就是说为简单起见,在速度环里,电流环可以认为响应非常快,可以忽略掉,从而简化成如下结构:

2d24f420b6fb58ca0782d42561b73f71.png

被控对象的传递函数简化成:

,其中
为等效到转子的转动惯量,
为转子阻尼系数,通常比较小,
为力矩系数。

我们可以得到速度环的前向传递函数为:

,闭环传递函数为:

可见这也是是一个含有零点的二阶系统,同样忽略零点的影响,将闭环传递函数简化为:

其极点的分布的方程为

,若这个方程的截止频率 为
,阻尼比为
,则通过
可以得到:

假设速度环的截止频率为

为100rad/s,阻尼比
为0.8,转动惯量
,转矩系数
,阻尼系数
为0,则可以计算出:

所以设计的控制器为:

同样我们也加上积分反馈抑制饱和,完整simulink模块如下:

cffb41d289d9485ab893e6b7e5d9f713.png

其电流响应曲线和速度响应曲线如下:

11fa26547d66c3256d040a0bfafce0c8.png

可见,最开始的时候,电流迅速达到设定的最大值,使电机达到最大速度,电流的稳定时间明显比速度小,结束的时候,电流也迅速下降实现制动。


五、如何设计位置环

有了电流环和速度环,相信大家应该已经会设计位置环了。

00e1b9d8525f10d5f912bc8047d2154e.png

同样,假定位置环的截止频率小于速度环,忽略速度环的响应时间,则系统可简化为:

2cff6ca5857a9af23e240ff1015c9469.png

位置环的前向传递函数为:

,闭环传递函数为:

忽略零点的影响,将闭环传递函数简化为:

其极点的分布的方程为

,若这个方程的截止频率 为
,阻尼比为
,则通过
可以得到:

怎么样,简单吧,那就拿simulink自己试试吧,别忘了积分饱和哦。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值