MatlabSimulink 同步磁阻电机驱动器的快速控制原型,第一部分原理介绍
扫描二维码
随时随地手机看文章
原型制作步骤在满足电气驱动控制中对性能、安全性和灵活性日益严格的要求方面发挥了重要作用。特别是,由于许多部门提出的解决方案的创新性和复杂性不断增加,因此必须进行快速测试和实验验证,以缩短上市时间并确保适当的性能和效率 。
传统上,离线仿真验证了初步的控制设计,用分析模型代替了电机、转换器和传感器,从而可以对电气驱动器的动态性能进行快速的总体评估 。通常,这些模拟在 PC 上运行,通常需要几秒钟到几个小时,具体取决于模拟系统的准确程度 。除了为离线仿真提供开发环境外,一些软件工具还可以将控制模式转换为自定义目标代码并将其上传到硬件 。这种能力对于减少整个控制算法的实施时间和消除任何可能的手动编码错误至关重要。这些特性,再加上处理器技术的进步和成本的降低,
快速原型设计的许多方法目前处于控制软件被测 (SUT) 在最终目标上运行的阶段,但它仍然没有与实际工厂连接。这些分为两大类:硬件在环 (HIL),其中电力系统,工厂,在 I/O 测试板硬件上进行仿真,成本不可忽略,以及软件在环 (HIL)。 SIL),其中通过软件模拟工厂(例如,在 PC、微控制器、现场可编程门阵列 ( FPGA )、数字信号处理器 (DSP) 等中)。
本文提出的快速原型设计考虑了在最终目标中运行的控制 SUT 以及模拟工厂,由 Matlab/Simulink 嵌入式编码器支持包直接上传到硬件上。
这种方法允许使用单个硬件测试板来实现低成本解决方案,并且可以使用相同的控制算法快速自动地从 PC 上运行的离线 Simulink 仿真过渡到最终目标上运行的实时仿真代码。
该工作介绍了在 Matlab/Simulink 中进行快速控制原型设计的离线和实时仿真方法,并通过实验比较了结果。
进行的测试涉及实际驱动原型设计中的特定目标,例如传感器初始化和补偿、参数和功能的自调试以及调节器的调整。特别是,该研究涉及同步磁阻 (SynRel) 电机驱动,在这种情况下,电机非线性发挥相关作用,需要先进的电机建模和自定义控制策略 。特别是,文献没有报告 SynRel 电机驱动器中实时仿真的实验验证。
Matlab/Simulink 中的控制原型
控制原型设计的一个基本要求是模拟最终应用程序中实现的实时控制代码的可能性。这需要,第一,为目标微控制器提供具有代码生成能力的模拟环境,第二,可以使用该代码进行离线模拟。
面向德州仪器 (TI) C2000 系列等流行控制器的嵌入式编码器支持包的可用性使 Matlab/Simulink 成为电子驱动器快速原型设计的合适候选者。此类包允许对目标微控制器的硬件外设进行对话编程,将其 I/O 信号链接到控制程序,并最终在 Simulink 模型中为微控制器生成代码。此外,它们允许控制代码的中断驱动调度。
“硬件中断”块允许对基本上两个中断服务程序 (ISR) 进行时间调度(具有适当的优先级):实际的电机驱动控制程序(“控制算法 ISR”)和用于从主机用户接收数据的服务程序(“串行接收”)。另一个调度块“空闲任务”提供运行低优先级任务,例如发送给主机用户的调试数据(“串行发送”)。调度块响应微外设产生的事件激活中断例程。
Simulink 中提供了特定功能以支持仿真和代码生成功能,例如“variant source”模块,它允许在“sim”输入端口(仿真时)或“codegen”端口之间切换其输出(生成代码时)。类似地,中断模块有一个“sim”输入,允许它们在仿真阶段使用(具有相同的功能)。通过这些功能和类似功能,可以在仿真阶段对实际实时控制架构进行快速原型设计:显示了为此目的而安排的 Simulink 模型。调度块(“硬件中断”)激活中断例程以响应微外设上的模拟事件(通过“SimIRQ”输入)。同样,控制 ISR 的 I/O 信号与电子驱动器的仿真有关,
它指的是使用空间矢量脉冲宽度调制 (SV-PWM) 对交流电机进行磁场定向控制。控制 ISR 通过调制载波 ( UF_trig )的下溢信号与 PWM 逆变器 ( TPWM )的(固定)调制周期同步。该信号还通过微型的 ADC(模数转换)外设触发高动态控制输入(电流和直流总线电压)的测量。在磁场定向中,控制 ISR 的第一个动作是来自与传感器相关的微外围设备(编码器的正交编码器外围设备 (QEP))的转子位置测量,从中计算旋转速度。
控制 ISR 留出的空闲时间(在每个 PWM 周期内)用于完成微控制器与用户之间的低优先级数据交换任务,通常通过串行通信链路进行。
Simulink 模型中实现的控制 ISR 的分解图,用于代码生成和离线仿真。在“codegen”的情况下,测量反馈(电流和直流电压)和输出 PWM 命令接收和馈送目标控制器外设的软件驱动程序,这些驱动程序可作为 Embedded Coder 库中的 Simulink 块使用。在所示案例中,目标设备是 TI Delfino F28379S 微控制器,驱动程序块指的是其 ADC、QEP 和 PWM 单元。