STM32上SVPWM输出的实现方案

时间:2013-08-05来源:网络

摘要:在STM32F103VET6上实现了SVPWM输出。介绍了SVPWM的优点及原理。结合STM32F103VET6上的硬件资源,给出了SVPWM在高级定时器上实现的方式和三相桥式驱动电路的设计。分析了该方案所占用的CPU资源。实验结果表明,该设计方案可行,能够实现SVPWM输出。
关键词:SVPWM;STM32;定时器;三相桥式驱动

引言
SVPWM与SPWM相比,是一种比较新颖的控制方法,能够使输出电流波形尽可能接近于理想的正弦波形,使直流母线电压的利用率有了很大提高。SVPWM主要应用在变频器领域,控制过程中需要对坐标进行变换及计算输出时间,所以整个过程有一定的计算量,使得51单片机力不从心。人们只能采用价格昂贵、内部资源偏少的DSP作为控制芯片。随着STM32系列芯片的出现,其丰富的片内资源、较高的处理能力、极低的价格,使其得到开发人员的青睐。

1 SVPWM原理
在传统的三相桥式驱动电路中,MOS管的开关状态一共有8种组合。如果将这几种开关方式加到三个相差120°的绕组上,则会产生8个电压矢量。这8个电压矢量被称为基本空间电压矢量,如图1所示。为了能够得到一个圆形旋转磁场,SVPWM可以通过控制8个基本空间电压矢量的作用时间,来合成每个扇区内的任意电压矢量。

a.JPG



2 系统设计方案
2.1 控制芯片
采用STMicroelectronics公司的STM32F103VET6作为其控制芯片,其内核为ARM公司Cortex—M3,最高时钟频率可达72 MHz,包括512K片内FLASH、64K片内RAM、ADC、SPI、CAN、FSMC等丰富的内部资源。STM32F103VET6内部包含8个定时器,其中有2个高级定时器,所有的定时器都包含一个16位自动装载寄存器。高级定时器支持嵌入死区时间的互补PWM,而且支持刹车信号的输入,所以非常适合应用在变频器、电机控制器等场合。
2.2 定时器工作模式
根据SVPWM的快速算法可以得到各个基本空间电压矢量的作用时间和输出顺序。知道输出顺序后,就可以确定高级定时器的工作模式。由于SVPWM的输出波形是很对称的,所以选用TIM1的中央对齐模式:
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_CenterAlignedl;
此模式下,计数器从0开始计数到自动加载值减1,同时产生一个计数器溢出事件。然后向下计数到1,并且产生一个计数器下溢事件,再从0开始重新计数。
2.3 定时器计数周期
为了提高定时器的分辨率,直接将72 MHz作为定时器的计数时钟,没有任何预分频。假设SVPWM的调制频率为frq,则可以计算时间基的计数值tpwm:
b.JPG
TIM_CLOCK是定时器的计数频率,本系统为72 MHz。如果调制频率设为20 kHz,则计数器的值则为3 600。

1 2

关键词: SVPWM STM32 定时器 三相桥式驱动

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版