空间矢量PWM的基本原理在前面已有所叙述,此处基于TI公司TMS320C2000系列DSP介绍一下采用SVPWM开环通用变频器的软件设计。
1.开环通用变频器的软件组成
一个基本的通用变频器软件通常包括以下几个功能:
●PWM信号产生;
●模拟信号的采集和处理;
●故障处理;
●与人机界面的串行通信;
●对端子输入信号的处理。
首先,控制软件有一个主循环,作为通用变频器控制的主控程序,当CPU不执行任何中断服务程序时,就在这个主循环中运行(见图3-44)。
图3-44 主循环程序运行框图
此外,还包含几个相对独立的循环作为子程序,它们之间没有相互调用关系。除了波形发生器循环模块之外,还有A-D转换的中断服务程序构成的独立循环模块,它也是在每次的中断服务程序中触发下一次转换,从而形成循环。
几个相对独立的循环模块之间的信息传递是用修改标志变量的方法来完成的,由发出控制的模块修改相应的标志变量,而接受控制的模块采用查询的方式响应标志变量的改变。例如,当串行通信程序接收到改变运转方向的命令后,它就修改相应标志位,在波形发生器循环中,每次都会查询这一标志位,这样就会及时响应这一命令。
串行通信也是相对独立的一个部分,主要由接收和发送两个中断服务程序以及一些相应的子程序构成,中断服务程序会根据传输信息设置标志变量,在主循环中查询这些标志变量,当发现有新的信息,就会调用相应子程序加以处理。例如,收到启动命令就会触发波形发生器的中断循环模块,并且让转速从0开始加速到设定转速。
对于端子命令,主要也由主循环查询各个端口的输入信息,从而保证及时响应,而响应的处理机制和串行通信非常类似。
2.空间矢量PWM的中断服务程序(www.daowen.com)
TI公司的TMS320 C2000系列DSP是针对电机控制的需要专门设计的系列微控制器,在其内部集成的外围设备里,除了高速的A-D转换部件外,最主要的特点就是用于产生PWM驱动信号的事件管理器单元。这一组件提供的功能使得开发人员可以方便地按照电机控制的需要生成PWM触发信号。
PWM模块提供了几个易于使用的寄存器界面,通过这几个寄存器,可以方便地定制所发出的PWM信号周期、占空比以及边缘对齐还是中央对齐等属性。在每个周期结束时,波形发生器会触发一个中断,而SVPWM的实现程序可以放在这个中断的服务程序中如图3-45所示。
该中断服务程序的首要功能就是要设置下次PWM周期和占空比,而下次PWM周期又触发新的中断,从而就此构成一个循环,并且每次循环的时间是严格设定的。在中断服务程序结束之前,要把计算所得的PWM波形参数装入寄存器中,由于寄存器带有影子寄存器,只有当下次周期结束时,才会真正生效,因此每次计算得到的参数实际上决定的是当前时刻后第二个完整周期所发出的波形。
按照3.4.3节中介绍的SVPWM的原理,首先要计算出当前要发的矢量长度和角度,然后根据几何法则计算出待合成的两个矢量以及零矢量的作用时间,按照这几个时间,分别换算出三相PWM信号的占空比。
在计算矢量合成时,需要用到正弦函数,为了确保程序运行速度,可以预先制订正弦函数表放在数据区中,这样计算时只需寻址查表即可。而在T1最新的C28X系列DSP中,内部ROM中集成了三角函数表。
图3-45 PWM控制基本流程
作为开环的VVVF控制,只要令电压矢量按照给定频率转动就可以计算出每次要发送的电压矢量的角度,其频率相当于电机的同步转速。
θV(n)=θV(n-1)+Δθ (3-40)式中,θV(n)为电压矢量的角度;Δθ为所发送相邻两次电压矢量角度的增量,可由下式得到
式中,ωs*为给定电机同步角速度;fsample为控制系统采样频率。
作为基本的SVPWM功能,用上述程序即可实现,但是在实际应用当中,波形发生器中断服务程序还应该包括处理加减速和换相的功能,如图3-46所示。
图3-46 状态控制流程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。