基于FPGA控制的开关电源的仿真与设计.doc_第1页
基于FPGA控制的开关电源的仿真与设计.doc_第2页
基于FPGA控制的开关电源的仿真与设计.doc_第3页
基于FPGA控制的开关电源的仿真与设计.doc_第4页
基于FPGA控制的开关电源的仿真与设计.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

基于FPGA控制的开关电源的仿真与设计刘必旺 王宝忠(常州信息职业技术学院 电子与电气工程学院 江苏常州 213164)摘要:传统的开关电源数字设计方案大多基于单片机、DSP控制,但在实现PID控制算法的过程中使用软件设计常会带来程序跑飞的严重后果。FPGA的高速和硬件支持,使得实施PID等控制比软件模拟出来的效果更为优秀,还能克服程序跑飞。本设计采用MATLAB-SIMULINK首先进行软件仿真,分析并测试其可行性,然后利用ALTERA公司的DSP builder将仿真模块生成FPGA硬件描述语言,实现PWM波和PID的设计。在控制方面,定制的NIOS软核起到了MCU的作用,利用VHDL语言实现ADC0809状态机控制,最后设计出各个功能模块的电路以及整个系统图和相关的NIOS控制程序流程图。本文设计的以EP2C35F672C8为控制核心的开关电源系统利用软件仿真模型生成硬件代码语言在FPGA中实现,双重保证了设计的可行性,实现了较理想的闭环控制效果。关键词:开关电源,PID控制,PWM波,FPGA,MATLAB中图分类号:G 文献标识码:A 文章编号:Simulation and Design of High Power Switching Supply Based on FPGALIU Bi-wang, WANG Bao-zhong(Electronic and Electrical Engineering College, Changzhou Vocational College of Information Technology, Changzhou 213164, China)Abstract:Traditional switching power digital design is mostly based on the MCU, DSP control, but using the software design process PID control algorithm is often accompanied by serious consequences Runaway. FPGA has the characteristics of high-speed and hardware support, making it out of the implementation of the PID control, the effect is more outstanding, but also to overcome the program running out. This design first used MATLAB-SIMULINK software to simulate, analyzed and tested its feasibility, generated the FPGA hardware description language which used the simulation module of DSP builder provided by ALTERA company to achieve the design of the PWM wave and PID. In terms of control, custom NIOS soft-core plays a role of MCU, using the VHDL language to realize the state machine control of ADC0809, finally to design each function module circuit and the system diagram and the flow chart of NIOS control program. This design takes EP2C35F672C8 as the control core of the switching power supply system using software simulation model to generate the hardware code language to be implemented in FPGA, double guarantee the feasibility of the design to achieve the ideal closed-loop control.Keywords: switching power supply, PID control, PWM wave, FPGA, MATLAB0. 引言开关电源是利用现代电力电子技术,控制开关管开通和关断的时间比率来维持稳定的输出电压。传统上开关电源控制部分是按模拟信号来设计和工作的,其抗干扰能力不太好,信号有畸变。近年来随着计算机嵌入式技术的发展,数字信号的控制和处理显示出越来越多的优点,数字化开关电源正逐步替代线性电源,成为开关电源的发展趋势。在过程控制中,选择适合被控对象的控制算法,能够显著地改善控制效果,使系统输出能够迅速地达到或接近预先设定值1。由于PID控制算法简单、鲁棒性好、可靠性高,因此应用广泛,而FPGA的高速和硬件支持,使得实施PID等控制比基于单片机、ARM、DSP控制的数字开关电源用软件模拟出来的效果更为优秀,还能克服程序跑飞的严重后果。1. 系统设计及功能简介1.1 系统架构设计目前市场上的工业电镀用的直流-直流开关电源存在开关频率越高,则产生的纹波越多、噪声越大的问题,为解决这个问题,本文设计了一种基于FPGA的开关电源。设计中考虑到电镀要求电流较大并且可调,而且为防止操作时发生触电,故要求输出电压较小。选用了它激式、脉宽调制型、IGBT型和全桥式的系统设计方案2。该系统具有恒压输出、恒流输出可选及输出电压电流可调的特点。图1为系统架构设计框图。图1 系统架构设计框图1.2 系统功能简介: 380/220V50HZ交流电:经过变压器,桥式整流以及滤波作为IGBT的直流工作电源以及辅助电源的输入电源。 功率转换器件IGBT:将直流电源转换为方波的交流电源,其频率可以达到将近20KHZ的高频。 高频变压器:将IGBT产生的高频电压变换成需要的直流电压所需要的电压值,送往整流滤波电路。 2次整流滤波后,可以得到需要的0-12V电压。 在反馈电路中ADC电压采集器可以采样到电压、电流和保护电路的相关值,并将相关值送入NIOSII软核中进行数据分析。 FPGA部分:FPGA在整个系统中起到核心的作用,其包括四个部分:ADC controller、PWM波生成、硬件PID、NIOSII软核处理器。ADC controller:它是用VHDL语言编写的一个状态机,其独特的速度,可以控制高速ADC采样,本系统的采样控制就由其负责。PWM波发生器:它与硬件PID相同,主要产生PWM波,都是在DSP builder下建模生成。PWM波发生器产生经PID调节后输出量可调的PWM方波,通过IGBT驱动器进行对IGBT控制产生可调信号。硬件PID:它采用简单的位置式PID调节,方便简单。NIOSII软核处理器:它是在FPGA编程器QuartusII中用SOPC builder定制而成,完成数据处理、外围按键检测、显示等功能。作为SOPC的典型,它在本系统中有着独特的重要地位,起到CPU的作用。IGBT驱动芯:来自三菱公司的M57962L芯片有着强大的驱动能力。采样部分,电源辅助部分。2. 系统仿真设计2.1 PID算法基本理论及建模仿真2.1.1 PID算法基本理论传统上模拟量闭环控制较好的方法之一是PID(比例积分微分)控制。典型PID控制器的控制规律为: (1)式中:Kp比例系数;Ti 积分时间常数;Td微分时间常数。PID控制中P、I、D各有自己的长处和缺点,它们一起使用的时候又互相制约,但只要合理地选取PID值,就可以获得较高的控制质量。由于计算机控制是一种采样控制,它只能根据采样时刻的偏差计算控制量,因此式(1)中的积分和微分项需要进行离散化处理3。可得离散的PID表达式为: (2)再做z变换便可得到数字PID控制器的z传递函数为: (3)位置式PID控制系统如图2所示。图2 位置式PID控制系统这种算法的缺点是:运算工作量很大,影响到运算处理的速度。而且如果计算机出现故障,u(k)的大幅度变化可能引起执行机构的大幅度变化,甚至造成重大的生产事故。本文提出的设计基于FPGA的位置式数字PID控制器的主要的目的正是为了解决PID控制器可靠性的问题,它可以基本消除计算机误动作或跑飞给控制系统带来的影响。区别于单片机等用程序来实现PID控制,基于FPGA的PID控制器不使用程序解决算法,而是用数字逻辑电路来实现数字PID控制算法,所以就不存在程序跑飞或计算机误动作的问题。即使在某个采样周期由于片外引脚干扰导致逻辑计算错误,也不会对整个控制过程产生影响4,这就是基于FPGA的数字PID控制器的最大优点。虽然采用其他如增量式PID控制算法设计比较简单,但由于不容易对其实施一些诸如积分分离等改进算法以提高控制系统的性能,所以本课题采用位置式PID控制器设计更具有实际意义。2.1.2 PID在matlab中建模根据PID基本理论,利用altera公司提供的DSP builder,在matlab-simulink中建立模型。(部分精简)由于DSP builder可以与altera FPGA/CPLD进行无缝连接,所以只要通过Signal Compile的编译后,生成硬件描述语言就可以生成硬件PID系统,这是altera公司特有的功能。这种功能的出现大大缩短了开发者对软件执行算法的依赖,我们可以依靠这种方法来进行硬件PID设置。硬件的高速有效特性使得系统更加稳定,而不会发生软件程序跑飞的情况。2.2 PWM波驱动模块2.2.1 PWM波原理PWM (脉冲宽度调制)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信和功率控制与变换的许多领域,开关电源大多采用PWM方式。功率变换电路通过控制开关器件的导通和关断时间,将一个输入的不稳定直流电压转换成另一个输出稳定的直流电压。(做了部分精简)2.2.2 FPGA实现PWM(1)三角载波的生成三角波在simulink中的原理图如图3所示。图3 三角载波生成输入50MHz的时钟,增模块从0-2047做加计数,并时刻与1024比较,若小于1024则输出1并和自身相与。减模块从2047-0做减计数,时刻和2048比较,所得结果也和自身相与,最后这两个信号叠加就得到了三角载波。模块中生成的三角波频率为50MHz/2048。(2)标准PWM波形的生成只需将预期的电压值和三角波发生器的输出端口分别加在比较器的正负端口进行比较,就能够生成期望的PWM波的波形5。(3)注入死区理想情况下,逆变器单桥臂的IGBT总是互补地导通和关断。但由于IGBT在关断过程中存在拖尾效应,关断时间比开通时间要长,若在关断过程中,同一桥臂上的IGBT立即导通,则必然导致直流母线电压直通而损害IGBT,这在高频开关电路更为显著。因此,在实际应用中,使同一桥臂的上下IGBT的导通和关断错开一定的时间,即死区时间,以保证同一桥臂的上下IGBT总是先关断后导通。(此处有部分精简)本文采用“延时导通”这种注入死区的方法,并且在modelsim中将死区做成可控模块,就可以方便的修改死区时间。2.3整体仿真结论(此节已做了部分精简)我们在上述MATLAB的simulink建模环境下,加入直流电源、IGBT、变压器、整流器、滤波电容、滤波电感、电流电压传感器,就能够对整个系统进行仿真,从系统的参数设置和仿真结果可以看出:输入电压:512v10%输出电压:0-12v 输出电流:0-1000A稳压精度:2% 稳流精度:2%纹波: 2% 稳定时间:0.005s结论:基于FPGA的开关电源具有控制简单、响应时间快、纹波小等优点。3. 系统硬件设计3.1 ADC0809控制器(做了部分精简)本系统采用的ADC0809有8个通道。由于电压电流设定可以通过按键是否按下作为判断,所以可以分时复用,这样整个系统中ADC端口刚好够用。硬件设计如图4所示。图4 ADC0809采集电路AIN0AIN7为8路通道,由A0-A2选择。ALE为地址锁存输入。OE为输出使能端口。START为开始信号。D0D7为数据输出端口。用VHDL语言编写的ADCcontroller状态图5如下。图5 ADC controller状态图相应的部分VHDL端口说明如下6:entity adc0809 isport(clk ,reset : in std_logic; -系统时钟复位信号 en : in std_logic;-ADCcontroller ;-工作使能信号,nios控制器给定eoc : in std_logic; -转换结束信号adc_in : in std_logic_vector(2 downto 0); - 通道选择输入信号adc_D : in std_logic_vector(7 downto 0); -转换数据输入ale : out std_logic;-地址锁存使能信号oe :out std_logic;-使能信号start : out std_logic;-转换开始信号adc_clk : out std_logic;-AD转换器时钟频率adc_out : out std_logic_vector(2 downto 0); -adc0809通道选择输出信号);end adc0809;3.2 NiosII处理器本系统所使用的FPGA芯片是Altera CycloneII系列EP2C35F672C8,所使用的设计平台是博创实验工具箱。其简要信息介绍如表1:表1 UP-CUP FPGA2C35-II型平台硬件资源名称说明CPUAltera CycloneII系列 型号:EP2C35F672C8,200门、3万个逻辑单元,速度级8,片内RAM为484Kbit ,片内乘法器模块有35个,时钟管理单元PLL存储器64MByte SDRAM ;16Mbit EPCS16; 32Mbyte-NorFlash;1MByte SRAM;64K I2C Serial EEPROM时钟:具有板集时钟和标准50M时钟输入有时钟驱动功能,4个PLL输入时钟,可以从数字信号源选择输入时钟。 数模、模数转换8位并行ADC,精度为10位的高速串行ADC精度为8位的并行DAC,精度为10位的高速串行DAC。如前系统架构章节所述,NIOSII处理器是定制为一个控制器使用的,其核心作用如表2所示:表2 NIOSII系统控制对象序号功能1调节模式选择、初始值设定方式2键盘扫描3ADC通道选择,转换数据接收4数值计算,送与PID调节5控制PWM输出6显示电路控制7保护电路的响应输入在QuartusII中新建一个BSF格式的文件,调用生成的niosII系统、PID系统、PWM波系统,连接好然后编译、下载后,就能够驱动外界驱动芯片进行工作了7。基于FPGA的控制方便简单、易于实现。(为求精简,下面的图12删了)4. 软件程序设计按照系统的要求,niosII控制器需要编写相关的硬件驱动函数以及用户函数。4.1 NIOS主程序本系统的niosII的main主函数主要包括:(1)初始化函数:包括电压值初始化,电流值初始化,LCD初始化。(2)键盘函数: 主要进行键盘扫描以及按键判断。(3)显示函数: 主要显示电压值、电流值及保护对象。(4)AD检测: 主要包括ADC0809controller的使能以及接受转换数据。(5)数值变换函数:主要调整相关参数包括PID参数,PID_FB数值。(6)保护函数:主要是使能相关的软件保护,判断是否软件保护后禁止或开启PWM_EN。主程序流程图如图6所示。图6 主程序流程图5.结 束 语电源是电镀加工设备的核心部分,设计是否合理至关重要。本文的创新点是提出了一种基于FPGA的开关电源设计方法并对其进行MATLAB软件仿真,负载的电压电流仿真控制效果符合设计要求;利用DSP builder建模工具建立了相应的PID和PWM波硬件生成

温馨提示

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

评论

0/150

提交评论