闭环交直交整流逆变稳压电路Matlab/Simulink仿真

开环电路具体有结构简单,容易实现的特点,但抗干扰能力弱。对于常见的交-直-交整流逆变电路,若采用开环控制,不仅在输入电压遭受扰动时输出无法很好稳定,而且也不能具备输出电压可调的优点。下面的模型给开环交-直-交整流逆变电路加上电压负反馈,用于控制输出电压稳定。逆变输出为单相交流,负载用电阻,输出交流反馈到控制系统(反馈信号标识为Vabc有误,应为Vo),Vref为目标电压(1为有效值220V,幅值311V),控制系统输出对应PWM波形到逆变器,用于调节输出电压。

当Vref=1,即控制输出电压幅值为311V,仿真得到输出电压波形如下,含有特定高次谐波,电压波形幅值接近311V的控制目标。

当需要调整输出电压幅值,比如Vref=0.8,即控制输出电压幅值为311*0.8= 248.9V,仿真得到输出电压波形如下,输出电压波形幅值接近控制目标。

 

S函数变占空比PWM发生器Simulink仿真

大家见惯了占空比为恒定值的PWM发生器,下面我们来看一个变占空比PWM发生器。假使我们需要一个特殊的PWM发生器,其占空比变化规则如下:前2.9us占空比从0.1线性增加到0.7,2.9us到50us线性减小到0.25,50us到100us线性减小到0.1。

该PWM发生器此处可以用S函数模块模拟,输出包含PWM波形和同一时刻的占空比,用示波器查看。Simulink模型如下图所示。

整个过程的仿真结果如下,PWM波周期为0.02us,仿真时长100us。由于PWM波频率较高,波形较密。占空比变化有三个过程,分别对应三段直线。

选其中第一个变化过程放大观察,如下图(波形的横轴放大到0-3us)。可见随着占空比从0.1逐渐增加到0.7,方波的脉宽逐渐变大。

 

Mathematica编程绘图画时钟

        我们都知道时钟上使用12小时模拟表盘,但殊不知24小时版本的模拟表盘至今仍在使用。在这个版本中,一天24小时都在一个表盘显示,秒钟和分钟都能显示出来。在24小时版本的时针每24小时走完一圈,在普通的12小时刻度盘上,时针每天走完两周。最早制作于中世纪的时钟,很有可能是24小时版本,而不是12小时版本。不过24小时版本也并非销声匿迹,至今在技术和专业设备等我们仍然可以看到一些欧洲古老钟表的早期设计,譬如德国、捷克、意大利等国家的天文钟。24小时刻度盘还用于技术和专业钟表,如飞行员手表和用作时间控制器的时钟。
        科普完毕后,下面用Mathematica演示显示一下时钟和手表上使用的24小时模拟表盘,如图一所示。程序使用Manipulate函数做成动画形式,模拟时钟真实走动。

附代码如下:

Manipulate[
Module[{hourHandUT,hourHand,minuteHand,secondHand},
hourHandUT={Blue,Thickness[.001],Arrow[{{0,-0.10},{0,.86}}]};
hourHand={Black,Thickness[.020],{Line[{{0,-0.10},{0,.60}}],Arrow[{{0,.60},{0,.73}}]}};minuteHand={Black,Thickness[.012],Line[{{0,-0.10},{0,.83}}]};secondHand={Red,Thickness[.005],EdgeForm[Black],Arrow[{{0,-0.10},{0,.93}}]};
Graphics[{
{Gray,Thickness[.02],Circle[]},
(*Thin ticks*){Gray,Thickness[.003],
Table[Line[{.95 {Cos[a],Sin[a]},.98{Cos[a],Sin[a]}}],
{a,0,2Pi,2Pi/6}]},
(*Thick ticks*){Gray,Thickness[.01],
Table[Line[{.94 {Cos[a],Sin[a]},.98{Cos[a],Sin[a]}}],{a,0,2Pi,2Pi/24}]},(*{*Numbers: <}*)
Style[Table[Text[Mod[i+hourAtTop,24],
.87 {Cos[-i Pi/12+ Pi/2],Sin[-i Pi/12+ Pi/2]}],{i,1,24}],”Label”, Bold, 14],
Rotate[hourHand,Dynamic[Refresh[-15 Mod[AbsoluteTime[]/3600 -( 12 + hourAtTop) , 60]\[Degree] , UpdateInterval ->10]], {0, 0}],
Rotate[hourHandUT,Dynamic[Refresh[-15 Mod[AbsoluteTime[TimeZone ->0]/3600 – (12 + hourAtTop), 60]\[Degree] , UpdateInterval ->10]], {0, 0}],
Rotate[minuteHand,Dynamic[Refresh[-6Mod[AbsoluteTime[]/60 , 60]\[Degree],UpdateInterval ->1]], {0, 0}],
Rotate[secondHand,Dynamic[Refresh[-6Mod[AbsoluteTime[], 60]\[Degree],UpdateInterval ->1/4]],{0, 0}]}]],
{{hourAtTop, 0, “hour at top”}, {0, 12}}]

暂态和稳态情况下电流互感器(CT)饱和matlab/simulink仿真模拟

电流互感器的饱和分为暂态饱和和稳态饱和,其中暂态饱和存在的主要原因有两个:一是故障切除后电流互感器普遍存在的铁心剩磁,铁心剩磁能使互感器在一次电流大于正常电流时很快达到暂态饱和;二是电力系统发生短路故障时,短路电流中大量存在非周期分量,而电流互感器是安装工频特性设计的,在传变非周期分量的过程中,互感器的励磁电流迅速增大使互感器很快达到暂态饱和。此时电流互感器已经工作在它的饱和区域,此时电流互感器的传变特性已经发生改变,不能正常的反应一次电流的实际工况。无论是暂态饱和还是稳态饱和,电流互感器的二次电流输出都比正常值偏小。

为分析 CT 饱和二次电流的特征,在 MATLAB/Simulink环境中搭建仿真模型。首先是稳态饱和。基波模块、二次谐波模块、三次谐波模块是用于计算与分析 CT二次侧电流谐波成分。为使波形更直观且便于比较,设置了转换系数 K,这样 CT 的一次侧电流波形与二次侧电流波形的幅值相等。仿真得到稳态饱和时二次电流波形如下。一二次侧电流波形:黄线为折算后的一次侧电流,紫线为二次侧电流。谐波分析图:黄色为基波(50Hz),蓝色为二次谐波,紫色为三次谐波。

改变负载阻抗大小,可以得到不同饱和程度下的 CT 二次电流谐波分析的多组数据。

接来下为暂态饱和分析。分析过程类似稳态,不再说明,以下为结果。

由对比分析可知,1.当 CT 处于稳态饱和状态下时,二次电流中大多数是三次谐波分量,并且不包含二次谐波分量;2.CT 暂态饱和与稳态饱和不同,其谐波分量主要二
次谐波为主,三次谐波分量较少。

 

matlab/gui界面设计案例-沿曲线滚动的小球

        matlab/gui界面案例-沿曲线滚动的小球:制作matlab/gui用户界面,其中滚动条来改变小球的滚动速度,“网格线”菜单用来对坐标轴加网格;单击“停止”按钮后小球停止滚动,并在对应区域显示小球循环滚动次数及终点的坐标值。

        运行效果如下。开始运行前适当调整小球运动速度,由运行效果可见,滚动条左边速度较偏慢,滚动条尽量往右调。每运行完一趟后循环次数自动加1,当按下停止按钮后即显示整体运行次数。

GIF