首页> 中国专利> 用于在马达驱动系统中实施颤振以控制电机器的操作的方法、系统和装置

用于在马达驱动系统中实施颤振以控制电机器的操作的方法、系统和装置

摘要

本发明涉及用于在马达驱动系统中实施颤振以控制电机器的操作的方法、系统和装置。本发明的实施例涉及用于在马达驱动系统中实施颤振以控制多相电机器的操作的方法、系统和装置。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-05

    授权

    授权

  • 2013-12-25

    实质审查的生效 IPC(主分类):H02P23/00 申请日:20130522

    实质审查的生效

  • 2013-12-04

    公开

    公开

说明书

技术领域

本技术领域总体涉及用于控制多相系统的操作的技术,并且更具体地涉及用于在马达驱动系统实施颤振以控制多相电机器的操作的方法、系统和装置。

背景技术

电机器被用于各种各样的应用中。例如,混合动力/电动车辆(HEV)通常包括电动牵引驱动系统,其包括交流(AC)电动马达,该马达由功率变流器驱动,该变流器带有直流(DC)功率源,例如蓄电池。AC电动马达的马达绕组可被联接到功率逆变器模块(PIM)的逆变器子模块。每个逆变器子模块包括一对开关,其以互补方式切换以执行快速切换功能从而将DC功率变换到AC功率。这个AC功率驱动AC电动马达,其进而驱动HEV的传动系的轴。

一些传统的HEV实施两个三相脉宽调制(PWM)逆变器模块和两个三相AC机器(例如,AC马达),每一个马达都由与其联接的对应的一个三相PWM逆变器模块驱动。在一些系统中,电压命令信号被应用到脉宽调制(PWM)模块。PWM模块应用PWM波形到相电压命令信号以控制相电压命令信号的脉宽调制并产生切换信号,该切换信号被提供给PWM逆变器模块。

许多现代高性能AC马达驱动装置使用场定向控制(FOC)或“向量”控制的原理来控制AC电动马达的操作。具体来说,向量控制经常被用在变频驱动装置中以通过控制馈送给AC电动马达的电流来控制应用到AC电动马达的轴的扭矩(并因此控制其速度)。简言之,定子相电流被测量并被变换成对应的复杂空间向量。这个电流向量此后被变形到坐标系,该坐标系随着AC电动马达的转子旋转。

近来,研究者已经在包括电动车辆的各种应用中使用多相机器。如本文中所用,术语“多相”指的是两个或更多的相,并且可被用来指示具有两个或更多的相的电机器。多相电机器通常包括多相PWM逆变器模块,该模块驱动一个或多个多相AC机器。这种多相电机器的一个示例是三相AC机器。在三相系统中,三相PWM逆变器模块驱动一个或多个三相AC机器。

在这种多相系统中,电压命令信号被应用到脉宽调制(PWM)模块。为了控制电压命令信号的脉宽调制,PWM模块产生PWM波形,该波形在时间平均意义上等于进来的电压命令信号。PWM波形具有带有可变PWM周期的可控占空比,并且被用来产生切换信号,该切换信号被提供给PWM逆变器模块。

PWM逆变器模块使用脉宽调制(PWM)来以高效率产生可变电压/频率输出。PWM电压波形由马达阻抗有效地滤波以产生去往马达的正弦基频电流。不过,PWM固有地会导致在去往马达的AC输出相电流上以及在高压DC环节输入上的波纹电流的产生。这些谐波电流可进而产生噪声、电磁干扰(EMI)、总线共振或甚至是扭矩波动问题。谐波电流通常位于第一或第二切换频率载波群和其边带。谐波谱可在不同的谐波频率处具有带有大幅值的尖锐的且明显的尖峰。这些大幅值尖峰经常是关于噪声、EMI、总线共振和扭矩波动的最坏情况的罪魁。

一种减少电流谱中的明显的谐波的幅值的传统方法是以固定速率快速地改变逆变器的切换频率。这被称为“颤振”。颤振已经被应用到AC逆变器以及其中由于一些周期循环(例如系统时钟或PWM)而期望展开发射谱的许多其它类型的电力系统。

尽管有这些进步,但还是在尝试在实际系统中实施颤振技术时出现了许多问题。

期望提供用于在马达驱动系统实施用于控制多相电机器的操作的颤振的改进方法、系统和装置。还期望提供用于计算用于控制电机器的操作的PWM电压提前的改进方法、系统和装置。本发明的其它令人满意的特征和特点将从下面的具体描述和所附的权利要求并结合附图以及前面的技术领域和背景技术而变得易于理解。

发明内容

本公开的实施例涉及用于控制马达驱动系统中的电机器的操作的方法、系统和装置,该马达驱动系统包括驱动电机器的逆变器模块。

根据所公开实施例中的一些,提供了一种系统,其包括慢速任务处理器模块、中等速度任务处理器模块和快速任务处理器模块。

慢速任务处理器模块被构造成在慢速任务处理循环期间迭代地执行慢速任务处理,该循环在第一任务处理周期(TTASK2)期间以相对慢速执行。慢速任务处理器模块包括第一计算模块,该计算模块一旦在每个第一任务处理周期(TTASK2)期间就计算平均切换频率(fSW_avg)和颤振跨度频率(fspan),该颤振跨度频率对应于在颤振切换频率(fSW)时允许的频率变化量。

中等速度任务处理器模块被构造成在中等速度任务处理循环期间迭代地执行中等速度任务处理,该循环在第二任务处理周期(TTASK1)期间以中等速度执行。中等速度任务处理器模块包括第二计算模块和参数再初始化模块。

快速任务处理器模块被构造成在快速任务处理循环期间迭代地执行快速任务处理,该循环在第三任务处理周期(TTASK0)期间以相对快速执行。相对慢速小于中等速度,而中等速度小于相对快速。快速任务处理不能被中等速度任务处理和慢速任务处理中断。中等速度任务处理不能被慢速任务处理中断而能被快速任务处理中断。慢速任务处理能被中等速度任务处理和快速任务处理中断。

第二计算模块被构造成在执行中等速度任务处理循环期间以中等速度(TTASK1)计算:伪随机数(Krand),和基于平均切换频率(fSW_avg)的新瞬时切换频率(fSW_new),颤振跨度频率(fspan)和缩放版本的伪随机数(Krand)。参数再初始化模块定期地且连续地基于新瞬时切换频率(fSW_new)再初始化依赖时间的参数值,这些参数值将被快速任务处理器所用。

在一些实施例中,中等速度任务处理器模块还包括标记变量控制模块,其被构造成在第二计算模块计算了新瞬时切换频率(fSW_new)之后将标记变量设置为真。在设置标记变量为真之前再初始化依赖时间的参数值。

在一些实施例中,系统还包括第一双缓冲器,其被构造成保持第一组参数值。第一双缓冲器包括第一页和第二页。第一页包括多个第一元素而第二页包括多个第二元素。第一元素中的每一个被构造成保持第一多个参数值中的其中一个,其中第一多个参数值中的每一个对应特定的依赖时间的参数的第一值,而第二元素中的每一个被构造成保持第二多个参数值中的其中一个,其中第二多个参数值中的每一个对应特定的依赖时间的参数中的其中一个的第二值。依赖时间的参数由马达控制模块所使用,并且是切换频率(fSW)的函数且因此对切换频率(fSW)中误差敏感。

在一些实施例中,快速任务处理循环包括前快速任务处理器模块和后快速任务处理器模块。前快速任务处理器模块被构造成在快速任务处理循环的前快速任务处理循环期间执行前快速任务处理,而后快速任务处理器模块被构造成在快速任务处理循环的后快速任务处理循环期间执行后快速任务处理。第二计算模块被构造成在执行前快速任务处理循环之前计算伪随机数(Krand)和新瞬时切换频率(fSW_new)。

快速任务处理器模块在快速任务处理期间每第二任务处理周期(TTASK1)转换第一指数的值一次,使得第一指示器交替地指向第一页或第二页。第一页的第一元素和第二页的第二元素被构造成,取决于在特定时间的第一指数的值,交替地保持下列中的任一个:正被参数再初始化模块更新/再初始化的依赖时间的参数的新参数值,以供马达控制模块未来基于新瞬时切换频率(fSW_new)所使用,该新瞬时切换频率(fSW_new)由第二计算模块所计算;或者,在当前时刻在快速任务处理器模块处由马达控制模块消费/使用的依赖时间的当前参数值。新参数值反映将在下一第三任务处理周期(TTask0)被用于快速任务处理的新瞬时切换频率(fSW_new)。当前参数值反映将在当前第三任务处理周期(TTask0)被用于快速任务处理的当前实际瞬时切换频率(fSW)。

当快速任务处理器模块确定第二任务处理周期(TTASK1)的新中等速度已被开始时,中等速度任务处理器模块基于由第二计算模块计算的新瞬时切换频率(fSW_new)更新依赖时间的参数的新参数值。当完成对新参数值的更新时,快速任务处理器模块将当前实际切换频率改变到新瞬时切换频率(fSW_new),并然后转换第一指数的值。

将标记变量设置为真信号通知快速任务处理器新瞬时切换频率(fSW_new)已准备好在快速任务处理期间在快速任务处理器处被使用。在一个实施例中,前快速任务处理器模块包括检查模块,其被构造成检查标记变量以确定标记变量是否被设置为真;转换模块,其被构造成在标记变量被确定为被设置为真时转换第一指数的值以改变指向双缓冲器的第一指示器,使得第一指示器指向与先前所指向的相反的页;和被构造成产生频率改变命令的模块,该命令去往硬件以在确定了标记变量被设置为真时将当前实际切换频率(fSW)改变为新瞬时切换频率(fSW_new)。

在一些实施例中,系统可包括第二双缓冲器,其被构造成保持第二组参数值,其不同于依赖时间的参数的第一多个参数值。第二双缓冲器包括包括多个第三元素的第三页和包括多个第四元素的第四页。第三元素中的每一个被构造成保持第三多个参数值中的其中一个,而第四元素中的每一个被构造成保持第四多个参数值中的其中一个。第三多个参数值中的每一个对应特定参数的第一值,而第四多个参数值中的每一个对应特定参数的其中一个的第二值。快速任务处理器模块在快速任务处理期间每第二任务处理周期(TTASK1)以中等速度转换第二指数的值一次,使得第二指示器交替地指向第三页或第四页。

在一些实施例中,后快速任务处理器模块包括另一检查模块,其被构造成检查标记变量以确定标记变量是否被设置为真;更新模块,其被构造成在确定了标记变量被设置为真时用新瞬时切换频率(fSW_new)更新存储当前实际切换频率(fSW)的软件中的值;构造成在当前实际切换频率(fSW)由新瞬时切换频率(fSW_new)更新后将标记变量设置为假的模块;和转换模块,其构造成在标记变量被设置为假后在快速任务处理期间每第二任务处理周期(TTASK1)以中等速度转换第二指数的值一次,使得第二指示器交替地指向第三页或第四页。

本发明还提供了如下方案:

方案1. 一种方法,其包括:

在第一任务处理周期(TTASK2)期间迭代地执行慢速任务处理循环,该慢速任务处理循环以相对慢速执行,其中迭代地执行慢速任务处理循环的步骤包括:

一旦在每个第一任务处理周期(TTASK2)期间,就计算平均切换频率(fSW_avg)和颤振跨度频率(fspan),其中颤振跨度频率(fspan)对应在颤振切换频率(fSW)以产生被应用到逆变器模块的切换信号时所允许的频率变化量;

在第二任务处理周期(TTASK1)期间迭代地执行中等速度任务处理循环,该中等速度任务处理循环以中等速度执行,

在第三任务处理周期(TTASK0)期间迭代地执行快速任务处理循环,该快速任务处理循环以相对快速执行;

其中迭代地执行中等速度任务处理循环,包括:

在执行前快速任务处理循环之前在执行中等速度任务处理循环期间以中等速度(TTASK1)计算:伪随机数(Krand),和基于平均切换频率(fSW_avg)的新瞬时切换频率(fSW_new),颤振跨度频率(fspan)和缩放版本的伪随机数(Krand);以及

基于新瞬时切换频率(fSW_new)定期地且连续地再初始化在快速任务处理期间使用的依赖时间的参数值,使得在快速任务处理期间使用的全部依赖时间的参数值都用代表新瞬时切换频率(fSW_new)的正确值更新。

方案2. 如方案1所述的方法,其中迭代地执行中等速度任务处理循环的步骤还包括:

在计算新瞬时切换频率(fSW_new)之后将标记变量设置为真以信号通知新瞬时切换频率(fSW_new)已准备好由快速任务处理循环使用。

方案3. 如方案2所述的方法,还包括:

构造第一双缓冲器以保持第一组参数值,其中第一双缓冲器包括:

第一页,其包括:多个第一元素,其中第一元素中的每一个被构造成保持第一多个参数值中的其中一个,其中第一多个参数值中的每一个对应特定依赖时间的参数的第一值;以及

第二页,其包括:多个第二元素,其中第二元素中的每一个被构造成保持第二多个参数值中的其中一个,其中第二多个参数值中的每一个对应特定依赖时间的参数的其中一个的第二值。

方案4. 如方案3所述的方法,其中依赖时间的参数由马达控制模块使用,并且是切换频率(fSW)的函数。

方案5. 如方案3所述的方法,其中迭代地执行快速任务处理循环包括:

执行快速任务处理循环的前快速任务处理循环,其中伪随机数(Krand)和新瞬时切换频率(fSW_new)在执行前快速任务处理循环之前被计算;以及

执行快速任务处理循环的后快速任务处理循环。

方案6. 如方案5所述的方法,其中执行快速任务处理循环的前快速任务处理循环的步骤包括:

在前快速任务处理期间每第二任务处理周期(TTASK1)转换第一指数的值一次,使得第一指示器交替地指向第一页或第二页,从而第一页的第一元素和第二页的第二元素依赖特定时间的第一指数的值被构造交替地保持:

正在由中等速度任务处理器模块的参数再初始化模块基于由第二计算模块计算的新瞬时切换频率(fSW_new)更新/再初始化以供马达控制模块未来使用的依赖时间的参数的新参数值,其中新参数值反映了将在下面的第三任务处理周期(TTask0)期间被应用给快速任务处理的新瞬时切换频率(fSW_new);或者

在当前时刻在快速任务处理器模块由马达控制模块消费/使用的依赖时间的当前参数值,其中当前参数值反映了在当前第三任务处理周期(TTask0)期间将被应用到快速任务处理的当前实际瞬时切换频率(fSW)。

方案7. 如方案6所述的方法,其中迭代地执行快速任务处理循环的步骤包括:

确定第二任务处理周期(TTASK1)的新中等速度已经被开始,

其中迭代地执行中等速度任务处理循环的步骤还包括:

基于新瞬时切换频率(fSW_new)更新依赖时间的参数的新参数值;以及

在完成了新参数值的更新时:

其中迭代地执行快速任务处理循环的步骤还包括:

将当前实际切换频率改变到新瞬时切换频率(fSW_new);以及

此时转换第一指数的值。

方案8. 如方案5所述的方法,其中执行快速任务处理循环的前快速任务处理循环的步骤包括:

确定标记变量是否被设置为真;以及

当确定标记变量被设置为真时:

转换第一指数的值以改变指向双缓冲器的第一指示器,使得第一指示器指向与其先前指向相反的页;以及

产生去往硬件的频率改变命令以将当前实际切换频率(fSW)改变为新瞬时切换频率(fSW_new)。

方案9. 如方案5所述的方法,还包括:

构造第二双缓冲器以保持与依赖时间的参数的第一多个参数值不同的第二组参数值,第二双缓冲器包括:

第三页,其包括:多个第三元素,其中第三元素中的每一个被构造成保持第三多个参数值中的其中一个,其中第三多个参数值中的每一个对应特定参数的第一值;

第四页,其包括:多个第四元素,其中第四元素中的每一个被构造成保持第四多个参数值中的其中一个,其中第四多个参数值中的每一个对应特定参数中的其中一个的第二值;

其中迭代地执行后快速任务处理循环的步骤包括:

确定标记变量是否被设置为真;以及

当确定标记变量被设置为真时:

用新瞬时切换频率(fSW_new)更新软件中的存储当前实际切换频率(fSW)的变量并且此后将标记变量设置为假;以及

在标记变量被设置为假后,每第二任务处理周期(TTASK1)以中等速度转换第二指数的值一次,使得第二指示器交替地指向第三页或第四页。

方案10. 如方案1所述的方法,其中相对慢速小于中等速度,其中中等速度小于相对快速,其中快速任务处理不能由中等速度任务处理和慢速任务处理中断,并且其中中等速度任务处理不能由慢速任务处理中断但能由快速任务处理中断,其中慢速任务处理能由中等速度任务处理和快速任务处理中断。

方案11. 一种系统,其包括:

慢速任务处理器模块,被构造成在慢速任务处理循环期间迭代地执行慢速任务处理,该循环在第一任务处理周期(TTASK2)期间以相对慢速执行,其中慢速任务处理器模块包括:

第一计算模块,该计算模块一旦在每个第一任务处理周期(TTASK2)期间就计算平均切换频率(fSW_avg)和颤振跨度频率(fspan),该颤振跨度频率对应于在颤振切换频率(fSW)时允许的频率变化量;

中等速度任务处理器模块,被构造成在中等速度任务处理循环期间迭代地执行中等速度任务处理,该循环在第二任务处理周期(TTASK1)期间以中等速度执行;以及

快速任务处理器模块,被构造成在快速任务处理循环期间迭代地执行快速任务处理,该循环在第三任务处理周期(TTASK0)期间以相对快速执行,以及

其中中等速度任务处理器模块,包括:

第二计算模块,被构造成在执行中等速度任务处理循环期间以中等速度(TTASK1)计算:伪随机数(Krand),和基于平均切换频率(fSW_avg)的新瞬时切换频率(fSW_new),颤振跨度频率(fspan)和缩放版本的伪随机数(Krand);以及

参数再初始化模块,其定期地且连续地基于新瞬时切换频率(fSW_new)再初始化依赖时间的参数值,这些参数值将被快速任务处理器所用。

方案12. 如方案11所述的系统,其中中等速度任务处理器模块还包括:

标记变量控制模块,其被构造成在第二计算模块计算了新瞬时切换频率(fSW_new)之后设置标记变量为真,其中依赖时间的参数值在设置标记变量为真之前被再初始化。

方案13. 如方案12所述的系统,还包括:

第一双缓冲器,其被构造成保持第一组参数值,包括:

第一页,其包括:多个第一元素,其中第一元素中的每一个被构造成保持第一多个参数值中的其中一个,其中第一多个参数值中的每一个对应特定依赖时间的参数的第一值;以及

第二页,其包括:多个第二元素,其中第二元素中的每一个被构造成保持第二多个参数值中的其中一个,其中第二多个参数值中的每一个对应特定依赖时间的参数的其中一个的第二值。

方案14. 如方案13所述的系统,其中依赖时间的参数由马达控制模块使用,并且其中依赖时间的参数是切换频率(fSW)的函数并对切换频率(fSW)中的误差敏感。

方案15. 如方案13所述的系统,其中快速任务处理循环包括:

前快速任务处理器模块,其被构造成在快速任务处理循环的前快速任务处理循环期间执行前快速任务处理,其中第二计算模块被构造成在执行前快速任务处理循环之前计算伪随机数(Krand)和新瞬时切换频率(fSW_new);以及

后快速任务处理器模块,其被构造成在快速任务处理循环的后快速任务处理循环期间执行后快速任务处理。

方案16. 如方案15所述的系统,其中快速任务处理器模块在快速任务处理期间每第二任务处理周期(TTASK1)转换第一指数的值一次,使得第一指示器交替地指向第一页或第二页,并且其中第一页的第一元素和第二页的第二元素被构造成取决于特定时间的第一指数的值而交替地保持:

正在由中等速度任务处理器模块的参数再初始化模块基于由第二计算模块计算的新瞬时切换频率(fSW_new)更新/再初始化以供马达控制模块未来使用的依赖时间的参数的新参数值,其中新参数值反映了将在下面的第三任务处理周期(TTask0)期间被应用给快速任务处理的新瞬时切换频率(fSW_new);或者

在当前时刻在快速任务处理器模块由马达控制模块消费/使用的依赖时间的当前参数值,其中当前参数值反映了在当前第三任务处理周期(TTask0)期间将被应用到快速任务处理的当前实际瞬时切换频率(fSW)。

方案17. 如方案16所述的系统,当快速任务处理器模块确定第二任务处理周期(TTASK1)的新中等速度已经被开始时,

其中中等速度任务处理器模块基于由第二计算模块计算的新瞬时切换频率(fSW_new)更新依赖时间的参数的新参数值,并且

当完成对新参数值的更新时,其中快速任务处理器模块将当前实际切换频率改变到新瞬时切换频率(fSW_new),并然后转换第一指数的值。

方案18. 如方案15所述的系统,其中将标记变量设置为真信号通知快速任务处理器新瞬时切换频率(fSW_new)已准备好在快速任务处理期间在快速任务处理器处被使用,其中前快速任务处理器模块,包括:

检查模块,其被构造成检查标记变量以确定标记变量是否被设置为真;以及

转换模块,其被构造成在标记变量被确定为被设置为真时转换第一指数的值,从而改变指向双缓冲器的第一指示器,使得第一指示器指向与其先前指向相反的页;

模块,其被构造成在标记变量被确定为被设置为真时产生去往硬件以将当前实际切换频率(fSW)改变为新瞬时切换频率(fSW_new)的频率改变命令。

方案19. 如方案15所述的系统,其中第一双缓冲器是第一双缓冲器,并且还包括:

第二双缓冲器,其被构造成保持与依赖时间的参数的第一多个参数值不同的第二组参数值,第二双缓冲器包括:

第三页,其包括:多个第三元素,其中第三元素中的每一个被构造成保持第三多个参数值中的其中一个,其中第三多个参数值中的每一个对应特定参数的第一值;

第四页,其包括:多个第四元素,其中第四元素中的每一个被构造成保持第四多个参数值中的其中一个,其中第四多个参数值中的每一个对应特定参数中的其中一个的第二值,

其中第一指示器是第一指示器,以及

其中快速任务处理器模块在快速任务处理期间每第二任务处理周期(TTASK1)以中等速度转换第二指数的值一次,使得第二指示器交替地指向第三页或第四页。

方案20. 如方案18所述的系统,其中后快速任务处理器模块包括:

另一检查模块,其被构造成检查标记变量以确定标记变量是否被设置为真;以及

更新模块,其被构造成在标记变量被确定为被设置为真时用新瞬时切换频率(fSW_new)更新存储当前实际切换频率(fSW)的软件中的变量;

模块,其被构造成在用新瞬时切换频率(fSW_new)更新了存储当前实际切换频率(fSW)的软件中的变量后设置标记变量为假;

转换模块,其被构造成在快速任务处理期间每第二任务处理周期(TTASK1)在标记变量被设置为假后以中等速度转换第二指数的值一次,使得第二指示器交替地指向第三页或第四页。

方案21. 如方案11所述的系统,其中相对慢速小于中等速度,其中中等速度小于相对快速,其中快速任务处理不能由中等速度任务处理和慢速任务处理中断,并且其中中等速度任务处理不能由慢速任务处理中断但能由快速任务处理中断,并且其中慢速任务处理能由中等速度任务处理和快速任务处理中断。

方案22. 一种用于操作双缓冲器的方法,该双缓冲器具有第一页和第二页,第一页具有多个第一元素,每一个第一元素被构造成保持第一多个参数值中的其中一个,第一多个参数值中的每一个对应每个特定依赖时间的参数的第一值,第二页具有多个第二元素,每一个第二元素被构造成保持第二多个参数值中的其中一个,第二多个参数值中的每一个对应每个特定依赖时间的参数的第二值,该方法包括:

当指数的值是第一值时在中等速度任务处理器模块处选择第一多个参数值以由马达控制模块使用,其中在选择时第一多个参数值反映第二任务处理周期(TTASK1)的新中等速度;

在中等速度任务处理器模块处确定第二任务处理周期(TTASK1)的新中等速度是否已经由中等速度任务处理器模块开始;

当第二任务处理周期(TTASK1)的新中等速度已被开始时,基于由中等速度任务处理器模块每第二任务处理周期(TTASK1)计算一次的新切换频率(fSW_new)在中等速度任务处理器模块更新第二多个参数值;

当中等速度任务处理器模块确定每个第二多个参数值都被更新时:

每第二任务处理周期(TTASK1)在快速任务处理器模块改变实际当前切换频率(fSW)到新切换频率(fSW_new)一次;以及

转换指数到第二值以颠倒第一页和第二页的角色,使得第二多个参数值将被选择以供马达控制模块所用并且使得第一多个参数值将基于另一新切换频率(fSW_new)被更新。

方案23. 如方案22所述的方法,还包括:

在转换指数到第二值,并且在中等速度任务处理器模块确定指数具有第二值之后;

在中等速度任务处理器模块处选择第二多个参数值以由马达控制模块使用,其中在选择时第二多个参数值反映第二任务处理周期(TTASK1)的另一新中等速度;

在中等速度任务处理器模块处确定第二任务处理周期(TTASK1)的另一新中等速度是否已经由中等速度任务处理器模块开始;

当第二任务处理周期(TTASK1)的另一新中等速度已被开始时,基于由中等速度任务处理器模块计算的另一新切换频率(fSW_new)在中等速度任务处理器模块更新第一多个参数值;

当中等速度任务处理器模块确定每个第一多个参数值都被更新时:

每第二任务处理周期(TTASK1)在快速任务处理器模块改变实际/当前切换频率(fSW)到另一新切换频率(fSW_new)一次;以及

转换指数回到第一值以颠倒第一页和第二页的角色,使得第一多个参数值将被选择以供马达控制模块所用并且使得第二多个参数值将基于又一新切换频率(fSW_new)被更新。

附图说明

此后将结合下面的附图描述本公开的实施例,其中相同的附图标记表示相同的元件;并且其中

图1是根据所公开实施例的马达驱动系统的一个示例的框图。

图2是马达驱动系统的一部分的框图,其包括连接到三相AC马达的三相PWM电压源逆变器模块。

图3A是根据所公开的实施例中一些的系统的框图,该系统用于颤振切换频率(fSW),该切换频率(fSW)被用于产生切换信号,该信号被应用到三相PWM电压源逆变器模块。

图3B是图3A的第一双缓冲器和第二双缓冲器的示例的概念框图。

图3C是说明根据所公开的实施例的一种实施方式的操作图3A的第一双缓冲器的方法的流程图。

图4是说明根据所公开的实施例中一些的慢速任务处理的流程图。

图5是说明根据所公开的实施例中一些的中等速度任务处理的流程图。

图6A是说明根据所公开的实施例中一些的快速任务处理的流程图。

图6B是说明用来计算具有周期(Ts)的PWM电压信号的占空比的电流采样点的曲线,以展示在离散时间控制系统中经历的PWM电压延迟时间的概念和PWM电压提前的概念。

图6C图示了切换周期(TSW)中的阶跃变化和用来补偿在该阶跃变化期间的实施延迟的PWM电压提前的三个对应值的示例。

图7A是一组曲线,其示出了在使用带有颤振的现有技术AC马达控制算法以相当高马达速度运行的马达的马达速度、命令扭矩和相电流。

图7B是一组曲线,其示出了使用根据所公开实施例的带有颤振的AC马达控制以相当高马达速度运行的马达的马达速度、命令扭矩和相电流。

具体实施方式

在本文使用时,词语“示例性”表示“用作示例、例子或说明”。下面的具体描述本质上仅仅是示例性的,并非用于限定本发明、其应用或使用。因此,本文描述的任何“示例性”实施例都不一定被理解为相比其它实施例是优选的或有利的。具体实施方式中描述的所有实施例都是示例性实施例,它们被提供用于使本领域技术人员能够制造或使用本发明,并且不是用于限制本发明的范围,本发明的范围由权利要求限定。而且,并不意在受在前面的技术领域、背景技术、发明内容或者后面的具体实施方式中出现的任何明示或暗示的理论的约束。

在具体描述根据本发明的实施例之前,应该注意到,实施例主要是与控制多相系统的操作相关的装置部件和方法步骤的组合。应该意识到,本文中所描述的发明的实施例可使用硬件、软件或他们的组合实施。本文中描述的控制电路可包括被使用模拟和/或数字电路的组合实施的各种部件、模块、电路和其它逻辑,离散或集成的模拟或数字电子电路和它们的组合。在本文中使用时,术语“模块”指的是用于执行任务的设备、电路、电部件、和/或基于软件的部件。在一些实施方式中,本文中描述的控制电路可使用一个或多个专用集成电路(ASIC)、一个或多个微处理器、和/或,当实施这种电路中的控制逻辑的部分或全部时,一个或多个基于数字信号处理器(DSP)电路来实施。应该意识到,本文中描述的本发明的实施例可包括一个或多个传统的处理器和独特的所存储的程序指令,该指令控制一个或多个处理器以,联合某些非处理器电路,实施用于控制多相系统的操作的功能中的一些、大多数或全部,如本文中所讨论的。照此,这些功能可被解释为用于控制多相系统的操作的方法的步骤。替换地,一些或全部功能可由状态机器来实施,该状态机器没有存储的程序指令,或者由一个或多个专用集成电路(ASIC)来实施,其中每个功能或某些功能的一些组合被实施为定制逻辑。当然,可以使用两者方法的组合。因此,本文将描述这些功能的方法和装置。另外,预期本领域技术人员,尽管在例如可用时间、当前技术、和经济考虑的启示下可能要付出重大努力和做出许多设计选择,但在本文中所公开的概念和原理的指导下会很容易地通过最少的实验产生这种软件指令和程序和IC。

总览

本发明的实施例涉及用于控制多相系统的操作的方法、系统和装置。在一个示例性实施方式中,多相机器可被实施在操作环境中,例如混合动力/电动车辆(HEV)。在将被描述的示例性实施方式中,控制技术和工艺将被描述为应用到混合动力/电动车辆。不过,本领域技术人员应该意识到,相同或类似的技术和工艺可被应用到其它系统的背景下,在这些系统中在期望减少PWM切换频率对噪声、EMI、总线共振和扭矩波动的不利影响时控制多相系统的操作是令人满意的。在这方面,本文公开的概念中的任一个通常可被应用到“车辆”,并且在本文中使用时,术语“车辆”广义地指示具有AC机器的非人工运输机构。而且,术语“车辆”不受任何具体的推进技术例如汽油或柴油燃料所限制。更确切地说,车辆可包括混合动力车辆、蓄电池电动车辆、氢车辆、和使用各种其它代替的燃料操作的车辆。

在本文中使用时,术语“交流(AC)机器”通常指的是“将电能转换为机械能或反之亦然的设备或装置”。AC机器可通常被分类为同步AC机器和异步AC机器。同步AC机器可包括永磁机器和磁阻机器。永磁机器包括表面安装永磁机器(SMPMM)和内部永磁机器(IPMM)。异步AC机器包括感应机器。虽然AC机器可以是AC马达(例如,用于在其生产输入处将AC电能转换为机械能量或能的装置),但是AC机器不限于是AC马达,而是也可包括用于将在其原动机处的机械能量或能在其输出处转换为电AC能量或能的发电机)。机器中的任一个可以是AC马达或AC发电机。AC马达是由交流驱动的电马达。在一些实施方式中,AC马达包括外部静止定子,其具有被供应交流电以产生旋转磁场的线圈;和内部转子,其附接到输出轴,该旋转的磁场给该转子提供扭矩。取决于所用转子的类型,AC马达可被分类为同步的或异步的。

图1是根据所公开实施例的马达驱动系统100的一个示例的框图。系统100通过联接到三相AC机器120的三相脉宽调制(PWM)电压源逆变器模块110控制三相AC机器120,使得三相AC机器120通过调节控制三相AC机器120的电流122-124能高效地使用提供到三相PWM电压源逆变器模块110的DC输入电压(Vdc)139。在一个示例性实施方式中,马达驱动系统100可被用于控制HEV中的扭矩。

在下面对一个特定非限定性实施方式的描述中,三相AC机器120可被具体化为三相AC供能马达120;不过,应该意识到,图示的实施例仅是可应用所公开的实施例的AC机器的类型的一个非限定性示例,并且所公开的实施例可被应用到包括更少或更多相的任何类型的多相AC机器。

三相AC马达120通过三个逆变器极被联接三相PWM电压源逆变器模块110并基于从三相PWM电压源逆变器模块110接收的三相正弦电流信号122…124产生机械能(扭矩X速度)。

在描述系统100的操作细节之前,将参照图2提供对三相PWM电压源逆变器模块110的一个示例性实施方式的更具体的描述(包括其如何被连接到三相AC马达120)。

图2是马达驱动系统100的一部分的框图,其包括连接到三相AC马达120的三相PWM电压源逆变器模块110。应该注意到,图1中的三相PWM电压源逆变器模块110和三相马达120不限于这种实施方式。更确切地说,图2仅是图1中的三相PWM电压源逆变器模块110和三相AC马达120在一个特定实施例中可如何被实施的一个示例。

如在图2中所示,三相AC马达120具有三个定子或马达绕组120A、120B、120C,它们连接到马达端子A、B、C,和三相PWM电压源逆变器模块110。三相PWM电压源逆变器模块110包括电容器180和三个逆变器子模块115、117、119。在这个特定实施例中,在相A中逆变器子模块115被联接到马达绕组120A,在相B中,逆变器子模块117被联接到马达绕组120B,且在相C中逆变器子模块119被联接到马达绕组120C。进入马达绕组A120A的电流流出马达绕组B、C120B-120C,进入马达绕组B120B的电流流出马达绕组A和C,120A,120C,并且进入马达绕组C120C的电流流出马达绕组A和B,120A,120B。

所得到的相或定子电流(Ias-Ics)122、123、124流过各自的定子绕组120A-120C。跨过定子绕组120A-120C中每一个的相到中性电压分别被表示为Van、Vbn、Vcn,在定子绕组120A-120C中每一个中产生的反电动势(EMF)电压分别被示出为由理想电压源产生的电压Ea、Eb、Ec,每一个理想电压源分别被示出为与定子绕组120A-120C串联。如公知的,这些反EMF电压Ea、Eb、Ec是由永磁转子的旋转在相应的定子绕组120A-120C中感应的电压。虽然未示出,马达120可被联接到驱动轴。

三相PWM电压源逆变器模块110包括电容器180,包括双开关182/183、184/185的第一逆变器子模块115,包括双开关186/187、188/189的第二逆变器子模块117,和包括双开关190/191、192/193的第三逆变器子模块119。如此,三相PWM电压源逆变器模块110具有六个固态可控切换设备182、184、186、188、190、192,和六个二极管183、185、187、189、191、193,以适当地切换复合电压(VDC)并提供三相AC马达120的定子绕组120A、120B、120C的三相激励。

闭环马达控制器108可从马达120接收马达命令信号和马达操作信号,并且产生用于控制在逆变器子模块115、117、119中的固态切换设备182、184、186、188、190、192的切换的控制信号109。通过提供合适的控制信号109-1…109-3到各个逆变器子模块115、117、119,闭环马达控制器102控制在逆变器子模块115、117、119中的固态切换设备182、184、186、188、190、192的切换并由此控制逆变器子模块115、117、119的分别提供到马达绕组120A-120C的输出。由三相PWM电压源逆变器模块110的逆变器子模块115、117、119产生的所得到的定子电流(Ias…Ics)122-124被提供给马达绕组120A、120B、120C。电压Van、Vbn、Vcn和在节点N处的电压取决于在三相PWM电压源逆变器模块110的逆变器子模块115、117、119中的开关182、184、186、188、190、192的开/闭状态而随时间波动。

再次参照图1,马达驱动系统100包括控制器102。控制器102包括马达控制模块104、切换频率计算模块105和模块调制(PWM)模块108。

在一个示例性实施方式中,马达控制模块104可包括多个模块,诸如扭矩-电流映射模块、abc参照系-αβ参照系变换模块、静止-同步变换模块、同步系电流调节器模块、同步-静止变换模块,αβ参照系-abc参照系(αβ-abc)变换模块等,这些模块一起操作以产生静止参照系电压命令信号(Vas*…Vcs*)107(也称为“相电压命令信号”),其被发送到PWM模块108。这些模块的细节是本领域熟知的并且为了简要目的而不详细描述。

切换频率计算模块105产生切换频率(fSW)信号106。

三相PWM电压源逆变器模块110被联接到PWM模块108。PWM模块108用于控制相电压命令信号(Vas*…Vcs*)107的脉宽调制(PWM)。在PWM模块108内实施的特定调制算法可以是任何对控制脉宽调制(PWM)以建立交流(AC)波形来说已知的调制算法,包括空间向量脉宽调制(SVPWM)技术,这些波形基于DC输入139以不同的速度驱动三相AC供能马达120。

为此,PWM模块108处理切换频率(fSW)信号106和静止参照系电压命令信号(Vas*…Vcs*)107以产生驱动三相PWM电压源逆变器模块110的切换设备182、184、186、188、190、192的切换信号109。切换信号109是基于在图1中未示出但代替地在PWM模块108处内部产生的在每个PWM周期期间具有特定占空比的占空比波形产生的。PWM模块108基于切换频率(fSW)信号106改变了相电压命令信号(Vas*…Vcs*)107以产生占空比波形(未在图1中示出)和切换信号(Sa…Sc)109,它将这些提供给三相PWM电压源逆变器模块110。切换信号109是在每个PWM周期期间具有特定占空比的PWM波形,该特定占空比由在PWM模块108处内部产生的占空比波形确定。

切换信号109控制三相PWM电压源逆变器模块110中的开关的切换状态以在每一相A、B、C产生三相电压。三相PWM电压源逆变器模块110必须被控制从而在同一逆变器子模块115、117、119(图2)中的两个开关或“腿”决不都被接通以阻止DC供应被短路。如此,在同一逆变器子模块115、117、119(图2)中的开关以互补方式被操作使得当一个断开时另一个接通,并且反之亦然。为了进一步解释,在任何特定时间在给定的相(A..C)中,其中一个开关被断开而另一个开关被接通(即,在特定逆变器子模块中的两个开关必须具有相反的接通/断开状态)。作为关于相A的一个示例,当开关182接通时,开关184断开,并且反之亦然。因此,对于特定的逆变器子模块,在该逆变器子模块中的两个开关的接通/断开状态可由二进制1或二进制0表示。例如,当在给定相中的上开关是接通(且下开关是断开)时,位值是1,而当在给定相中下开关接通(且上开关断开时)位值为0。

三相PWM电压源逆变器模块110接收DC输入电压(Vdc)139和切换信号109,并且使用它们来在逆变器极产生三相交流(AC)电压信号波形,该波形以变换速度(ωr)驱动三相AC机器120。三相机器120接收由三相PWM电压源逆变器模块110产生的三相电压信号并产生命令扭矩(Te*)大小的马达输出。虽未在图1中示出,系统100也可包括齿轮,其联接到三相AC机器120的轴并由该轴驱动。

离散时间控制和不同的处理速度

大多数PWM电压源逆变器模块被实施为离散时间控制系统。在高性能应用中,有闭环电流控制,例如场定向控制或向量控制。马达控制算法被写入软件,并且以具体的速度被执行。

例如,一些任务或功能,例如电流调节控制和PWM产生,可在以相对快速执行的循环中被执行或完成(例如,对于一些系统在1千赫到20千赫的范围内执行的循环)。该循环执行时的相对快速经常可与PWM频率同步,或可能在一些应用中处于PWM频率的次谐波。

其它的任务或功能,例如扭矩命令处理和电流命令确定,可在以中等速度执行的循环内被执行或完成(例如,对于一些系统每2毫秒执行的循环),该中等速度慢于上述相对快速。

再其它的任务或功能,例如平均逆变器频率或其它慢速变化参数的计算,可在以慢速执行的循环内被执行或完成(例如,对于一些系统每10毫秒执行的循环),该慢速慢于上述中等速度。

马达控制算法中许多需要知道逆变器切换频率/周期(或PWM速度或采样速度)以正确地完成某些计算。一些示例可以是离散时间滤波器系数,PI调节器增益、延迟补偿、逆变器死区时间补偿等。

在传统的系统中,逆变器频率根据驱动系统操作调节(例如,输入DC电压、马达速度、载荷扭矩、逆变器温度等)而慢慢变化。在没有任何特殊预防措施或算法的情况下,良好的系统性能是可能的。

颤振

如上所述,颤振是一种通过以固定速率快速地改变逆变器的切换频率来减少电流谱中的明显的谐波的幅值的传统方法。颤振已经被应用到AC逆变器以及其中由于一些周期循环(例如系统时钟或PWM)而期望展开发射谱的许多其它类型的电力系统。

对于马达驱动系统的给定操作条件(例如,输入DC电压、马达速度、载荷扭矩、和逆变器温度),逆变器将以预定平均切换频率操作。这个平均频率可基于若干标准来选择,例如,可控性、噪声、效率等。

当采样颤振时,在该平均值周围的某一带内周期地调节该频率。方程(1)示出了包括颤振的瞬时逆变器切换频率:

其中fsw是以Hz为单位的瞬时切换频率,fsw_avg是以Hz为单位的时间平均切换周期,fspan是以Hz为单位的由颤振引起的在切换频率中的总峰值-峰值变化,而Krand是伪随机数,范围是-0.5→+0.5。伪随机数生成器被用来计算Krand,其可从-0.5变化到+0.5。该数以颤振速率(frate)被更新。因此,瞬时切换频率每frate将跳到新的随机值。确定颤振在展开谱方面的性能的关键参数是颤振跨度和颤振速率(分别是fspan和frate)。增加颤振跨度在更宽的频率范围内展开每个谐波。增加颤振速率使频率调节更加快速,因此减少了逆变器在任何给定瞬时频率上的操作时间。典型的颤振速率可以是2-10毫秒,而颤振跨度可以是在平均切换频率的峰值-峰值的10%的范围内。精确的值经根据应用而变化。

传统颤振的缺点

当颤振技术被应用于AC马达驱动系统时,切换频率以快得多的速率并以显著的量变化。这可导致实际切换频率和用于计算正在控制算法中被使用的参数值(滤波器系数、调节器增益、延迟补偿等)的切换频率不匹配。

因此,控制算法的性能会降低,除非采用对该算法的特殊改进。例如,在电流调节系统中,马达驱动电流可能振荡。该电流振荡可引起不期望的扭矩振荡,噪声,或者甚至是不稳定(例如,电流控制的缺失和过电流停机)。这些降低是不可接受的,并且应该在采用颤振之前被解决。

一些所公开的实施例提供了用于在马达驱动系统中实施颤振的方法、系统和装置,它们使得多相电机器的控制对由颤振引起的切换频率中的频繁且显著的变化具有鲁棒性。

图3A是根据所公开的实施例中的一些的系统300的框图,其用于颤振切换频率(fSW),该切换频率(fSW)被用于产生应用到三相PWM电压源逆变器模块110的切换信号109。图3B是图3A的第一双缓冲器和第二双缓冲器的示例的概念框图。图3A的系统300包括慢速任务处理器模块310,中等速度任务处理器模块320,和快速任务处理器模块340。

慢速任务处理器模块310以相对慢速(TTASK2)或频率迭代地完成或执行慢速任务处理功能(例如,在一个示例性实施例中,约每10毫秒一次)。

中等速度任务处理器模块320以中等速度(TTASK1)或频率迭代地完成或执行中等速度任务处理功能(例如,在一个示例性实施例中,约每2毫秒一次)。

快速任务处理器模块340以快速(TTASK0)或频率迭代地完成或执行快速任务处理功能(例如,在一个示例性实施例中,约每0.1毫秒或100微米一次)。在一些实施例中,快速任务处理器模块340以PWM速率或切换频率(fSW)完成或执行快速任务处理,在一些系统中这可能在1kHz到20kHz的范围内。在其它系统中,PWM速率是快速任务处理或采样速率几倍高。

快速任务处理是不可中断的。快速任务处理能中断中等速度任务处理和慢速任务处理。中等速度任务处理能中断慢速任务处理。

慢速任务处理器模块310包括计算模块312,其计算平均切换频率(fSW_avg)和颤振跨度频率(fspan)(或允许的频率变化量)。而且,模块314能完成或计算其它的慢速功能,例如,温度测量、慢速变化信号的滤波等。

中等速度任务处理器模块320包括完成中等速度任务计算的计算模块322,再初始化将由快速任务处理器340所使用的参数值的参数再初始化模块324,计算PWM电压提前的三状态值的可选的PWM电压提前计算模块326,能设置标记标量以通向快速任务处理器模块340的标记标量控制模块328,和能完成或计算其它中等速度功能的模块329,例如扭矩命令处理、电流命令产生、场减弱、系统模变等。

计算模块322接收由慢速任务处理器模块310计算的平均切换频率(fSW_avg)和颤振跨度频率(fspan)。计算模块322计算伪随机数(Krand)并对其进行缩放或标准化使其落入-0.5到+0.5的范围内。计算模块322使用平均切换频率(fSW_avg)、颤振跨度频率(fspan)和缩放的伪随机数(Krand)来计算瞬时切换频率(fSW_new),该瞬时切换频率(fSW_new)以相当快的中等速度被更新,其可以与颤振速率(frate)相同。在一个实施例中,计算模块322根据上述方程(1)计算新瞬时切换频率(fSW_new)。

参数再初始化模块

用在马达控制计算中的一些类型的参数是切换频率(fSW)或采样速率(即,快速任务处理周期)的函数。快速任务处理器340以比中等速度任务处理器模块320高得多的频率操作。如此,中等速度任务处理器模块320和中等速度任务处理可能被快速任务处理器340中断多次,并且因此中等速度任务处理器模块320可能在参数再初始化计算中间被中断。因此,可能的是,在快速任务处理600中使用的依赖时间的参数中没有一个、有一些或全部没有被用代表实际切换频率(fSW)的正确值更新,这可能导致不正确的控制。如此,当切换频率(fSW)在操作期间动态变化时,这些参数需要被更新以反映实际切换频率(fSW)。

为此目的,参数再初始化模块324使用由计算模块322计算的新瞬时切换频率(fSW_new)定期地再初始化将在快速任务处理器340期间被使用的全部依赖时间的参数值。在一个实施例中,参数再初始化模块324在设置标记变量(在328)之前定期地且连续地再初始化全部依赖时间的参数值以改变到新切换频率(fSW)(与在不同时间执行再初始化对照)。换句话说,软件模块执行参数再初始化被紧紧地聚集在一起,而不是分散到整个中等速度任务计算中。这有助于减少依赖时间的参数值(将在快速任务处理期间被使用)没有被用代表实际切换频率(fSW)的正确值更新的机会。

双缓冲器和敏感或关键参数的双缓冲

相比而言,一些关键依赖时间的参数对切换频率(fSW)中的误差更加敏感,并且要求额外的处理来确保参数值与实际切换频率(fSW)的正确一致。对切换频率(fSW)中的误差敏感的参数的一些示例将包括与占空比夹紧、死区时间补偿等相关的那些参数。

对于这些敏感的或关键的依赖时间的参数而言,双缓冲器330可被用来避免参数值误差。在这种双缓冲器方法中,每个敏感参数的参数值由两个值的阵列代表。注意到,双缓冲器330是可选的并且不需要在所有实施例中实施。

双缓冲器330包括第一双缓冲器334和第二双缓冲器336。第一双缓冲器334保持第一组参数值,而第二双缓冲器336保持第二组参数。例如,在一个实施方式中,在特定时刻,第一双缓冲器334保持具有应该反映下一个/即将到来的快速任务处理周期(TTask0)的值的参数的参数值,而第二双缓冲器336保持具有应该反映当前的/现存的快速任务处理周期(TTask0)的值的参数的参数值。

在一个实施例中,第一双缓冲器334和第二双缓冲器336每一个都具有两个页(在这个示例中,第一页334-A/第二页334-B,和第三页336-A/第四页336-B)。例如,第一双缓冲器334具有两页,这两页将在下面被称为第一页334-A,和第二页334-B。每一页都包括多个元素。每个元素被用来存储特定的敏感参数的参数值。图3B图示的第一双缓冲器334具有两个页334-A,334-B,这两个页每一个都为了说明目的被表示为列并且图示的第二双缓冲器336具有两个另外的页336-A,336-B,这两个页每一个都为了说明目的被表示为列。第一双缓冲器334的每一页334-A,334-B(或列)包括多个元素,这些元素被表示为在该页或列中的行。每一行对应被用来存储特定的敏感参数的参数值的元素。例如,第一行可存储具体的滤波器增益系数,第二行可存储占空比限制,等等。同样,第二双缓冲器336包括两个页336-A,336-B,这两个页被表示为列。每一页336-A,334-B(或列)包括多个元素,这些元素被表示为在该页或列中的行。每一行对应被用来存储特定的敏感参数的参数值的元素。

第一双缓冲器334和第二双缓冲器336以类似的方式操作,但是为了简要起见,下面仅参照图3C提供了对第一双缓冲器334的操作的描述。

在任何时刻,马达控制算法(例如马达控制模块104和PWM模块108)将利用页334-A,334-B中之一(例如第一页334-A)的内容。同时,中等速度任务处理器模块320能基于即将到来的切换频率更新另一缓冲器页(例如,第二页334-B)。在任何给定时间,一个页的参数值由控制算法消费(例如,在框360中的计算),而另一页的参数值正被更新以供未来所用。指数1通过转换指数1的值而每中等速度任务处理周期(TTask1)交替其所指向的页一次。在上面的示例中,一旦在第二页334-B所有的新参数值都已被更新,实际切换频率可被改变。在此时刻,颠倒两个页的角色。

为了进一步解释,在快速任务处理期间,快速任务处理器340,设置并以中等速度任务处理速度转换指示器,以交替地指向第一双缓冲器334的第一页334-A和第二页334-B。指示器告知可应用的控制算法第一页334-A和第二页334-B中哪一个将在该可应用的控制算法中被使用,而第一页334-A和第二页334-B中哪一个要被更新以供未来所用。因此,在一个页上被保持的一组参数值将在实际控制算法或函数中被快速任务处理器340使用,而在另一页上被存储的参数值可由参数再初始化模块324根据计算模块322所计算的新瞬时切换频率(fSW_new)再初始化。

所以对于一个中等速度任务处理周期(TTask1),指数1指向一个页,并且此后其在下一中等速度任务处理周期(TTask1)中指向另一页。在上面的示例中,马达控制算法现在将利用第二页334-B的内容,而中等速度任务处理器能基于新切换频率更新第一页334-A。因此,每次切换频率被改变时就颠倒第一页334-A和第二页334-B的角色。

双缓冲器的操作

图3C是图示根据所公开的实施例的一个实施方式的第一双缓冲器334的操作方法385的流程图。图3C将参照图3A和3B被描述。

在步骤386,中等速度任务处理器模块320确定指数1的值是逻辑1还是逻辑0。

当指数1的值是逻辑1时,方法前进到步骤387,并且马达控制算法使用存储在(第一双缓冲器334的)第一页334-A中的参数值,这些值反映下一个/即将到来的快速任务处理周期(TTask0)。

在步骤388,中等速度任务处理器模块320确定新的/下一个中等速度任务处理周期(TTask1)是否已经被开始。

当中等速度任务处理器模块320确定新的或下一个中等速度任务处理周期(TTask1)还没被开始时,方法385循环回到步骤387。

当中等速度任务处理器模块320确定新的或下一个中等速度任务处理周期(TTask1)已经被开始时,方法385前进到步骤389。在步骤389,每中等速度任务处理周期(TTask1),中等速度任务处理器模块320基于由中等速度任务处理器模块320计算的新(例如,即将到来的/未来的)切换频率(fSW_new)更新存储在第二页334-B中的参数值。

在步骤390,中等速度任务处理器模块320确定是否存储在第二页334-B中的所有参数值都已被更新。当中等速度任务处理器模块320确定了存储在第二页334-B中的所有参数值还没有都被更新,方法385循环回到步骤387。

当中等速度任务处理器模块320确定了存储在第二页334-B中的所有参数值都被更新时,方法385前进到步骤391。在步骤391,快速任务处理器模块340改变(实际/当前)切换频率(fSW)到新切换频率(fSW_new),转换指数1到逻辑0,并且方法385此时循环回到步骤386,在该步骤指数1将被切换到逻辑0。将指数1转换到逻辑0颠倒了第一页334-A和第二页334-B的角色使得控制算法将使用第二页334-B的参数值并基于新切换频率(fSW_new)更新第一页334-A的参数值。

当方法386循环回到步骤386时,中等速度任务处理器模块320再一次确定指数1的值是逻辑1还是逻辑0。

在这次迭代中,指数1的值是逻辑0,方法385前进到步骤392,其中马达控制算法使用存储在(第一双缓冲器334的)第二页334-B中的参数值,这些值反映下一个/即将到来的快速任务处理周期(TTask0)。

在步骤393,中等速度任务处理器模块320确定新的/下一个中等速度任务处理周期(TTask1)是否已经被开始。

当中等速度任务处理器模块320确定新的/下一个中等速度任务处理周期(TTask1)还没被开始时,方法385循环回到步骤392。

当中等速度任务处理器模块320确定新的/下一个中等速度任务处理周期(TTask1)已经被开始时,方法385前进到步骤394。在步骤394,每中等速度任务处理周期(TTask1),中等速度任务处理器模块320基于由中等速度任务处理器模块320计算的新切换频率(fSW_new)更新存储在第一页334-A中的参数值。

在步骤395,中等速度任务处理器模块320确定是否存储在第一页334-A中的所有参数值都已被更新。当中等速度任务处理器模块320确定了存储在第一页334-A中的所有参数值还没有都被更新,方法385循环回到步骤392。

当中等速度任务处理器模块320确定了存储在第一页334-A中的所有参数值都被更新时,方法385前进到步骤396。在步骤396,快速任务处理器模块340改变(实际/当前)切换频率(fSW)到另一新切换频率(fSW_new),转换指数1到逻辑1,并且方法385此时循环回到步骤386,在该步骤指数1将被切换到逻辑1。将指数1转换到逻辑1颠倒了第二页334-B和第一页334-A的角色使得控制算法将使用第一页334-A的参数值并基于新切换频率(fSW_new)更新第二页334-B的参数值。

用来实施双缓冲器334/336的处理逻辑可根据具体的实施方式以数种不同的方式被实施。

例如,在一种实施方式中,排他性OR(XOR)操作符可被如表1所示地使用,其示出了带有输入B的固定值的按位排他性OR(XOR)操作符。

如本领域技术人员已知的且如表1所示,输入A的按位排他性OR在固定的输入B等于1时实际上用于颠倒输入A。

在一个示例性实施方式中,双缓冲器334/336可使用C语言用软件实施。在C语言中,从元素0开始参考该阵列。对于两元素阵列,进入阵列的指数可以是0或1,这取决于哪一个元素要被访问。消费参数值的控制函数将访问由指数1指向的页,并且再初始化可在另一页上被履行。例如,在特定时刻的一个实施方式中,控制算法计算的一些,例如死区时间补偿,可访问第一双缓冲器334的第一页334-A中被指向的参数值,而存储在未正在被使用的第一双缓冲器334的第二页334-B中存储的参数值可通过使用XOR(指数1)作为指数在用于下一切换周期的参数值变为可获得时用这些参数值来再初始化。

PWM电压提前计算

可选的PWM电压提前计算模块326计算PWM电压提前延迟时间的三状态值,这在下面将参照图6B和6C来描述。这些三状态值将在下面被称为PWM电压提前延迟时间的初始稳态值(tPWM_Adv_inital_ss),PWM电压提前延迟时间的中间值(tPWM_Adv_intermediate),和PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss)。这些三状态值在单个切换频率(fSW)过渡期间被使用。为了说明三状态行为,双缓冲器可被采用,并且缓冲器内容每切换频率(fSW)过渡被更新两次。

在PWM电压提前计算模块326提供PWM电压提前延迟时间的中间值(tPWM_Adv_intermediate)给第一双缓冲器334以存储在第一双缓冲器334的新元素内时,第一更新发生。PWM电压提前计算模块326计算PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss),并将其存储在临时变量中。使用正常双缓冲器过程,当第一指数(指数1)在354被转换时,PWM电压提前延迟时间的中间值(tPWM_Adv_intermediate)将被从第一双缓冲器334消费。

在后快速任务处理期间,当PWM电压提前更新模块376用存储在临时变量中的PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss)覆盖第一双缓冲器334的内容时,第二更新发生。PWM电压提前将在下面参照图5和6A-6C被更具体地描述。

标记变量被用来在中等速度任务处理周期(TTask1)和快速任务处理周期(TTask0)之间同步新切换频率的更新。中等速度任务处理器模块320的标记标量控制模块328在所有必需的中等速度任务计算被就绪时将标记设置为真,快速任务处理器模块340在快速任务处理器模块340的374已经更新了时间切换频率时将标记设置为假。标记标量控制模块328设置标记变量为真并将其传送到快速任务处理器模块340。逆变器操作的实际频率被设置为快速任务处理的速度(其对应快速任务处理周期(TTask0))。为此目的(在中等速度任务处理器模块320计算了新瞬时切换频率(fSW_new)后),中等速度任务处理器模块320设置标记变量为真。将标记变量设置为真向快速任务处理器340指示新瞬时切换频率(fSW_new)已准备好在快速任务处理期间在快速任务处理器340处被使用/实施。当快速任务处理器340确定标记变量被设置为真时,其可转换第一和第二指数(例如指数1在PreTask0(前Task0)中被转换,指数2在PostTask0(后Task0)中被转换)以改变指向缓冲器334、336的指示器,改变实际切换频率(fSW)为新瞬时切换频率(fSW_new),并且继续其正常计算(在另一任务0功能模块360处)。

模块329可完成或计算其它中等速度任务处理功能,例如,扭矩命令处理、电流命令产生、场减弱、系统模变等。在全部中等速度任务处理功能都在模块329完成后,中等速度任务处理器模块320等待要执行安排的下一迭代中等速度任务处理的信号,并在接收到该信号时,执行安排的下一迭代的中等速度任务处理。

快速任务处理在三个不同的阶段前快速任务处理器模块350、快速任务控制模块360、和后快速任务处理器模块370中在快速任务处理器模块340处被完成或执行。

前快速任务处理器模块350履行前快速任务处理功能。前快速任务处理器模块350在352检查标记变量的值。当标记变量被设置为假时,不履行进一步的前快速任务处理功能。

相比之下,当标记变量被设置为真时,前快速任务处理器模块350在框354将第一指数(指数1)转换以将指示器改变到第一双缓冲器334,使得指示器指向与其先前所指向的相反的页。第一双缓冲器334包括要在需要使用下一个(即将到来的)周期(其由瞬时切换频率(fSW_new)确定)的控制计算中被使用的未来参数值。为了进一步解释,一些控制计算或功能,例如死区时间补偿或占空比夹紧,需要使用用于下一个或即将到来的PWM周期的未来参数值来执行它们的快速任务处理计算,该PWM周期将在下一个采样周期被应用。这些参数值被存储在第一双缓冲器334中。如此,用于这些参数值的指数1在执行消费这些参数值的计算之前被转换前快速任务处理。如此,第一指数(指数1)在前快速任务处理中被转换以选择存储在第一双缓冲器334中的要在需要使用下一个/即将到来的PWM周期的控制计算中被使用的未来参数值。在框356,前快速任务处理器模块350产生频率改变命令以将操作频率(fSW)改变到计算模块322所计算的瞬时切换频率(fSW_new)。这个频率改变命令直到随后的PWM周期才生效。

在完成前快速任务处理的处理之后,快速任务控制模块360履行被用来建立用于随后的PWM周期的参数的其它快速任务处理功能。其它的快速任务处理功能通常与向量控制算法相关联并且可包括例如诸如Clarke/Park变换、同步系电流调节、逆变换、PWM占空比计算、诊断检查等的功能。如下面将解释的,在其它快速任务处理功能中由快速任务控制模块360计算的参数值直到随后的PWM周期才被实施在逆变器中。

后快速任务处理器模块370履行后快速任务处理功能。在模块372,后快速任务处理器模块370检查标记变量的值。当标记变量为假时,不履行后快速任务处理功能。相比而言,当标记变量为真时,此时在模块374,后快速任务处理器模块370用新瞬时切换频率(fSW_new)更新切换频率(fSW)参数。对于直接访问切换频率(fSW)参数的一些计算,该值应该反映用于当前PWM循环的PWM周期。

在一些实施例中,在可选的模块376,后快速任务处理器模块370用已经存储在临时变量中的PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss)更新存储在缓冲器334中的PWM电压提前元素。

后快速任务处理器模块370此时在框378将标记变量设置为假,并且此后转换第二指数(指数2)以改变指示器,使得其指向缓冲器336中的更新过的页336-X,该页包括根据新切换频率(fSW_new)计算的当前参数值。以这种方式,需要使用当前的/现存的PWM循环的周期的功能可选择存储在双缓冲器336的页336-X处的元素,使得对应当前的/现存的PWM周期的参数值被用在任何相关的控制计算内。这种功能的一些示例可以是低通滤波器、电流调节器增益、电流预测器等。

在完成了全部快速任务处理功能之后,后快速任务处理器模块370此时等待直到到了要履行或执行下一快速任务处理迭代的时间,此时,快速任务处理器模块340循环回到前快速任务处理器模块350。

现在将参照图4、5和6A-6C描述软件架构300的操作细节。

图4是说明根据所公开的实施例中一些的慢速任务处理400的流程图。慢速任务处理功能被以相对慢速或频率履行或执行。

慢速任务处理开始于410,并且在420,慢速任务处理器模块310计算平均切换频率(fSW_avg)。逆变器的平均切换频率(fSW_avg)不会非常快速地变化并且可因此在慢速任务处理循环中在图4的420处被计算。平均切换频率(fSW_avg)可根据若干参数和当前操作条件来计算,这些参数和当前操作条件可依赖实施方式而变化,例如马达速度、载荷扭矩、逆变器温度等。

在430,慢速任务处理器模块310计算颤振跨度频率(fspan),这对应所允许的频率变化量。颤振跨度频率(fspan)可例如根据马达速度和/或其它操作条件来计算。

在440,可履行或计算其它慢速功能。其它慢速功能可包括例如温度测量、缓慢变化信号的滤波,等。

在全部慢速功能都在440被履行后,慢速任务处理400前进到450,在那里慢速任务处理器模块310等待安排的慢速任务处理的下一迭代。

图5是说明根据所公开的实施例中一些的中等速度任务处理500的流程图。中等速度任务处理功能被以中等速度或频率履行或执行。

中等速度任务处理500开始于510,并且在520,中等速度任务处理器模块320的计算模块322使用任何已知方法计算伪随机数(Krand)。在530被计算的伪随机数(Krand)被缩放或标准化以落在-0.5到+0.5的范围内。

为了让颤振有效果,瞬时切换频率(fSW_new)应该以相对快速更新。因此,在图5的530,计算模块322在中等速度任务处理500期间以中等速度计算瞬时切换频率(fSW_new)。因此,在一个实施例中,颤振速率(frate)与中等速度任务处理500的速度相同。在一个实施例中,中等速度任务处理器模块320根据上述的方程(1)使用在慢速任务处理400的420计算的平均切换频率(fSW_avg)、在慢速任务处理400的430计算的颤振跨度频率(fspan),和在中等速度任务处理500的520计算的伪随机数(Krand)在图5的530计算新瞬时切换频率(fSW_new)。

参数再初始化

用在马达控制计算中的一些类型的参数是切换频率(fSW)或采样速率(即,快速任务处理周期)的函数。如果切换频率(fSW)在操作期间动态变化,那么这些参数需要在逆变器切换频率(fSW)变化时被更新以反映实际切换频率(fSW)。例如,中等速度任务处理可被快速任务处理600中断多次,因为快速任务处理600的频率通常比中等速度任务处理500高得多(按照定义)。因此,可能快速任务处理600会在中等速度任务处理500期间在参数再初始化计算中间中断中等速度任务处理500。因此,可能的是,在快速任务处理600期间使用的依赖时间的参数中没有一个、有一些、或全部都没有用代表实际切换频率(fSW)的正确值更新。未能更新这些类型的参数以反映实际切换频率(fSW)将导致不正确的控制。

因此,在中等速度任务处理500的540,中等速度任务处理器模块320使用在530计算的新瞬时切换频率(fSW_new)再初始化快速任务处理的全部依赖时间的参数值。全部的再初始化可就在设置标记变量(在560)以变化到新切换频率(fSW)之前在中等速度任务处理500连续地被履行(在540)(与再初始化在分散在中等速度任务处理500的计算中的不同时间被履行不同)。在540连续地履行全部再初始化可有助于减少在快速任务处理600使用的依赖时间的参数没有用代表时间切换频率(fSW)的正确值更新的机会。虽然在540连续地履行全部再初始化不会彻底地消除参数值和实际切换频率(fSW)之间的一些不匹配的可能性,但是它缺失很大程度上减轻了这个问题。对切换频率(fSW)中的误差不是十分敏感的参数可在一个步骤中被再初始化并且以这种简单方式被处理。

相比而言,对于对切换频率(fSW)中的误差更加敏感的一些依赖时间的参数而言,它们在上面被称为关键的或敏感的参数,可使用可选的双缓冲器334/336,如上所述,来帮助确保参数值与实际切换频率(fSW)的正确一致。

在550,中等速度任务处理器模块320计算PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss),其可被存储在临时变量中,如下面参照图6B和6C描述的。

逆变器操作的实际频率被设置为快速任务处理600的速度。为了实现此目的(在新瞬时切换频率(fSW_new)已经被计算后(在530)),在中等速度任务处理的560,中等速度任务处理器模块320设置标记变量为真。设置标记变量为真信号通知快速任务处理600以指示新切换频率(fSW_new)(在530处计算)以准备好在快速任务处理600期间被使用/实施。如下面将参照图6A所描述的,当快速任务处理600在612确定了标记变量被设置为真时,其可转换第一和第二指数(指数1和指数2)以将相应的指示器改变到双缓冲器334、336,在图6的614或640,在图6的616改变实际切换频率(fSW),并且在620继续其正常计算。

在570,中等速度任务处理器模块320履行任何其它的中等速度任务处理功能,例如,扭矩命令处理、电流命令产生、场减弱、系统模变,等。

在全部的中等速度任务处理功能都在580被完成时,中等速度任务处理器模块320等待要履行安排的下一迭代中等速度任务处理的信号。当中等速度任务处理器模块320接收到要履行中等速度任务处理的安排的下一迭代的信号时,其循环回到520。

图6A是示出了根据所公开的实施例中的一些的快速任务处理600的流程图。快速任务处理功能被以较快的速度或频率履行或执行。

快速任务处理始于605。在图6A中,框610图示了由快速任务处理器模块340履行的前快速任务处理功能,并且框630图示了由快速任务处理器模块340履行的后快速任务处理功能。

在612,快速任务处理器模块340检查标记变量的值。当标记变量为假时,不存在进一步的前快速任务处理功能,并且快速任务处理器模块340可直接前进到620。

相比而言,当标记变量为真时,此时在614,快速任务处理器模块340如上所述地转换第一指数(指数1)以改变指向第一双缓冲器334的指示器。在614处的使用第一指数(指数1)的转换引起指示器指向第一双缓冲器334的最近被更新的页,这个页包括了要在需要使用在530计算的下一即将到来的瞬时切换频率(fSW_new)的控制计算中被使用的未来参数值。

为了进一步解释,一些控制计算或功能,例如死区时间补偿或占空比夹紧,需要使用用于下一个或即将到来的PWM周期的未来参数值来执行它们的快速任务处理600,该PWM周期将在下一个采样周期被应用。这些参数值被存储在第一双缓冲器334中。如此,用于这些参数值的指数1在执行消费这些参数值的计算之前在前快速任务处理600的614被转换。因此,第一指数(指数1)在前快速任务处理610中被转换以选择存储在第一双缓冲器334中的要在需要使用下一个/即将到来的PWM周期的控制计算中被使用的未来参数值。

在616,快速任务处理器模块340产生实际频率改变命令来改变操作频率(fSW)。在一些实施方式中,这个频率改变命令直到随后的PWM周期才生效。

在完成前快速任务处理的处理之后,快速任务处理器模块340前进到620,在那里快速任务处理器模块340履行其它的快速任务处理功能。这些通常与向量控制相关联。例如Clarke/Park变换、同步系电流调节、逆变换、PWM占空比计算、诊断检查等的功能可在620被履行。这些被使用以建立用于下一PWM周期的参数。

框630图示了后快速任务处理功能。

在632,快速任务处理器模块340检查标记变量的值。当标记变量为假时,不存在进一步的后快速任务处理功能,并且快速任务处理器模块340可直接前进到650。

相比而言,当标记变量为真时,此时在634,快速任务处理器模块340用530计算的新瞬时切换频率(fSW_new)更新软件中的切换频率(fSW)参数。这是需要的,因为软件中的一些计算直接访问切换频率(fSW)参数。在这种情况下,该值应该反映用于当前PWM循环的PWM周期。

在636,快速任务处理器模块340用(存储在临时变量中的)PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss)更新存储在第一缓冲器334中的PWM电压提前元素。

在638,快速任务处理器模块340将标记变量设置为假,等待切换频率(fSW)的下一变化。

在640,快速任务处理器模块340如上所述地转换第二指数(指数2)以改变指向第二双缓冲器336的指示器,该双缓冲器包含了根据新切换频率(fSW_new)计算的当前参数值。以这种方式,需要使用当前的/现存的PWM循环的周期的功能可选择存储在第二双缓冲器336中的元素,使得对应当前的/现存的PWM周期的参数值被用在任何相关的控制计算内。这种功能的一些示例可以是低通滤波器、电流调节器增益、电流预测器等。

在完成了全部快速任务处理功能之后,快速任务处理器模块340前进到650,在那里其等待直到到了下一快速任务处理迭代的时间,此时,快速任务处理器模块340循环回到612。

PWM电压提前

本领域公知的是,PWM延迟应该被补偿以维持在高马达速度下的稳定电流控制。

在快速任务处理600期间在620计算的占空比命令直到随后的PWM周期才在逆变器中被实施。

图6B是说明用来计算具有周期(Ts)661的PWM电压信号的占空比的电流采样点的曲线。图6B展示了在离散时间控制系统中经历的PWM电压延迟时间的概念和PWM电压提前的概念。

平均输出电压可被认为是处于PWM周期的中点662。因此,从t0时的采样时刻664,在采样时刻664和实际电压命令在668被实施之间有大约1.5Ts延迟665。在该1.5Ts延迟665期间,马达会旋转过一定的角度。为了说明在该延迟时间665期间的这个角度旋转,在应用电压命令时的角度被调节了对应的PWM电压提前角度(ΔθPWM_Adv),该角度可由方程(2)计算:

PWM电压提前角度(ΔθPWM_Adv)是基于转子角速度(ωr)和PWM电压提前延迟时间(tPWM_Adv)的值的乘积计算的,其可具有多个不同的值,如下面所解释的。基本上,这解释了在采样时刻664和相关联的电压命令占空比(由下一PWM周期的中点近似)被实施时之间的时间差和旋转。这个补偿在履行同步系电压命令回到静止参照系的逆变换时被实施为角度调节,其中角度与速度乘以延迟时间665成正比。

在标准的AC马达驱动中,其中切换频率(fSW)缓慢变化,将PWM电压延迟计算为1.5Ts通常是足够的。

然而,当采样上面描述的颤振技术并且切换频率(fSW)以显著量快速改变时,必须使用更准确的方法以确保电流稳定性。

对于在初始切换周期(TSW_initial)和下一切换周期(TSW_next)之间的切换频率(fSW)过渡期间发生的切换频率(fSW)的阶跃变化,下面的方程(3)给出了补偿实施延迟所需的PWM电压提前。

PWM电压提前延迟时间(tPWM_Adv)是初始切换周期(TSW_initial)和下一切换周期(TSW_next)的函数,初始切换周期(TSW_initial)是在初始切换周期(TSW_initial)期间的切换频率的倒数,下一切换周期(TSW_next)是在下一切换周期(TSW_next)期间所用的切换频率的倒数。

因此,对于切换频率的任何阶跃变化,PWM电压提前必须经过如下的一连串三个状态:

● 在初始切换周期期间用初始切换周期(TSW_initial)计算的PWM电压提前延迟时间的初始稳态值(tPWM_Adv_inital_ss),

● 在过渡状态期间使用初始切换周期(TSW_initial)和下一切换周期(TSW_next)计算的PWM电压提前延迟时间的中间值(tPWM_Adv_intermediate),以及

● 仅使用下一切换周期(TSW_next)计算的PWM电压提前的最终稳态值(tPWM_Adv_final_ss)。

图6C图示了切换周期(TSW)中的阶跃变化和用来补偿在该阶跃变化期间的实施延迟的PWM电压提前的三个对应值的示例。在这个特定示例中,假设切换周期(TSW)从在初始切换周期(TSW_initial)681期间的100μs672改变到在下一切换周期(TSW_next)685期间的200μs676。

在初始切换周期(TSW_initial)681期间,PWM电压提前延迟时间的初始稳态值(tPWM_Adv_inital_ss)被计算为1.5和初始切换周期(TSW_initial)的乘积。如此,在这个示例中,PWM电压提前延迟时间的初始稳态值(tPWM_Adv_inital_ss)是150μs(即,100μs+?*100μs=1.5*100μs)。

在发生在切换频率(fSW)过渡的过渡状态683期间,PWM电压提前延迟时间的中间值(tPWM_Adv_intermediate)是使用初始切换周期(TSW_initial)681和下一切换周期(TSW_next)685计算的。在这个示例中,初始切换周期(TSW_initial)681是100μs672,而下一切换周期(TSW_next)685是200μs676,并且因此PWM电压提前延迟时间的中间值(tPWM_Adv_intermediate)被计算为200μs(100μs+?*200μs)。

PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss)仅使用下一切换周期(TSW_next)685计算。如上所述,在550,PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss)可存储在临时变量中(以在后快速任务处理600期间被检索)。在这个示例中,PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss)是300μs(即,200μs+?*200μs=1.5*200μs)。

因此,只要切换频率(fSW)改变,就必须有关于三个可能的PWM电压提前延迟时间值的信息。由于PWM电压提前延迟时间的这个三状态本质,前面描述的双缓冲器方法就不够用了。为了说明这个三状态行为,双缓冲器被采用,并且缓冲器内容每切换频率(fSW)过渡被更新两次。

在中等速度任务处理500期间,当中等速度任务处理器模块320的参数再初始化模块324在第一双缓冲器334中存储PWM电压提前延迟时间的中间值(tPWM_Adv_intermediate)时,第一更新发生。

在中等速度任务处理500的550,中等速度任务处理器模块320的PWM电压提前计算模块326计算PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss),并将其存储在临时变量中。使用正常双缓冲器过程,PWM电压提前延迟时间的中间值(tPWM_Adv_intermediate)一旦第一指数(指数1)在前快速任务处理610的614被转换就将由马达控制算法从第一双缓冲器334消费以将同步系电压命令变换回到静止系。

在后快速任务处理630期间,当快速任务处理器模块340的PWM电压提前更新模块376用存储在临时变量中的PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss)覆盖第一双缓冲器334的内容时,第二更新发生。

因此,PWM电压提前延迟时间的三个不同的值(即,PWM电压提前延迟时间的初始稳态值(tPWM_Adv_inital_ss),PWM电压提前延迟时间的中间值(tPWM_Adv_intermediate),和PWM电压提前延迟时间的最终稳态值(tPWM_Adv_final_ss))在单个切换频率(fSW)过渡中被使用。

图7A是示出了当马达使用现有技术的带颤振AC马达控制算法以相对高马达速度操作时的马达速度710-A、命令扭矩720-A、和相电流730-A的一组曲线。图7A说明了相电流730-A不稳定且振荡(即,展示了显著的振荡)。这是由于快速变化的逆变器频率没有在控制算法的软件实施中被正确地解释。

图7B是一组曲线,其示出了使用根据所公开实施例的带有颤振的AC马达控制以相当高马达速度运行的马达的马达速度710-B、命令扭矩720-B和相电流730-B。图7B和图7A的比较说明去往马达的相电流730-A展示了显著减小的振荡(例如,是不带可观察到的振荡的干净的正弦曲线),因此说明了所公开实施例的效力。

总结

因此,已经描述了各种实施例,其用于控制向量控制的马达驱动系统中的多相机器的操作。

根据所公开实施例中的一些,提供了方法、系统和装置,其用于在切换频率变化时对任何任务(task)0依赖时间的马达控制参数进行双缓冲,使得可获得每个参数的多个值。这种双缓冲在多个不同的潜在应用中具有新颖性。

根据所公开实施例中的一些,提供了方法、系统和装置,其用于在切换频率变化的任何时候,使用旧的/当前的、中间的、和未来的/最终的稳态值产生/计算PWM电压提前。换句话说,在切换频率变化的任何时候,在单个切换频率过渡期间使用PWM电压提前的三个不同的或三状态值。在一些实施方式中,这些实施例可实施在计算PWM电压提前的方法中的双缓冲器工艺/技术中的一些。在另一实施例中,三缓冲器技术可被用来计算PWM电压提前,而不使用颤振或双缓冲器技术。

根据所公开实施例中的一些,提供了方法、系统和装置,其用于颤振由PWM算法所使用的切换频率。三个不同的嵌套循环可被采用,它们以三个不同的速度执行。例如,平均切换频率(fSW_avg)和颤振跨度可以慢速(慢速任务处理速度)计算,而瞬时频率或颤振速率可以更快速度(中等速度任务处理速度)计算。在一个实施例中,平均切换频率(其随着相对缓慢变化的系统参数例如速度、扭矩、温度而变化)以慢速计算,随机数、颤振值、和新切换频率可以中等速度计算,而实际操作频率以快速被更新。在一个实施方式中,所公开的颤振技术可被用在电动马达驱动中的控制器的背景中以随机化由HEV产生的恒定声调的噪声。

在一个实施例中,双缓冲器可与颤振联合使用。例如,双缓冲器可被用来存储任务(task)0依赖时间的参数,并可以中等速度被更新。指数可被用来在哪个缓冲器页(或双缓冲器)正在被实际控制所用和哪个正在被更新之间转换。标记可在全部计算被完成且参数值已被更新时被设置,这个标记被用作握手信号以让快速任务处理器知道缓冲器已经被更新并且其可改变实际切换频率。在一些实施例中,前任务(task)0和后任务(task)0功能被用来转换指数,更新PWM电压提前后任务(task)0,并设置切换频率。对于任务(task)0依赖时间的参数,它们没有通过双缓冲器被处理,任务(task)1参数再初始化功能可被聚集在一起,使得它们在一个步骤中被履行以最小化在这些计算期间发生的中断的机会。在一些实施方式中,两组双缓冲器可被使用,这取决于所感兴趣的参数是否需要在其计算中使用当前或未来任务(task)0的周期信息。

本领域技术人员还将意识到结合本文中公开的实施例被描述的各种说明性逻辑块、模块、电路、和算法步骤可被实施为电子硬件、计算机软件、或它们两者的组合。上面在功能和/或逻辑块部件(或模块)和各种处理步骤方面描述了实施例和实施方式中的一些。但是,应该意识到这些块部件(或模块)可以任何数量的构造成执行具体说明的功能的硬件、软件和/或固件部件实现。

为了清楚地说明硬件和软件的这种可互换性,上面基本上都是在功能方面对各种说明性部件、块、模块、电路和步骤进行描述。这种功能是否被实施为硬件或软件取决于加在整体系统上的特定的应用和设计约束。本领域技术人员可针对每个特定应用以各种方式实施所描述的功能,但是这种实施决定不应该被解释为导致脱离本发明的范围。例如,系统或部件的一个实施例可采用各种集成电路部件,例如内存元件、数字信号处理元件、逻辑元件、查询表等,这可在一个或多个微处理器或其它控制设备的控制下执行多种功能。另外,本领域技术人员将意识到这里描述的实施例仅仅是示例性的实施方式。

结合本文公开的实施例描述的各种说明性逻辑块、模块、电路可利用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程的逻辑设备、分离的门或晶体管逻辑、分离的硬件部件、或它们的设计成执行本文描述的功能的任意组合来实施或执行。通用处理器可以是微处理器,但是作为另一选择,该处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器也可被实施为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、与DSP芯联合的一个或多个微处理器、或者任何其它的此类构造。

结合本文公开的实施例描述的方法或算法的步骤可被直接具体化在硬件、有处理器执行的软件模块或这两者的组合中。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被联接到处理器,使得该处理器可从该存储介质读取信息并将信息写入该存储介质。替代地,存储介质可集成到该处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。替代地,处理器和存储介质可作为离散部件驻留在用户终端中。

在本文中,关系术语例如第一和第二等可被单独使用以区分一个实体或动作与另一个实体或动作,而不一定要求或暗示在这些实体或动作之间有任何实际的这种关系或顺序。数字序数例如“第一”、“第二”、“第三”等仅指示多个中的不同的单个而不暗示任何的顺序或次序,除非由权利要求语言明确定义。任何权利要求的文字中的次序都不暗示必须根据这种次序以暂时的或逻辑的顺序执行过程步骤,除非在权利要求的语言中另有明确限定。过程步骤可以任意顺序互换而不脱离本发明的范围,只要这种互换不与权利要求的语言矛盾并且不是逻辑上无意义的。

而且,取决于上下文,用于描述不同元件之间关系的词语例如“连接”或“联接到”不暗示在这些元件之间必须进行直接物理连接。例如,两个元件可物理地、电子地、逻辑地或以任何其它方式,通过一个或多个额外的元件彼此连接。

虽然已经在前面的具体描述中给出了至少一个示例性实施例,但应当意识到存在大量的变型。还应意识到,一个或多个示例性实施例仅为示例,并且决不是用来限制本公开的范围、应用性、或构造。更确切地说,前面的具体描述将给本领域技术人员提供用于实施一个或多个示例性实施例的方便的路线图。应该理解的是,可在元件的功能和布置方式方面进行各种改变,而不脱离在所附权利要求及其法律等同方式中公开的本公开的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号