版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PWM控制逆变电源的设计摘要:这些年随着各行各业的技术水平的发展和科技的提高,人们对电源的质量的要求也是与日俱增,如何使输出的交流电源的谐波分量减少已经逐渐成为热点。在很多行业中不是利用交流电源直接进行供电的,而是通过电力电子装置进行逆变,从而输出交流电压来提供给负载使用。使用电力电子装置进行逆变得到的电源具有很多的优势,可以得到高质量的交流电源,所含有的谐波分量也没有电网电压高。把直流电变成交流电的这个过程叫逆变,逆变电源对减少环境污染和降低成本起着重要的作用。当前,大多数的逆变电源都是采用正弦脉宽调制,也就是SPWM技术。使用SPWM控制开关管的通断比相控方式更具有优势,由于PWM控制工作在高频状态,所以SPWM控制得到的输出电压波形的功率因数更高。而且采用定频PWM开关时,输出电压中谐波的频率是固定的,滤波器设计更容易,开关过程中的电磁干扰更加容易控制。传统的逆变电源很多都是用模拟电路来控制。现在随着数字信号处理器DSP技术的发展,给数字信号控制技术的发展提供的广阔的市场。关键字:逆变电源;DSP;控制.DesignofPWMControlInverterAbstract:Withthedevelopmentoftechnologyinallwalksoflifetheseyears,thedemandforthequalityofpowersupplyisalsoincreasing,howtoreducetheharmoniccomponentoftheoutputacpowersupplyhasgraduallybecomeahotspot.Inmanyindustries,powerisnotsupplieddirectlyfromacpower.Instead,itUSESpowerelectronicstodotheinverter.Thustheoutputacvoltageissuppliedtotheload.Thepowersourceobtainedbyusingpowerelectronicdeviceforinverterhasmanyadvantages.Highqualityacpowersupplyisavailable.Itdoesnothaveasmanyharmoniccomponentsasitdoesinthegrid.The
process
of
converting
direct
current
to
alternating
current
is
called
contravariant.
Contravariant
power
supply
plays
an
important
role
in
reducing
environmental
pollution
and
cost.At
present,
most
of
the
inverter
is
the
use
of
sinusoidal
pulse
width
modulation,
that
is,
SPWM
technologyThe
onoff
mode
of
using
SPWM
to
control
the
switch
tube
has
more
advantages
than
the
phasemode.
Because
PWM
control
works
in
the
state
of
high
frequency,
the
power
factor
of
output
voltage
waveform
obtained
by
SPWM
control
is
higher.
Moreover,
when
using
fixed
frequency
PWM
switch,
the
frequency
of
the
harmonic
in
the
output
voltage
is
fixed,
the
filter
design
is
easier,
and
the
electromagnetic
interference
in
the
switching
process
is
easier
to
control.Traditional
inverter
power
supply
is
controlled
by
analog
circuit.
Now
with
the
development
of
digital
signal
processor
DSP
technology,
it
provides
a
broad
market
for
the
development
of
digital
signal
control
technology.KeyWords:Inverter;DigitalSignalProcessor;Control.目录摘要 1概述 41.1课题背景 41.2逆变电源的现状 41.3逆变电源存在的问题 51.4逆变电源的发展前景和趋势 51.5本课题完成的主要的任务 52系统总体设计及方案设计 52.1系统总体设计 52.2方案的比较 53系统的硬件设计与实现 73.1主电路的设计 73.2控制电路的设计 83.3驱动电路的设计 113.4光耦隔离电路的设计 113.5过电流保护电路的设计 123.6系统软件设计 134.调试 155.结束语 156.致谢 16附录 17概述1.1课题背景在当今社会,逆变电路的应用非常广泛。在已有的各种电源中,蓄电池、干电池、太阳能电池等都是直流电源,当需要这些电源向交流负载供电时,就需要逆变电路。此外,交流电动机调速用变频器、不间断电源、感应加热电源等电力电子装置应用的非常广泛,他们的核心电路就是逆变电路。此外还可应用于电力系统的无功补偿器或谐波补偿器。而且在医院、机场、工厂中的很多设备对电源的要求越来越高,不仅对供电的连续性提出了很高的要求而且对输出电压的波形、频率也有很高的要求。对所含有的谐波分量也有严格的控制。逆变电源在现代化的进程中也扮演着重要的角色。这几年全球换进恶化、污染严重、煤炭石油等不可再生资源越来越缺乏,为了节约资源太阳能发电、风力发电得到了快速的发展。最初所使用的控制电路控制的逆变电源结构简单、易实现,但是所使用的的电路元件比较多且体积比较大,所带来的成本就比较大这样就使得性价比比较低,效益不高。除了成本的高昂,此外,电器元件受环境的影响是比较大的,所以在复杂的工作场所是难以满足要求的。这就驱使着数字信号微处理器DSP的发展,而且电力电子器件也得到了飞速的发展,比如全控型器件绝缘栅晶体管IGBT、门极可关断晶闸管GTO、场效应管MOSFET。但是数字式逆变电路仍有些不足的地方就是如果逆变电路的负载时非线性负载的话输出的电压波形会存在着畸变的现象。但是随着电力电子技术的发展这些问题将会被克服。1.2逆变电源的现状逆变电源第一次被提出来是在20世纪中期左右。在早期的时候对逆变电路输出的电压的要求不高只要求输出的电压幅值满足要求、频率满足即可。而现代对电压的要求是很高的,从电压的幅值、频率、波形等方面都提出了很高的要求。尤其在现代大多数的负载都是变压器、电动机、锅炉等非线性的负载,这就使得输出的电压波形含有大量的谐波分量。而大量的谐波流入电网会对电网造成谐波污染,会占用很大的电网容量。因此单单考虑电压的幅值已经是不能满足要求了,还要考虑谐波等因素。现代逆变技术的发展主要分为两个阶段,第一阶段是低频阶段。这一阶段使用的都是低频的电力电子器件,这样使得输出的谐波比较多,而且功率因数比较低。电流谐波总畸变率THD比较大。第二阶段为高频阶段。逆变电路中使用的都是高频的电力电子器件,频率较高就会使得变压器,滤波电容、滤波电感的体积变小,以免变压器和电感产生刺耳的噪音。随着电力半导体器件和磁性材料的技术进步,电路的工作的频率已达到几百千赫兹到几兆赫兹,进一步的缩小了体积和重量。目前对于高频化逆变电路是一个比较热门的研究方向,他的主要目的就是提高变压器的性能和增加器件的开关频率。1.3逆变电源存在的问题就目前来说如何降低器件的开关损耗和电磁干扰是主要的要解决的问题。降低器件的开关损耗对于节约成本和资源来说是至关重要的,同时也要减少输出电压中的谐波,以防止对电网造成污染。1.4逆变电源的发展前景和趋势目前,逆变电源已经在很多行业中得到了广泛的应用。并且随着电力电子技术的发展,电力电子器件逐渐的成熟,全控型半导体器件和现代控制理论的发展,逆变电源的功能和稳定性得到了进一步的提高。逆变电源正向着智能化,高效率,低污染,低损耗的方向发展。1.5本课题完成的主要的任务1)熟悉pwm控制逆变电源中存在的问题;2)根据毕业设计者所确定的方案,自行确定pwm控制逆变电源的工作参数;3)pwm逆变电源具有相应的监测功能;4)采用模块化设计系统的控制软件;2系统总体设计及方案设计2.1系统总体设计根据此次对本课题研究的内容和要求,经过查阅资料和老师的指导分析可以得知,总体的设计包括主电路和驱动电路两个部分;主电路是三相电压型逆变电路,但是在三相逆变电路中,应用最为广泛的还是三相桥式逆变电路。驱动电是用DSP来控制pwm来控制开关管的开通与关断。2.2方案的比较2.2.1单片机和DSP的比较单片机是一种系统设计方案,将计算机的CPU,定时器和多种接口集成在一片芯片上,可以满足多种应用场合。现在的小家电,比如说电磁炉,电冰箱,洗衣机这些产品都是有单面机开发而成的。DSP也是一种系统设计方法,它主要用在数字信号处理算法上面,音视频数据的解码,这样需要速度非常快的处理,普通的单片机达不到这么快的处理速度。DSP采用改进的哈佛结构,指令和数据空间完全分开,并且有多个指令和数据空间,提高了数据的运算速度。DSP还设有专门的一些运算处理器,这样很大程度上提高了DSP的运算速率。
所以在以上的比较之中可以看出DSP在处理数字信号方面具有显著的优越性。而且根据我的市场调研,在询问发现很多公司做逆变电源确实是用的DSP进行控制。所以根据以上的分析我选择了DSP。2.2.2逆变电路的选择主电路是逆变电路,而逆变电路却有很多种,有单相电压型逆变电路、单相电流型逆变电路、三相电压型逆变电路、三相电流型逆变电路等。但是在实际应用中还是三相电压型逆变电路,本次设计是用三相电压型逆变电路将直流电变成交流电源,然后将得到的交流电源供给小型的交流电机使用。三相电压型逆变电路可以看成是由三个半桥逆变电路组成。电路的原理图如图2.1所示图2.1三相电压型逆变电路原理图2.2.3开关管的选择逆变电路上所用的器件没有使用半控型器件。因为半控型器件的关断不利于控制,如果要使得晶闸管关断的话需要附加强迫关断的电路,这样就使得电路比较复杂,所以我选择全控型的器件。全控型器件的选择上我选择了MOSFET没有选择IGBT。电力MOSFET导通时只有一种极性的载流子参与导电,是单极型晶体管。电力MOSFET工作在开关状态,即在截止区和非饱和区之间来回转换。电力MOSFET的通态电阻具有正温度系数,对器件并联时的均流有利。一般来说,MOSFET不存在二次击穿的问题,一般只适用于功率不超过10kw的电力电子装置。而IGBT可以适用于大功率的场合,但是在本次设计中功率较小,所以我选择了电力MOSFET。在MOSFET的两端反并联上晶闸管构成逆导开关。3系统的硬件设计与实现3.1主电路的设计主电路是三相电压型逆变电路。电压型逆变电路最主要的特征就是直流侧并联有大电容进行直流储能,从而使得PWM桥式逆变电路直流侧呈低阻抗特性。逆变电路就是将直流电变成交流电的电路。电流从一条支路向另一条支路转移的过程称为换流,换流通常也称为换相。在换流过程中,有的支路要从通态转移到断态,有的支路要从断态转移到通态。从断态向通态转移时,无论支路是由全控型还是半控型电力电子器件组成,只要给门极适当的驱动信号,就可以使其开通。但从通态向断态转移的情况就不同。全控型器件可以通过对门极的控制使其关断,而对于半控型器件的晶闸管来说,就不能通过对门极的控制使其关断,必须利用外部条件或采取其他措施才能使其关断。一般来说,要在晶闸管电流过零后再施加一定时间的反向电压,才能使其关断。因为让器件关断,一般都是使晶闸管关断,这个要比开通复杂很多,所以要使用全控型器件。用三个单相逆变电路可以组成一个三相逆变电路,在电压型逆变电路的直流侧一般都是并联一个大电容,这个大电容的目的就是使输入的直流电源为一个恒定的直流电源,直流侧几乎是没有脉动的。为了方便分析我们可以将一个电容器画成两个串联的电容。和单相半桥、全桥逆变电路相同,三相电压型桥式逆变电路的基本工作方式也是180度导电方式,即每个桥臂的导电角度为180度,同一相(即同一半桥)上下两个臂交替导电,各相开始导电的角度依次相差120度。这样,在任一瞬间,将有三个桥臂同时导通。可能是上面一个臂和下面两个臂,也可能是上面两个臂下面一个臂同时导通。因为每次换流都是在同一相上下两个桥臂之间进行,因此也被称为纵向换流。逆变电路是整个逆变电源的核心部分。在逆变电路当中,其中逆变电路所使用的器件能够直接影响着逆变电源的指标参数和性能。比如现在广泛应用的交流电动机的调速,不停电电源UPS,电子镇流器,中频或者高频感应加热电源等等,还可以应用于电力系统作为无功补偿器和谐波补偿器。逆变电路的主电路当中的器件常采用全控型器件如MOSFET和IGBT等。这些全控型器件的关断需要独立的驱动电路,而且还要实现驱动电路和主电路的电气隔离,以防止驱动电路收到主电路的电磁干扰。因为主电路的电压等级一般比较高,而驱动电路的电压一般比较低,所以要隔离,并且驱动电路的供电电源需要相互隔离。这就增加了电源的设计困难和成本,并且使得驱动电路的设计变得复杂。3.2控制电路的设计以往传统的逆变技术大多是数字和模拟控制相结合的控制形式,但是这种控制方法有很明显的缺点。大体的缺点如下:系统的灵活度不够,硬件电路如果完成以后,控制策略就不能够轻易的改变。并且控制电路中的元器件很多,这就会造成整体的体积比较大,会使得整体的机构比较复杂,而且成本也会增加。最后由于模拟器件工作点的漂移,而且元器件间特性的差异,就这会使得系统的参数会发生漂移。所以说这就导致传统的逆变电源在很多场合已经不再适用了。这就驱使着DSP(数字信号处理器)的问世,数字电源便问世了。逆变电源的控制模块是由DSP组成的,他包括了按键部分和显示部分。CPU可以采用T1公司制的TMS320LF2407,他有着数字化控制功能和高速度的信号处理功能。此外,这款DSP具有8个16位的脉宽调制(pwm)通道,他具有的功能为:PWM的对称和非对称波形的输出,如果PDPINTx低电平时就可以迅速的关闭PWM通道;可编程的PWM死区控制以防止上下两个桥臂同时输入处罚脉冲;显示部分用M74HC244芯片和三八译码器驱动6个LED;M74HC244用来控制LED的段码;6个LED的位码可以由74HC138来控制,可以显示出电源的工作状态和参数。如下图3.2.1所示为DSP系统的显示模块图3.2.1DSP系统的显示模块其中的按键是由8个按键通过上拉电阻接到TMS320LF2407的I/O管脚上的,这当中包括了参数设定键和复位键。如下图3.2.2所示图3.2.2DSP系统的按键模块TMS320LF2407a:高性能静态CMOS技术,供电电压为3.3v,指令周期为33ns;片内有高达32k字的FLASH程序存储器;2KBSARAM,544字DARAMA,外扩64千字的程序ROM,64千字的数据RAM;两个事件管理器EVA和EVB;可扩展外部存储器总共192k字空间:64k程序存储空间,64k字数据存储器空间,64k字I/O寻址空间;0看门狗定时模块;10位A/D转换器;控制局域网络CAN模块;串行通信接口SCI模块;16位串行外设SPI接口模块;基于锁相环PLL的时钟发生器;高达40个可单独编程或复用的通用I/O引脚;5个外部中断;电源管理包括3种低功耗模式,能独立地将外设器件转入低功耗工作模式;PWM控制就是对脉冲的宽度进行调制的技术。即通过对一系列的脉冲的宽度进行调制,来等效地获得所需要的波形。PWM控制技术在逆变电路中的应用最为广泛,对逆变电路的影响也最为深刻。现在大量应用的逆变电路中,大部分都是应用的PWM型逆变电路。可以说的是PWM控制技术正是有赖于在逆变电路中的应用,才发展的比较成熟。PWM控制的方法可以分为计算法和调制法,但是一般来说计算法是很繁琐的,当需要输出的正弦波的频率、幅值或相位变化时,结果都要变化。与计算法相对应的是调制法,即把希望输出的波形作为调制信号,把接受调制的信号作为载波,通过信号波的调制得到所期望的PWM波形。通常采用等腰三角形波和锯齿波作为载波,其中等腰三角波应用最多。因为等腰三角波上任一点的水平宽度和高度成线性关系且左右对称,当他与任何一个平缓的调制信号波相交时,如果在交点时刻对电路中开关器件的通断进行控制,就可以得到宽度正比于信号波幅值的脉冲,这正好符合PWM控制的要求。在调制信号波为正弦波时,所得到的的就是SPWM波形,这种情况应用最为广泛。当调制信号不是正弦波的时候,而是其他所需要的波形时,也能得到与之等效的PWM波。在PWM控制电路中,载波频率fc与调制信号频率fr之比N=fc/fr称为载波比。根据载波和信号波是否同步及载波比的变化情况,PWM调制方式可分为异步调制和同步调制两种。异步调制就是载波信号和调制信号不保持同步的调制方式称为异步调制。异步调制的时候一般都是保持载波频率fc不变的,而改变信号波的频率,这就会使得载波比N发生改变。与此同时,在信号波的半个周期内,PWM脉冲波的个数是不固定的,相位也是不固定的。在半个周期内前后1/4个周期的脉冲也是不对称的。当信号波的频率较低时,就会导致载波比过大,一个周期内的脉冲个数就比较多,正负半个周期脉冲不对称和半个周期内前后1/4周期脉冲不对称产生的不利影响比较小,PWM波形接近正弦波。而当信号波的频率较高的时候,此时的载波比就会比较小,一个周期内脉冲数比较少,PWM脉冲波不对称带来的影响就会比较大。所以说,在采用异步调制的时候希望采用较高的载波比,以使在信号波频率较高的时候能够保持较大的载波比。同步调制就是载波比N等于常数,并在变频是载波信号和信号波保持同步的调制方式叫做同步调制。在一般的同步调制中,信号波频率变化时载波比N时不变的,PWM脉冲波在一个信号周期内输出的脉冲个数是一定的,脉冲的相位也是固定的。当逆变电路输出的频率很低时,同步调制时的载波频率fc也很低。但是载波频率过低时会带来不利的影响,如会使得谐波不利滤除。当负载为电动机的时候会带来很大的噪音。如果逆变电路输出的频率较高的时候,也会导致载波频率很高,这就会使得开关器件难以承受。为了克服以上的缺点,我们一般采用的是分段同步调制。就是把逆变电路输出的频率划分几个范围,然后在不同的频率段里采取不同的载波比。在输出频率高的频段采用较低的载波比,以使载波频率不致过高,限制在功率开关器件允许的范围内。在输出频率低的频段采用较高的载波比,以使载波频率不致过低而对负载产生不利的影响。用正弦信号波对三角波载波进行调制时,只要载波比足够高,所得到的的PWM中不含低次谐波,只含有和载波频率有关的高次谐波。3.3驱动电路的设计本次设计并没有使用传统的模拟驱动电路的设计,而是采用了IR公司的专用驱动芯片IR2136,这个设计让整个驱动电路的设计变得更为的可靠。如下图3.3.1所示,IR2136是全控型器件IGBT和MOSFET的专用栅极驱动集成芯片,使用这个来驱动MOSFET具有很多的优势,比如:它具有完善的过电流和欠电压保护功能;这些应用可以大大提高系统的可靠性和系统的集成度,并且同时可以简化了驱动电路;这个芯片的内部采用了自举技术,可以使得器件的驱动电路仅仅只要一个直流电源的输入,这就可以实现了对全控型器件MOSFET的最优驱动。图3.3.1IR2136驱动MOSFET的原理图3.4光耦隔离电路的设计因为由于主电路是强电,而控制电路是弱电。在使用弱电控制强电的过程当中必须要进行隔离,所以强电和弱电需要进行隔离。如果对IR2136不进行隔离的话,若主电路当中的全控型器件发生了损坏,那么高电压就可以把IR2136直接击穿,造成永久性的损坏,这样是得不偿失的。隔离可以分为两种电气隔离和磁隔离,电气隔离可以使用脉冲变压器,磁隔离可以使用光耦隔离器。所以当IR2136的输入信号来自微处理器的时候,那么是肯定要进行隔离的。而又因为IR2136是采取高压侧驱动的,所以可以在低压侧进行磁隔离,可以使用普通的光耦合器,这样也可以降低成本。如下图3.4.1是光耦隔离系统.使用6个光耦合器分别来隔离6路的PWM信号。控制电路也就是弱电侧需要一个3.3v的电压,这个电压由DSP系统来供电。主电路也就是强电侧,由一个5v的电压源进行供电,这个需要独立的电源。所以光耦电路需要两个电源进行供电。但是需要注意的是,主电路和控制电路的电源需要独立,不然就是去了隔离的意义了。图3.4.1光耦隔离系统3.5过电流保护电路的设计在逆变电源的设计中是要考虑到过电流的因素的,逆变电路中出现过电流的时候后果是严重的。严重时可以击穿电路中的元件。IR2136芯片的FAULT管脚有过电流或有失压故障输出功能,通过这个信号就可以实现电源的软件保护功能。ITRIP管脚为过电流信号输入端,可以接采样电流,假若发生过电流时候,就会关断所有逻辑输出并使FAULT和RCIN变为有效的低电平。通过RCIN、FAULT、ITRIP这个三个管脚可以实现逆变电路的过电流保护。过电流电路设计如下图3.5.1所示,采样的电流使通过电阻R24和电阻R23可以获得经过滤波之后然后送给RCIN关键。报警信号是通过光耦合器然后送给DSP的,DSP检测到该信号之后就会立刻关断来保护电路不受过电流的损害。图3.5.1过电流保护3.6系统软件设计本电路在软件设计上采用的是模块化的设计原则,根据不同的功能划分为不同的模块。主要包括了SPWM波产生模块,逆变模块等。软件主要是通过中断的方式及时响应外界发生的各类情况,但是要尽可能的减少中断的类型。程序流程图如下图3.6.1所示。图3.6.1程序流程图4.调试图4.1仿真图5.结束语本设计课题是PWM控制逆变电源的设计。经过几个月的学习和查阅资料,使我深刻的认识到了自己在将专业知识运用于实际应用中的能力是有所欠缺的。在一开始做这个课题时,在网上查阅了一些资料,了解了当前逆变电源在市场上的应用场合。认识到了逆变电源在当今社会的重要性,也知道了很多行业多电源质量的要求是很高的不能仅仅局限于电压的幅值,而且对谐波等因素也是要考虑的。基于数字化设计的逆变电路并没有使用传统的模拟驱动电路和模块化桥臂电路设计,而是用IR2136芯片作为PWM控制技术下的MOSFET电路的驱动电路。三相逆变电源具有广泛的应用市场和光明的前景,可以应用于直流电动机的调速,不停电电源UPS,电子镇流器,中频或者高频感应加热电源,无功补偿装置,谐波补偿器。在做这个设计的时候最难的部分就是控制模块的设计,因为传统的控制会使得谐波比较多难以达到要求。所以我查阅了很多资料,使用了模拟控制电路。经过这次的设计,我大概的了解了逆变电源的市场和发展方向,现在的逆变电源向着高频化的方向发展,尽量减少谐波的输出。6.致谢在此次的设计当中,我遇到了不少问题,感谢在导师和同学的细心指导之下。我完成了本次的设计。7.参考文献[1]张文彬.基于DSP的IPM高频环逆变电源设计[J].舰船电子工程,2017[2]刘俊,杨帆.基于SVPWM技术的三相变频电源的研究[J].电气技术,2016[3]吴海东,任晓明,蒲强,徐候淳,张雨沁.基于SPWM控制的三相逆变器电路设计[J].电器与能效管理技术,2015[4]王博,费莉,张俊平,李山.基于DSP的正弦逆变电源设计[J].重庆理工大学学报(自然科学),2013,[5]霍国存.基于DSP逆变电源的设计[J].机电产品开发与创新,2013[6]何立民.单片机应用系统设计系统配置与接口技术[M].北京::北京航空航天大学出版社,2001[7]房小翠.王金凤单片机实用系统设计技术[M].国防工业出版社,2001[8]高光天,张伦,冯新强等编译.传感器与信号调理器件应用技术[M].北京科学出版社,2002[9]陈润泰,许馄.检测技术与智能仪表[M].长沙:中南工业大学出版社,2001[10]张鹏超.基于DSP的三相逆变电源研制[J].电源技术,2011[11]孙良,张晓斌,郑先成.基于DSP的三相SPWM逆变电源的设计[J].机电一体化,2011,[12]曾鹏飞.DSP控制的正弦波逆变电源[J].中国高新技术企业,2011附录/*该程序的作用是生成3相SPWM波形,用于给三相逆变的6个MOSFET门极驱动;6路PWM输出,本程序选择EPWM1.EPWM2.EPWM3。配置对应的IO口为上拉输出,功能选择为EPWM。系统周期为150MHz,设置TBCLK为75MHz。TBPRD设置为3000,则每个PWM波形的周期为40us。设置epwm中断函数,当发生一次TBCTR=TBPRD时,产生一个中断信号送入PIE,CPU响应。SPWM的信号波与载波的交点提前算出来,存在数组中,每进一次EPWM的中断,根据数组改变一次CMPA的值。EPWM1.EPWM2.EPWM3分别控制一个桥臂。EPWMxA和EPWMxB采用高补偿模式输出,即EPWMxB输出翻转,并且EPWMxA上升沿延时,EPWMxB下降沿延时。延时时间为20个TBCLK,即266ns。EPWM2.EPWM3的TBPHS使能,可以控制EPWM1A.EPWM2A.EPWM3A相互相差120。该程序也可以不设置EPWM中断函数,可以采用定时器定时40us,每40us进一次定时器中断函数改变CMPA的值。该方案可能存在的问题是:如果定时器或者EPWM时间不是很精准,那么在TBCTR=TBPRD之前或者之后进入定时器都会造成输出不符合预期目标,而采用EPWM中断函数就可以在每次TBCTR=TBPRD时进入EPWM中断函数改变CMPA的值。*/#include"DSP28x_Project.h"#include"math.h"#definePWM1_TIMER_TBPRD3000;//设置PWM1的TBPRD的值为3000#definePWM2_TIMER_TBPRD3000;//设置PWM2的TBPRD的值为3000#definePWM3_TIMER_TBPRD3000;//设置PWM3的TBPRD的值为3000inttimes=999;VoidInitEPwm1Example(void);//初始化EPWM1VoidInitEPwm2Example(void);//初始化EPWM2VoidInitEPwm3Example(void);//初始化EPWM3VoidInitEpwm1Gpio(void);//初始化GPIOVoidInitEpwm2Gpio(void);//初始化GPIOVoidInitEpwm3Gpio(void);//初始化GPIOInterruptvoidepwm1_isr(void);//EPWM1中断函数interruptvoidepwm2_isr(void);//EPWM2中断函数interruptvoidepwm3_isr(void);//EPWM3中断函数//Uint16CMPA_BUFFER[times]={100,300,500,700,500,300,100};//CMPA数组Uint16EPwm1TimerIntCount,EPwm2TimerIntCount,EPwm3TimerIntCount;//定义epwm计数Uint16CMPA_BUFFER[999]={3875,113,150,188,226,263,300,338,375,413,450,487,524,561,598,635,671,708,745,781,817,853,889,925,961,997,1032,1067,1102,1137,1172,1206,1241,1275,1309,1343,1376,1410,1443,1475,1508,1541,1573,1605,1636,1668,1699,1730,1760,1791,1821,1850,1880,1909,1938,1967,1995,2023,2050,2078,2105,2131,2158,2184,2209,2234,2259,2284,2308,2332,2356,2379,2401,2424,2446,2467,2489,2509,2530,2550,2569,2589,2607,2626,2644,2661,2679,2695,2712,2727,2743,2758,2773,2787,2800,2814,2827,2839,2851,2862,2873,2884,2894,2904,2913,2922,2930,2938,2945,2952,2959,2965,2970,2975,2980,2984,2988,2991,2993,2996,2998,2999,3000,3000,3000,2999,2998,2997,2995,2992,2989,2986,2982,2978,2973,2967,2962,2956,2949,2942,2934,2926,2917,2908,2899,2889,2879,2868,2857,2845,2833,2820,2807,2794,2780,2765,2750,2735,2720,2703,2687,2670,2653,2635,2617,2598,2579,2560,2540,2520,2499,2478,2457,2435,2413,2390,2367,2344,2320,2296,2272,2247,2222,2196,2171,2144,2118,2091,2064,2037,2009,1981,1952,1924,1895,1865,1836,1806,1776,1745,1714,1683,1652,1620,1589,1557,1524,1492,1459,1426,1393,1359,1326,1292,1258,1224,1189,1155,1120,1085,1050,1014,979,943,907,871,835,799,763,726,690,653,616,580,543,505,468,431,394,357,319,282,244,207,169,132,94,56,19,19,56,94,132,169,207,244,282,319,357,394,431,468,505,543,580,616,653,690,726,763,799,835,871,907,943,979,1014,1050,1085,1120,1155,1189,1224,1258,1292,1326,1359,1393,1426,1459,1492,1524,1557,1589,1620,1652,1683,1714,1745,1776,1806,1836,1865,1895,1924,1952,1981,2009,2037,2064,2091,2118,2144,2171,2196,2222,2247,2272,2296,2320,2344,2367,2390,2413,2435,2457,2478,2499,2520,2540,2560,2579,2598,2617,2635,2653,2670,2687,2703,2720,2735,2750,2765,2780,2794,2807,2820,2833,2845,2857,2868,2879,2889,2899,2908,2917,2926,2934,2942,2949,2956,2962,2967,2973,2978,2982,2986,2989,2992,2995,2997,2998,2999,3000,3000,3000,2999,2998,2996,2993,2991,2988,2984,2980,2975,2970,2965,2959,2952,2945,2938,2930,2922,2913,2904,2894,2884,2873,2862,2851,2839,2827,2814,2800,2787,2773,2758,2743,2727,2712,2695,2679,2661,2644,2626,2607,2589,2569,2550,2530,2509,2489,2467,2446,2424,2401,2379,2356,2332,2308,2284,2259,2234,2209,2184,2158,2131,2105,2078,2050,2023,1995,1967,1938,1909,1880,1850,1821,1791,1760,1730,1699,1668,1636,1605,1573,1541,1508,1475,1443,1410,1376,1343,1309,1275,1241,1206,1172,1137,1102,1067,1032,997,961,925,889,853,817,781,745,708,671,635,598,561,524,487,450,413,375,338,300,263,226,188,150,113,75,38};//CMPA数组,信号波与载波的交点Voidmain(void){EPwm1TimerIntCount=0;EPwm2TimerIntCount=0;EPwm3TimerIntCount=0;InitSysCtrl();//初始化系统,时钟频率为150MInitEpwm1Gpio();//初始化EPWMGPIOInitEpwm2Gpio();InitEpwm3Gpio();DINT;//清除所有的中断,初始化中断向量表InitPieCtrl();//初始化PIE控制寄存器为缺省状态IER=0X0000;//禁止CPU中断IFR=0X0000;//清除CPU中断标志InitPieVectTable();EALLOW;PieVectTable.EPWM1_INT=&epwm1_isr;//将中断向量表中的EPWM1的中断映射到EPWM1的中断函数PieVectTable.EPWM2_INT=&epwm2_isr;//将中断向量表中的EPWM2的中断映射到EPWM2的中断函数PieVectTable.EPWM3_INT=&epwm3_isr;//将中断向量表中的EPWM3的中断映射到EPWM3的中断函数EDIS;EALLOW;SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=0;//禁止同步时基时钟输入到EPWM中EDIS;InitEPwm1Example();//初始化EPWMInitEPwm2Example();InitEPwm3Example();EALLOW;SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=1;//EDIS;IER|=M_INT3;//使能PIE第三组PieCtrlRegs.PIEIER3.bit.INTx1=1;//使能PIE3.1PieCtrlRegs.PIEIER3.bit.INTx2=1;//使能PIE3.2PieCtrlRegs.PIEIER3.bit.INTx3=1;//使能PIE3.3EINT;//EnableGlobalinterruptINTMERTM;//EnableGlobalrealtimeinterruptDBGMfor(;;)//idle循环{}}//指定GPIO1,GPIO2为EPWM输出,复位后输出电平为高VoidInitEpwm1Gpio(void){EALLOW;GpioCtrlRegs.GPAPUD.bit.GPIO0=0;//使能GPIO0内部上拉GpioCtrlRegs.GPAPUD.bit.GPIO1=0;//使能GPIO1内部上拉GpioCtrlRegs.GPAMUX1.bit.GPIO0=1;//GPIO0的功能选择为EPWMGpioCtrlRegs.GPAMUX1.bit.GPIO1=1;//GPIO1的功能选择为EPWMEDIS;}voidInitEpwm2Gpio(void){EALLOW;GpioCtrlRegs.GPAPUD.bit.GPIO2=0;GpioCtrlRegs.GPAPUD.bit.GPIO3=0;GpioCtrlRegs.GPAMUX1.bit.GPIO2=1;GpioCtrlRegs.GPAMUX1.bit.GPIO3=1;EDIS;}VoidInitEpwm3Gpio(void){EALLOW;GpioCtrlRegs.GPAPUD.bit.GPIO4=0;GpioCtrlRegs.GPAPUD.bit.GPIO5=0;GpioCtrlRegs.GPAMUX1.bit.GPIO4=1;GpioCtrlRegs.GPAMUX1.bit.GPIO5=1;EDIS;}//EPWM初始化VoidInitEPwm1Example(void){EPwm1Regs.TBPRD=PWM1_TIMER_TBPRD;//确定PWM周期,75M/3000=25KHzEPwm1Regs.TBPHS.half.TBPHS=0x0000;//设置TBPHS为0//EPwm1Regs.TBCTR=0x0000;EPwm1Regs.TBCTL.bit.CTRMODE=TB_COUNT_UP;//定时器计数模式为连续增模式EPwm1Regs.TBCTL.bit.PHSEN=TB_DISABLE;//TBCTR不从TBPHS装载值EPwm1Regs.TBCTL.bit.PRDLD=TB_SHADOW;//当TBCTR=0时,从阴影寄存器装载值EPwm1Regs.TBCTL.bit.SYNCOSEL=TB_CTR_ZERO;////EPwm1Regs.TBCTL.bit.HSPCLKDIV=1;//不设置分频系数,TBCLK为默认值,二分频,TBCLK=SYSCLKOUT/2=75MHz//EPwm1Regs.TBCTL.bit.CLKDIV=1;EPwm1Regs.CMPCTL.bit.SHDWAMODE=CC_SHADOW;//CMPA,CMPB的值通过阴影寄存器写入EPwm1Regs.CMPCTL.bit.SHDWBMODE=CC_SHADOW;EPwm1Regs.CMPCTL.bit.LOADAMODE=CC_CTR_ZERO;//当TBCTR=0时,阴影寄存器的值写入CMPA,CMPBEPwm1Regs.CMPCTL.bit.LOADBMODE=CC_CTR_ZERO;EPwm1Regs.AQCTLA.bit.CAU=1;//当TBCTR=CMPA,并且计数递增动作。使epwmxa输出低EPwm1Regs.AQCTLA.bit.ZRO=2;//当TBCTR=TBPRD,且方向为0或者减计数时,EPWMxA输出为高EPwm1Regs.DBCTL.bit.OUT_MODE=DB_FULL_ENABLE;//EPWMXA上升沿延时输出,EPWMXB下降沿延时输出EPwm1Regs.DBCTL.bit.POLSEL=DB_ACTV_HIC;//高补偿模式,EPWMXB翻转EPwm1Regs.DBFED=20;//下降沿延时20个TBCLKEPwm1Regs.DBRED=20;//上升沿延时20个TBCLKEPwm1Regs.ETSEL.bit.INTSEL=ET_CTR_PRD;//TBCTR=TBPRD时,产生EPWM中断EPwm1Regs.ETSEL.bit.INTEN=1;//使能EPWM中断EPwm1Regs.ETPS.bit.INTPRD=ET_1ST;//产生一次TBCTR=TBPRD事件时,产生EPWM中断}voidInitEPwm2Example(void){EPwm2Regs.TBPRD=PWM2_TIMER_TBPRD;EPwm2Regs.TBPHS.half.TBPHS=1000;//EPWM2与EPWM1相差120度//EPwm2Regs.TBCTR=0x0000;EPwm2Regs.TBCTL.bit.CTRMODE=TB_COUNT_UP;EPwm2Regs.TBCTL.bit.PHSEN=TB_ENABLE;//允许CMPA从TBPHS装载EPwm2Regs.TBCTL.bit.PHSDIR=TB_UP;EPwm2Regs.TBCTL.bit.PRDLD=TB_SHADOW;EPwm2Regs.TBCTL.bit.SYNCOSEL=TB_SYNC_IN;//EPwm2Regs.TBCTL.bit.HSPCLKDIV=1;//EPwm2Regs.TBCTL.bit.CLKDIV=1;EPwm2Regs.CMPCTL.bit.SHDWAMODE=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年幼儿园鸭子上桥
- 2026年幼儿园小班印染画
- 2026年幼儿园介绍宇宙的
- 2026年大嘴怪幼儿园
- 吸痰护理流程详解
- 气管切开病人活动能力的康复训练
- 护理制度培训与职责履行
- 腹股沟疝护理
- 失能老人护理人员的职业素养提升
- 臁疮的中医护理与护理未来
- 实施方案中项目建设方案
- QC/T 1254-2025汽车用B型焊接圆螺母
- 2025-2026学年人美版(新教材)小学美术三年级下册《美丽荷塘》教学课件
- 地基检测部门管理制度汇编(3篇)
- 2026江苏苏州市常熟市莫城街道(服装城)国有(集体)公司招聘13人备考题库附答案详解ab卷
- 教育强国建设三年行动计划(2025-2027年)
- 20S515 钢筋混凝土及砖砌排水检查井
- 26届3月广东高三·思想政治
- 电力电子技术第3版南余荣习题答案
- 盘锦北方沥青股份有限公司招聘笔试题库2026
- 学校超市内部控制制度
评论
0/150
提交评论