单片机产生SPWM波来控制UPS电源
eeskill 2023-11-29

1 前 言

随着信息技术的不断发展和计算机应用的日益普及,高新技术设备对供电质量的要求越来越高,很多设备都要求电源能够持续提供恒频恒压、无崎变的纯正弦波交流电,不间断电源UPS就是用来给这些设备供电的。UPS一般采用正弦脉宽调制(SPWM)的控制方法将直流电逆变成正弦波交流电。目前,SPWM控制波形的产生一般有三种方式:1、用分立元件电路产生,主要由三角波发生器、正弦波发生器和比较器组成。分立元件电路复杂,调试困难,成本高,可靠性差,因此一般很少采用。2、用专用集成芯片产生,专用集成芯片功能强大,输出波形质量高,应用比较广泛。3、用单片机实现,现在许多单片机都具有产生SPWM波的功能,采用单片机可使电路简单可靠,而且还方便对系统其他数据参数的监控、显示和处理,使整个系统的控制非常的方便。本文就是采用PIC16F73单片机产生SPWM波来控制UPS电源中的逆变系统的。

2硬件电路设计

系统总体硬件框图所示:电网输入交流电经整流滤波电路后,变成直流电压,送入功率因数校正模块(PFC),进行功率因数校正,并同时进行直流电压调整,升压到360V。另一方面,蓄电池输出的48V直流电压经过蓄电池升压电路后得到345V的直流高压,这两路直流高压通过二极管并联起来,供给桥式逆变电路。正常工作时,由市电整流所得直流给逆变器供电,而当市电异常时,则自动切换到蓄电池供电。直流电经过桥式逆变电路逆变后,再经输出滤波变成220V、50Hz纯正弦波交流电,供给负载。

基于PIC单片机产生SPWM信号控制逆变桥的方法设计控制电路以 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信号的占空比,其流程所示。

主程序为一个无穷循环,等待中断发生。本程序中共用到了三个中断:CCP1比较中断,用来调整SPWM脉宽,中断周期为306us;T0定时中断,每隔一段固定的时间进行一次输出电压反馈采样值的A/D转换,在单片机初始化时,将T0的中断周期设为153us,产生一次中断后,将周期改为306us;A/D转换基于PIC单片机产生SPWM信号控制逆变桥的方法设计中断,A/D转换完成产生中断,处理转换值,中断周期为20us。在程序开始运行后,首先发生CCP1中断,使单片机按正弦表的第一个脉宽值输出SPWM波,153us后,产生T0中断,进行A/D转换,并将T0中断周期改306us。 20us后转换完成,产生A/D中断。然后又是CCP1中断,读取A/D转换值和正弦表来调整脉宽。这样周而复始,产生连续不断的SPWM控制信号。中断循环结构如图4所示。

由单片机CCP2口输出的SPWM波形所示,由于频率为20KHz,脉宽很窄,只截取了其中的一段,看不到脉宽从最小变到最大的过程,但可以看出这段波形中脉宽逐渐变窄,符合SPWM的变化规律。

经RC滤波后得到所示的正弦波,频率为49.6HZ,与设计的50HZ基本吻合,波形平滑无畸变,满足设计要求。

基于PIC单片机产生SPWM信号控制逆变桥的方法设计本UPS系统中,采用的是全桥逆变电路,控制方式是一个桥臂上的两个IGBT互补导通,另一桥臂的两个一个常开,一个常闭。负半波时,换到另一桥臂的两个IGBT互补导通,原桥臂变为一个常开,一个常闭。因此需要将单片机产生的一路SPWM信号变换成四路,分别驱动四个IGBT。具体实现电路如图7所示。

基于PIC单片机产生SPWM信号控制逆变桥的方法设计单片机输出的SPWM信号和正负半波信号分别加到U3D的12和13脚,此图只画出了同一个桥臂的两个IGBT的驱动波形产生电路,另一桥臂的产生电路与此电路完全相同,只是在输入的正负半波信号前加了一个反相电路,使得不论是正半波还是负半波,桥臂1和桥臂2的U3D的11脚总是一个为SPWM信号,另一个为低电平。经过后面的电路变换后,为SPWM信号的桥臂得到两路互补输出的SPWM波形,为低电平的桥臂则得到一个持续的高电平和一个持续的低电平,从而实现逆变全桥的驱动。

由于同一桥臂的两个IGBT互补导通,死区时间的设置是必不可少的,否则可能出现桥臂直通现象,导致器件甚至整个电损坏。图7中的R2、C2就是用来设定死区时间的,通过RC电路的冲放电得到基于PIC单片机产生SPWM信号控制逆变桥的方法设计一个时间的延迟,再经过门电路的处理加到SPWM信号波形中。通过改变R、C的大小就可以调整死区时间的长短,本电路中电阻取1000欧姆,电容取6.8nF,得到5us的死区时间。

通过电路变换最后得到的逆变桥的四路驱动波形如图8所示。IGBT驱动采用低电平有效,由图可以看出,在同一桥臂上下两个IGBT驱动波形中,从一个驱动波形的低电平变到另一个驱动波形低电平时,有一段两个信号都为高电平的时间,也就是两个IGBT都不通的死区时间,防止了逆变桥的直通。

5结 语

本文介绍的这种运用PIC单片机产生SPWM信号控制逆变桥的方法在UPS电源的应用中取得了较好的实验效果。同时,这种产生SPWM波的方法也可以用在其他正弦波逆变电源中。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【立即预约】Keysight直播:搞懂介电常数那些事儿


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 基于C51单片机实现汽车座椅自动控制系统的软硬件设计

    引言 随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节...

    7小时前
  • MCS51单片机程序设计时堆栈的计算方法解析

    用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己...

    7小时前
  • 51单片机定时器工作原理及用法

    TMOD : 控制定时器的工作方式。8个bit,高四位 bit 控制 T1,、低四位 bit 控制 T0。因为定时器有4种工作方式;TMOD = 0x00(工作方式0),TMOD = 0x01(工作方式0),TMOD = 0x02(工作方式2),TMOD = 0x03(工作方式3)。...

    7小时前
  • 51单片机学习单片机之路总结

    学习单片机有一学期了,现在也由51转到STM32了。一直想对51的学习做一个总结。也希望对别人有一些启发。也给后学者提供一些建议。当然本文是我对自己学习过程的总结,若有不对的地方,还请高手指出。 我想,再看本...

    7小时前
  • hot51增强型单片机开发板原理图

    功能要求: 一):绿灯25s倒计时,绿灯过度红灯有5s黄灯时间,红灯25s后直接跳绿灯。 二):按键按下模拟闯红灯输入,产生5s蜂鸣器鸣叫。 开发环境: 软件:Keil uVision4 硬件:HOT51增强型单片机开发板 程序代码:...

    昨天
  • 51单片机的延时子程序

    延时程序在单片机编程中使用非常广泛,但一些读者在学习中不知道延时程序怎么编程,不知道机器周期和指令周期的区别,不知道延时程序指令的用法, ,本文就此问题从延时程序的基本概念、机器周期和指令周期的区别和联系...

    昨天
  • 什么是Flash盘?Flash盘的结构是什么样的?

    Flash是大家常使用的存储之一,对于Flash,大家或多或少有所了解。上篇文章中,小编对Flash闪存的类型有所介绍。为继续增进大家对Flash的认识,本文将对Flash盘、Flash盘结构以及Flash读写操作予以介绍。如果你对本...

    昨天
  • 深谈嵌入式系统,嵌入式系统是如何组成的?

    嵌入式系统在生活中有诸多应用,大家对于嵌入式系统或多或少有所耳闻。在前两篇文章中,小编对嵌入式系统进行过详细介绍。为继续增进大家对嵌入式系统的认识,本文将对嵌入式系统的组成加以说明。如果你对嵌入式系...

    06-27
  • 嵌入式系统秘籍共享,最全嵌入式系统解析

    嵌入式系统的应用十分广泛,因此越来越多的人学习嵌入式系统。由此,在学习嵌入式系统之前,我们应当对嵌入式系统具备一些认识。所以在本文余下部分,小编将对嵌入式系统进行全面解析。如果你对嵌入式系统具有兴趣...

    06-27
  • 51单片机超声波测距程序详解

    51单片机超声波测距程序详解 超声波四通道测距:超声波测距实现分为三大块: 其一是12864带字库的液晶驱动程序: 代码如下: /////////////////12864驱动程序/////////////////////////// //1写数据 void WriteDat...

    06-25
  • 51系列单片机的引脚图

    51系列单片机的引脚图 端子介绍 l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 l P3.0~P3.7 P2口8...

    06-25
  • 51单片机串口通信需要加超时中断吗?

    接收数据时,超过一定时间就算出错. 这个超时的时间是单片机自己算出的吗?超时的时间是由编程序的人定的,他定多长就多长从一段程序开始 实现电脑向 单片机发送一些数据,单片机返回Iget +数据 #include #define u...

    06-25
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告