通过一个单相逆变器仿真深度学习PR控制器

部署运行你感兴趣的模型镜像

目录

前言

​编辑

PR控制器的理论

PR控制器不同表达式及其建模

 PR控制器连续积分组合及模型

 PR控制器连续传递函数及模型

 PR控制器离散积分及模型

 PR控制器离散传递函数及模型

 PR控制器差分方程及模型

系统仿真效果

总结


前言

在项目开发中常用PI控制器,这次在做单相逆变器的时候发现PI控制器在有些工况有局限性,于是引入了PR控制器。简单来说当控制器的输入是直流量大多用PI控制器,当控制器输入是一定频率的正弦量时PR控制器相比于PI控制器就好很多。如在单相逆变的电压环输入的就是目标电压的参考,给定值是50Hz,220V的交流电。如果要用PI控制器需要对给定电压进行变换转换成直流量,但是由于50Hz的频率比较低,转换后的直流量控制起来响应和带宽做不高。

在电机控制里电流环也可以采用PR控制器,需要输入当前电频率。

 在单/三相FPC整流和逆变同样也可以有类似的用法。如下图是单相逆变电压环简化的PR控制器。

PR控制器的理论

很多论文都有下面这样的描述,这里不再过多解释,网上对PR控制器的解释很多,包括伯德图等。这里主要以改进型的PR控制器根据实际的工程需要如何建模仿真。

PR控制器不同表达式及其建模

在实际开发中,s域的传递函数是没法写成C代码或者直接生成代码的,需要对其进行离散化,或者写成积分形式,或者写成差分方程的形式,直接用离散传递函数也是可以生成代码的,具体用哪种形式可以从方便或者代码量方面去考虑。

如下是能在单相系统中正常工作的参数。

Tprs是离散后的采样频率,对应控制环路执行频率,暂定70Khz.

Kpr_p,Kpr_r类似于PI的控制参数。
wcpr控制器的截止频率
wopr谐振频率,对应给定的参考变量频率,如果是电压环就是给定的参考交流电压频率。为了方便建模可以考虑把Kp单独拿出来,也可以整合成一个完整的传递函数。

根据PR控制器的传递函数

 PR控制器连续积分组合及模型

 写成积分组合形式Kp单独拿出来:

 R(s)=\frac{y(s)}{u(s)}=\frac{2K_{r}W_{c}s}{s^{2}+2W_{c}s+W_{o}^{2}}

 分子分母调换一下:

\frac{u(s)}{y(s)}=\frac{s^{2}+2W_{c}s+W_{o}^{2}}{2K_{r}W_{c}s}=\frac{s}{2K_{r}W_{c}}+\frac{1}{K_{r}}+\frac{W_{o}^{2}}{2K_{r}W_{c}s}

把u(s)提出来:

u(s)=\frac{s}{2K_{r}W_{c}}*y(s)+\frac{1}{K_{r}}*y(s)+\frac{W_{o}^{2}}{2K_{r}W_{c}s}*y(s)

 再把y(s)挪到等号左边:

\frac{s}{2K_{r}W_{c}}*y(s)=u(s)-\frac{1}{K_{r}}*y(s)-\frac{W_{o}^{2}}{2K_{r}W_{c}s}*y(s)

 得到如下的表达式:

y(s)=\left [ u(s)-\frac{1}{K_{r}}*y(s)-\frac{W_{o}^{2}}{2K_{r}W_{c}s}*y(s) \right ]*\frac{2K_{r}W_{c}}{s}

 到这一步就可以用Simulink搭成积分的形式了。

 实际中,把1/Kr这一项去掉也不影响系统正常工作,所以有些PR控制器可能没有这一项。如下所示:

 对比如下,有1/Kr和没有区别不是很大,特别是Kr选取比较大的时候,这一项的影响较小,实际中可以根据取值决定是否需要,可以节省那么一丢丢的算力。

 黄色省掉了1/Kr的项,蓝色保留

 PR控制器连续传递函数及模型

 采用连续传递函数直接控制,如下是包含Kp的控制器完整传递函数,在仿真中直接用Transfer Fcn模块做控制器也是可以的。

 和通过模块搭建的积分形式在相同输入的情况下,输出完全重合,这也从侧面验证了前面搭的积分组合形式没任何问题。

 PR控制器离散积分及模型

前面都是连续系统的仿真,实际工程需要离散化,对于积分组合形式只需要加上个速率转换,把连续积分换成离散积分就能得到离散积分的形式,如下:

 Matlab可以通过c2d的函数把连续传递函数转换成离散传递函数,如下:

只需要根据实际工程中的控制器执行频率设置采样时间和离散方式就可以了,这里选择tustin双线性变换的离散方法。

Dpr_Z=c2d(Cpr_s,Tprs,'tustin');

离散化的方法有很多:前向差分法、后向差分法、双线性变换、预插值双线性变换、脉冲响应不变法、零极点匹配法、零阶保持不变法、一阶保持不变法,实际的嵌入式系统用零阶保持和双线性变换都差不多,反正都是通过Matlab直接得到离散化后的传递函数,Bode图也都差不多。

 PR控制器离散传递函数及模型

R(s)离散化后得到R(z)

 这里有个坑需要注意,按照得到的离散传递函数直接构建的控制器输出和连续传递函数控制器输出不一样,完全不能让系统收敛,如下图:

 这里需要把Matlab的数据显示精度改成long。不然会影响控制器的正常工作,改完后得到的传递函数如下:

 连续的PR控制器和离散的PR控制器输出重合。

 细节上连续的更光滑,离散的会有70Khz的突变,不影响实际的控制系统。

 PR控制器差分方程及模型

这里只对R(z)进行差分方程化,其实在前面离散积分组合,离散传递函数都可以直接生成代码应用到工程里面,这里再多一个差分方程的形式方便另一种方式手写代码实现。

 为了方便差分方程的推导,可以把离散传递函数写成表达式:

R(z)=\frac{az^{2}-a}{z^{2}-bz+c}=\frac{y(z)}{x(z)}

 分子分母同时除以z^2:

\frac{a-az^{-2}}{1-bz^{-1}+cz^{-2}}=\frac{y(z)}{x(z)}

 交叉相乘提出y(z):

y(z)=bz^{-1}y(z)-cz^{-2}y(z)+ax(z)-az^{-2}x(z)

 把上式写成差分方程:

y(k)=by(k-1)-cy(k-2)+ax(k)-ax(k-2)

 根据差分方程建模得到:

 不管用哪种形式作为控制器,同样的输入经过控制器后输出都一样,证明不管是传递函数还是差分方程还是积分组合的方式模型搭建都没有错误。

系统仿真效果

最后通过一个单相逆变器系统仿真验证

 给定电压和反馈电压重合

 输出的交流电压和电流

总结

通过一个单相逆变器,引入了PR控制器,从仿真的角度来讲不管是s域传递函数还是Z域传递函数仿真都没有问题,实际工程中程序是在单片机里执行,需要把PR控制器离散化,对于手写代码和基于模型的自动代码生成来讲可以考虑差分方程或者积分组合的形式,不考虑去饱和直接写离散传递函数也可以。

模型下载地址:https://download.youkuaiyun.com/download/weixin_42665184/89557195?spm=1001.2014.3001.5503

您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

04-02
<think>好的,我现在需要帮助用户了解在Simulink中设计单相自耦变压器所需的元件。首先,回顾之前的对话,用户已经询问过关于自耦变压器的一般元件,现在具体到单相的情况。用户可能是在进行电力系统仿真,可能是学生或者工程师,需要构建单相自耦变压器的模型。 首先,我需要确定单相和三相自耦变压器的区别。单相自耦变压器只有一个绕组,部分绕组作为公共部分,而三相则有三个绕组。因此,在Simulink中使用的模块可能不同。之前的回复中提到使用三相变压器模块,但单相可能需要不同的模块,比如Linear Transformer或者Single-Phase Transformer。 接下来,我需要检查Simulink库中可用的单相变压器模块。可能路径是Simscape > Power Systems > Specialized Technology > Fundamental Blocks > Power Grid Elements。这里可能有单相的变压器模块,比如Single-Phase Transformer或Linear Transformer。需要确认是否支持自耦变压器的配置,即如何设置绕组连接方式。 参数设置方面,单相自耦变压器的匝数比需要调整,比如输入电压和输出电压的比例。同时,绕组的阻抗参数(电阻和漏感)也需要根据实际规格设定。此外,可能需要考虑铁芯是否饱和,是否需要启用Saturable Core选项。 电源部分,用户需要使用单相电压源,而不是三相。路径可能在Sources下,设置电压和频率。负载部分同样需要单相的RLC负载,用来模拟不同的负载情况。 测量和保护元件方面,电压和电流测量模块同样是必需的,但需要单相版本。断路器或开关也需要单相的,用于模拟电路中的切换或故障情况。 连接线路方面,单相系统可能需要串联RLC元件来模拟线路阻抗,这和三相类似,但结构更简单。 仿真工具方面,示波器和Powergui模块仍然是关键,用于显示波形和配置仿真参数。 需要注意的是,单相自耦变压器的绕组连接必须正确,公共端和串联部分的极性不能接反,否则可能导致短路。此外,变比计算同样适用V1/V2 = N1/N2的公式,但只需要处理单相的情况。 用户可能的深层需求是希望构建一个准确的单相自耦变压器模型,用于仿真其在不同负载条件下的性能,或者进行故障分析。因此,需要确保所有元件正确连接,参数设置合理,仿真步长足够小以保证精度。 可能还需要提醒用户参考Simulink的官方文档或示例模型,特别是单相自耦变压器的案例,以进一步优化设计。同时,验证模型的正确性,比如通过比较仿真结果与理论计算,确保变比和效率符合预期。 总结来说,回答需要结构清晰,分步骤说明所需元件及其配置,强调单相与三相的不同之处,并提供实际示例和注意事项,帮助用户顺利完成建模。</think>在Simulink中设计单相自耦变压器需要以下关键元件和步骤: --- ### **1. 核心元件:单相变压器模块** - **模块路径**: `Simscape > Power Systems > Specialized Technology > Fundamental Blocks > Power Grid Elements` - **选择类型**: - **`Linear Transformer`**:线性变压器,可配置为自耦变压器。 - **`Single-Phase Transformer`**:通过参数设置实现自耦功能。 - **参数设置**: - **绕组连接方式**:将主绕组(Primary)和部分绕组(Secondary)串联,公共端作为低压输出。 - **变比调整**:通过设置匝数比(例如:输入220V,输出110V对应2:1)。 - **阻抗参数**:设置绕组电阻(R)和漏感(L),需根据实际规格计算。 - **铁芯饱和特性**:若需非线性特性,勾选`Saturable Core`选项。 --- ### **2. 电源与负载** - **单相电压源**: - 路径:`Simscape > Power Systems > Specialized Technology > Sources > AC Voltage Source` - 设置参数:幅值(如220V)、频率(50Hz/60Hz)、相位角(0°)。 - **单相负载**: - 路径:`Simscape > Power Systems > Specialized Technology > Elements > Series RLC Load` - 配置阻性(R)、感性(L)或容性(C)负载,例如:`R=50Ω`, `L=0.1H`。 --- ### **3. 测量与保护元件** - **电压/电流测量模块**: - 路径:`Simscape > Power Systems > Specialized Technology > Sensors and Measurements` - 使用`Voltage Sensor`和`Current Sensor`监测输入/输出信号。 - **断路器或开关**: - 路径:`Simscape > Power Systems > Specialized Technology > Switches & Breakers` - 添加单相断路器(如`Circuit Breaker`)模拟短路或负载切换。 --- ### **4. 连接线路与阻抗** - **单相串联RLC元件**: - 模拟线路阻抗,路径:`Simscape > Power Systems > Specialized Technology > Elements > Series RLC Branch` - 设置电阻、电感或电容值(例如:`R=0.1Ω`, `L=1e-3H`)。 --- ### **5. 仿真与分析工具** - **示波器(Scope)**: - 实时显示波形,路径:`Simulink > Commonly Used Blocks > Scope` - 连接电压/电流传感器输出,观察动态特性。 - **Powergui模块**: - 路径:`Simscape > Power Systems > Specialized Technology > Fundamental Blocks` - 配置仿真参数(如步长设为$1e-5$秒),启用谐波分析或稳态计算。 --- ### **关键注意事项** 1. **绕组极性**:公共端(Common)与串联绕组的相位需一致,避免短路。 2. **变比计算**:公式为 $\frac{V_{\text{in}}}{V_{\text{out}}} = \frac{N_1 + N_2}{N_2}$,其中$N_1$为串联绕组匝数,$N_2$为公共绕组匝数。 3. **仿真精度**:使用较小步长(如$1e-5$秒)以捕捉高频瞬态过程。 4. **接地要求**:确保电路接地(添加`Ground`模块),路径:`Simscape > Electrical > Elements`。 --- ### **示例模型结构** ``` 单相电压源 → 自耦变压器 → 线路阻抗 → 负载 ↑ 测量模块 → 示波器 ``` --- ### **验证步骤** 1. **空载测试**:断开负载,验证输入/输出电压比是否符合设计。 2. **负载测试**:接入负载后,观察电压调整率和效率。 3. **短路测试**:通过断路器模拟短路,检查保护逻辑或瞬态响应。 通过上述元件组合,可搭建完整的单相自耦变压器模型,并分析其稳态与动态性能。建议参考Simulink官方示例`Single-Phase Transformer Example`进行细节优化。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡洛斯伊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值