首页/文章/ 详情

用 Simulink 设计功率因数校正模块

1年前浏览6716

作 者 简 介

周末,MathWorks 中国行业市场部经理,专注于基于模型的系统和软件设计。负责 MATLAB/Simulink 在机器人、汽车电子、电力电子等行业的推广和应用,曾就职于 IBM 和上海贝尔。


在电网中,由电源供给负载的电功率有两种:一种是有功功率,另一种是无功功率。

无功功率(Q 或者 Reactive Power):许多用电设备均是根据电磁感应原理工作的,如变压器、电动机等,电动机需要建立和维持旋转磁场,使转子转动,从而带动机械运动,电动机的转子磁场就是靠从电源取得无功功率建立的。

有功功率(P 或者 Real Power):所谓有功功率,即能将电能转化为其他能量形式的一种可以直接消耗掉的电功率,比如电机将电能转化为机械能。

可以把有功功率和无功功率看成直角三角形的两个边(勾和股),那么这个直角三角形的弦称之为视在功率(Apparent Power)。如果电子线路为一个存粹的线性电路(如纯电阻),则Power Factor = cos θ,即有功功率和视在功率之比值。

功率因数校正(Power Factor Correction 或者 PFC)的目的,就是使得功率因数接近于 1。上图的蓝色线段表示交流电压、橙色表示交流电流、黄色为瞬时功率、紫色为平均功率。可以看到,当交流电压和电流同相位的时候,输出的功率最大。换句话说,如果功率因数过低,则会造成电网的能源浪费。

如果电子线路为非线性电路,则功率因数还要受总谐波失真(Total Harmonic Distortion)的影响。例如一个 AC(交流电)到 DC(直流)的电源转换器中,有很多高频的电子开关器件(例如 IGBT、MOSFET)开关的高频闭合会产生大量的谐波。在非线性电路中,功率因数的定义为:

对于一个单纯的线性电路来说,功率因数校正是相对比较简单的。可以通过无功补偿将电流的相位调整和电压一致。而对于有大量谐波存在的非线性电路,则需要通过电力电子的控制技术,迫使交流电路电流追踪电压,并使得电流和电压同相位,使电路呈纯阻性。这就是功率因数校正。

自2001年起,欧盟正式对电子设备谐波有详细规范,规定凡输出在75W~600W 范围间之电子设备产品,都必须通过谐波测试[EN 61000-3-2]。

设计举例

在 MATLAB 中搜索“Power Factor Correction for CCM Boost Converter”。这是一个从 120V AC 进行升压变换到 400V DC 的例子。AC先通过二极管整流桥,将电压转换成直流电,然后通过升压电路(Booster Converter)将低电压转换成高电压。

如果不做任何的功率因素校正控制,比如给 PWM 占空比一个恒定值。那么 AC 端出来的电压电流波形大概是下图这样的:可以看到:



  1. 电压和电流有明显的相位差;


  2. 电流明显有谐波畸变。功率因数一定很低。

现在试图去通过控制器去控制 PWM 占空比,去迫使电流和电压同相位,并减少谐波成分。

整个的控制示意图如下所示:

整个控制回路为双环,即外环为电压环,内环为电流环。电压环通过参考电压和实际输出电压的比较误差,通过PI控制器和电压锁相环所得结果相乘,产生参考电流。

内环通过参考电流和实际电流的比较误差,通过PI控制器产生PWM占空比,去驱动MOSFET。


被控对象线性化      
众所周知,PID 控制器为线性控制器。它要求被控对象是一个线性化的被控对象。如果这时候,用 PID tuner,它会告诉你“无法线性化”被控对象。原因是:系统中有诸如MOSFET之类的开关器件。所以 PID tuner 无法直接线性化被控对象。      
这种情况下,可以使用“频域扫描(AC Sweeping)”技术。原理是,将被控系统看成一个黑盒,选择合适的工作点 (operation point)。然后输入不同频率的正弦波,通过观察输出端的频域响应,来估计被控对象的波特图。      


具体操作方法如下,以电流环为例:

  1. 先计算如果输入电压为 DC 120V,输出电压达到 400 V 时,PWM的取值约为 0.72
  2. 将 AC 替换为 DC 120V,PWM 占空比替换为 0.72
  3. 用 Linear Analysis Tool 创建频域观察输入输出点——右键信号线——Linear Analysis Points > Input Perturbation 和 Output Measurement。
           
  4. 选择工作点(operation point)。选择 Analysis >Control Design > Frequency Response Estimation。在 Operation point 处选择 take simulation snapshot——意味着在此工作点系统基本达到稳定状态。例如 0.15 秒。

           
  5. 注入激励频域信号。在 Input Signal 下拉菜单, 选择 Fixed Sample Time Sinestream。

    然后,选取激励频域信号的频率范围——例如 10 Hz 到 15K Hz。激励信号的幅度,一般为稳态 duty cycle 的 5% 左右,即 0.72*5%=0.036。        
           
  6. 得到被控对象波特图。在 estimation 栏,选择 Bode Diagram。此后,在一段时间的 AC Sweeping 仿真后,会出现被控对象的波特图。

           
  7. 保存线性化的被控对象。在上图中,将 frd(frequency-response data)保存到工作空间。

PID参数调试

我们已经得到了内环(电流环)的线性化的被控对象(frd)。那这个时候,PID tuner 就可以起作用了。单击 PID 的“Tune”。

这时候,在选择被控对象时候,选择 Import,即刚才保存的 frd。PID tuner 可根据频域和时域的指标进行图形化调试。从系统的开环频域响应来看,增益裕度和相位裕度都很满意。

在调试完内环后,可依据同样的办法调试外环。即先从频域辨识出被控对象,而后进行 PID tuning。本文不再赘述。最后我们看一下内外环参数完全调试好后的结果:输入端电流和电压几乎完全同相位,而且电流谐波也大大消除。输出负载电压也基本满意。

我们也可以换一种方式来调试 PID 控制器的的参数。还是以外环为例,用 PID tuner 的时候,我们选择:Plant à Identify new plant 。然后选择用 Step Response 作为激励响应。这时候 PID tuner 回自动断开控制回路,然后运行两次开环的激励仿真。第一次没有 step 激励,第二次有 step 激励。利用两次响应的差来估计系统的传递函数。

在选择如何估计传递函数时候,这里选择了“two real poles”,然后工具会自动进行曲线拟合。

在得到 plant 的传递函数后,PID tuning 就变得非常简单:无论从频域还是时域来看,效果都很好。


说明:本文来源网络;文中观点仅供分享交流,不代表本公 众 号立场,转载请注明出处,如涉及版权等问题,请您告知,我们将及时处理。

来源:电力电子技术与新能源
非线性燃料电池电源电路汽车电力电子MATLAB新能源Simulink电机PFC太阳能控制Plant
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-05-20
最近编辑:1年前
获赞 154粉丝 261文章 2059课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈