声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1231|回复: 0

[综合讨论] 请问如何将滞环加如程序

[复制链接]
发表于 2007-6-8 08:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位前辈,小弟变成实现高功率因数整流器的仿镇时,老师让我将滞环环节加入,请问该如何加呢??附,程序如下:
clear;                                %清除工作空间所有的变量
global D L R C Vi;                    %定义全局变量
Kp=2.0;                               %PI调节器的比例环节比例系数
Ki=1/1500.0;                          %电源反馈的比例系数
Kv=1/1500.0;                          %输出电压反馈的比例系数
KI=1.0;                               %PI调节器的积分环节比例系数
x0=[36.66;1000];                        %电压、电流的初始值
R=100;L=2.0e-4;C=4.70e-4;               %电阻、电感、电容值
U0=x0(2,1);
Ud0=x0(2,1);is0=x0(1,1);Im(1)=36.66;e(1)=0;%给定初始值
Ts=100.0e-6;                           %定义步长
for n=1:8000                          
   Udg=U0*Kv;                           %输出电压给定
% if(n>=1000),R=200;end                  
   T(n)=(n-1)*Ts;                     %定义时间参数
   Ud(n)=Ud0;is(n)=is0;               %给电压、电感赋值
   es(n)=abs(311*sin(100*pi*Ts*(n-1)));%电源电压
   Vi=es(n);
   esp(n)=es(n)*Ki;
   Udp(n)=Ud(n)*Kv;                   %输出电压采样
   e(n+1)=Udg-Udp(n);                 %偏差信号
   dIm(n+1)=Kp*(e(n+1)-e(n))+KI*e(n+1);%增量式PI调节器模型
   Im(n+1)=Im(n)+dIm(n+1);
   isg(n)=Im(n+1)*abs(sin(100*pi*Ts*(n-1)));%给定电流值
   %if(isg(n)>
   
   
   ukp(n)=esp(n)-L*(isg(n)-is(n))*Ki/Ts;%调制波uk
   d(n)=1-ukp(n)/Udp(n);                %占空比控制规律
   if(d(n)>1),d(n)=0.98;end           %限幅
   if(d(n)<0),d(n)=0;end
   D=d(n);
   tto1=(n-1)*Ts;                     %时间范围
   ttf1=n*Ts;
   sj0=[tto1,ttf1];
   [tt,x]=ode45('boost1',sj0,x0);      %调用龙格-库塔算法
   [q,p]=size(x);                     %求行列数
   x0(:)=x(q,:);                      %将运算结果赋给电压、电流初值
   y(n,:)=x(q,:);
   Ud0=x0(2,1);is0=x0(1,1);
   if(rem(n,500)==0),disp(n);end
end
t1=0:Ts:(n-1)*Ts;
t2=0:Ts:n*Ts;
%t1=0:Ts:2000*Ts;
%t2=0:Ts:2000*Ts;
figure(1)
subplot(2,2,1)
plot(t1,es,'r');
hold on;
plot(t1,Ud,'b')
title('输入电压e_s-r  输出电压U_d-b');
subplot(2,2,2)
plot(t2,Im,'b');
title('Im');
subplot(2,2,3)
plot(t1,isg,'g');
title('给定电感电流isg');
subplot(2,2,4)
plot(t1,is,'y');
title('电感电流is');
figure(2)
plot(d);
title('占空比');
figure(3)
plot(ukp/Ki);
title('uk');
figure(4)
plot(e);title('偏差信号e');
figure(5)
plot(t1,es,'r');
hold on;
plot(t1,is*5,'k');
hold on;
plot(t1,Ud/2,'b');
% axis([T(n-300) T(n-100) 0 400]);
title('突减负载:红色代表输入电压,黑色代表输入电流,绿色代表输出电压');


子程序:
function zdot=boost1(tt,x)
global D L C R Vi
zdot=zeros(2,1);
zdot(1)=Vi/L+(D*x(2))/L-x(2)/L;
zdot(2)=x(1)/C-(x(1)*D)/C-x(2)/(R*C);

我的联系方式:QQ290597647   邮箱:lys198573@163.com

[ 本帖最后由 hydwxb2004 于 2007-6-8 09:17 编辑 ]

新建 Microsoft Word 文档 (2).doc

46.5 KB, 下载次数: 26

不加滞环时系统控制图

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-24 07:26 , Processed in 0.055295 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表