基于PIC单片机的空间电压矢量PWM控制方法研究
引言
在电机变频调速系统中,广泛应用到了PWM技术。PWM控制利用半导体开关器件的导通与关断把整流后的直流电变成脉冲序列,通过控制脉冲宽度和脉冲列的周期以实现变压、变频控制,同时减少输出电压电流谐波。早期的SPWM控制主要着眼于使逆变器输出电压波形尽量接近于正弦波,希望输出PWM电压波形的基波成分尽量的大,谐波成分尽量的小,并没有考虑到电动机本身旋转磁场的影响。空间电压矢量PWM技术是当前研究的热点问题,它将逆变器和交流电机作为一个整体来考虑,其控制目标是使磁通轨迹近似为圆,也被称为磁链跟踪PWM控制。本文在分析空间电压矢量PWM原理的基础上,提出了一种基于16位PIC24FJ64GA单片机实现SVPWM控制的方法。
1 空间电压矢量PWM控制原理
空间电压矢量PWM控制是以三相对称正弦波电压供电状态下交流电机的理想磁通圆为基准,利用逆变器各桥臂开关控制信号的不同组合,使逆变器的输出工作电压矢量作用形成的实际磁通运行轨迹逼近基准圆磁通运行轨迹。
定义基本定子电压矢量为:
式中,ua、ub和uc分别为三相定子绕组相电压。在变频调速系统中,典型的三相电压型逆变电路示意图如图1所示。Udc表示直流侧电压,电机定子侧相电压由三个功率器件SA、SB和SC的开关状态决定,SA、SB和SC分别表示同一桥臂下两个功率器件的开关状态。若SA为1,表示上桥臂接通,下桥臂断开,ua连接Udc;反之SA为0,表示下桥臂接通,上桥臂断开,ua连接0。同理可得开关SA的状态与ub的关系,开关SC的状态与uc的关系。
根据所得功率器件SA、SB和SC开关状态的8种组合,可以构成8种空间电压矢量,如图2所示。对外部负载而言,包括6个非零矢量V1(100)、V2(010)、V3(110)、V4(001)、V5(101)、V6(011),和2个零电压矢量V0(000)、V7(111)的输出电压为零。六个非零电压矢量在空间上相互间隔。
定子绕组Y型连接的电机三相输入电压为:
根据三相系统向两相系统变换保持幅值不变的原则,三相电压的合成空间矢量在α、β坐标系中可表示为:
式中,Uα、Uβ为空间电压矢量在定子静止αβ轴上的分量。
1.1 空间电压矢量的合成
根据矢量合成的平行四边形法则和PWM等效面积原理,利用上述8种矢量可以合成任意角度有限模长的输出电压矢量,其最大模长决定了输出电压的最大幅度,如图3所示。
图中θ为Uref与空间电压矢量Uθ之间的夹角,Uref落在矢量Uα和Uβ之间,为两者合成后的输出电压矢量,
式中,Ts为采样周期,t1、t2分别为电压矢量Uα,Uβ的作用时间。
根据三角正弦定理有:
6种空间电压矢量幅值相等,且等于2Udc/3,由式(5)和(6)可得:
在一个PWM周期Ts内都改变相邻基本矢量的作用时间,并保证所合成的电压空间矢量的幅值都相等,因此当Ts取足够小时,电压矢量的轨迹是一个近似圆形的正多边形。为了使每次的状态转换时,开关次数最少,需要在t0=Ts-t1-t2。为了使磁链的运动速度平滑,插入零矢量不是集中地插入,而是将零矢量平均分为几份,多点地插入到磁链轨迹中去。
1.2 确定扇区
将图2划分为6个扇区,扇区的编号在图中标识,下面介绍一下确定扇区号的方法,令、 、分别为:
定义三个变量:m、n和p,如X>0,则m=1,否则m=0;y>0,则n=1,否则n=0:Z>0,则p=1,否则p=0。设扇区编号N=4p+2n+m,N与输出电压矢量所在的扇区对应关系如表1所示,
2 基于PIC单片机的SVPWM实现
空间电压矢量PWM控制采用Microchip公司出品的PIC24FJ64GA芯片实现,它是在现有的RISC单片机系列构架的基础上发展来的一种功能强大的架构。通过向用户提供更强的计算功能和更丰富的外设集,此架构使用户能够升级他们的应用。与此同时,此架构还被严格设计为与现有的PIC MCU功能急和指令助记符尽可能一致,从而简化了应用的升级工作。
PIC24FJ64GA004采用了改进的哈佛结构,具有独立的程序和数据存储空间以及独立的程序和数据总线。架构还允许在代码执行的过程中直接通过数据空间访问程序空间。程序地址空间可存储4M指令字。最高的运行速度可达到16MIPS,带有4×PLL选项的8MHz内部振荡器和多个分频选项,17位×17位单周期硬件乘法器,32位/16位工作寄存器,还具有优化的C编译器指令构架,并且PIC24FJ64GA004还具有一系列能在工作时显著降低功耗的功能,主要包括:动态时钟切换,打盹模式操作,基于指令的节能模式。在模拟特性方面,它最多13通道的10位模DAC,用于电机转速的反馈,电压、电流等模拟信号的采用实现电机的各种控制,并且还具有故障保护时钟监视器操作功能,可以很好对电路进行保护。
2.1 硬件电路框图
PIC24FJ64GA具有5个带编程预分频器的16位定时器/计数器,5个16位输入捕捉,5个16位比较/PWM输出。在测速环节方面,本文采用光电码盘测算方式,结合PIC24F单片机的定时器/计数器及相关接口,使用M/T法编程实现转速的计算。欧姆龙公司生产的编码器型号E6B2-CWZ6C,它由5~24V电源供电,有三路输出,分别为A相、B相、Z相,其中A与B用于测速,它们的相位差为90°,每转过一圈输出1500个脉冲;而Z脉冲则是每转过一圈输出一个脉冲,用于系统定位。其中在电路设计中,逆变器的驱动,我们采用IR2130集成芯片,该芯片驱动的逆变器具有结构简单,工作稳定,可靠地实现过流和短路保护等优点,硬件结构如图4所示。
2.2 SVPWM算法软件编程的实现
图5初始化流程图 图6 SVPWM中断子程序SVPWM算法可通过对PIC软件的编程来实现,程序编写主要包括主程序和SVPWM中断子程序。主程序主要完成对PIC24FJ64GA系统初始化,配置片上外围资源等功能。中断子程序主要完成输出所需的PWM波形的功能。具体的流程图如图5和图6所示。
- 基于DSP实现的无差拍控制逆变器 (03-08)
- 数字信号控制器在太阳能逆变器中的应用(11-12)
- MODBUS协议在光伏并网系统中的应用(03-31)
- 单片机C868实现无传感器BLDC电机控制(07-06)
- 基于智能控制器ICB1FL01G的荧光灯镇流器电路(07-25)
- 通用变频器中基于DSP的数字控制器实现(09-14)