1 前 言
随着信息技术的不断发展和计算机应用的日益普及,高新技术设备对供电质量的要求越来越高,很多设备都要求电源能够持续提供恒频恒压、无崎变的纯正弦波交流电,不间断电源UPS就是用来给这些设备供电的。UPS一般采用正弦脉宽调制(SPWM)的控制方法将直流电逆变成正弦波交流电。目前,SPWM控制波形的产生一般有三种方式:1、用分立元件电路产生,主要由三角波发生器、正弦波发生器和比较器组成。分立元件电路复杂,调试困难,成本高,可靠性差,因此一般很少采用。2、用专用集成芯片产生,专用集成芯片功能强大,输出波形质量高,应用比较广泛。3、用单片机实现,现在许多单片机都具有产生SPWM波的功能,采用单片机可使电路简单可靠,而且还方便对系统其他数据参数的监控、显示和处理,使整个系统的控制非常的方便。本文就是采用PIC16F73单片机产生SPWM波来控制UPS电源中的逆变系统的。
2 硬件电路设计
系统总体硬件框图如图1所示:电网输入交流电经整流滤波电路后,变成直流电压,送入功率因数校正模块(PFC),进行功率因数校正,并同时进行直流电压调整,升压到360V。另一方面,蓄电池输出的48V直流电压经过蓄电池升压电路后得到345V的直流高压,这两路直流高压通过二极管并联起来,供给桥式逆变电路。正常工作时,由市电整流所得直流给逆变器供电,而当市电异常时,则自动切换到蓄电池供电。直流电经过桥式逆变电路逆变后,再经输出滤波变成220V、50Hz纯正弦波交流电,供给负载。
控制电路以 MicroChip公司的PIC16F73单片机为核心。PIC单片机是采用RISC结构的高性价比嵌入式控制器,采取数据总线和地址总线分离的Harvard双总线结构,具有很高的流水处理速度。
PIC16F73最高时钟频率为20MHZ,每条指令执行周期200ns,由于大多数指令执行时间为一个周期,因此速度相当快。其内含192字节的RAM ,4K程序存储器、5路A/D转换及2路PWM波发生器,应用时外围电路极其简单,是理想的单相逆变电源数字控制器。
单片机通过内部软件产生一路SPWM控制信号,然后经过逻辑门变换电路变换成逆变全桥所需的四路驱动信号,再经专用驱动芯片TLP250隔离放大后,分别加到逆变全桥四个IGBT的栅极,进行驱动控制。
为了提高输出电压的稳定性,本系统中采用了电压反馈闭环。输出电压经电阻分压取样后,由运算放大电路将电平转换为单片机A/D转换口所能接受的0~5V电压信号,送入单片机A/D转换口。软件在运行过程中,会每隔一段时间进行一次A/D转换,得到反馈电压值,调整SPWM信号的脉宽,保证输出电压的稳定。
3 软件设计
PIC16F73单片机内部含有两个CCP模块,都可以用来产生PWM波。对于PWM信号来说,周期和脉宽是两个必不可少的参数,PIC16F73单片机将PWM周期储存在PR2寄存器中,而将PWM信号高电平时间值即脉宽值储存在CCPR1L或CCPR2L寄存器中。内部定时器在计数过程中不断与这两个寄存器的值相比较,达到设定时间时输出电平产生相应的变化,从而控制PWM信号的周期和占空比。
SPWM信号要求脉宽按正弦规律变化,因此每一个PWM周期脉宽都要改变,由单片机产生SPWM波的基本思想就是在初始化时将PWM周期值设定,然后用定时器定时,每个周期产生一次中断,来调整脉宽,从而得到脉宽不断变化的SPWM波。但实际上,SPWM频率一般都很高,周期很短,要在每一个周期内都完成脉宽的调整比较困难。本系统中,SPWM周期为20KHZ,设置每六个周期改变一次脉宽,实际输出SPWM信号经滤波后所得正弦波如图6所示,波形光滑无畸变,满足精度要求。
在软件设计中,将CCP2模块作为PWM输出口,CCP1模块采用比较功能,单片机时钟为20MHZ,计时步阶0.2us。首先建立正弦表,在一个完整正弦周期中,采样64个点,采样点正弦值与正弦波峰值的比值就是该点SPWM信号的占空比。然后根据SPWM周期计算出各点的脉宽值,转换成计时步阶,做成正弦表,供CCP1中断子程序调用。这64个点之间的时间间隔也转换成计时步阶储存到 CCPR1H和CCPR1L寄存器中,程序运行过程中, 计数器TIMER1不断和这个寄存器的值相比较,达到设定值时CCP1产生中断,TIMER1重新计时。中断服务子程序用来修改SPWM信号的占空比,其流程图如图2所示。
主程序为一个无穷循环,等待中断发生。本程序中共用到了三个中断:CCP1比较中断,用来调整SPWM脉宽,中断周期为306us;T0定时中断,每隔一段固定的时间进行一次输出电压反馈采样值的A/D转换,在单片机初始化时,将T0的中断周期设为153us,产生一次中断后,将周期改为306us;A/D转换
中断,A/D转换完成产生中断,处理转换值,中断周期为20us。在程序开始运行后,首先发生CCP1中断,使单片机按正弦表的第一个脉宽值输出SPWM波,153us后,产生T0中断,进行A/D转换,并将T0中断周期改306us。 20us后转换完成,产生A/D中断。然后又是CCP1中断,读取A/D转换值和正弦表来调整脉宽。这样周而复始,产生连续不断的SPWM控制信号。中断循环结构如图4所示。
4 实验结果及波形
由单片机CCP2口输出的SPWM波形如图5所示,由于频率为20KHz,脉宽很窄,只截取了其中的一段,看不到脉宽从最小变到最大的过程,但可以看出这段波形中脉宽逐渐变窄,符合SPWM的变化规律。
经RC滤波后得到如图6所示的正弦波,频率为49.6HZ,与设计的50HZ基本吻合,波形平滑无畸变,满足设计要求。
本UPS系统中,采用的是全桥逆变电路,控制方式是一个桥臂上的两个IGBT互补导通,另一桥臂的两个一个常开,一个常闭。负半波时,换到另一桥臂的两个IGBT互补导通,原桥臂变为一个常开,一个常闭。因此需要将单片机产生的一路SPWM信号变换成四路,分别驱动四个IGBT。具体实现电路如图7所示。
单片机输出的SPWM信号和正负半波信号分别加到U3D的12和13脚,此图只画出了同一个桥臂的两个IGBT的驱动波形产生电路,另一桥臂的产生电路与此电路完全相同,只是在输入的正负半波信号前加了一个反相电路,使得不论是正半波还是负半波,桥臂1和桥臂2的U3D的11脚总是一个为SPWM信号,另一个为低电平。经过后面的电路变换后,为SPWM信号的桥臂得到两路互补输出的SPWM波形,为低电平的桥臂则得到一个持续的高电平和一个持续的低电平,从而实现逆变全桥的驱动。
由于同一桥臂的两个IGBT互补导通,死区时间的设置是必不可少的,否则可能出现桥臂直通现象,导致器件甚至整个电损坏。图7中的R2、C2就是用来设定死区时间的,通过RC电路的冲放电得到
一个时间的延迟,再经过门电路的处理加到SPWM信号波形中。通过改变R、C的大小就可以调整死区时间的长短,本电路中电阻取1000欧姆,电容取6.8nF,得到5us的死区时间。
通过电路变换最后得到的逆变桥的四路驱动波形如图8所示。IGBT驱动采用低电平有效,由图可以看出,在同一桥臂上下两个IGBT驱动波形中,从一个驱动波形的低电平变到另一个驱动波形低电平时,有一段两个信号都为高电平的时间,也就是两个IGBT都不通的死区时间,防止了逆变桥的直通。
5 结 语
本文介绍的这种运用PIC单片机产生SPWM信号控制逆变桥的方法在UPS电源的应用中取得了较好的实验效果。同时,这种产生SPWM波的方法也可以用在其他正弦波逆变电源中。
上一篇:PIC12C509A单片机的编程再生
下一篇:PIC12C508A单片机的编程再写
推荐阅读最新更新时间:2024-03-16 15:48