?3UT?TPWMsin(600??)?1Ux??3U? T?TPWMsin??2Ux?60??T0?TPWM?t1?t2???式中TPWM为载波周期;UU的幅值可以由Uf曲线确定;Ux和Ux?60的幅值相
3同且恒为直流母线电压V;?可以由输出正弦电压角频率w和nTPWM的乘积确
2定。因此,当已知两相邻的基本电压空间矢量Ux和Ux?60后,就可以根据上式确定T1、T2、T0。
图5 电压空间的线性组合
3 DSP实现
3.1 TMS320F2812芯片简介
TMS320F2812 DSP是美国TI公司推出的一款适用于电气传动控制系统的高速、多功能、高性价比的32定点位DSP芯片,它可在一个周期之内进行双16×16乘加和32×32乘加操作,因此可以兼顾控制和快速运算的功能;同时DSP芯片内还集成了多种外设,最高可在150MHz的主频工作。
TMS320F2812 DSP芯片中包含有2个事件管理器(EV)模块EVA和EVB,EV的强大的控制功能使得它广泛应用于电机控制和运动控制等领域。每个EV模块包括通用定时器(GP)、比较单元、PWM电路、捕获单元以及正交编码脉冲电路(QEP),EVA和EVB具有相同的外设,可实现多轴的运动控制。
(1)通用定时器:每个EV有2个通用定时器。EVA的定时器包括GP1和GP2,EVB的定时器包括GP3和GP4。每个通用定时器都可以独立提供一路PWM输出通道,因此通过事件管理器可以提供4路PWM波形输出。当用通用定时器产生PWM波形输出时,可以采用连续增或增/减模式计数。当采用连续增计数模式时,可以产生边沿触发或非对称的PWM波形;当采用连续增/减计数模式时,可以产生对称的PWM波形。通用定时器还可以为EV提供基准时钟,其中GP1为PWM电路和比较器提供基准时钟,GP2为正交脉冲计数操作和捕获单元提供基准时钟。在程序运行过程中,用户可以通过软件控制PWM波形的占空比,并实时刷新比较寄
存器的值,这样就可以根据不同需求来更改PWM波的周期和宽度。
(2)比较单元:EVA模块中包含有3对(1,2,3)全比较单元,EVB模块中包含有3对(4,5,6)全比较单元,每个比较单元都包含有两个相关的具有可编程死区和输出极性的PWM输出。比较单元的基准时钟基本上是由定时器1(EVA)和定时器3(EVB)产生。通过定时器计数器的值不断与比较寄存器中的值进行比较,当比较过程被使能时,则匹配的对应比较中断标志被置位,若中断未被屏蔽则外围中断请求发生。比较单元操作的寄存器设置顺序如下: EVA EVB 设置TIPR 设置T3PR 设置ACTRA 设置ACTRB 初始化CMPRx 初始化CMPRx 设置COMCONA 设置COMCONB 设置T1CON 设置T3CON (3)PWM电路:每个EV同时可以提供8路的PWM波形输出,包括3对可编程死区的PWM输出和通用定时器产生的2路PWM输出。PWM电路具有可编程的死区,既可以根据要求改变PWM输出频率,也可以改变每个PWM周期的脉冲宽度。PWM电路可以产生可编程对称或不对称的8个空间矢量的PWM波。同时,外部还设有可屏蔽的功率和驱动保护中断,PDPINTx引脚可以直接屏蔽PWM波的输出。28x系列DSP芯片集成的PWM输出电路,能够有效地减少CPU在电机控制和运动控制中的运算量和用户工作量。通过对以下寄存器设置可实现用PWM电路来产生PWM波形输出: EVA EVB 设置TICON 设置T3CON 设置COMCONA 设置COMCONB 设置ACTRA 设置ACTRB 设置DBTCONA 设置DBTCONB (4)捕获单元:捕获单元可以捕捉到外部引脚的跳变,当外部引脚出现跳变时,捕获单元就会触发。EV一共包含有6个捕获单元,EVA包含捕获单元1、2和3,EVB包含捕获单元4、5和6,每个捕获单元都有对应于捕获相应的输入引脚。当使能捕获单元后,在捕获到外部引脚的跳变后捕获单元的通用定时器的计数值将被装入到一个专用的FIFO堆栈中。若此时FIFO堆栈已经存在有捕获值,将会对相应的中断标志位进行置位,当中断标志位没有屏蔽时,系统将发出一个外设中断请求。FIFO堆栈在每次捕获到新值时,FIFO的状态寄存器 CAPFIFOx的相应位就会进行调整,实时显示FIFO堆栈状态。从捕获单元的引脚跳变到定时器计数值被锁存需要2个CPU的时钟周期,捕获单元在复位后所有寄存器都将清零。
(5)正交编码脉冲电路(QEP):每个EV都有一个正交编码脉冲电路(QEP),当QEP被使能后,就可以对CAP1/QEP1和CAP2/QEP2(EVA)或CAP4/QEP3和CAP5/QEP4引脚上的正交脉冲解码和计数。QEP是两个频率可变且固定1/4周期相位差(即90°)的脉冲序列。当与电动机同轴的光电编码器产生正交脉冲序列时,通过检测两路脉冲序列的先后次序就可以判断电动机的状态为正转还是反转,为了的到电动机的转动速度和位置只需要对检测到的脉冲序列进行计数统计就可获得获得。若系统使能了QEP电路,则CAP1/CAP2和CAP4/CAP5对外部引脚的捕获功能将被禁止。
3.2 DSP实现SPWM调速
SPWM系统结构分为主程序和PWM下溢中断服务程序,其中,主程序负责QEP信号-转速的转换、USB控制指令的输入、载波频率的更新三部分功能。定时器1下溢中断服务程序:周期寄存器T1PR根据调制方式的不同载入不同值,事件管理器EVA根据周期寄存器的值采用下溢中断方式触发中断服务程序。CPU&PIE中断号[1,6],优先级30。 (1)主程序:
①QEP信号-转速转换:
实验中采用的光电编码器旋转一圈产生8192个脉冲。采样间隔0.01秒。通过下式:
A?Ak1n?k?1**60
81920.01得到转子每分钟旋转转数。
②USB控制指令表: 0x80020 0x80021 0x80022 1 给定载波比 给定转速 2 低频补偿方式选择标志位 3 4 电机运行控制 U相电流校正 电机停止控制 V相电流校正 ③根据载波比、调制波频率可以求得所需的载波频率与周期,进而确定周期寄存器的给定值:
在程序设计中,考虑到数据传输过程中数据变化的复杂性,设计调制方式转换与周期寄存器T1PR更新方案如下:若选择同步调制,上位机设定的载波比和频率给定值直接传至下位机更新0x80021、0x80022;若选择异步调制,上位机首先根据设定的载波频率和频率给定值计算出载波比载波比和频率给定值传至下位机更新0x80021、0x80022。故再将无论选择怎样的调制方式,由上位机传至DSP中的数据只有载波比N,转速给定值fr。
再由载波频率fc?N*fr重新计算出载波频率。根据T1PR的值与fc的关系:
Clock_cpu75?106T1PR=?0.5??0.5
fcfc实时更新周期寄存器的值。
(2)EVA下溢中断服务子程序:
中断服务子程序结构框图如图6所示,它主要由以下四个部分构成:
图6 SPWM波中断服务程序框图
①低频补偿模块
在实验中设计了三条补偿曲线来说明低频补偿程度对系统性能的影响,如图7所示。
Eg120510350
图7 低频补偿示意图
将图示内容反映到数字系统中生成下表。 *0x80011 1Hz 5Hz 10Hz 0 1 2 140 1315 2495 700 1315 2495 1400 1924 2495 30Hz 4200 4473 4747 50Hz 7000 7000 7000 55Hz 7000 7000 7000 ②工作模式选择模块 这个模块根据上位机中所选择工作模式的不同(同步、异步、混合调制)确定不同的载波周期。
③SPWM脉冲宽度计算模块
TT?k?脉冲宽度的计算值??c?1?Msin?T1???1?Msin2??。根据公式,此
22?N?模块需要输入三角波载波周期,载波比,调制比(设计的数字控制体统中对应低频补偿模块输出Eg)。将输入T、N、Eg带入到脉冲宽度的计算公式中得到三相脉宽值,再将这三相脉宽值输入到PWM生成模块中。
④PWM生成模块
通过此模块可以设定DSP2812中PWM模块的工作方式包括载波的形状、死区的大小、PWM中断的方式等内容。 3.3 DSP实现SVPWM调速
与SPWM系统结构相似SVPWM变频调速系统同样分为主程序和PWM下溢中断服务子程序。主程序与SPWM的基础服务程序相同。
下溢中断服务子程序如图8所示分a、b两部分进行介绍。a为主程序结构框图,b部分是a中模块3的内部结构图。
8(a)主要由三部分组成: ①低频补偿模块
在实验中设计了三条补偿曲线来说明低频补偿程度对系统性能的影响,具体的补偿情况如下表所示 *0x80011 0 1 2 1Hz 0.05 0.2 0.35 5Hz 0.1 0.2 0.35 10Hz 0.2 0.2 0.35 20Hz 0.4 0.4 0.35 30Hz 0.59 0.59 0.65 50Hz 1 1 1 55Hz 1 1 1 ②工作模式选择模块 (a)