PSIM作为一款非常方便的电力电子仿真软件,主要得益于其丰富的功能模块。下面我将主要讲解C-block模块的使用;
1、先打开软件如何用c语言控制硬件,新建文件,然后找到C-block模块;
2、C-Block模块功能介绍如下:
3、为什么要学习C-Block模块?让我们举个例子。比如我们有一个三相正弦信号a\b\c,我们需要求三个信号a\b\c的最大值和最小值之和的一半; o={min(a,b,c)+max(a,b,c)}/2;如果我们用硬件电路搭建,仿真图会比较复杂,这时候C-Block模块就体现了它的优势;
运行结果如下:
从上面的应用,你也可以开始实现C-Block的功能了。是的,我们在做数字电源控制的时候,可以对C-Block模块进行编程,实现我们模块的数字控制;
让我们通过一个简单的Buck电路来介绍C-Block数字控制:
1、简单的BUCK电路如何用c语言控制硬件,电压环控制,输入50V,输出10V;
2、先接电路,控制回路;
3、调用PID模块调试相应的PID参数(仅使用P和I);
4、将调试的参数转换成C语言;
//********************PID参数********************//
双 PWM_PID=0;
const double PID_K1=0.0525; //k1=kp*(1+Ts/ki)
const double PID_K2=0.05; //k2=kp (Kp=0.05 Ki=1/1000 Ts=1/20000) Ts控制采样频率
双 PID_Error_0=0;双 PID_Error_1=0;
//*************************************************** ****//
/****************输入音量采集******************/
Vref=in[0];V1=in[1];
/******************比例积分运算**************/
PID_Error_1 = PID_Error_0; //存储当前偏差
PID_Error_0 = Vref-V1; //偏差计算(积分)
PWM_PID+=(PID_K1 * PID_Error_0- PID_K2 * PID_Error_1);
/****************PID输出限制器**************/
如果(PWM_PID
if(PWM_PID>1) PWM_PID=1;
out[0]= PWM_PID;
5、硬件模块与C语言控制效果对比;
请登录后发表评论
注册
社交帐号登录