当前位置: 首页 > 专利查询>东南大学专利>正文

一种DSP矢量控制系统脉宽调制策略代码执行时间测量方法技术方案

技术编号:11013933 阅读:141 留言:0更新日期:2015-02-05 21:32
本发明专利技术提出了一种DSP矢量控制系统脉宽调制策略代码执行时间测量方法,具体涉及一种基于DSP的电机矢量控制系统中,脉宽调制方法代码实时执行时间的测量方法,其特征是:可以在电机控制系统运行的情况下实时测量代码段的执行时间;电机矢量控制系统稳态运行条件下,通过设定一电角度变化步长,可以对脉宽调制方法代码段在单个电角度周期内各个电角度值下的执行时间进行测量;无需其他外围设备,利用DSP本身的资源实现整个测量过程。本发明专利技术提出的方法具有测量结果精确、实时性好、测量方法简单等优点。

【技术实现步骤摘要】
一种DSP矢量控制系统脉宽调制策略代码执行时间测量方法
本专利技术涉及电机控制领域,尤其是利用DSP控制器自身的资源实现基于DSP的电机矢量控制系统脉宽调制策略代码执行时间的实时测量。
技术介绍
在电机矢量控制系统中,脉宽调制技术是实现整个控制过程中的重要一环,国内外的众多学者都对脉宽调制技术进行了研究,提出了不同的脉宽调制方式。在使用DSP实现电机的矢量控制算法时,可以采用不同的脉宽调制调制方式。实际应用中,为了提高DSP的执行效率,在实现相同控制效果的前提下,希望脉宽调制算法代码段的执行时间尽量短。因此,为了比较不同脉宽调制方法的执行效率,需要对DSP控制系统中脉宽调制方法代码段执行时间进行精确测量。电机矢量控制系统中,脉宽调制方法的作用是根据给定的参考电压矢量计算得出逆变器的三相桥臂占空比,进而控制逆变器的开关管动作,使实际电压矢量逼近参考电压矢量。在基于DSP的矢量控制系统中,脉宽调制算法用到的输入变量有四个:直轴参考电压Udref、交轴参考电压Uvrf、转子电角度Θ、逆变器直流母线电压Ud。。在电机矢量控制系统稳态运行时,直轴参考电压Udref、交轴参考电压Utffrf、逆变器直流母线电压Ud。近似处于稳定值,转子电角度随转子位置变化,则转子电角度成为影响脉宽调制算法代码段执行时间的重要因素,因此,需要对脉宽调制算法代码段执行时间在一个电角度周期内(O到2π)进行测量。现有的测量DSP代码段执行时间的方法为:在CCS软件中,在某段代码的起始和结束位置处设置断点,给定一初始状态,单步运行来测量代码段的执行机器周期数。但是,上述方法存在以下缺点,第一、不能在电机矢量控制系统实际运行的情况下,对所测代码段的执行时间进行实时测量;第二、不能连续测量,需要每次更改给定条件然后单次测量,测量过程繁琐。如果想要对电机矢量控制系统脉宽调制算法在O到2π电角度周期内的执行时间进行测量,则需选定一步长,进行多次测量,测量过程耗时,并且不能完全模拟电机实际运行状况。 综上所述,目前亟需一种可以在基于DSP的电机矢量控制系统实时运行的条件下,对代码段的执行时间进行精确测量的方法,尤其是一种电机矢量控制系统处于稳态运行时,脉宽调制方法代码段在一个电角度周期内(O到2π)执行时间的测量方法。
技术实现思路
专利技术目的:本专利技术的目的是提出一种基于DSP的电机矢量控制系统处于稳态运行时,脉宽调制方法代码段在单个电角度周期内(O到2π)执行时间的测量方法。 技术方案:本专利技术的一种DSP矢量控制系统脉宽调制策略代码执行时间测量方法,通过利用DSP本身的内部资源,实现在单个电角度周期内对电机矢量控制系统脉宽调制策略代码段执行时间的测量。首先,在程序中对所测程序段的开始位置与结束位置处对GP1x 口输出电平进行取反,通过对捕获模块CAPy的配置,实现对GP1x 口输出的的周期方波信号中代表代码段执行时间的电平持续时间进行捕获测量,达到代码段单次运行的执行时间;利用电机矢量控制系统电机稳态运行转速η、电机极对数P、开关频率计算出单个电角度周期内脉宽调制策略代码段执行时间采样点数M1,从而可以在电机稳态运行时,对影响调制算法代码段执行时间的转子电角度值在O到2π范围内进行全面计算。具体步骤如下: I)对DSP的捕获模块CAPy进行初始化,使之工作于捕获状态; 2)对DSP的GP1x 口进行配置,使其工作在输出电平可控的状态,可以使用#define预处理宏定义命令,定义GP1x 口为T_flag ; 3)对DSP中需要测量执行时间的代码段进行设置,在电机矢量控制系统中,在脉宽调制算法代码段的开头处配置GP1x 口输出低电平,即T_flag = 0,在脉宽调制算法代码段的结尾处配置GP1x 口输出高电平,即T_flag = I JUGP1x 口输出的周期方波信号中,每周期中低电平的时间即为脉宽调制算法代码段的执行时间; 4)将GP1x 口输出的信号接入到捕获模块CAPy,通过CAPy模块先后对GP1x 口输出的周期方波信号的下降沿和上升沿进行捕获,并在捕获中断服务程序中,计算GP1x 口输出的周期方波信号每周期的低电平时间值,用机器周期数表示,所述的捕获中断频率配置与GP1x 口输出的周期方波信号频率相同; 5)根据电机矢量控制系统的开关频率f1;即系统主控制中断的频率、电机稳态运行的转速η、电机的极对数p,算出单个电角度周期内,即转子电角度O到2π范围内,脉宽调制算法代码段执行时间测量的采样点数札。其中,单个电角度周期的时间T为:T = 60/ηρ,则所述单个电角度周期内脉宽调制算法代码段执行时间测量的采样点数M1的计算式为=M1 = T^f1 = 60*;^/即; 6)步骤5)所述单个电角度周期内脉宽调制算法代码段执行时间测量的采样点数的计算式是在矢量控制系统中每个开关周期内都进行一次代码段执行时间测量的前提下得到的,由于开关周期相对于电角度周期值要小很多,为了减少单个电角度周期内代码执行时间的采样点数,在主控制中断中设置一分频系数K,即K个开关周期才进行一次脉宽调制算法代码段执行时间的测量,则单个电角度周期内,所述脉宽调制算法代码段执行时间测量的采样点数M2为=M2 = Mi/K,则对脉宽调制方法代码段执行时间进行测量所选取的转子电角度变化步长为:S = 2 π /M2 ; 所述在主控制中断中设置分频系数K的具体方法为:定义一计数变量count,一标志变量Cap_F,两者初始化均为0,在脉宽调制算法代码段的开头处,设置Cap_F = O,count++,只有当count = = K时,配置GP1x 口输出低电平,即T_flag = O。在给T_flag赋O之前,给Cap_F赋I,即Cap_F = I,给count赋O,即count = O ;在脉宽调制算法的结尾处,设置判断语句,只有当Cap_F == I时,GP1x 口输出高电平,即T_flag = 1,这样便可以设置捕获中断每K个开关周期进行一次脉宽调制策略代码段执行时间计算; 7)定义两个数组Time [M2]和Posn [M2],在CAPy的捕获中断服务程序中设置一标志位Time_Cap,定义一时间计算次数计数变量Cap_count,当Time_Cap = = I时,捕获中断开始进行代码执行时间的计算,并对计算次数进行计数,即Cap_COunt++,将代码执行时间存入变量Time[Cap_count],同时记录下此次脉宽调制算法计算所用的电角度值Θ,存入变量POSn[Cap_COunt]。当采样点数达到目标值M2后,则停止代码执行时间的计算以及Cap_count值的更新; 所述数组Time [M2]、Posn [M2],标志位Time_Cap,计数变量Cap_count的初始值均为O。 有益效果:本专利技术适用于基于DSP的电机矢量控制系统中,能够在电机稳态运行的状态下,实现单个电角度周期内对脉宽调制算法代码段的执行时间进行测量。具体到本专利技术的技术方案,具有以下优点: 1、可在电机运行的状态下实时测量。在电机矢量控制系统实时运行的情况下,对代码段的时间进行测量,从而更能反映实际运行中代码段的执行效率。对电机矢量控制本文档来自技高网
...

【技术保护点】
一种数字信号处理DSP控制器代码实时执行时间的测量方法,其在电机矢量控制系统处于稳态运行的情况下,对转子电角度在0到2π范围内变化时相应脉宽调制算法代码段的执行时间进行测量,所述稳态运行条件是指电机的转速为稳定值,电机的负载转矩为稳定值,所述测量方法包含以下步骤:1)对DSP的捕获模块CAPy进行初始化,使之工作于捕获状态;2)对DSP的GPIOx口进行配置,使其工作在输出电平可控的状态,使用#define预处理宏定义命令,定义GPIOx口为T_flag;3)对DSP中需要测量执行时间的代码段进行设置;在电机矢量控制系统中,在脉宽调制算法代码段的开头处配置GPIOx口输出低电平,即T_flag=0,在脉宽调制算法代码段的结尾处配置GPIOx口输出高电平,即T_flag=1,则GPIOx口输出的周期方波信号中,每周期中低电平的时间即为脉宽调制算法代码段的执行时间;4)将GPIOx口输出的信号接入到捕获模块CAPy,通过CAPy模块先后对GPIOx口输出的周期方波信号的下降沿和上升沿进行捕获,并在捕获中断中,计算GPIOx口输出的周期方波信号每周期的低电平时间值,用机器周期数表示,所述的捕获中断频率配置与GPIOx口输出的周期方波信号频率相同;5)根据电机矢量控制系统的开关频率f1,即系统主控制中断的频率、电机稳态运行的转速n、电机的极对数p,算出单个电角度周期内,即转子电角度0到2π范围内,脉宽调制算法代码段执行时间测量的采样点数M1,其中,单个电角度周期的时间T为:T=60/np,则所述单个电角度周期内脉宽调制算法代码段执行时间测量的采样点数M1的计算式为:M1=T*f1=60*f1/np;6)步骤5)所述单个电角度周期内脉宽调制算法代码段执行时间测量的采样点数的计算式是在矢量控制系统中每个开关周期内都进行一次代码段执行时间测量的前提下得到的,由于开关周期相对于电角度周期值要小很多,为了减少单个电角度周期内代码执行时间的采样点数,在主控制中断中设置一分频系数K,即K个开关周期才进行一次脉宽调制算法代码段执行时间的测量,则单个电角度周期内,所述脉宽调制算法代码段执行时间测量的采样点数M2为:M2=M1/K,则对脉宽调制方法代码段执行时间进行测量所选取的转子电角度变化步长为:S=2π/M2;所述在主控制中断中设置分频系数K的具体方法为:定义一计数变量count,一标志变量Cap_F,两者初始化均为0,在脉宽调制算法代码段的开头处,设置Cap_F=0,count++,只有当count==K时,配置GPIOx口输出低电平,即T_flag=0。在给T_flag赋0之前,给Cap_F赋1,即Cap_F=1,给count赋0,即count=0;在脉宽调制算法的结尾处,设置判断语句,只有当Cap_F==1时,GPIOx口输出高电平,即T_flag=1,这样便可以设置捕获中断每K个开关周期进行一次脉宽调制策略代码段执行时间计算;7)定义两个数组Time[M2]和Posn[M2],在CAPy的捕获中断服务程序中设置一标志位Time_Cap,定义一时间计算次数计数变量Cap_count,当Time_Cap==1时,捕获中断开始进行代码执行时间的计算,并对计算次数进行计数,即Cap_count++,将代码执行时间存入变量Time[Cap_count],同时记录下此次脉宽调制算法计算所用的电角度值θ,存入变量Posn[Cap_count],当采样点数达到目标值M2后,则停止代码执行时间的计算以及Cap_count值的更新;所述数组Time[M2]、Posn[M2],标志位Time_Cap,计数变量Cap_count的初始值均为0。...

【技术特征摘要】
1.一种数字信号处理DSP控制器代码实时执行时间的测量方法,其在电机矢量控制系统处于稳态运行的情况下,对转子电角度在O到2 π范围内变化时相应脉宽调制算法代码段的执行时间进行测量,所述稳态运行条件是指电机的转速为稳定值,电机的负载转矩为稳定值,所述测量方法包含以下步骤: 1)对DSP的捕获模块CAPy进行初始化,使之工作于捕获状态; 2)对DSP的GP1x口进行配置,使其工作在输出电平可控的状态,使用#define预处理宏定义命令,定义GP1x 口为T_f lag ; 3)对DSP中需要测量执行时间的代码段进行设置; 在电机矢量控制系统中,在脉宽调制算法代码段的开头处配置GP1x 口输出低电平,即T_flag = 0,在脉宽调制算法代码段的结尾处配置GP1x 口输出高电平,即T_flag = 1,则GP1x 口输出的周期方波信号中,每周期中低电平的时间即为脉宽调制算法代码段的执行时间; 4)将GP1x口输出的信号接入到捕获模块CAPy,通过CAPy模块先后对GP1x 口输出的周期方波信号的下降沿和上升沿进行捕获,并在捕获中断中,计算GP1x 口输出的周期方波信号每周期的低电平时间值,用机器周期数表示,所述的捕获中断频率配置与GP1x 口输出的周期方波信号频率相同; 5)根据电机矢量控制系统的开关频率,即系统主控制中断的频率、电机稳态运行的转速η、电机的极对数p,算出单个电角度周期内,即转子电角度O到2π范围内,脉宽调制算法代码段执行时间测量的采样点数M1,其中,单个电角度周期的时间T为:T = 60/ηρ,则所述单个电角度周期内脉宽调制算法代码段执行时间测量的采样点数M1的计算式为=M1 =T^f1 = BO^f1Znp ; 6)步骤5)所述单个电角度周期内脉宽调制算法代码段执行时间测量的采样点数的计算式是在矢量控制系统中每个开关周期内都进行一次代码段执行时间测量的前提下得到的,由于开关周期相对于电角度周期值要小很多,为了减少单个电角度周期内代码执行时间的采样点数,在主控制中断中设置一分频系数K,即K个开关周期才进行一次脉宽调制算法代码段执行时间的测量,则单个电角度周期内,所述脉宽调制算法...

【专利技术属性】
技术研发人员:程明王亚王伟
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1