课程设计(论文)-基于EDA技术的航空电源逆变控制电路设计.doc_第1页
课程设计(论文)-基于EDA技术的航空电源逆变控制电路设计.doc_第2页
课程设计(论文)-基于EDA技术的航空电源逆变控制电路设计.doc_第3页
课程设计(论文)-基于EDA技术的航空电源逆变控制电路设计.doc_第4页
课程设计(论文)-基于EDA技术的航空电源逆变控制电路设计.doc_第5页
免费预览已结束,剩余18页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于eda技术的航空电源逆变控制电路设计摘要:随着电子电路逆变技术的不断发展与完善,各种控制技术层出不穷。一方面重要部门对用电设备提出了很高要求,而高品质的电子电路需求也随着增加,另外电子电路设备的大量使用以及非线性负载需求的不断增加使得现在电网的谐波污染非常严重,造成了现在的供需不平横。因此,这几年高性能的spwm逆变器的研究越来越受越到人们的关注,控制器也从以前的模拟电路时代逐步进入到现在的全数字控制时代。本实验是要求利用组合式三相逆变电路为模型,应用数字化自然采样法的原理,根据一种基于eda技术的正弦脉宽调制法spwm全数字化控制的解决方案。通过应用计数器和通过查表的方法,得出一种生成数字化正弦信号的算法,并通过对正弦信号的频率和幅值的调制,结合vhdl硬件描述语言的设计灵活等特点,设计出基于fpga的数字化正弦信号的发生器,仿真和试验结果表明,该方法具有实用价值,并能够很好的实现预定目标。此次逆变电路的作用是达到电源信号的转变,其具有很高的实际应用价值,所以更应该设计完美。 关键字:eda fpga 逆变电路 电源 目 录1 引言. 12 调制方案及总体设计. 2 2.1 调制方案. 2 2.2 建立数学模型 2 2.3 总体设计分析. . 4 2.4 spwm数字化自然采样法的基本原理. . . . 53 功能模块设计方案. . . 7 3.1 数字化三角载波的设计. 7 3.2 数字化正弦波的设计. . . 8 3.3 锁存器的设计. . 10 3.4 数字化比较器的设计. 11 3.5 分频计的设计. 12 3.6 顶层文件设计. 13 3.7 分频器clock的设计. 14 3.8 初始化数据文件. 153.9 定制rom元件. . 15 4 硬件组装调试. . 165 实验总结 186 参考文献 197 致 谢201 引言 随着电子技术、计算机技术和eda技术的不断发展,利用fpgacpld进行数字系统的开发已被广泛应用于通信、航天、医疗电子、工业控制等领域。与传统电路设计方法相比,fpgacpld具有功能强大,开发周期短,投资少,便于追踪市场变化及时修改产品设计,以及开发工具智能化等特点。近年来,fpgacpld发展迅速,随着集成电路制造工艺的不断进步,高性价比的fpgacpld器件推陈出新,使fpgacpld成为当今硬件设计的重要途径。在fpgacpld的应用设计开发中,vhdl语言作为一种主流的硬件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,并在语言易读性和层次化、结构化设计方面。表现出了强大的生命力和应用潜力。(2) 设计内容及要求。本次实验是通过改变开关器件的导通时间或截止时间来改变占空比,通过控制输出的电压脉宽系列的变化规规律来满足输出的要求。为满足设计要求,本文采用正弦波脉宽调制(spwm)方法,当然spwm波形产生的方法也是多种多样,有自然采样法、规则采样法和直接面积等效法等。(3)比较和选择设计的系统方案,画出系统框图本文所要提及的逆变电源的特殊性在于他不但能够提供三相正弦平衡电源,而且要保证在任何内外界环境干扰条件下,任何两相间的相电压幅值与频率保持高度稳定(进行工作状态) 。因此采用的逆变主电路是由3 个单相全桥式逆变器组合成的三相逆变电路如图1.0 所示。 图1.0 三相逆变电路如何控制逆变主电路中开关器件的工作成为本系统能够达到要求的关键,为了加快开发进度,更为重要的是提高设计的灵活性和精确度,引入现代eda(电子设计自动化)技术,采用vhdl 硬件描述语言进行控制逻辑编程,配置于大规模可编程器件cpld/ fpga 芯片上,对主电路的工作状态进行控制,以获得符合要求的电源电压及波形。cpld/ fpga 可以在办公室或实验室里方便地设计出所需的专用集成电路,具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,极大地提高了电子系统设计的灵活性和通用性。2 调制方案及总体设计2.1 调制方案 脉宽调制( pwm) 是指工作频率不变(即工作周期不变) ,通过改变开关器件的导通时间或截止时间来改变占空比,控制输出的电压宽,通过控制脉宽系列的变化规律来满足输出的要求。 为满足设计要求,本文采用正弦波脉宽调制(spwm)方法,当然spwm 波形产生的方法也是多种多样,有自然采样法、规则采样法和直接面积等效法等。与其他方法相比,等效面积spwm 算法具有算法简易、谐波含量小、输出波形贴近理想值等特点,因此采用等效面积spwm 算法进行脉宽调制,进而实现对主电路器件的运转周期过程进行控制。2. 2 建立数学模型 首先把单个周期正弦波形分为n 等份,然后如图2.0所示将每一等份的正弦弧线与横轴所包围的面积用与其面积等同的等高不等宽的矩形脉宽来代替,矩形脉宽的中点与正弦弧线在横轴上的投影中点要重合。于是,由n 个等高的矩形脉宽系列构成的波形就等同于正弦波形 1 ,这一系列矩形脉宽的宽度及其开关(即开关器件的导通截止时间) 可用数学方法进行计算。 图2.0 面积等效法调制图如图2.0 所示是第k个脉宽,对应的正弦弧线与横轴所包围的面积sa k ,脉宽矩形面积s rk 。|=mus|cos- cos|=s=us(-)sak =| mus4 k1ksind| = mus | cos 1 k - cos 4 k |= s rk = us (2 k - 3 k)其中,m 为调制参数。由于将正弦波形分为n 个等份,每一等份的弧度为:k = 4 k - 1 k =2/n第k 个脉宽的宽度为:pk =3 k - 2 k ,前后两低电位的宽度为:nk =k pk/2。2. 2 设计计算 n 取12 ,根据正弦波形的对称性,实际矩形脉宽宽度只要算出3 个就足够了,取正半周的前半部分进行计算,利用数学工具matlab 易算出如表1 所列的结果(其中m取0. 813 ,mk 为第k 个等份的中点, 表2.0 中所列出的主要是对下文叙述有用的数据) 。 表2.0 脉冲系列的计算过程及结果2.3总体设计分析 图2.1 总体设计模块 图2.1为此次航空逆变电路的总体设计模块,由此模块可以设计制造出符合要求的模板。在此模板上我们采用了8位输出的软件程序。 由于采用cpld/ fpga 作为控制电路的硬件载体,通过vhdl 硬件描述语言的编程对硬件进行功能的描绘,运用的是数字化的控制方式,因此必须将表中的数据进行转换。假设每个等份的计数值为600 ,将表中的数据皆与(600/ 0. 523 598 77) 相乘并取整以便v hdl 编程。笔者接入的晶振为100 mhz ,根据相电压的频率x ,首先对他进行(100 106 / x) 分频,因此第一步设计一个数控分频器作为主频,不但可以达到要求,还便于实验的调节。每个脉宽产生的设计思路是,设计一个可逆计数器,顺序是29920202299 ,取出相应的脉宽一半的数值( 转换后) ,将数值与计数器的变量进行比较,若变量大则输出0 ,否则输出1 ,这样保证了脉宽准确地处于等份的中央。由于电压波形的每个周期内要求有12 个脉宽,且每个脉宽的宽度有严格的变化规律,因此,在设计中,每个周期对应的计数量为600 12 。设计一个0 599 计数器cnt1 ,每计到599 时,产生一个脉冲进行再计数cnt2 计数范围为011 ,这样在cnt 从011 变化一趟对应波形的一个周期。所以结合cnt1 和cnt2 可以按规律取出对应的脉宽序号,通过查寻方式取出对应的脉宽宽度一半的数值,用于比较产生脉宽,同时加入正负半波的标志位flaga ,便于对单相全桥式逆变器各开关器件的控制。以上叙述的是对单一相电压波形的调制设计,还有另两相a ,b ,为满足相位平衡,可直接在计数器cnt1 中加入另两相的脉宽比较输出,但是取出用于比较的脉宽序号是不一样的,b 相滞后a 相23,c 相又滞后b 相23,因此b相在cnt2 为4 时的脉宽序号与a 相在cnt 为0 时的脉宽序号一致,c 相同理,同时还要加入各自的正负半波的标志位flagb ,flagc。其实逆变电源的特殊要求就在于在三相负载不平衡条件下能够保证输出的电源品质不变,因此,每个相的脉宽必须各自能够进行自我调节,以达到各相电压幅值一样,在编程中,必须对每相的电压调节分开,这样,相同脉宽序号下,各相的脉宽宽度并不一定相同,还要根据反馈进行调节,脉宽相应的数值是变化,因此,对每一相的脉宽宽度分开利用查寻表(如图3 所示,有3 个存储器a ,b ,c)的方式进行获取。2.4 spwm数字化自然采样法的基本原理 spwm波可以通过计算法或调制法来生成。计算法是根据正弦波输出频率、幅值、半个周期内的脉冲数,通过准确计算spwm波中各脉冲的宽度和间隔,按照计算结果控制主电路中各开关器件的通断,得到所需要的spwm波形。计算法是很繁琐的,当需要输出的正弦波的频率、幅值或相位变化时,结果都要变化。调制法即把希望输出的波形作为调制信号,把接受调制的信号作为载波,通过信号波的调制得到spwm波形。所有这些控制方法所追求的目标,都是使输出的波形中谐波最少,最接近正弦波。本文基于现场可编程门阵列(fpga)新技术,根据自然采样法基本原理,探讨一种实现spwm的全数字化方案。在fpga中所有的数字信号均为并行处理,其实时性要好得多。因此在一定工程应用的范围内,全数字化spwm可以和自然采样法调制效果相逼近。故称之为数字化spwm自然采样法,它既有数字电路稳定可靠无漂移、便于集成等优点,又有可重复编程、设计灵活的优势,还有响应快、精度高等接近自然采样法的调制效果。调制法又分为单极性和双极性spwm控制方式。本文采用的是单极性调制法图2.2为单极性spwm波形生成的原理图,b与一b为三角载波的正负峰值。a为正弦调制波的幅值最大值。图2.3为单极性spwm波形生成的等效原理图,将正弦波的负半部分绕横轴翻转。在正弦调制波的正半周期内,当正弦调制波的幅值us(t)大于三角载波的幅值uc(t)时,spwm波形为高电平;反之,spwm波形为低电平。当在正弦调制波的负半周期内,通过零检测点判断,当正弦调制波的幅值认(t)大于三角载波的幅值uc(t)时,spwm波形为低电平,反之,spwm波形为高电平。 图2.2 单极性spwm波形原理图 图2.3 单极性spwm波形等效图 利用调制法原理,如果是在正弦波和三角波的自然交点时刻控制功率开关器件的通断,这种生成spwm波形的方法称为自然采样法。数字化spwm自然采样法是用数字电路代替模拟电路来实现spwm自然采样法的方法,即用数字比较器对数字化正弦调制波与数字化三角载波的幅值进行实时比较,并据此决定spwm的输出波形,数字化5pwm自然采样法原理如图5所示。 图2.4数字化spwm自然采样法原理示意图3 功能模块设计方案3.1 数字化三角载波的设计 在可编程逻辑器件中,pwm波形发生器中的三角载波就是由加法计数器来产生的,计数器从o加到设定值(即计数器最大值n),再从设定值减到o,周而复始,生成数字的载波。下图是三角波模块生成流程图。 图3.1 数字化三角载波设计流程图 在本设计中,计数器的设定值在模块内部设定。代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity trii is port ( clk,reset : in std_logic; s : out std_logic_vector(7 downto 0);end entity;architecture one of trii isbegin process( clk,reset ) variable a: std_logic; variable tmp: std_logic_vector(7 downto 0); begin if reset = 0 then tmp:= 00000000; elsif rising_edge(clk) then if a = 0 then if tmp =11111110 then tmp:=11111111;a:=1;elsetmp:=tmp + 1; end if; else if tmp = 00000001 then tmp:=00000000; a:= 0; else tmp := tmp - 1; end if; end if;end if; s = tmp;end process;end one; 仿真结果图所示如下: 图3.2 数字化三角载波的仿真结果图 3.2 数字化正弦波的设计 在经典的设计方法中,正弦波的生成,是通过dds数字调制的方法生成的。但是由于作者本人的能力所限,在本次设计中并没有采用这种方法,而是采用了“微积分”的方法,通过在很小的时间范围内联系描多点(64点)的方法,生成一个数字化“模拟正弦波”。其代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sin is port(clk,clr: in std_logic; d: out integer range 0 to 255);end sin;architecture sin_arc of sin is begin process(clk,clr) variable tmp: integer range 0to 63; begin if clr=0 then dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnull; end case; end if; end process; end sin_arc; 仿真结果如下图所示: 图3.3 数字化正弦波的仿真结果图 由波形可以看出,虽然我们使用的方法比较落后,但是它的“质量”我们还是可以接受的。它产生的误差,是在我们所承受的范围之内的。 当然,不可置否的是,一个正弦波质量的优劣对于spwm波形的准确性,及谐波产生的风险是有很大影响的,在这里还是要郑重的提出,一个标准的,具有实用性的spwm波形的产生,采用一个高精度,高质量的正弦波是非常必要的。3.3 锁存器的设计 在本次设计中锁存器的作用是暂存数字化三角波,数字化正弦波的输出波形,并在时钟的上升沿时,将波形送至数字化比较器。也就是说,锁存器起到了一个时延的作用,即将三角波,正弦波的波形延迟固定时间后,输出到数字化比较器中。其代码如下:library ieee;use ieee.std_logic_1164.all;entity ffd isport (clk : in std_logic;data_in_1 : in std_logic_vector (7 downto 0);data_in_2 : in std_logic_vector (7 downto 0);data_out_1: out std_logic_vector (7 downto 0);data_out_2: out std_logic_vector (7 downto 0);end entity; architecture ffd_arch of ffd issignal temp_data_out_1,temp_data_out_2: std_logic_vector (7 downto 0); begin process (clk)beginif rising_edge(clk) thentemp_data_out_1 = data_in_1;temp_data_out_2 = data_in_2;end if;end process;data_out_1 = temp_data_out_1; data_out_2 = temp_data_out_2; end architecture; 波形仿真如下: 图3.4 锁存器的波形仿真图3.4 数字化比较器的设计 数字化比较器的流程图如下: 图3.5 数字化比较器的流程图代码如下library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity compare is port (dat1,dat2:in std_logic_vector(7 downto 0); p1:out std_logic_vector(7 downto 0); end entity compare;architecture art of compare is begin: process(dat1,dat2) begin if(dat1(7 downto 0)dat2(7 downto 0) then p1=(11111111); else p1=(00000000); end if;end process;end architecture art;3.5 分频计的设计由于硬件的速度要远远低于软件的执行速度,因而,在设计电路中加入分频器,将系统产生的50mhz分化为硬件级的可用的频率。在本次设计中,采用4分频分频计,进行模拟仿真。其代码如下: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fen isport( clk:in std_logic; pu1:out std_logic );end fen;architecture div of fen is signal q:std_logic_vector(7 downto 0); begin process(clk) begin if clkevent and clk=1 then if(q=11111111)then q=00000000; else q=q+1; end if; end if; end process; pu1=q(2);-64hz end div;波形仿真如下: 图3.6 分频计的波形仿真图3.6 顶层文件设计 通过先前的准备,我们知道,一个spwm波形的生成需要至少5个模块:数字化三角波发生器、正弦波发生器,数字化比较器、分频器和锁存器。通过3.3-3.8节所描述的工作后,我们已经得到了全部所需要的5个模块。在此,我们运用原理图法来生成顶层实体。 具体的实现方法是,将上述5个模块,通过我们的设计软件,生成可以移植,调用的原理图文件,在将其在顶层设计中直接调用即可。本次设计生成的顶层实体如下图所示: 图3.7 顶层文件图对其进行编译、仿真,结果如下: 图3.8 顶层文件仿真图3.7 分频器clock的设计代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity clock isport( clk,rst:in std_logic;cp_dadt:in std_logic_vector(7 downto 0);cp:out std_logic);end ;architecture arch of clock is beginprocess(clk)variable data:integer range 0 to 97656;variable x:std_logic;beginif clkevent and clk=1 then if data97656 then data:=data+1;else data:=0;x:=not x;end if;end if;cp=x;end process; end arch;3.8 初始化数据文件 首先在quartusii中打开rom数据文件编辑窗口,即选择file|new命令,选择memory initialization file选项,单击ok按钮后产生rom数据文件大小选择窗口。根据需求采用1024点9位数据的情况,单击ok按钮,如图所示,然后将波形数据填入此表中。 图3.9 rom数据文件编辑窗口3.9 定制rom元件1、打开megawizard plug-in manager 打开megawizard plug-in manager的初始对话框。选择tool | megawizard plug-in manager命令,如图定制一个新的模块。点击next按钮,按图选择。图3.10 megawizard plug-in manager的初始对话框2、选择rom控制线和地址、数据线 在所示窗口选择地址和数据的位宽分别为10和9 图3.11 rom窗口3、选择数据文件 图3.12 数据窗口4 硬件组装调试我们需要做的硬件要求能够实现目的,选好所需要的元件在开发板上设计并制造出我们的实验所需的硬件。本实验我们采用的是8位输出的软件程序,所以我们选用的是8个发光二极管来实现航空电源的逆变,在开发板上进行排步之后就是进行焊接组装了。然后进行调式检验,完成后的模块即为如图3.13所示。 图3.13 硬件组装图 5实验总结 本实验得主要目的是实现逆变电路的控制,并通过实验对此次电路的设计有更深刻的了解。能够学以智用,举一反三,弄明白怎么来的,并增加了动手能力。 伴随着电子电路的高频化和复杂化的发展,电子电路的数字化控制将成为电子控制电路的一个重要发展趋势。随着eda技术的进步和软/硬件技术的发展基于可编程逻辑器件fpga的数字控制器和spwm的开发,具有可移植性和易于实现定制化的特点,与高频化、小型化、模块化和智能化的直流开关电源发展趋势非常相符。在便携式产品等控制精度要求较高的场合有广泛的应用前景。我们主要是在电子电路变换领域,特别是直流开关电源数字控制方面,运用fpga进行了一些知识,实现了dc开关电源控制器的数字控制,具体要做以下几项工作: 1.分析讨论spwm逆变控制器的工作原理及其结构模型,介绍eda技术的发展及其优点,并详细分析和利用可编程逻辑器件来设计spwm控制器的优势。 2.简要分析fpga器件的特征和结构。在给出本芯片应用目标的基础上,完成了器件的选择和相关开发环境和工具的选取。详细介绍fpga设计流程,概要介绍了quartusii相关流程。 3.采用数字采样法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论