自控电气实验(基于simulink的双闭环电机调速系统设计)

发布时间:2024年01月15日

????????这是一次学校课程的大作业,对于双闭环的调速系统,其实网上有很多讲解,算是比较常见和具有代表性的仿真设计,但是我看过网上的很多版本,我认为也有很多文章是有错误的(b站的讲解都是很好的,网页上传的内容就参差不齐了)。我个人认为我的设计还是基本符合要求的,该课设也得到了90+的分数,故在此发表(仿真设计我会上传到我的下载资源里,免费),其中有很多不足,但还是希望能给大家一些参考。

1.题目

????????在一个由PWM变换器供电的转速,电流双闭环调速系统中,PWM变换器的开关频率为8kHz。已知电动机的额定数据为:PN = 60kW, UN = 220V , IN = 308A , nN = 1000r/min ,电动势系数?Ce=0.196 V·min/r,主回路总电阻R =0.1Ω,变换器放大倍数KS = 35。电磁时间常数Tl = 0.01s,机电时间常数Tm=0.12s,电流反馈滤波时间常数Toi =0.0025s,转速反馈滤波时间常数Ton =0.015s。额定转速时的给定电压(Un*)N =10V,调节器ASR,ACR饱和输出电压Uim*=8V,Ucm =8V。仿真时间10s。

2.设计要求

(1)确定电流反馈系数β(假设起动电流限制在1.5IN以内)和转速反馈系数α。

(2)在matlab/simulink仿真平台下搭建系统仿真模型。给出电流调节器(ACR)调节器(WACR)时(Kp=0.2,1/τ=50),转速调节器(ASR)调节器(WASR)时(Kp=5,1/τ=5)空载起动到额定转速的转速波形,并就稳态静差和动态性能与转速单闭环系统进行对比,分析说明原因。

(3)给出空载起动到额定转速过程中转速调节器积分部分不限幅与限幅时的仿真波形(包括转速、电流、转速调节器输出、转速调节器积分部分输出),指出空载起动时转速波形的区别,并分析原因。

(4)计算电动机带40%额定负载起动到最低转速时的转速超调量σn。并与仿真结果进行对比分析。

(5)估算空载起动到额定转速的时间,并与仿真结果进行对比分析。

(6)在5s突加40%额定负载,给出转速调节器限幅后的仿真波形(包括转速、电流、转速调节器输出、转速调节器积分部分输出),并对波形变化加以分析。

(7)试设计电流调节器ACR和转速调节器ASR。要求:系统的静、动态指标为:稳态无静差,调速范围D=10,电流超调量σi≤5% ,空载起动到额定转速时的转速超调量σn≤10%;

8)试基于matlab中的智能控制模块(模糊,神经网络等),设计变增益电流调节器ACR,转速调节器ASR,实现稳态无静差的情况下,尽可能提升系统动态性能(不低于7中的要求)

9)试设计Labview+Matlab的联合仿真双闭环调速系统,基于labview界面实现调速过程中各给定量、控制量和状态量的赋值及监测、显示。或采用Matlab App Designer设计可视化App来完成。

实验报告

一、已知参数和设计思路简述

本次课设是一个比较常见的应用,是利用了电流环和速度环构成的一个双环反馈的闭环电机控制系统。其中电流环的调节器ACR,以及转速环的调节器ASR,在本次课设中,都是PI形式的控制器。也就是比例积分控制环节。在之前的学习中,我们接触过pid的控制算法,比例p,主要的作用是起到快速的反应,能够快速的调整到目标值,积分I,通常要远小于p的大小,它的作用是在超调之后能够让波形变化更加稳定。

利用电流环和转速环让电机空载或负载启动,都能够到达额定转速,并且在外界的干扰诸如负载的突然变化下仍然能够保持住转速不变,这就是控制系统的作用。

综上所述,我们本次要设计的仿真可以大致分为这几个部分:

  1. ACR和ASR以及两个反馈电路
  2. PWM变换器,这个器件可以理解为供电模块,也就是,,,没搞懂呢
  3. 输入电压和负载电流,这两个模块分别用step和step1来实现,这里要注意输入的电压为(Un*)N,在额定转速的时候。
  4. 电机模块
  5. 示波器连接

二、解决设计问题

(1) 确定电流反馈系数β(假设起动电流限制在以内)和转速反馈系数α。

1.电流反馈系数 β=?

启动电流限制在1.5倍IN以内,Idm=1.5*308,解得β=0.0173V/A;

2.转速反馈系数α=

解得α=0.01V。

(2)

参数已经给定,代入即可求得

在simulink中仿真分别如下:(这里采用一个add模块进行并联,也就是上式的计算结果,积分模块旁边的符号表示有限幅。)

整体的仿真如下,这里的积分环节都进行了限幅:

1)其中各个环节的参数选择如下:

1.输入step(后面的环节是转速环的Ton)

2.ACR和ASR如前文所述

3. s的参数是Toi

4.电流环反馈(s的参数是Toi,0.0173是电流反馈系数)

5.转速环反馈(0.015是Ton,0.01是转速反馈系数)

6.电机部分(分别是电磁时间系数和机电时间常数,R为0.1Ω,最后的增益是电动势常数的倒数)

7.PWM部分

设置频率为8KHz,电压为Ks*Ucm=35*8=280v,如果电压过小,比例环节不会有超调,系统稳态将不会达到1000。

??? 空载启动,也就是在负载处的step1取值为0,也就是不输入任何负载电流,运行仿真,得到转速和电流的图像如下:

只有转速单闭环的输出波形如下:

2)比较二者的稳态静差和动态性能

对比二者的数据我们可以得出以下结论:

转速控制系统可以使用单闭环或双闭环结构。在单闭环结构中,输入给控制系统的信号是期望的转速值,系统根据实际转速反馈信号进行调节;而在双闭环结构中,输入给控制系统的信号是期望的转速差异,系统通过比较实际转速与期望转速差异来进行调节。

以下是关于稳态静差和动态性能的比较:

稳态静差:

单闭环系统: 单闭环系统的稳态静差较大。由于只通过实际转速的反馈来调节系统,可能存在转速偏差无法完全消除的情况。系统在稳态时,实际转速与期望转速之间可能存在一个恒定的偏差,这就是稳态静差。

双闭环系统: 双闭环系统的稳态静差通常比单闭环系统小。通过使用期望转速差异作为输入信号,系统可以更精确地调节实际转速,减小稳态静差。

动态性能:

单闭环系统: 单闭环系统的动态性能可能相对较差。由于只依赖于实际转速反馈来调节,系统的响应速度和稳定性可能受到一定限制。

双闭环系统: 双闭环系统通常具有更好的动态性能。通过使用期望转速差异作为输入信号,系统可以更加精确地控制实际转速,提高响应速度和调节质量。期望转速差异的反馈可以帮助系统更快速地对转速变化作出相应调整,提高系统的稳定性和动态性能。

总结起来,双闭环系统相对于单闭环系统在稳态静差和动态性能方面通常具有更好的表现。双闭环系统通过引入期望转速差异反馈,能够减小稳态静差并提高系统的响应速度、稳定性和调节质量。然而,具体的性能差异还受到系统设计、参数选择和控制算法等因素的影响,所以在具体应用中需要综合考虑各种因素来选择适合的闭环结构。

(3)

1)仿真波形

1.不限幅的波形:

转速调节器输出、电流调节器输出:

转速调节器积分部分输出、电流调节器积分部分输出:

2.限幅的波形:

转速调节器输出、电流调节器输出:

转速调节器积分部分输出、电流调节器积分部分输出:

2)在空载起动到额定转速的过程中,转速调节器的积分部分可以选择进行限幅或不限幅。下面是不限幅和限幅情况下转速波形的区别和原因:

区别

①不限幅的情况:

转速波动较大:当不限幅时,转速调节器的积分部分可以持续累积积分误差,并且不对其进行限制。这可能导致积分误差积累过多,从而使系统产生较大的超调现象,转速波动较大。

超过预定范围:由于积分部分的积分误差没有限制,转速可能会超过预先设定的有效范围,导致不稳定现象或其他问题。

②限幅的情况:

转速波动较小:当限幅时,转速调节器的积分部分对积分误差进行限制,确保其不会无限制地增加。这有助于减小超调现象和转速波动,使得系统的稳定性提高。

控制范围受限:由于限制了积分误差的增长,转速的控制范围可能会受到限制。这意味着转速可能无法在较大的范围内进行精确的调节。

原因

  • 不限幅的原因:

如果系统对于快速响应和较大控制范围更为关注,可能选择不限幅。这样可以快速消除积分误差,并在大范围内实现转速调节。然而,可能会引起超调和较大的转速波动。

  • 限幅的原因:

如果系统对于稳定性和精确性的要求更为关键,可能选择限幅。通过限制积分误差的增长,可以减小超调现象和转速波动,提高系统的稳定性。但同时可能会使得转速调节范围受限。

(4)

带40%负载直接启动,即step1中的阶跃开始时间为0:

实验测得的结果是峰值为1089r/min。求得超调量为8.9%

进行计算,公式如下:

可以看到理论值与实验值是接近的。

(5)估算空载起动到额定转速的时间,并与仿真结果进行对比分析。

仿真数据为:

可以看到到达额定转速的时间为0.509s,与计算数值完全一致。

(6) 在5s突加40%额定负载,给出转速调节器限幅后的仿真波形(包括转速、电流、转速调节器输出、转速调节器积分部分输出),并对波形变化加以分析。

突然加入负载,也就是将step1中的时间设置到5,从零到123.2

转速调节器输出、电流调节器输出:

转速调节器积分部分输出、电流调节器积分部分输出:

  1. 转速波形:
  • 5s时:负载增加后,转速突然下降,因为电动机需要供应更多的扭矩来应对额外负载。
  • 超调阶段:转速可能会出现超调现象,本次实验中超调不明显,可以忽略。
  • 稳态阶段:经过0.4s,转速回到新的稳态,新旧稳态都接近1000,但是新稳态更小。
  1. 电流波形:
    • 5s时:负载增加后,电机需要提供更多的电流来产生所需的扭矩。
    • 峰值电流增加:由于额外负载引起的增大扭矩需求,电流在负载增加时出现短暂的峰值。
    • 稳态阶段:随着转速稳定在新的稳态值,电机的电流也会逐渐稳定。
  2. 转速调节器输出和积分部分输出波形:
    • 5s时:转速调节器的输出增加,以提供更大的电流给电机来应对负载增加。
    • 积分部分输出的变化:转速调节器的积分部分受到限幅,它的增长率受到限制。这导致超调现象减少,并降低系统的稳定性。
    • 稳态阶段:随着系统稳定,转速调节器输出和积分部分输出会逐渐趋于稳定的状态。

?(7)试设计电流调节器ACR和转速调节器ASR。要求:系统的静、动态指标为:稳态无静差,调速范围D=10,电流超调量σi≤5% ,空载起动到额定转速时的转速超调量σn≤10%。

1)空载启动:超调量为6.5%

2)带40%负载启动:

3)5s加40%负载

(8)第八问没有做,后面8,9是选做,当时只做了9

(9)试设计Labview+Matlab的联合仿真双闭环调速系统,基于labview界面实现调速过程中各给定量、控制量和状态量的赋值及监测、显,或采用Matlab App Designer设计可视化App来完成。

????????我们选择采用matlab中的app designer来设计一个可以交互的app,放在报告的附件中。

  • 做完app后的电路图:
  • 可以看到使用了很多simout器件来记录输出。

  • app的界面:

上图是5s时加入40%负载的图像,这五个图像和前文我们仿真示波器显示是一致的。?

直接在方框中改变输入的数值,例如,将两个闭环PI值都随意改动,得到以下输出图像:

③matlab中的回调代码:

 % Callbacks that handle component events
    methods (Access = private)
        % Button pushed function: Button
        function ButtonPushed(app, event)
            %%最终电流和转速的输出
            i = evalin('base', 'out.simout1');
            n = evalin('base', 'out.simout2');
            plot(app.UIAxes,i.data, 'LineWidth',1, "Color",[1, 0 ,0]);
            hold(app.UIAxes, "on");
            plot(app.UIAxes,n.data, "LineWidth",1,"Color",[0,1,0]);            
            legend(app.UIAxes, ["I", "n"]);
            %%电流环输出
            i1 = evalin('base', 'out.simout3');
            plot(app.UIAxes2,i1.data, 'LineWidth',1, "Color",[1, 0 ,0]);
            %%电流环积分部分输出
            i2 = evalin('base', 'out.simout4');
            plot(app.UIAxes3,i2.data, 'LineWidth',1, "Color",[1, 0 ,0]);            
            %%转速环输出
            n1 = evalin('base', 'out.simout5');
            plot(app.UIAxes4,n1.data, 'LineWidth',1, "Color",[1, 0 ,0]);
            %%转速环积分部分输出
            n2 = evalin('base', 'out.simout6');
         plot(app.UIAxes5,n2.data, 'LineWidth',1, "Color",[1, 0 ,0]);             
        end
        % Value changed function: EditField
    function EditFieldValueChanged(app, event)
            A=app.EditField.Value;  
            assignin("base",'amp3',A);              
        end
        % Value changed function: EditField_2
        function EditField_2ValueChanged(app, event)
            B=app.EditField_2.Value;  
            assignin("base",'amp1',B);             
        end
        % Value changed function: EditField_4
        function EditField_4ValueChanged(app, event)
            C=app.EditField_4.Value;  
            assignin("base",'amp2',C);            
        end
        % Value changed function: EditField_3
        function EditField_3ValueChanged(app, event)
            D=app.EditField_3.Value;  
            assignin("base",'amp4',D);
        end
        % Value changed function: EditField_5
        function EditField_5ValueChanged(app, event)
            A = app.EditField_5.Value;
            assignin("base",'amp5',A); 
        end
        % Value changed function: EditField_6
        function EditField_6ValueChanged(app, event)
            A = app.EditField_6.Value;
            assignin("base",'amp6',A); 
        end

三、总结

????????本次课程设计双闭环直流电机调速系统是一种常用的控制系统,用于控制直流电机的转速。它由两个闭环控制回路组成:速度闭环和电流闭环

(1)速度闭环(外环)控制:

首先用step输入一个信号,这里输入的是电压的信号,对应的是额定的速度。

速度控制器(PI)根据目标速度和实际速度之间的误差,生成一个调节量;

调节量经过电流放大器和电机驱动器,作用于电机,控制电机的转矩和速度。

(2)电流闭环(内环)控制:

电流采样器测量电机的电流,将实际电流值与速度控制器输出的参考电流进行比较。

比较结果经过电流控制器(PI),生成一个调节量;调节量经过电流放大器和电机驱动器,作用于电机,控制电机的转矩。

双闭环直流电机调速系统的基本原理是通过采集电机的速度和电流信息,并将其与设定值进行比较,根据误差生成适当的控制信号来调整电机的转矩和速度。通过这种方式,系统能够实现对直流电机的精确调速控制。

在设计的过程中,对于电路的连接,只需要掌握好两个闭环的设计思路和意义即可。然后即可根据给定的数值或自己计算出的数值来计算出PI的值。

对于每一问,有了仿真图的数值,加上理论值的计算,前七问都是可以便捷的求出的。

我们在进行解答的时候也遇到了很多问题,随着查找资料和理解的深入,逐步解决问题,这期间我们也对这样一种闭环的控制系统有了更深的体会,对于专业课的知识有了更加形象的理解。

文章来源:https://blog.csdn.net/qq_62733983/article/details/132892071
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。