原型制作步骤在满足电气驱动控制中对性能、安全性和灵活性日益严格的要求方面发挥了重要作用。特别是,由于许多部门提出的解决方案的创新性和复杂性不断增加,因此必须进行快速测试和实验验证,以缩短上市时间并确保适当的性能和效率 [1][2]。
传统上,离线仿真验证初步控制设计,用分析模型代替电机、转换器和
传感器,从而可以快速全面评估电气驱动器的动态性能 [3]。通常,这些模拟在 PC 上运行,通常需要几秒到几小时,具体取决于模拟系统的准确程度 [4]。除了为离线仿真提供开发环境外,一些软件工具还可以将控制模式转换为自定义目标代码并将其上传到硬件 [5]。此功能对于减少整个控制算法的实施时间和消除任何可能的手动编码错误至关重要。这些功能,加上处理器技术的进步和成本的降低,
许多快速原型制作方法都呈现出在终目标上运行控制软件被测 (SUT) 的阶段,但它仍未与实际设备连接,例如 [7][8]。这些被细分为两大类:硬件在环 (HIL),其中电力系统、设备在 I/O 测试板硬件上进行模拟,成本不可忽略,以及软件在环 ( SIL),其中工厂通过软件(例如,在 PC、微控制器、现场可编程门阵列 ( FPGA )、数字信号处理器 (DSP) 等中)进行模拟,[9][10]。
本文提出的快速原型设计考虑了在终目标中运行的控制 SUT 以及模拟工厂,由 Matlab/Simulink 嵌入式编码器支持包直接上传到硬件上,图 1。
原型设计方案:使用 Matlab/Simulink Embedded Coder Support Packages 从离线仿真(左)到实时仿真(右)
这种方法允许拥有一个用于低成本解决方案的硬件测试板,并且可以使用相同的控制算法快速自动地从在 PC 上运行的离线 Simulink 仿真转移到在终目标上运行的实时仿真代码。
这项工作提出了在 Matlab/Simulink 中用于快速控制原型制作的离线和实时仿真方法,并通过实验比较了结果。
所进行的测试参考了实际驱动器原型设计中的特定目标,例如传感器初始化和补偿、参数和功能的自调试以及调节器的调整。特别是,该研究涉及同步磁阻 (SynRel) 电机驱动,在这种情况下,电机非线性发挥相关作用,需要先进的电机建模和自定义控制策略 [11][12]。特别是,文献没有 SynRel 电机驱动器中实时仿真的实验验证。
在 Matlab/Simulink 中控制原型
控制原型设计的一个基本要求是模拟在终应用中实现的实时控制代码的可能性。这件事需要,1 ,为目标微控制器提供代码生成能力的仿真环境,2 ,可以使用该代码进行离线仿真。
适用于德州仪器 (TI) C2000 系列等流行控制器的嵌入式编码器支持包的可用性使 Matlab/Simulink 成为
电子驱动器快速原型设计的合适候选者。这些包允许对目标微控制器的硬件外设进行对话编程,将它们的 I/O 信号链接到控制程序,并终在 Simulink 模型中为微控制器生成代码。此外,它们允许控制代码的中断驱动调度。
电子驱动器的典型实时控制结构如图 2 所示,在 Simulink 模型中实现。
图 2:Simulink 中典型的基于中断的控制架构
图 2:Simulink 中典型的基于中断的控制架构
“硬件中断”块允许对基本上两个中断服务程序 (ISR) 进行时间调度(具有适当的优先级):实际的电机驱动控制程序(“控制算法 ISR”)和用于从主机用户接收数据的服务程序(“串行接收”)。另一个调度块,“空闲任务”,用于运行低优先级任务,例如发送给主机用户的调试数据(“串行发送”)。调度块激活中断例程以响应微外围设备生成的事件。
Simulink 中提供了特定功能以实现仿真和代码生成功能,例如“变体源”块,它允许在“sim”输入端口(仿真时)或“codegen”端口(生成代码时)。类似地,中断块有一个“模拟”输入,允许它们在模拟阶段使用(具有相同的功能)。通过这些和类似的功能,可以在仿真阶段快速构建实际实时控制架构的原型:图 3 显示了为此目的安排的 Simulink 模型。调度块(“硬件中断”)激活中断例程以响应微外围设备上的模拟事件(通过“SimIRQ”输入)。同样,控制 ISR 的 I/O 信号与电子驱动器的仿真有关,
图 3:Simulink 中离线仿真的控制架构
图 3:Simulink 中离线仿真的控制架构
控制代码的时序详见图 4。它指的是采用空间矢量脉宽调制 (SV-PWM) 的交流电机的磁场定向控制。控制 ISR 通过调制载波 ( UF_trig )的下溢信号与 PWM 反相器 ( TPWM )的(固定)调制周期同步。该信号还通过微控制器的 ADC(模数转换)外围设备触发高动态控制输入(电流和直流总线电压)的测量。在场定向中,控制 ISR 的个动作是从与传感器相关的微外设(编码器的正交编码器外设 (QEP))测量转子位置,从中计算转速。
控制 ISR 留下的空闲时间(在每个 PWM 周期内)用于完成微控制器和用户之间的低优先级数据交换任务,通常是通过串行通信链路。
在 Simulink 模型中实现的控制 ISR 的分解图如图 5 所示,安排了代码生成和离线仿真。在“代码生成”的情况下,测量反馈(电流和直流电压)和输出 PWM 命令接收并馈送目标控制器外设的软件驱动程序,这些驱动程序可作为 Embedded Coder 库中的 Simulink 块使用。在所示中,目标设备是 TI Delfino F28379S 微控制器,驱动程序块指的是它的 ADC、QEP 和 PWM 单元。
图 4:SV-PWM 电子驱动器的实时控制时序
图 4:SV-PWM 电子驱动器的实时控制时序
图 5:为 Simulink 中的离线仿真安排的控制 ISR
图 5:为 Simulink 中的离线仿真安排的控制 ISR
离线与实时仿真
在离线原型制作中,将受控电子驱动器(电机、转换器和传感器)的模型添加到图 3 中的方案中,并在 Simulink 中对生成的模型进行仿真。值得指出的是: 1 st , e-drive 模型放置在中断驱动控制 ISR 块之外,因此它将根据固定或可变步长求解器的设置作为时间连续系统进行计算模型; 第二,为了完全符合控制 ISR 的目标微相关实现,其外围设备(ADC、QEP、PWM 等)的特性,驱动 I/O 信号,也必须进行仿真,从信号开始属性。
图 6 显示了实现电子驱动器仿真的 Simulink 模型部分。还包括对目标微 I/O 外设的硬件特性进行建模的模块。电源转换器被建模为理想电压源
逆变器,提供两种操作模式:“理想
开关”或“理想平均”,具体取决于是否模拟 PWM 单元的操作。这种选择也与在实时仿真中使用相同模型的电子驱动器的可能性相关,并将在本节后面讨论。
在实时原型设计中,受控电子驱动模型嵌入实时控制代码中,并直接在微控制器硬件上计算。
图 6:为离线仿真安排的电驱动模型
图 6:为离线仿真安排的电驱动模型
可以使用与图 6 中相同的模型,但它必须放置在控制 ISR 块内。这种约束涉及 1 ,需要选择和实施非线性微分方程系统的求解器,至少用于电机模型计算;第二,为此求解器设置适当的时间步长。
对于项,本文选择了 4阶固定步长 Runge-Kutta 算法,该算法在计算时间和求解精度之间取得了很好的折衷 [2]。关于时间步长,主要选择是使用PWM周期本身,即在每个控制步长处集成微分模型。后者,尽管求解器的自定义实现允许构思更准确的解决方案。有了这个选择,看看图 6 中的方案,就不需要对微控制器的 PWM 单元进行仿真了。逆变器以其理想的“周期内平均值”行为进行模拟。
值得指出的是,在 Simulink 中可以为模型子系统使用自定义求解器算法。因此: 1 、嵌入求解器算法的同一电机模块可用于离线和实时仿真。因此,第二,离线和实时响应之间的直接比较可以评估集成时间步长的准确性。综上所述,为实时仿真安排的控制 ISR 子系统如图 7 所示,而顶层模型视图为图 2。主机-用户界面的实时通信设施仍然可以实时使用模拟。
SynRel 电机建模与控制方案
要建立实时仿真方法,需要考虑适用于目标处理器计算的受控电子驱动仿真模型。
这种模型的基本要求必须是低计算负担和高可靠性,同时保持足够的精度。在图 7 中概述的驱动组件中,必须主要关注电动机,其模型本质上是一组微分的、解析非线性方程。此外,当给定电机类型的电磁非线性不可忽略时,不能像 SynRel 电机那样使用众所周知的集总参数模型。
基于此推理,SynRel 电机已通过设置在转子固定dq参考中的等效两相模型进行仿真,输入电压的 Park 变换嵌套在 RK 求解器算法中以提高精度。此外,为了考虑 SynRel 的非线性和交叉耦合,使用了逆通量与电流图,由电机的有限元模型计算,
因此,SynRel 电磁模型的离散形式采用以下形式(符号列于本文末尾的命名部分):
通过 Matlab/Simulink 快速控制同步磁阻电机驱动原型
其中“ k ”表示求解器的时间步长,“ z ”表示 RK 算法中“ k ”被划分的通用迭代子步长。(1) 中的输入电压计算如下:
通过 Matlab/Simulink 快速控制同步磁阻电机驱动原型
而输出相电流由下式给出:
通过 Matlab/Simulink 快速控制同步磁阻电机驱动原型
这样的模型既可以用于实时仿真,也可以用于离线仿真。在种情况下,逆变器被建模为“PWM 周期中的理想平均值”,(7) 中的逆变器支路电压由下式给出:
通过 Matlab/Simulink 快速控制同步磁阻电机驱动原型
其中CMPR 123是驱动 3ph 逆变器分支命令d 123的比较寄存器的值, Period是 PWM 周期 ( T PWM ),两者均以微型 PWM 单元的计数表示(见图 4)。不同的是,在离线仿真中,考虑了 PWM 电压的时间波形;也就是说,考虑了“理想开关”逆变器,并且等式。(9) 被替换为:
通过 Matlab/Simulink 快速控制同步磁阻电机驱动原型
当然,在第二种情况下,求解器步长必须尽可能小,以符合目标微控制器上 PWM 计数器的分辨率。
在控制 ISR 中实施的 SynRel 控制方案如图 9 所示。其基本配置包括带扭矩命令输出的外部速度环、通过预先计算的查找表优化的每安培扭矩 (MTPA) 和内部d/q多变量 PI 调节器的电流回路。
通过 Matlab/Simulink 快速控制同步磁阻电机驱动原型
然而,为原型制作提供了不同的操作设施和测试模式,例如转子对准和编码器初始化、速度、扭矩或电流控制模式的估计程序;d/q轴上的阶跃电流响应;通量观察员等。
控制方案的大部分已在浮点运算中实现,利用了 32 位 TI Delfino F28379S微控制器的特性。软件可靠性、易用性和实施??灵活性是快速原型设计的基本要求。控制方案的每个功能块都被安排为具有适当设置和启用标志的参数库模块。此后,开发人员必须注意链接模块,以便它们的输入/输出变量与控制方案和操作模式的结构相匹配。
原型平台
用于实验验证所提出的 RCP 技术的原型平台如图 10 所示。SynRel 电机是为工业应用设计的原型,转子上有两个磁极对和四个磁通屏障。表 I 恢复了主电机数据。
通过 Matlab/Simulink 快速控制同步磁阻电机驱动原型
功率转换器是商用 IGBT 逆变器(2 个 CBI 模块),带有散热器、
光耦合驱动器、输出相电流和 DC-Link 电压传感器以及内部 NTC 模块温度。开发板包括集成到定制接口板中的 TI Delfino F28379S 微控制器:后者承载输入/输出控制和调试信号的调节电路。
PC 主机通过标准的 RS-232 串行端口与开发板通信。此链接实现了在独立 Simulink 模型中运行的自定义主机控制台的实时功能。用户面板(图 11)允许选择测试模式、发送设置点和参数,以及选择目标发送到主机 PC 的控制变量,以便使用 Simulink Scopes进行实时可视化。
本文中介绍的所有实验都是在 10 kHz PWM 频率、0.5 us 逆变器死区时间和 300 V 直流总线电压 (V dc ) 下实现的。
实验验证
下面说明了使用所提出的快速原型制作技术和相关实验测试的一些示例。
A. 初始化程序
此过程涉及补偿 ADC 测量中的偏移和转子的对准。一点是通过施加一个与参考相位“ a ”的磁轴对齐的静止 FMM 来完成的,随后将该位置作为编码器测量的零位。图 12 显示了使用实时仿真模拟的初始化瞬态,图 13 显示了实验验证。
初始转子位置固定在 60 电。度,对准电流为 0.3 pu。在更改为 0.05 pu(这是 MTPA 控制的电流)之前,该值保持足够长的时间以进行对齐。实验中的位置测量已经预先初始化,以便更好地理解其瞬态。即使对机械参数进行了近似估计,模拟也允许正确设置程序,即它的时间和对准电流的水平。
B.电流控制响应
分析了各种级别的d电流阶跃响应,以研究 SynRel 电机饱和特性的影响。图 14 显示了离线仿真、实时仿真和实验对应的结果。已在锁定转子下进行测试,其中q电流控制在零。还显示了d电压参考瞬变。PI 调节器的相同增益已用于模拟和实验中的不同阶跃响应。
正如文献中所报道的,电流响应斜率在增加时的增加是饱和的明显影响。它改变了阶跃响应的性质,从纯阻尼变为阻尼振荡。
通过在 Simulink 中选择固定步长等于 1 us 的 RK ode4 求解器进行离线仿真。
尽管对逆变器进行了理想建模,但与实验趋势有很好的对应关系。“理想平均”和“理想切换”建模之间没有发现显着差异。在配备英特尔酷睿 i7-7 代处理器的 PC 上,模拟速率为 335(计算时间/模拟时间)。
至于实时仿真,RK 算法是通过Simulink 中的S-function builder 构建的自定义程序。它在 TI Delfino F28379S(以 200 MHz 运行)上执行大约需要 20 微秒,而完整的控制 ISR 需要 84 微秒。请注意,RK 算法仅计算第 V 节中描述的 SynRel 电机模型。
与离线仿真相比,实时仿真中获得的电流阶跃响应呈现出更加振荡的趋势,这种趋势随着电流水平的增加而增加。等于 PWM 周期 (100 us) 的积分步长似乎太大,无法模拟被检查电机的瞬态,此时,由于差分电感随饱和而减少,电流的动态增加超过一定限度。电流下的振荡量可能会触发算法不稳定的情况。
通过查看图 15 中的比较结果可以确认这一推论,该图显示了在每个 PWM 周期内执行两次 RK 积分的情况,即固定步长为 50us:振荡趋势明显减小。
通过 Matlab/Simulink 快速控制同步磁阻电机驱动原型
显然,有必要将 PWM 周期增加到 120 us (8.33 kHz) 以允许计算整个控制 ISR,并相应地修改 PI 调节器的积分增益。
结论
本文介绍了在 Matlab/Simulink 中用于电子驱动器快速控制原型制作的离线和实时仿真的相同目标。这两种方法共享目标微控制器的相同控制算法,但它们运行在不同的平台(PC 或微型)上。验证测试是在带有 SynRel 电机的驱动器上进行的,迄今为止在文献中找不到。他们证实了离线模拟的有效性,假设设备的建模在快速瞬态期间也提供了非常接近实验结果的结果。实时仿真具有实时运行的巨大优势,可以达到相似的精度,但电机模型积分步长的选择对响应的精度有重大影响。当发生快速电流瞬变时,等于 PWM 周期的固定步长可能会引入寄生振荡。相反,拆分这样的步长值仍然会显着影响一代微控制器的计算时间。然而,实时模拟对于小市场生产来说是一个有吸引力的选择,同时仍然考虑到这些限制。