5Hz三档三相SPWM波形的生成方法
扫描二维码
随时随地手机看文章
摘要:本文介绍5Hz/50V、60V、70V三档三相SPWM波形生成的硬件电路和软件设计,并给出
逆变器的输出波形。
关键词:逆变器软件设计
给纺织机供电的一种5Hz变频电源,由于工作场合的不同,其输出电压分为50V、60V、70V三档。本文将着重讨论采用单片机8098为主控芯片生成这三档SPWM波形的硬件电路和软件设计方法。
SPWM的计算机实现,其原理仍然是基于正弦控制波与三角载波相交以确定开关器件通断时刻点。随着采样方式的不同,软件编程的方法也不同,而且还要结合硬件定时器的工作方式,因此其实现方法有多种多样。本文采用了利用高级语言按照规则采样法原理离线计算出对应脉宽数据,由8098单片机查表实现输出的方法,实现了逆变器输出三相线电压为50V、60V、70V三档5Hz低频正弦电压。
1规则采样法原理
由于正弦波与三角波的交点具有任意性,脉冲中心在一个周期内不是等距的,因此脉宽表达式是一个超越方程,不能用简单的解析式表达。为了简化计算工作量,使之便于工程实现,可以使脉冲中心由不等距改为等距。在三角载波的某一固定点进行采样,来决定PWM波出现与结束的时刻,而不管这一时刻正弦波与三角波是否相交,工程实践证明由此带来的误差是完全可以忽略的。这样便有意消除了两个波形交点出现的任意性,算法就由不可解的超越方程变为可解的简单三角方程。〖1〗
在本文中采用了工程上常见的基于规则采样技术和采样保持原理的PWM波形形成原理。其采样频率等于载波频率,在载波三角波正峰值处采样,脉冲总是对称于载波三角波的波谷,如图1所示。按照图2我们就可以求得三角波的每一时刻对应的脉宽t2。
由于采样时刻和采样值都是明确定义的,因此脉冲宽度和前后沿位置均可计算得出。若载波三角波幅度UTM定为1,控制正弦波幅度UC为M,三角的倾角为α,斜率为4/T2(T2为三角波周期),采样值为MsinωCt。由直角三角形OBB'和OCC'相似的几何关系可得比例式:
(t2/2)/(T2/2)=(1+MsinωCt)/2
从而求得脉宽时间t2=T2(1+MsinωCt)/2
由脉冲波形的对称性可求得间隔时间:
t1=t3=(T2-t2)/2=T2(1-MsinωCt)/4
根据t1、t2、t3表达式即可完全确定正弦波一周期中各脉冲的出现与结束时刻。从图1图形上看,规则采样法实际上是用一系列阶梯状台阶波形来逼近正弦波,因此,载波频率ωC越高,即采样点越多,精度越高。
对于三相逆变器,因三相对称互差120°相位角,因而有〖2〗:
t2a=T2(1+MsinωCt)/2
t2b=T2[1+Msin(ωCt-120°)]/2
t2c=T2[1+Msin(ωCt+120°)]/2
且:t2a+t2b+t2c=3T2/2
t1a+t1b+t1c=t3a+t3b+t3c=3T2/4
2采样8098实现SPWM波
图1规则采样法PWM波形
图2PWM波的规则取样法 [!--empirenews.page--]
2.1硬件电路
选择8098单片机HSO0、HSO1、HSO2输出三路SPWM波,经图3裂相延时整形互锁电路后得到6路SPWM信号。这样采用了硬件电路进行裂相并由硬件电路进行延时产生死区时间,使得逆变器同一桥臂上的功率开关完成先关断后开通的死区控制逻辑,并且避免了由于软件失误而造成的直通事故,从而使得驱动电路的SPWM信号本身具有极好的可靠性。
图3裂相延时整形互锁电路
死区时间的大小主要由以下几方面决定:驱动电路在开通和关断两种模式工作时,信号传递延迟时间有差异;逆变器桥臂上下两功率开关器件的驱动不可能达到完全一致;功率器件不是理想开关,其开通和关断都有延时且不等。
因此,要综合这几个因素来确定死区时间的长短,并给予一定的余量,总之要充分估计导通时控制信号到功率管开通的最小延迟时间tonmin和关断时控制信号到功率管关断的最大延迟时间toffmax。则死区时间可以定为toffmax-tonmin。实际中则取死区时间略大于toffmax。
本文采用IGBT作逆变器的功率开关管和EXB841驱动模块,EXB841最大延迟时间为1.5μs,IGBT一般不超过期3μs,因此本文死区时间定为5μs。
下面对图3的电路原理及以参数的确定进行分析。可以认为在比较器上不存在信号延迟。由于本电路采用LM339,其输出为OC输出,输入阻抗很大。图4为图3电路中各点波形。电位器RP抽头的电位为四个比较器的比较电压UR。考虑到HSO输出电流小,因此A1作缓冲器,B1作倒相器。电压UA1及UB1经RC电路充放电完成延时,再经A2、B2与参考电压UR比较整形得输出OUTA、OUTB。波形OUTA、OUTB相加可以得到代表死区时间的负脉冲,其宽度即为死区TD。
图4各点的波形
图3中A组与B组电路阻容参数对应相同,在此以A组为例来说明阻容参数的确定。当HSO由低电平变为高电平时,CA上电压UA2初始值为零,并且由于LM339为OC输出,则形成5V电源、RA1、RA2、CA、地的充电回路,时间常数tA1=(RA1+RA2)CA,当UA2上升至UR时,比较器A2翻转;在HSO由高变低时CA经RA2放电向比较器A1输出灌入电流,其时间常数τA2=RA2·CA,由于RA2?RA1(在此RA2只是为了限制在CA放电时瞬间吸入电流不致过大),因此tA1?tA2,由于UA2=UR=VCC,其中:τA1=(RA1+RA2)CA≈RA1CA,解此方程得死区时间TD如下:本文中死区取5μs,VCC=5V,当UR=2.5V时,RA1CA=7.2μs [!--empirenews.page--]
因此取CA为360P,RA1为20kΩ,RA2取100Ω。为了保证三相死区时间一致,在此取电容为高档精密独石电容,电阻RA1选用电阻排,电阻排采用集成制造工艺,相对精度较高。R为比较器输出上拉电阻,可取10kΩ的电阻排。
2.2SPWM软件设计
由于本系统的输出为固定5Hz,电压分三档的三相交流,因此不存在变频的问题,采用查表法较合
适。这样就避免了较复杂的单片机在线计算。其主要优点是采用查表法可以使载波频率提高,从而降低谐波分量,而且使CPU有空闲时间来进行其它方面的管理。数据表可由高级语言计算获得。
(1)数据表的获得
根据规则采样法原理可知,只要给出周期和一周期内的脉冲个数以及相应输出幅度的调制比m,则输出波形一周期内的任意一个脉冲都可以求得。
本系统的输出周期:
T=1/5Hz=0.2s=0.2×106μs
调制比:其中UOUT为逆变器三相输出线电压,Ed为直流侧直流电压。本系统要求UOUT有50V、60V、70V三档,Ed=270V,因此相应有三个m值。所以需产生对应三个电压档的三组数据表。
由于逆变器输出为三相正弦波,具有相同的幅度,只是在相位上互差120°,因此它们每一周期内具有相同的脉冲波,即脉冲宽度和个数是完全相同的,因此只需求一相的数据表即可。三相查表时,以互差120°的方式进行查取。为了便于8098实现,在此表格中的一组数据为:[t2/2,t1],对于一周期(0~2π)内有P个脉冲,本文8098采用6MHz的晶振,时钟周期为0.5μs,而HSO的时间分辨率为8倍时钟周期即4μs,因此(t2/2)N,(t1/2)N还需按4μs进行量化,其量化误差最大为2μs。另外HSO装入的数据应是16位字长的数据,因此数据表的数据都按16位字长存储,第N个脉冲的数据存储格式为:[(t2/2)N/0.000004]16bTTS,[(t1/2)N/0.000004]16bTTS,一个数据表有201组这样的数据组成。对应于50V、60V、70V三个档位我们得到三组数据表,分别存储于TABLE50、TABLE60、TABLE70为表头的三个区域中。在运行时,只要地址指针定位于三个表头中的某一个,即可实现对应输出电压。
在实践中,采用了高级语言离线编程来取得三组数据表存于EPROM中,在程序运行中要求输出PWM波时,只需查表取值、定时就可以了。
(2)波形输出
SPWM波输出由4个HSO完成。HSO0、HSO1、HSO2作为三路SPWM波输出口,HSO3定时中断,作为时间基准,HSO3定时中断时间为T2/2,每中断一次输出半个脉冲波,一个周期输出201个脉冲波需中断201×2=402次,在中断服务程序中,CPU将t1、t2、T/2值和控制字加载到HSO各口,然后返回主程序,重复上述过程,就可以输出连续的SPWM波。SPWM波输出框图如图5所示。
图5SPWM波输出框图
3结论
采用上述方法生成的SPWM波经逆变器输出的频率为5Hz的电流、电压波形如图6所示。由图可见:波形正确、良好。
(a)电压波形(b)电流波形
图65Hz电流、电压波形