基于MATLAB的逆变电源研究含完整程序 中英文翻译
《基于MATLAB的逆变电源研究含完整程序 中英文翻译》由会员分享,可在线阅读,更多相关《基于MATLAB的逆变电源研究含完整程序 中英文翻译(41页珍藏版)》请在装配图网上搜索。
1、目录1 方案论证21.1 设计实现要求21.2 设计方案确定22 原理简介32.1 升压斩波电路32.1.1 升压电路原理图32.1.2 原理分析32.2 三相电压型桥式逆变电路42.2.1 逆变电路原理图42.2.2 逆变电路原理42.3 SPWM逆变器的工作原理52.4 Simulink仿真环境53 仿真建模53.1 斩波电路仿真建模63.2 逆变电路仿真建模73.3 逆变电源仿真建模84 仿真实现94.1 斩波电路仿真实现94.2 逆变电路仿真实现104.3 逆变电源仿真实现105 心得体会12参考文献12附录 逆变电源研究1 方案论证1.1 设计实现要求本次设计要求对逆变电源进行Mat
2、lab仿真研究,输入为100V,输出为380V、50Hz三相交流电,采用PWM斩波控制技术,建立Matlab仿真模型并得到实验结果。1.2 设计方案确定由于要求的输出为380V、50Hz三相交流电,显然不能直接由输入的100V直流电逆变产生,需将输入的100V直流电压通过升压斩波电路提高电压,再经过逆变过程及滤波电路得到要求的输出。根据课本所学的,可以采用升压斩波电路和三相电压型桥式逆变电路的组合电路,将升压后的电压作为逆变电路的直流侧,得到三相交流电,同时采用PWM控制技术,使其频率为50HZ。根据对输出电压平均值进行调制的方式不同,斩波电路分为脉冲宽度调制(PWM)、频率调制和混合型三种。
3、在此使用第一种方法,也是应用最多的方法。通过控制开关器件的通断实现电能的储存和释放过程,输出信号为方波,调节脉宽可以控制输出的电压的大小。根据直流侧电源性质不同,逆变电路可分为电压型逆变电路和电流型逆变电路。这里的逆变电路属电压型。采用等腰三角波作为载波,用SPWM进行双极性控制。该电路的输出含有谐波,除了使波形具有对称性减少谐波和简化控制外,还需要专门的滤波电路进行滤波。滤波电路采用RLC滤波电路。直流斩波电路采用PWM斩波控制,输出的方波经过滤波电路后变为直流电送往逆变电路。逆变采用PWM逆变电路,采用SPWM作为调制信号,输出PWM波形,再经过滤波电路得到380V、50Hz三相交流电。系
4、统总体框图如图1-1所示。图1-1 系统总体框图最后通过MATLAB集成环境simulink进行仿真,验证结果。2 原理简介2.1 升压斩波电路2.1.1 升压电路原理图图2-1 升压斩波电路原理图2.1.2 原理分析 假设L值、C值很大,V通时,E向L充电,充电电流恒为I1,同时C的电压向负载供电,因C值很大,输出电压uo为恒值,记为Uo。设V通的时间为ton,此阶段L上积蓄的能量为EI1ton,V断时,E和L共同向C充电并向负载R供电。设V断的时间为toff,则此期间电感L释放能量为 ,稳态时,一个周期T中L积蓄能量与释放能量相等,,化简得。输出电压高于电源电压,故称升压斩波电路,也称之为
5、boost变换器。T与的比值为升压比,将升压比的倒数记作,由于+=1,故。升压斩波电路能使输出电压高于电源电压的原因 :L储能之后具有使电压泵升的作用,并且电容C可将输出电压保持住。2.2 三相电压型桥式逆变电路2.2.1 逆变电路原理图图2-2 三相桥式逆变电路原理图2.2.2 逆变电路原理 该电路采用双极性控制方式,U、V和W三相的PWM控制通常公用一个三角载波,三相的调制信号、和一次相差120。U、V和W各相功率开关器件的控制规律相同,现以U相为例来说明。当时,给上桥臂以导通信号,给下桥臂以关断信号,则U相相对于直流电源假想中点的输出电压。当HelpDemosSimulinkSimPow
6、erSystemsGeneral Demos中的Three-Phase Two-Level PWM Voltage Source Converters。此电路采用了三相逆变桥集成块Universal Bridge 3 arms,滤波电路也已由Three-Phasse Parallel RLC Load模块构成,不需另加滤波电路。在此电路的基础上稍作修改,即构成三相桥式PWM型逆变电路模型,如图3-3所示。其中变压器仅起隔离作用,不对电压进行升降。图3-3 三相桥式PWM型逆变电路模型3.3 逆变电源仿真建模将斩波电路的输出接到逆变电路的输入,就得到逆变电源仿真模型,如图3-4所示。图3-4 逆
7、变电源仿真模型4 仿真实现4.1 斩波电路仿真实现打开斩波电路窗口,根据参考资料设置初试参数,设置时双击元件图标。输入直流电设为100V,开关器件IGBT和二极管Diode使用默认参数。负载R=50 ,电感L=6e-04H(即0.6mH),电容C=3e-05F(即30uF)。设置PWM发生器周期Period为0.0001s,占空比Pulse Width(% of period)为84.1%,其他参数不变。单击Start simulation按键,开始仿真,双击示波器Scope,观察输出波形图。此时输出波形持续等副震荡,且幅值太高,很不理想。分析知升降压斩波电路中电感和电容值均应很大,将电容值改
8、为500uF(C=5e-04F),电感值为3.8mH,观察波形,如图4-1 所示,输出电压约0.2s后稳定在630V。 图4-1逆变电路仿真波形通过几次调节各元件参数发现,改变电感和电容的值,输出电压稳定值也在变化。电容的作用主要是使输出电压保持住,电容值过小输出波形会持续震荡,应取较大,但过大的电容值会使输出电压稳定的时间太长。根据以上规律反复改变各元件参数,直到得到满意的结果。4.2 逆变电路仿真实现逆变电路中的参数主要有离散PWM生成器(Discrete PWM Generator)中的载波频率(Carrier frequency)、采样时间(Sample time)、调制参数(Modu
9、lation index)和输出电压频率(Frequency of output voltage),变压器(Transformer)中的绕组参数(Winding parameters),Three-Phasse Parallel RLC Load模块中的参考点相电压(Nominal phase-to-phase voltage)和频率(Nominal frequency)。由于要求输出交流电频率为50Hz,上述参数中的频率都应为50Hz。载波频率过小时,输出的波形有些跳动,和正弦波有一定的差距,如图4-2 逆变电路仿真波形所示。图4-2逆变电路仿真波形4.3 逆变电源仿真实现 首先应将斩波电路
10、的输出电压调到630V左右,再对逆变电源进行仿真。反复调节参数知当斩波电路中PWM脉冲生成器的占空比达到84.1%时,输出的直流电压约为630V,此时的波形如图4-5 所示,输出电压先大幅震荡,大约0.2s后,稳定在630V左右。图4-3逆变电源斩波输出波形图4-4 逆变电源输出波形改变逆变电源仿真模型中的参数到要求值,单击Start simulation按键开始仿真,图4-4为逆变电源输出波形。有图可知,逆变电源输出三相交流电相电压波形幅值为311V,各相电压互差120,周期为0.02s即频率为50Hz,满足任务要求。5 心得体会通过本次电力电子技术课程设计,我学会了使用Matlab软件仿真
11、集成环境Simulink进行仿真的基本操作方法,熟悉了用protel画电路图,也对斩波电路、逆变电源的原理有了进一步的理解。电力电子技术是我们非常喜欢的一门课程,学到的知识非常实用,这次课设让我把书本上的理论知识和实际电路仿真联系起来,在增强实践能力的同时,我也学到了运用matlab仿真电力电子电路,以后有很多电路我都可以做出仿真来。在做此次课程设计中,我还是遇到了很多问题的,比如画图时找不到IGBT元件,设定电感电容参数时花了好多时间,仿真时还找不到所需的元件,最后还是通过问同学和上网查资料才完成,还真有点辛苦。Matlab很强大,以后还要继续研究啊!参考文献1王兆安等.电力电子技术.北京:
12、机械工业出版社,20072薛定宇.基于Matlab/Simulink的系统仿真技术与应用.北京:清华大学出版社,20063王丹力等.Matlab控制系统设计、仿真、应用.北京:中国电力出版社,20074周建兴等. MATLAB从入门到精通.北京:人民邮电出版社,20085陈国呈.PWM逆变技术及应用.北京:中国电力出版社,2007附录一:程序代码(1):clear all;t=-2*pi:0.01:2*pi;y=3*sin(2*t);plot(t,y);xlabel (时间);ylabel(信号强度);title(正弦信号);grid on;axis(-7 7 -3.5 3.5);实验结果:正
13、弦序列:clear all;n=-20:20;y=sin(0.1*pi*n);stem(n,y);xlabel (n);ylabel(信号强度);title(正弦信号序列);axis(-20 20 -3.5 3.5);grid on;输出结果:程序代码(2):fs=100;%设定采样频率N=256;n=0:N-1;t=n/fs;x=sinc(2*pi*t-8); %生成sa信号subplot(311);plot(t,x);%作sa信号的时域波形xlabel(t);ylabel(y);title(sa信号sinc(2*pi*t-8)时域波形);grid on;y=fft(x,N);%进行N点ff
14、t变换mag=abs(y);%求幅值f=(0:length(y)-1)*fs/length(y);%进行对应的频率转换subplot(312);plot(f,mag);%做频谱图axis(0,100,0,20);xlabel(频率(Hz);ylabel(幅值);title(sa信号sinc(2*pi*t-8)时域波形幅频谱图N=256);grid on;z=angle(y);subplot(313);plot(f,z);%做相谱图axis(0,100,-5,5);xlabel(频率(Hz);ylabel(角度);title(sa信号sinc(2*pi*t-8)相频图N=256);grid on
15、;波形:程序代码(3):function varargout = two(varargin)% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, two_OpeningFcn, . gui_OutputFcn, two_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(v
16、arargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT% - Executes just before erzhi is made visible.function two_OpeningFcn(hObject, eventdata, hand
17、les, varargin)% This function has no output args, see OutputFcn.-%接下来是菜单的程序-function file_Callback(hObject, eventdata, handles)-%文件打开程序function open_Callback(hObject, eventdata, handles) name,path=uigetfile(*.bmp,载入图像);if isequal(name,0)|isequal(path,0) errordlg(没有选中文件,出错); return;else x=imread(path
18、,name); axes(handles.axes1); imshow(x); handles.img=x; handles.noise_img=x; guidata(hObject,handles)end-function save_Callback(hObject, eventdata, handles)%文件保存 filename,pathname = uiputfile(*.bmp,图片保存为);if isequal(filename,pathname,0,0) errordlg(没有保存,出错); return;elsefile=strcat(pathname,filename);(
19、handles.axes2);i=getimage(gca);imwrite(i,file);end-function exit_Callback(hObject, eventdata, handles)clc;close all;close(gcf);-%编辑菜单的程序-function edit_Callback(hObject, eventdata, handles)-function huidu_Callback(hObject, eventdata, handles)%灰度处理axes(handles.axes2);if isrgb(handles.img) y=rgb2gray(h
20、andles.img); %RGBimshow(y);else msgbox(这已经是灰度图像,转换失败);end -function liangdu_Callback(hObject, eventdata, handles)%亮度处理 prompt=输入参数1,输入参数2,输入gamma; defans=0 0.7,0 1,1; p=inputdlg(prompt,输入参数,1,defans); p1=str2num(p1); p2=str2num(p2); p3=str2num(p3); gamma=p3; x=(handles.img); y=imadjust(x,p1,p2,gamma
21、); axes(handles.axes2); imshow(y);-function jietu_Callback(hObject, eventdata, handles)%截图set(handles.axes2,HandleVisibility,ON);axes(handles.axes2);y=imcrop(handles.img);imshow(y); handles.Timage=y;-function fangda_Callback(hObject, eventdata, handles)-function lingjz_Callback(hObject, eventdata, h
22、andles)%邻近插值放大axes(handles.axes2);prompt=输入放大倍数:;defans=2;p=inputdlg(prompt,输入放大倍数,1,defans);p1=str2num(p1);y=imresize(handles.img,p1,nearest); %最近邻插值法放大imshow(y);-function shuangxianfa_Callback(hObject, eventdata, handles)%双线放大axes(handles.axes2);prompt=输入放大倍数:;defans=2;p=inputdlg(prompt,输入放大倍数,1,d
23、efans);p1=str2num(p1);y=imresize(handles.img,p1,bilinear); %最近邻插值法放大imshow(y); -function shuangsanci_Callback(hObject, eventdata, handles)%双三次放大axes(handles.axes2);prompt=输入放大倍数:;defans=2;p=inputdlg(prompt,输入放大倍数,1,defans);p1=str2num(p1);y=imresize(handles.img,p1,bicubic); imshow(y);-function suoxia
24、o_Callback(hObject, eventdata, handles)%邻近插值缩小 axes(handles.axes2); prompt=输入放大倍数:; defans=0.2; p=inputdlg(prompt,输入放大倍数,1,defans);p1=str2num(p1);y=imresize(handles.img,p1,nearest); %最近邻插值法缩小 imshow(y);-function shuangxian_Callback(hObject, eventdata, handles)%双线性缩小axes(handles.axes2);prompt=输入放大倍数:
25、;defans=0.2;p=inputdlg(prompt,输入放大倍数,1,defans);p1=str2num(p1);y=imresize(handles.img,p1,bilinear); %最近邻插值法缩小imshow(y); -function shuangsancisuox_Callback(hObject, eventdata, handles)%双三次缩小axes(handles.axes2);prompt=输入放大倍数:;defans=0.2;p=inputdlg(prompt,输入放大倍数,1,defans);p1=str2num(p1);y=imresize(handl
26、es.img,p1,bicubic); imshow(y); -function xuanzhuan_Callback(hObject, eventdata, handles)-function updown_Callback(hObject, eventdata, handles)%上下翻转axes(handles.axes2);x=(handles.img);if isrgb(handles.img) for k=1:3 y(:,:,k)=flipud(x(:,:,k);%上下翻转函数endimshow(y);else x=(handles.img); y=flipud(x); imsho
27、w(y);end-function leftright_Callback(hObject, eventdata, handles)%左右翻转axes(handles.axes2);if isrgb(handles.img) x=(handles.img);for k=1:3 y(:,:,k)=fliplr(x(:,:,k);%左右翻转函数endimshow(y);else x=(handles.img); y=fliplr(x); imshow(y);end-function zeft90_Callback(hObject, eventdata, handles)%左转90度axes(hand
28、les.axes2);x=(handles.img);y=imrotate(x,90); imshow(y);-function right90_Callback(hObject, eventdata, handles)%右转90度axes(handles.axes2);x=(handles.img);y=imrotate(x,-90); imshow(y);-function other_Callback(hObject, eventdata, handles)%任意角度旋转axes(handles.axes2);prompt=输入参数1:;defans=30;p=inputdlg(prom
29、pt,输入参数,1,defans);p1=str2num(p1);y=imrotate(handles.img,p1); imshow(y);-function gs_Callback(hObject, eventdata, handles)%加入高斯噪声 axes(handles.axes2); prompt=输入参数1:,输入参数2; defans=0,0.02; p=inputdlg(prompt,输入参数,1,defans); p1=str2num(p1); p2=str2num(p2); y=imnoise(handles.img,gaussian,p1,p2);imshow(y);
30、handles.noise_img=y; guidata(hObject,handles);-function jy_Callback(hObject, eventdata, handles)%加入椒盐噪声prompt=输入参数1:; %对话框的设置,用户输入的是字符串defans=0.02; %缺省值p=inputdlg(prompt,输入参数,1,defans); p1=str2num(p1); %字符串转化为数值axes(handles.axes2);x=(handles.img);y=imnoise(x,salt & pepper,p1); imshow(y);handles.nois
31、e_img=y;guidata(hObject,handles);-function cx_Callback(hObject, eventdata, handles)%加入乘性噪声 axes(handles.axes2);prompt=输入参数1:;defans=0.02;p=inputdlg(prompt,输入参数,1,defans);p1=str2num(p1);y=imnoise(handles.img,speckle,p1);imshow(y); handles.noise_img=y;guidata(hObject,handles);-function zhifangtutongji
32、_Callback(hObject, eventdata, handles)-function red_Callback(hObject, eventdata, handles)%R直方图set(handles.axes2,HandleVisibility,ON);axes(handles.axes2);x=imhist(handles.img(:,:,1); %直方图统计x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,xtick,0:50:255);-function gray_Callback(hObject, eve
33、ntdata, handles)%G直方图set(handles.axes2,HandleVisibility,ON);axes(handles.axes2);if isrgb(handles.img) x=imhist(handles.img(:,:,2); %直方图统计x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,xtick,0:50:255);else msgbox(这是灰度图像,旋转失败);end-function blue_Callback(hObject, eventdata, handles)%B直方图se
34、t(handles.axes2,HandleVisibility,ON);axes(handles.axes2);if isrgb(handles.img) x=imhist(handles.img(:,:,3); %直方图统计x1=x(1:10:256);horz=1:10:256;bar(horz,x1);%axis(0 255 0 150000);set(handles.axes2,xtick,0:50:255);%set(handles.axes2,ytick,0:2000:15000);else msgbox(这是灰度图像,旋转失败);end-function junheng_Cal
35、lback(hObject, eventdata, handles)%直方图均衡set(handles.axes2,HandleVisibility,ON);axes(handles.axes2);if isrgb(handles.img) a=histeq(handles.img(:,:,1); b=histeq(handles.img(:,:,2); c=histeq(handles.img(:,:,3); k(:,:,1)=a; k(:,:,2)=b; k(:,:,3)=c; imshow(k);elseh=histeq(handles.img); %直方图均衡imshow(h);end
36、-%频谱分析-function pinpu_Callback(hObject, eventdata, handles)-function pinputu_Callback(hObject, eventdata, handles)%显示频谱图axes(handles.axes2);x=(handles.img);if isrgb(x) m=fft2(x(:,:,1); y=fftshift(m); imshow(log(abs(y),);else m=fft2(x); y=fftshift(m); imshow(log(abs(y),);end-function frequency_Callba
37、ck(hObject, eventdata, handles)%低通滤波器axes(handles.axes2);x=(handles.img);if isrgb(x) msgbox(这是彩色图像,不能通过低通滤波器,失败);elsey1=imnoise(x,salt & pepper); % 叠加椒盐噪声f=double(y1); % 数据类型转换,MATLAB不支持图像的无符号整型的计算g=fft2(f); % 傅立叶变换g=fftshift(g); % 转换数据矩阵M,N=size(g);nn=2; % 二阶巴特沃斯(Butterworth)低通滤波器d0=10; %截止频率为10m=f
38、ix(M/2); n=fix(N/2);for i=1:M for j=1:N d=sqrt(i-m)2+(j-n)2); h=1/(1+0.414*(d/d0)(2*nn); % 计算低通滤波器传递函数 result(i,j)=h*g(i,j); endendresult=ifftshift(result);y2=ifft2(result);y3=uint8(real(y2);imshow(y3); % 显示滤波处理后的图像end-function gaotong_Callback(hObject, eventdata, handles)%高通滤波器axes(handles.axes2);x
39、=(handles.img);if isrgb(x) msgbox(这是彩色图像,不能通过高通滤波器,失败);elsey1=imnoise(x,gaussian); %加高斯噪声f=double(y1); % 数据类型转换k=fft2(f); % 傅立叶变换g=fftshift(k); % 转换数据矩阵M,N=size(g);nn=2;d0=3; %截止频率为3m=fix(M/2); n=fix(N/2);for i=1:M for j=1:N d=sqrt(i-m)2+(j-n)2); % 计算高通滤波器传递函数 if d=d0 h=0; else h=1; end result(i,j)=
40、h*g(i,j); endendresult=ifftshift(result);y2=ifft2(result);y3=uint8(real(y2);imshow(y3); end-%接下来这段程序是灰度图像处理程序-function huiduchuli_Callback(hObject, eventdata, handles)-function erzhituxiang_Callback(hObject, eventdata, handles)%二值图像axes(handles.axes2);x=(handles.img);if isrgb(x) msgbox(这是彩色图像,不能转换为二
41、值图像,转换失败);elsej=im2bw(x);imshow(j);end-function tuxiangfushi_Callback(hObject, eventdata, handles)%图像腐蚀axes(handles.axes2);x=(handles.img);if isrgb(x) msgbox(这是彩色图像,不能进行图像腐蚀,失败);elsej=im2bw(x);se=eye(5);bw=bwmorph(j,erode);imshow(bw);end-function suoyintuxiang_Callback(hObject, eventdata, handles)%创
42、建索引图像axes(handles.axes2);x=(handles.img);if isrgb(x) msgbox(这是彩色图像,不能创建索引图像,创建失败);elsey=grayslice(x,16);axes(handles.axes2);imshow(y,jet(16);end-%这段是颜色模型的转换-function ysmx_Callback(hObject, eventdata, handles)-function hsv_Callback(hObject, eventdata, handles)%RGB图像转HSVaxes(handles.axes2);x=(handles.
43、img);if isrgb(x) HSV=rgb2hsv(x); imshow(HSV);else msgbox(这是灰度图像,不能转换,转换失败);end-function ntsc_Callback(hObject, eventdata, handles)%RGB转NTSCaxes(handles.axes2);x=(handles.img);if isrgb(x)ntsc=rgb2ntsc(x);imshow(ntsc);else msgbox(这是灰度图像,不能转换,转换失败);end-function ycbcr_Callback(hObject, eventdata, handle
44、s)%RGB转YCBCRaxes(handles.axes2);x=(handles.img);if isrgb(x)ycbcr=rgb2ycbcr(x);imshow(ycbcr);else msgbox(这是灰度图像,不能转换,转换失败);end-%这是滤波程序-function lvbo_SelectionChangeFcn(hObject, eventdata, handles)str=get(hObject,string);set(handles.axes2,HandleVisibility,ON);axes(handles.axes2);i=handles.noise_img;if isrgb(i) a=handles.noise_img(:,:,1);b=handles.noise_img(:,:,2);c=handles.noise
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。