1 引言
随着家用电器产品变频技术的发展,单相电机的变频调速已成为一种可行的方法,在这种调 速系统中,脉宽调制(PWM)技术仍然是提高调速性能的主要手段[1,2,3]。虽然PWM技术的实现方法很多[4],然而,为了降低产品的制造成本,采用微机控制软件实 现PWM控制具有成本低、调制方式灵活等特点,比较适合于家用电器产品的要求。本文针对 洗衣机电机的调速要求,提出了采用直接PWM(DPWM)软件计算的方法,并在AVR系列单片机AT 90C8535上实现,该方法可以很容易地实现电机的恒V/f比调速,其PWM算法简单,易于实现,是一种较为实用的方法。
2 直接PWM技术的算法
常用PWM技术的基本原理是利用高频载波与控制波进行比较,从而产生经过调制的PWM波。为 满足逆变电源的需要,减小输出电压的谐波含量,载波信号采用对称的三角波实现PWM 输出波形的对称双边调制,使输出电压不含偶次谐波。
用软件产生PWM波形的算法有很多方法,如:采样SPWM法、均值PWM法、直接PWM法等,其中SPWM法有三种不同形式:对称规则采样SPWM、非对称规则采样SPWM、平均对称规则采样SPWM,以平均对称规则采样SPWM的算法简单,应用较为广泛。SPWM的主要缺点就是电源电压利 用率不够高,即输出电压不高。均值PWM法的基本思想是根据等面积PWM控制方式的原理,选 择最佳脉冲中心线位置,使得其PWM波形的谐波成分量小,均值PWM法具有微机实现简单方便 的优点,且对各次谐波的抑制均有很好的效果。直接PWM法与均值PWM法类似,也是使相同时 间间隔内的PWM波 的面积与调制波的面积相等,其主要的优点是,在调制比固定时,控制规 律正比于调制深度而反比于输出频率,特别使用于电机的控制,因此本文选择直接PWM法。
直接PWM法的调制原理如图1所示,假定一个周期内PWM波的脉冲数(即载波比)为2N,将参考 正弦波Umsin ωt的整个周期T分为2N等份,则每个区间的长度(即载波周期)为Ts=T/2N,在第i个区间正弦波的面积为:
设输出PWM波的幅值为E,若采用单极性调制,则第i个区间内的PWM波形所围面积为:
若采用双极性调制,则第i个区间内的PWM波形所围面积为:
式中,Tpi为脉冲的宽度,考虑到有Ts=Tpi+2Tgi,令Sri=Spi,由式(1)和式(2)整理可得:
式中M=Um/E为调制深度,由式(4)或式(5)可分别计算出PWM的脉冲换相点公式为 :
由图1可知,等面积PWM法生成的PWM波形在T/2处是点对称的,因而可推导出:
在上述计算公式中,式(8)为单极性PWM调制,式(9)为双极性调制。在计算过程中,虽然δi的表达式包含有三角函数的计算,但它仅与N有关,一旦N确定后,可事先将计算好的δi存入内存中,需要时通过查表方式获取即可。从k的表达式可以看出,k正比于调制深度而反比于基波频率ω。这对于电机的变频调速系统,通常使U/f比为常数来达到恒转矩 控制,即只需使k值为一个常数即可。
3 单片机实现PWM技术的设计
采用单片机实现PWM,为了保证能够满足变流电路的控制性能要求,设计时必须处理好以下 几个技术问题。
3.1 载波比
采用微机生成PWM波时,必须事先确定好载波比N(或2N)。如果输出频率的变化范围较大,那 么在整个频率范围内采用同一个载波比的同步调制方案,难以兼顾高频和低频输出时的性能。较大的载波比往往会造成高频时PWM开关频率过高,导致开关器件的开关损耗增加,而较小的载波比又会造成低频时PWM波过于稀疏,使电流脉动增大、谐波分量增加等缺点。因此 采用分段同步调制是较合理的方法,即在不同的频率段选择不同的载波比,使变频器在整个频率变化范围内,都有一个较为合理的PWM开关频率,以获得较好的控制性能。然而载波比的选择和切换时必须注意两点:
(1)切换时不出现电压的突变。
(2)在各切换临界点处需设置一个滞环区,以避免输出频率落在临界切换点附近时造成载波 频率反复变化而引起的振荡现象。
3.2 PWM波的开关频率极限
由于PWM波是通过单片机CPU实时计算的,因此所选择PWM算法的数据处理量大小以及CPU的处 理速度是影响输出PWM波开关频率极限的主要因素。设计时必须保证单片机能输出的PWM波的最高开关频率满足逆变器要求,当然对逆变器的最低工作频率要求是很容易满足的。
3.3 PWM波的输出频率和调制深度指令
在变频调速系统中,由于逆变器的输出频率是可调的,因而要求PWM算法的输出频率和调制 深度都能根据实际需要变化以适应电机恒V/f比或恒功率控制的要求。一般,逆变器的输出频率指令可通过A/D转换输入到单片机中,调制深度M可以用软件计算完成,也可采取类似的方法读入CPU。
3.4 桥臂互锁及死区时间
为了保证逆变器同一桥臂上下两管同时导通而引起的短路,两驱动信号间必须留有一定的死 区时间,以防止一管还未完全关断时另一管便开始导通的短路故障。此要求可以在单片机PWM波的计算程序中加以考虑。然而这样做往往会增加单片机的数据处理工作量,而且仅靠软件实现上下桥臂开关管的互锁和死区延迟也不可靠,因此,为保证电路的安全性,建议最好在硬件电路设计上充分考虑并实现此项要求。
3.5 初始状态及故障封锁
任何一款型号的CPU,工作前总存在复位状态,此时CPU各I/O输出口全“1”或全“0”,设 计时应避免在此复位状态时造成所有开关管都被驱动导通的危险,因此应将CPU复位时的初 始电平值设置成开关管驱动信号无效状态。此外,当发生故障时,也可以通过输出故障封锁信号来关闭驱动信号。
4 PWM波的单片机控制
在本文分析的洗衣机电机控制中,逆变器的输出频率由给定电位器调节,经A/D转换输入至 单片机,由单片机根据给定输出频率的大小计算逆变器电压,以适应变频调速的恒V/f 比控制要求。控制芯片采用AT90S8535单片机。
AT90S8535是40脚封装的RISC结构低功耗CMOS 8位单片机,具有8K字节的Flash,512字节的EE PROM,512字节RAM,32个多功能的I/O口,3个内部定时/计数器,8通道10位A/D转换器,2个外部中断源,可编程的串行通讯,可编程的看门狗定时器等资源,适合于许多要求集成度高、成本低的应用场合,其引脚配置如图2所示。
设逆变器输出压频变化关系曲线是已知的,当逆变器的输出频率确定后,PWM控制的载波比 和调制深度指令也随之确定。单片机的资源分配为:39脚的PA1作为A/D采样输入口,采样输出频率;PC0~PC3作为PWM输出的驱动信号,设置为输出口;17脚的INT1外部中断作为电路 故障信号(如过流、过压、短路等)的输入脚,同时该脚也作为“解除闭锁”控制位的输入脚,其作用在于:当故障发生时,由外部中断输入引脚的信号变化向CPU提出中断请求,CPU响应中断,在执行中断服务程序中输出PWM封锁信号并实现闭锁,直到解除闭锁控制位有效时,才撤销PWM封锁信号,使PWM波能够正常输出。由于AT90S8535芯片的复位时端口的初始状态是“高”,因此封锁信号和驱动信号均设置成“低”电平为无效状态,此时端口输出信号使所有功率开关管处于关断状态。PWM波的载波周期由片内T0定时器来完成,PWM波换相所需的时间由片内T1定时器来实现。采用AT90S8535单片机实现的单相PWM波形发生器的硬件连接关系如图3所示。
5 单片机控制软件设计
按上述算法分析,软件只计算PWM波的切换时间,在CPU中由定时中断服务程序完成PWM脉冲 波的换相。其具体过程:PWM的载波周期Ts由载波周期定时器定时,当定时到时,向C PU发出中断申请,CPU响应中断并执行中断服务程序,此中断服务程序的主要任务是将保存 在内存中的PWM开关定时数据(在上一个载波周期计算出来的PWM换相定时时间)送PWM波定时器,并启动此定时器工作,然后再计算下一个载波周期的PWM数据并保存。
PWM波定时器根据载波周期定时中断服务程序送来的开关数据进行定时控制,在中断服务程 序中完成对PWM的换相并输出至端口。
主程序的主要任务是,对逆变器输出频率指令f的采样或计算,并计算与频率指令对应的调 制深度指令、载波比、载波周期定时常数等,为载波周期定时中断服务程序的计算提供实时指令。然而在变频切换时,由于电压跟随频率的变化而改变,变频瞬间容易产生电流冲击。通常解决办法是在基波电压过零时(即0°、180°),变频瞬间无电流冲击,但该方法会造成频 率变化响应过程较慢,特别是低频时响应时间过长。因此最好能设计成在任何一个载波周期结束时刻都可以进行频率切换,为防止电流冲击的产生,此时应使频率切换前后的基波电压不仅与频率和相位有关,还和调制比有关,使得计算频率变化前后基波电压相等的条件相当费时,因此在实现过程中,一般按相位相等的原则进行频率切换。即在新旧频率切换时,根据脉冲计数器所表示的相位关系进行等相位切换。假定旧频率时的载波比为N1,频率变化的切换时刻计数器值为P1,新频率时载波比为N2,切换时新频率计数器的值P2应为:
求出P2后再进行切换。
实现PWM算法的整个控制程序流程如图4所示。
6 实验与结论
按照上述设计方法,研制了单片机控制系统的软硬件,并进行了实验,其输出波形如图5所 示。实验证明,该方法简单可行,控制性能良好,具有一定的实用价值。
此外,三相PWM发生器的实现方法与单相也是相似的,不同之处在于三相PWM发生器需要3个 PWM波换相定时器,再加上载波周期定时器,共需4个定时器。至于三相PWM发生器的软件设计,其基本的设计方法与单相的是相同的,这里不再讨论。