基于Smiulink仿真的升降压电路和扫频法的PI参数自动整定

article/2025/9/23 9:50:47

        在控制系统控制器设计过程中,PID控制作为基础的控制方法,得到了广泛的应用。常用的经验整定方法虽然使用方便,但是需要一定的经验,不能快速的实现对系统的有效控制。因此,本文利用MATLAB/Simulink中自带的PID Tuner模块,基于扫频法得到的升降压电路的升压状态(Boost)的传递函数,实现了对PID参数的快速整定,仿真验证实验效果良好。

        本方法一共分为五个部分,对升降压电路工作模式分析、扫频法获取传递函数、PID Tuner参数整定、仿真实验结果验证、总结分析。


第一部分 升降压电路工作分析

        如图1所示,升降压电路是一种常见的开关直流电路,通过控制两个开关管的占空比,可以实现对负载侧电压的控制。分析电路结构可知,两个开关管的触发信号应该具有互补的特性。本文从升降压电路的升压特性进行分析,降压原理类似。

图1 升降压电路电路图

        通过控制开关管的开通与关断,可以将升降压电路分为两种工作状态,分别为充电过程和放电过程。电感充电时,等效电路图如下图所示,电压对电感充电,电容放电给负载供电;电感放电时,等效电路图如下图所示,电感具有续流效果,电压和电感惯性对电容和负载充电。

图2 充电等效电路
图3 放电等效电路

        对两种工作状态进行分析,列出电路的状态方程,经过推算之后,可以得出输出电压与占空比有关,满足公式(1),当占空比大于0.5时,电路以升压电路状态工作;小于0.5时,电路以降压电路状态工作。

D=\frac{Vo}{Vo+Vi}


第二部分 扫频法获取传递函数

        升降压电路的传递函数可以通过小信号模型准确推导,但是由于小信号模型的分析比较复杂,需要仔细计算推导,而采用扫频法可以快速确定电路的传递函数,便于对系统的控制器进行设计。对图4所示电路进行频法,获取传递函数过程如下: 

(1)将仿真模型中开关管的触发信号开环,通过固定占空比产生PWM确定。

(2)添加输入扰动和输出测量点(扰动添加到占空比,测量添加到负载电压或电流,通过后续扫频,即可获得占空比到电压的传递函数),如图4

        APPS -> Linearization Manager -> Input Perturbation(点击电线,添加扰动)

        APPS -> Linearization Manager -> Output Measurement(点击电线,添加测量点)

图4 加入扰动和测量点后电路

 

(3)进行扫频实验,依次配置扫频工作方式

        打开APP工作区(APPS -> Model Linearizer)

        选择输入信号(ESTIMATION -> Input Signal)

                输入信号选项中,第一个为连续信号,即对应PowerGui的Continuous;第二个为离散信号,即对应PowerGui的Discrete。以第二个信号为例进行设置,选择后需填入仿真时间,对应PowerGui的Sample time即可,如图5。

图5 选择扰动信号类型

 

                配置过程中,需选择 Frequency units -> Hz,然后添加频率测量点,specify by -> range(频率选择范围根据开关频率进行设置,最大值为开关频率附近,最小值在10-100范围均可),此处设置为10至11000的频率范围,40个采样点。全选采样点后,选择Amplitude为0.05(扰动量大小),其余为默认配置,如图6。

图6 设置采样点

 

        选择工作开始时间(ESTIMATION -> Operating Point)

                确定仿真开始时间,一般设置稳定工作后的时间,此处设置为0.1,如图

图7 确定稳定时间

 

        绘制Bode图,点击Bode,生成仿真数据(即从占空比到输出电压的Bode图),如图8所示

图8 仿真得到Bode图

 

        更改步骤(2)输出测量点,重复以上步骤,获得占空比到电压的Bode图

(4)MATLAB生成传递函数

        将扫频法绘制的Bode图数据复制到Workspace,利用公式拟合传递函数。

sysdu = tfest(du,2)

        以占空比到电压为例,将扫频法拟合得到的传递函数与小信号模型计算得到的传递函数对比,如图9,可以看出两者基本一致,扫频法准确性得到验证。

图9 Gud和sysdu拟合度

 


第三部分 PID Tuner

        第二部分通过扫频法得到系统的开环传递函数,为实现对升降压电路的控制,本文采用电压电流双闭环控制系统,结构图如图10。利用控制器PID分别实现对电流和电压的控制,双闭环控制过程中,一般遵循内环快、外环慢的原则,先设计电流环参数,再设计电压环参数。

图10 双闭环系统结构图

 

(1)电流环参数设计(PID Tuner)

        打开PID Tuner(MATLAB -> APP -> PID Tuner);

        导入拟合得到的d到i的传递函数 sysdi(s)(Plant -> Import);

        选择控制器类型、绘制图像在时域还是频域和绘制图像类型选项(绘制图像类型选择Bode -> Reference Tracking,即闭环bode图),如图11;

图11 Tuner设置

 

        通过调节BandWith和Phase Margain来控制闭环系统的带宽和相角裕度,设置完成后,在右下角获得P、I参数,如图12;

图12 设置带宽获取参数

 

        将获得PI参数导入Simulink仿真即可。

(2)电压环参数设计(PID Tuner)

        在确定完电流内环PI控制器参数之后,即可获得电压内环的闭环传递函数(前向通道/1+开环传函),将其等效为一个环节,通过MATLAB计算得到电压环的开环传递函数,满足公式

Gud(s) = \frac{sysdi(s)*Gpi1(s)}{sysdi(s)*Gpi1(s)+1}Gui(s)

        式中sysdi(s)为扫频得到的d到i的传递函数,Gui(s)为扫频得到的u到i的传递函数,Gpi1(s)为电流内环控制器的传递函数,满足公式

Gpi1(s) = Kip +\frac{Kii}{s}

        导入电压环开环传递函数,重复电流环步骤,即可得到电压环的PI控制器参数。

注意:设计PI参数过程中,一般设置带宽范围在开关频率的1/10(可以消除高频分量),相角裕度为60左右(设计过程要尽可能避免Bode图畸变);同时,为了满足内外环的响应速度关系,内环的带宽要高于外环带宽。


第四部分 仿真验证

        经过两次PID控制器参数自动整定,即可获取内外环均稳定且可以快速响应的参数。将所得参数代入PI控制器(Simulink仿真控制图13),对负载电压和电感电流进行双环控制,如图14所示,控制效果较好,响应速度显著。

图13 电压电流双闭环仿真

 

图14 仿真实验结果

         对于本文提及的升降压电路的电流环和电压环的PI参数整定如下

参数整定电压外环电流内环
比例Kp0.066680.00351
积分Ki170.9

1.086


第五部分 总结

        本方法的主要思路是,基于理论计算整定的方法对内外环PI参数进行设计。借助扫频法实现对系统的传递函数模型的确定,进而借助PID Tuner导入系统传函,由所需的带宽和相角裕度需求对PI控制器进行设计,最后将设计好参数代入控制器,实现良好控制效果。


http://chatgpt.dhexx.cn/article/6PX4sBL2.shtml

相关文章

基于滑模控制的直接转矩控制的MATLAB仿真

模型是基于袁雷老师主编的《现代永磁同步电机控制原理机MATLAB仿真》一书为参考。 个人认为使用滑模控制的DTC控制器有几个原因:1 系统存在滑模态 2点击要求转矩与磁链小脉动3逆变器需要恒定的开关频率。 建模框图 首先建立磁链调节器 转矩调节器 接入SVPWM simul…

☆电力电子技术☆ simulink中FFT工具的使用

simulink中FFT工具的使用 一、搭建仿真电路二、设置仿真为离散环境三、配置powergui四、连接示波器和powergui五、运行程序六、打开FFT工具七、设置相关参数观察结果八、分析结果 在许多仿真中都会用到FFT(快速傅里叶分析)对信号进行分析,Simulink的powergui中带有F…

开箱报告,Simulink Toolbox库模块使用指南(一)——powergui模块

文章目录 前言 powergui模块 信号源设置 FFT Analysis 自动化仿真 分析和应用 总结 前言 近期用Simulink开发的项目中,发现对Simulink Toolbox中库模块的掌握还有一些真空地带,所以就抽出时间填补了一下,总结出来分享给粉丝们&#xf…

玩玩Simulink——直流电机仿真

Simulink是美国Mathworks公司推出的MATLAB中的一种可视化仿真工具。Simulink是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。 Simulink提供图形编辑器、可自定义的模块库以及求解器&…

Power tool

测电压 Power tool 手机和器件电池连接 双击打开power tool 点击右上角第一个vout enabled 设置set vout 为4v 手机开机后 屏幕亮度调到最高、飞行模式 测待机白屏状态,拨号页面测相机预览状态,AI打开,手机后摄朝上,稳定放置…

The diagram must contain a powergui block. The block must be named powergui matlab simulink 报错

之前一直遇到这个问题....平时没怎么用simulink,表示很受伤啊~ 这里只要搜索powergui这个原件,然后放置在仿真图里面就可以了。

感应(异步)电机磁场定向控制MATLAB/Simulink建模

电机控制系列文章 感应(异步)电机磁场定向控制电流环PI控制参数设计 感应(异步)电机磁场定向控制速度环PI控制参数设计 目录 电机控制系列文章前言一、控制器与被控对象的采样周期二、系统解算器设置三、被控对象建模四、控制器建…

Fixed-step size(Solver)、Sample time(模块)、Sample time(powergui)三者的辨析

Fixed-step size(Solver中)、Sample time(模块中)、Sample time(powergui中)三者的辨析 因未找到官方的解释可以清晰的解释三者之间的关系,本文尝试设计实验以辨析三者关系,利用Simulink模型界定三者的作用范围。 Simulink中三者的位置 Fixed-step si…

Simulink中利用Powergui进行FFT分析,但是信号源始终为空

软件版本:MATLAB R2021a 学习Simulink自带的模型examples(SVPWM Generator Block Examples),想利用FFT工具箱进行谐波分析,已在示波器中勾选“记录信号到工作区”选项,但发现信号源始终为空!&a…

利用Powergui进行FFT Analysis,信号源为空解决方法

利用Powergui进行FFT Analysis,信号源为空解决方法 **simulink中对powergui的使用参考:**https://blog.csdn.net/imwtj123/article/details/80191523 configuration parameters/solver采样步长设置与离散Powergui时间步长一致 scope波形勾选“Log data…

Simulink中powergui的FFT分析怎么用m文件实现?

matlab版本:2020b simulink求解算法:Auto(ode3tb),变步长运行 首先是Simulink中如何使用powergui进行FFT分析。 powergui在Simulink Library Browser中的路径为Simscape/Electrical/Specialized Power System/Fundammental Blocks。将powergu…

示波器中波形如何在matlab中进行fft——入门篇

1、示波器数据导入matlab 首先,打开matlab选择,点击“导入数据”,选择需要分析的excel;在打开的界面处,鼠标选择需要处理的数据范围,选择输出类型为“数据矩阵”,导入所选内容。 导入数据表如下…

matlab电路图powergui怎么用,使用matlab中的powergui对采集的数据进行谐波分析#实验日记#...

从今天开始,准备根据实验的进度,不定时的写一些实验日记,一方面是对自己每天实验内容的总结,方便日后温习,另一方面,也是在这里与大家共享,相互学习,充分发扬互联网的共享精神。也希…

Power Designer

1 什么是Power Designer? PowerDesigner是Sybase公司的一款软件,使用它可以方便地对系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型和面向对象模型等。在项目设计阶段通常会使…

Matlab/simulink 2018a利用 powergui 进行FFT分析(傅里叶分析谐波)

首先你要有powergui模块在模型中 其次,你的信号会输入到示波器中 打开示波器左上角设置 在logging界面,勾选Log data to worksapce 然后可以更改信号名字,下面选择 structure with time 点击确定 然后运行 运行完毕以后,点…

simulink中对powergui的使用

步骤: 1.在仿真里面拖入powergui模块 2.设置所要分析的波形,保存入workspace,格式:Structure with time 3.进行仿真,完毕后,进入powergui的FFT Analysis 4.在Structure中选择信号名称等等。下面是开始计算…

关于MATLAB powergui 无法调整为discrete的解决方法

如下所示,powergui无法调整为其他的选项 解决方法如下

Simulink中步长、powergui采样时间、模块采样时间、控制周期的关系

Simulink中步长、powergui采样时间、模块采样时间、控制周期的关系 最近在搭模型的时候,对simulink中的各个“时间”产生了概念上的混淆,网上的资料也是鱼龙混杂,看了之后更是一知半解。因此本文针对Simulink中的各个时间做一个概念上的总结…

2021-08-26

电力电子技术仿真(一)单相半波整流电路 一.powergui1.1poweigui的介绍1.2 powergui的位置 二、仿真单相半波整流电路2.1 器件的位置2.2电路的连接及仿真效果2.2.1 连接图2.2.2 仿真结果 三、Tips3.1 仿真图像不连续,看起来断断续续?3.2 设置p…

[配置]linux如何联网

以redhat发行版进行演示说明: 1、通过命令提示符查看主机(windows)的ip地址 2、进入linux,在网络配置文件(/etc/sysconfig/network-sciptes/)中将ip地址改为静态,并改为与主机同一网段&#xff…