基于STM32的SPWM直接面积等效算法的分析与实现

2017-10-26 20:22朱能飞王翠陈勇生黄小军崔晓斌徐键
计算技术与自动化 2017年3期
关键词:逆变器嵌入式

朱能飞 王翠 陈勇生 黄小军 崔晓斌 徐键

摘要:针对自然采样法计算量大,规则采样法相比自然采样法计算量小,但仍存在一定误差等问题,提出了一种以STM32为核心基于面积等效法实现SPWM波形的算法。面积等效法其原理是脉冲相等而形状不同的窄脉冲加在惯性环节上输出波形基本相同。将调制波的一个周期划分为若干等分,该等分的面积用等面积的窄脉冲代替,用面积等效法精确计算出每一个窄脉冲的开关通断时间,通过查表法不断地改变占空比实现SPWM波形。该方法产生的SPWM信号简单有效,程序易实现。

关键词:STM32F103;SPWM;面积等效;嵌入式;逆变器

中图分类号:TN787文献标识码:A

Abstract:In order to solve the problem that The Natural Sampling Method is greatly complex ,The Regular Sampling Method has less computational complexity than The Natural Sampling Method,but it is still existing problems of error,so an algorithm based on area equivalent method to realize SPWM waveform is proposed.Area equivalent method the principle is the pulse of equal and different shapes of narrow pulse added to the inertial link output waveform is basically effect.A cycle of the modulated wave is divided into a number of equal portions,and the equally divided areas are replaced by narrow pulses of equal area.Through the lookup table method to constantly change the duty cycle to achieve SPWM waveform.It is simple and effective by this method to generate the SPWM signal,and the program is easy to implement.

Key words:STM32F103;SPWM;area equivalent;single chip;power inverters

1前言

隨着微控制器和电子技术的不断发展,脉冲宽度调制( pulse width modulation,简称PWM) 技术在电力电子技术中应用越来越广泛,尤其在逆变电路中, SPWM控制技术扮演一个举足轻重的角色[1]。

实现SPWM波形的方法主要有自然采样法[2]、规则采样法[3]、直接面积等效法[4]等 ,其中自然采样法的精度很高,但求解导通关断点需要解一个超越方程,计算量很大,一般不被采用;规则采样法用近似的阶梯波代替正弦波与三角波比较,虽然计算简单,但精度不高[5-8]。针对自然采样法、规则采样法存在的上述问题,本文利用了直接面积等效法,将调制波的一个周期划分为若干等分,该若干等分的面积用等面积的窄脉冲代替,用面积等效法精确计算出每一个窄脉冲的开关通断时间,并将开关的开通时间转换为STM32中对应的占空比,通过查表法不断地改变占空比实现SPWM波形。由于面积等效法的计算量不大且计算结果精确,因此产生的SPWM波形精确。

本文利用STM32F103VET6控制芯片产生SPWM信号,由于该控制芯片带有高级定时,能够通过适当的配置输出互补的PWM信号,且可以设置死区的时间,因而能够比较容易的产生稳定的SPWM信号。

为了验证产生的SPWM波形能够真实可行,将STM32F103VET6控制芯片产生的SPWM信号用于控制一个单相桥式逆变器,在逆变器的输出端,经过RC滤波电路,用示波器观看可得到标准的正弦波输出。

2算法原理

在采样控制理论中有一个重要的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同[9],这一结论是SPWM控制的重要理论基础。如图1所示,若定义调制比为调制波的幅值与脉冲的幅值之比,以单位量1代表矩形脉冲的幅值Uc,则正弦调制波的幅值Ur就是调制比a。把正弦调制波的正半周期分成n等分,分别求每一等分所包含的面积,用双极性正弦脉宽调制,可得式(1)、(2)、(3):

(5)式中:t1为单个正脉冲时间长度,fr为调制波的频率

由(5)式可以算出正弦调制波正半周每一等分的正脉冲的时间(即开关管的导通时间),同理可以计算出正弦波负半周每一等分的正脉冲对应时间。

3SPWM的软件设计

STM32F103VET6定时器非常丰富,有2个高级定时器、4个通用定时器、2个基本定时器,其中高级定时器可以输出带死区的互补信号,因此用其产生SPWM方便有效。定时器的计数模式有向上计数、向下计数、向上/向下计数,本文所用定时器的计数模式为向上/向下计数,因为此计数模式能够容易编程实现SPWM信号。

软件设计原理为:将一个正弦波周期内的正脉冲的计数值存入一个数组中,定时器T1工作在向上/向下计数模式(产生SPWM信号),定时器T4工作在向上计数模式(产生中断),当定时器T4每次中断,通过查表法把定时器T1的比较寄存器的值不断的更新,从而产生SPWM信号。其具体实现方法如下:endprint

由2所述SPWM算法原理,算出正弦波(本实验分为200等分)的每一等分正脉冲的时间t1,将时间t1转换为正脉冲对应的宽度(即正脉冲对应定时器T1计数值)。在一个采样周期(即方波的周期)中,其计数值为

C=TcTs×(TIMxPSC+1)

其中:Tc为采样周期,Ts为系统时钟周期,TIMxPSC为计数器预分频值。

则每一正脉冲的时间t1所对应定时器T1的计数值为

C=t1Tc×C

由此得到SPWM中每一等分的正脉冲宽度,并将其存入一个数组里。本实验利用定时器T1的通道1(PE9)及其互补通道1(PE8)和通道2(PE11)及其互补通道2(PE10)分别产生两路互补的PWM控制信号[10]。通过定时器T4每隔一个采样周期(本程序是100us)中断一次,在中断处理程序中每中断一次根据查表法更新一次定时器T1比较寄存器的值(即(C-查表数据)/2),且定时器T1的计数模式为向上/向下计数。如此不断的循环执行程序,可在定時器T1的相应的引脚上产生四路PWM波——PWM1(PE9),PWM2(PE8),PWM3(PE10),PWM4(PE11)。本程序设计的控制流程图如图2所示:

4实验验证

为了说明设计方案的有效性和可行性,将该程序下载到众想科技的STM32F103VET6开发板,用示波器观测了一对互补输出的PWM(PE8、PE9)波形,如图3所示,并与MDK软件仿真的波形相比较是一致的,如图4所示。

将产生的四路PWM波通过一个单相桥式逆变器,并在逆变器输出端接一个RC滤波电路,如图5所示,其中PWM1和PWM4波形相同,PWM2和PWM3波形相同,且PWM1和PWM2波形互补。用示波器观察滤波电路输出端波形,可观测到如图6所示的波形。故验证了此方案的有效性。

5结论

本论文是基于STM32用直接面积等效法产生SPWM波形,从实际程序设计中,此方法是易于编程实现SPWM信号。经过实验验证表明,通过STM32F103VET6产生SPWM波的方案的可行性,能够方便的产生稳定互补输出的PWM波形。

参考文献

[1]临渭勋.现代电力电子技术[M].北京:机械工业出版社,2005.

[2]霍虎,杨倩倩,崔鑫彤.软件快速计算自然采样法SPWM数据[J].现代电子技术,2012,(4):51-54

[3]许胜,赵剑锋.基于不对称规则采样法的级联H桥型变流器CPSSPWM输出电压谐波特性分析[J].电工技术学报,2011,(6):121-128

[4]于军.基于直接面积等效法的逆变电源[J].今日电子,2014(1):60-61.

[5]钱慧芳,毛惠丰,陈增禄.SPWM面积中心等效法研究[J].电气应用,2005,24(3):103-105.

[6]万秋一,李士林,闫鑫,等.一种等面积法生成SPWM波形的算法[J].核电子学与探测技术,2011,31(5):588-590.

[7]王春侠,聂翔.基于面积等效法的SPWM发生器的设计[J].微计算机信息,2008,(2):216-217

[8]刘小河,臧健.基于DSP的SPWM直接面积等效算法的分析与实现[J].现代电子技术.2003.(3):53-55.

[9]王兆安,刘进军.电力电子变流技术 [M].(第5版),北京:机械工业社,2009.

[10]肖广兵.基于STM32的系统设计[M].北京:电子工业出版社,2014,3.endprint

猜你喜欢
逆变器嵌入式
交流微电网逆变器控制策略探析
浅析提高太阳能光伏电站建设实训效率的教学方法
单相PWM逆变器研究
基于谐波频谱的LCL滤波器性能分析
嵌入式LINUX操作系统的研究
嵌入式的特点及发展机遇
嵌入式组件技术的研究及应用
基于嵌入式系统的游戏程序设计
“嵌入式系统概论”课程设计
AItera推出Nios II系列软核处理器