|
|
|
|
| |  |  | | | | | | 我昨晚运行了仿真,速度有点慢。还有一个疑问:你的Kp和Ki是在哪里给定的?初学PSIM,不喜勿喷。
|
|
|
|
|
|
|
|
|
|  |  | | | | | Matlab仿真速度太慢,而且对电脑要求比较高,操作也比较复杂 |
|
|
| |  |  | | | | | | 那你们用的什么软件?PSCAD?我们研发仿真都用的matlab啊
|
|
|
| | |  |  | | | | | | | 软件工程师也是用的matlab的,我自己比较喜欢用PSIM
|
|
|
| | | |  |  | | | | | | | | 请问您有学习使用PSIM的资料或者书籍吗?前段时间我也想学PSIM,但资料太少了。 |
|
|
|
|
| | | | | | |  |  | | | | | | | | | | | 看看有多少人想学这个软件,超过十个,我后面项目做完了,就开个帖子专门讲解PSIM仿真的  |
|
|
|
|
|
|
|
|
|
| | | | | |  |  | | | | | | | | | | 强烈建议楼主开个讲座,一直找不到关于psim c block模块是怎么使用的,里面的算法和语音是直接写的,还是怎么弄的一直看不明白  。
|
|
|
|
|
|
|
|
 |  | | | | 搞硬件的也能写代码,全才呀  。
看LZ仿真电流环用的电感电流,并网不是应该控输出电流吗? 还是说跟滤波器的拓扑有关,LCL型控输出电流? 实际产品中也是控电感电流? |
|
|
|
 |  | | | | 重复计算为什么可以减少电流谐波呢,楼主有没有相关的资料参考参考。另外锁相环是否使用SOGI的算法呢?
|
|
|
|
|
 |  | | | | 66666啊,一般都是H6吧,楼主,我也是做光伏逆变器的,求交流 :光伏+风电+微电网 429126230欢迎你的加入! |
|
|
|
|  |  | | | | | 可以参考参考一下,关键是重复电流是用的上一个周期同步奏上一个电流量做反馈的 |
|
|
| |  |  | | | | | | 我平时会用Multisim来仿真,但复杂一点的电路就仿真不了,总是提示无法收敛。不知道这个PSIM软件如何!
|
|
|
|
| |  |  | | | | | | 我用的是重复电压,PI+重复控制,重复控制器里面还加了陷波器和二阶低通滤波器,用MATLAB编了一下,发现结果都不对,在PSIM里搭建重复控制完全没头脑。看了你的程序,懂了一点点,但还是做不出
|
|
|
| | |  |  | | | | | | | 重复控制的原理很简单的,代码也很好写,是遇到什么问题吗? |
|
|
| | | |  |  | | | | | | | | 重复控制中补偿器部分,有补偿环节、陷波器和二阶低通滤波器,不会用程序编出来;试用元件搭,但没有输出。
|
|
|
| | | |  |  | | | | | | | | 因为没有办法添加图片,所以就粘贴了。
修改后的重复控制只采用了内模单元,没有添加补偿器和超前环节。Q(z)选择的0.95,之前仿真结果是对的,但那个程序被我无意删了,现在的这个没有验证过,因为我的VS不工作了。。。想听听你的意见。
//重复
if(count<400)
{ count++;}
else
{count=0;}
i=count;
P_error_old=P_error_new;//延迟一个周期
P_error_new=Vref-uf;
u_output[0]=0;
u_output[1]=0;
store_X1=P_error_new;
store_X2=P_error_old;
store_Y1=u_output[1];
u_output[1]=u_output[0];
MAC=store_X1;
MAC+=qz*store_X2;
u_output[0]=MAC;
iref=MAC;
|
|
|
 |  | | | | 您好,我想请问市电锁相中 Ual=U[1]; //U¦Á
Ube=63.6646*(U[2]*0.2+U[3]*0.8); //U¦Â
是用哪种方法得到的正交分量,比如我知道的有SOGI 或者三相延时,您这里用的是什么方法呢 |
|
|
|  |  | | | | | 单相信号sinA,求导得到cosA,sinA和cosA就可以锁相 |
|
|
|
| | |  |  | | | | | | | 锁相的前提是要提取到一对正交因子;假设我们市电的信号是A(t)=310*(sin(100π*t))
那对应的正交因子应该是B(t)=310*(cos(100π*t))
在实际DSP采样中我们是不知道我们的信号实际是怎样的,只能知道输入信号是一个正弦信号;
但是我们知道一个正玄信号求导刚好变成一个余弦信号,这正好就是我们要求得正交因子呀;
我们知道对A函数的求导A`(t)=[A(t+△t)-A(t)]/△t
这时候我们直接看A(t)=310*(sin(100π*t))----->A`(t)=310*100π*(cos(100π*t))
也就是我们所要求的B(t)=A`(t)/100π;
明白这里,在回去看代码
U[2]=[A(t+△t)-A(t)],△t=1/20000
B(t)=Ube=[A(t+△t)-A(t)]/△t/100π=63.694*U[2];
考虑这样计算出来的B(t)是滞后于A(t)一个采样周期的,所以加了补偿B(t)=63.694*(U[2]*05+U[3]*0.5)(具体补偿效果根据实际修改参数);
|
|
|
|
|
| | | |  |  | | | | | | | | 版主,你好,这里我仍有点不理解,你这里的63.694是由/△t/100π所求得,100π是由2πf计算所得吗?假定的50Hz?若是,如何得知的是50Hz(本身就是为求锁相,我们应该假定并不知到实际的是多少频率才对吧)? |
|
|
| | | | |  |  | | | | | | | | | 应该是假定电网频率不会大幅波动?如果考虑某些情况(虽然应该很少)频率波动较大我觉得采用测量的电网频率代替这里的50Hz也许可行,但不知道实际系统中有没有这种情况、可不可以这么处理?在版主的原仿真上把电网频率改成了100Hz(为了突出问题,实际应该不可能),发现虽然电流频率可以跟上,但电流畸变严重。
加入网侧频率监测,代替版主的50Hz(也就是用20000/f/2pi代替原来的20000/50/2pi)之后,发现可以很好跟踪网侧频率,输出电流畸变现象也小多了。
第一次回帖,各位前辈请不吝赐教
-
原仿真
-
采用频率检测
|
|
|
| | | |  |  | | | | | | | | 你好,我将程序中的锁相部分单独拿出来仿真,发现在仿真的开始部分生成的theta是个负值。能帮忙解释下原因吗?
|
|
|
|
|
|
 |  | | | | 仿真资料下载后为什么只有波形图?各位老铁也是一样吗
|
|
|
 |  | | | | 楼主,下载下来,运行出错
提示:
Error Message:
Element: DLL_EXT Name: PLC
ERROR: cannot find file 'Stdlib.h'
ERROR: syntax error before or at line 1 in file 'C:\PROGRA~2\Powersim\PSIM90~1.3_T\embedch\PsimTmp\script_1.cxx'
==>: #include <Stdlib.h>
BUG: #include <Stdlib.h><== ???
ERROR: cannot find file 'String.h'
ERROR: syntax error before or at line 2 in file 'C:\PROGRA~2\Powersim\PSIM90~1.3_T\embedch\PsimTmp\script_1.cxx'
==>: #include <String.h>
BUG: #include <String.h><== ???
ERROR: cannot find file 'math.h'
ERROR: syntax error before or at line 3 in file 'C:\PROGRA~2\Powersim\PSIM90~1.3_T\embedch\PsimTmp\script_1.cxx'
==>: #include <math.h>
BUG: #include <math.h><== ???
提示没有stdlib.h,string.h,math.h。这个仿真文件要放在什么路径下运行?这三个文件从要从哪里拿到?
|
|
|
|  |  | | | | | 好用的,应该是你软件的问题。最好把你以前的软件删除,再重装
|
|
|
| |  |  | | | | | | 你好,我装的是9.0.3版本的,从网上有一些简单的,纯模块的可以运行起来,不知道为什么下载一些带有c编程的就是不行,你是装什么版本的,方便发一个吗?谢谢
|
|
|
|
|
|
|  |  | | | | | 楼主的这个一定没批量生产过,这种锁相方式在客户端会死的很惨。
|
|
|
|
|
 |  | | | | 虽然仿真与实际工程有一定差距,但是绝对是验证算法的利器,只不过很多时候问题不是出在算法上  |
|
|
 |  | | | | 感谢前辈分享,我正在学习逆变器,这个资料对于我很有帮助 |
|
|
|
|
|
|
|
|
|
 |  | | | | 请问 市电锁相、MPPT、逆变控制那块使用C-block元件编程的吗?具体程序是什么呢?新手刚学。
|
|
|
|
|
|
|
|
|
|
|
|
 |  | | | | 楼主好,对于光伏电池板有个疑问其实是通过干扰法找最大功率点嘛,P0(U1),P1(U+U1),P2(U-U1),是否存在这个问题呢
p0>p1>p2 m=0
p0>p2>p1 m=0
P1>p0>p2 m=2
p1>p2>p0 m=0
p2>p1>p0 m=0
p2>p0>p1 m=-2
如果按照这种思路其实是不对的,如果针对具体的功率曲线,是不是就不是上面讲的情况?
而程序中体现出来的曲线其实是单调的或者存在一个波峰,如果曲线有多个波峰,程序就是有点问题的,是吧?
程序中应该是以下几种工况
p0>p2>p1 m=0
p0>p1>p2 m=0
p1>p0>p2 m=2
p2>p0>p1 m=-2
,m范围正好和程序是对应关系,这样理解是否正确?
|
|
|
 |  | | | | 楼主,mppt几点疑问帮忙看一下,谢谢
2,最后输出最大功率点是三个功率就平均值,为什么不是最大值呢?
3,
if(count_500Hz==1) // u 第一个5000us开始执行这段if程序(MPPT只执行到这里)? { P[0]= PV_u_1KHz* PV_I_1KHz; V_ref_temp=V_ref+u1; } if(count_500Hz==2) //u+u1 第二个5000us执行这个if语句(跳过第一个5000us if程序)?关键这个v_ref_temp为什么能和读取1k数据扯上关系的? 前面读取的1k数据做了一阶惯性滤波, { P[1]=PV_u_1KHz* PV_I_1KHz;
V_ref_temp=V_ref-u1;
|
|
|
 |  | | | | MPPT_PID+=( MPPT_Kp * MPPT_Error_0+ MPPT_Ki * MPPT_Error_1 + MPPT_Kd* MPPT_Error_2);
//PID计算式,更改系数以获得理想的输出 这个应该就是误差信号经过PID调节,是增量式PID?
if(MPPT_PID<0) 大神,这个位置为什么是o和1000比较呢,
MPPT_PID=0;
if(MPPT_PID>1000)
MPPT_PID=1000;
PWM=2*(1-MPPT_PID/U_bus)/fs; 主要是这个没有想明白,楼主?
out[2]=PWM;
out[3]=MPPT_PID;
}
|
|
|
 |  | | | | 感谢楼主分享!我最近也在用PSIM搭重复控制的模型,我没有想着用代码编,想直接通过搭硬件电路来完成,但是一运行它总是闪退也不知道什么原因。因为我是一个PSIM新手,看了楼主分享的东西感觉收获颇多,非常感谢!! |
|
|
 |  | | | |
PWM=2*(1-MPPT_PID/U_bus)/fs;
楼主,这个还有印象不,为什么表达式是这个样子的,没有理解上去呢?
|
|
|
|  |  | | | | | 正确推导是这样的,代码里面X2,可能是由于一开始是40KHz的开关频率,后面改成20KHz的开关频率
|
|
|
| |  |  | | | | | | 非常感谢楼主耐心解答,这个解释我想到了,*2确实没想到, 
只不过在程序里面看到了
PWM=2*(1-MPPT_PID/U_bus)/fs;
const int fs=40000; //开关管频率 全局变量定义
所以才非常好奇,
谢谢楼主大神。
|
|
|
|
 |  | | | | 我公司是做光伏逆变器测试系统,光伏模拟器等产品,欢迎一起探讨 |
|
|
|
 |  | | | | 楼主,重复控制不是还有低通滤波器、陷波器这些嘛?我看这个仿真系统控制部分的c代码没有这些啊,所以重复控制体现在哪呢? |
|
|
|
|
|
|
|
 |  | | | | 感谢楼主的无私分享!一直想学习单相逆变器重复控制方法,对我有很大的帮助!感谢!!  |
|
|
|
|
|
|
|
 |  | | | | 楼主,并网逆变器用LC滤波器跟L型滤波器差别不大吧。。 |
|
|
 |  | | | | 重复控制中补偿器部分,有补偿环节、陷波器和二阶低通滤波器,不会用程序编出来;试用元件搭,但没有输出。 |
|
|
|
|
 |  | | | | 请问楼主逆变器采用不同的控制策略会对系统有影响吗?我现在在做一个软开关的逆变器,但是bus无法稳压 |
|
|
 |  | | | | 保存了 最近用MATLAB搞电弧搞不出来 准备用PSIM试试 不知道楼主搞过电弧的仿真没有 |
|
|
|
|
|
|
|
|
|
|
 |  | | | | 版主,控制模块的程序里面Time_200KHz、Time_40KHz、Time_10KHz分别是什么意思呢? |
|
|
|
|
|
|
|
|
|
 |  | | | | 请问下母线电压误差计算反馈-误差(Inv_U_Error_0 =U_bus_rms-BUS_ref)? |
|
|
|
|
|
|
|
|
|
|
 |  | | | | PV的PSIM仿真有吗?自己做一直不知道参数该设置什么合适 |
|
|
 |  | | | | 为什么我仿真跑出来,锁相得到的相角与市电相差大概90度的样子呢? |
|
|
|
 |  | | | | 楼主你好,请问为什么三角载波的V_peaktopeak是1/20000,不是1? 1/20000怎么来的?
|
|
|
|
 |  | | | | 今天刚好还好做一下光伏相关的仿真,然后就看你的帖子真的很棒,非常感谢 |
|
|
|
|
|
|
|
|
|
|
|
|
|
 |  | | | | 1,请大神解释一下,M=0
M=0 有两种情况,
1. Pb>  a ,m=1, Pc>  a ,m=0 所以 结论不清楚。
2. Pb<  a ,m=-1, Pc<  a ,m=0 所以 结论是不是U=Ua。
最后为什么下定U=Ub?
|
|
|
|
|
|
|
|
|
 |  | | | | 麻烦问一下, CP03KTL_PR控制+重复控制 这个项目中 的变量BUS_ref ,fs 在什么地方定义的
|
|
|
 |  | | | | 麻烦再问一下 就是这个控制的 Kp,pr值是否可以设置, 在什么地方设置。 谢谢, Inv_I_PID=PR_Controller (X_error);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |  |  | | | | | | 可以发我一份不?329601389@ qq.com
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|