为永磁同步电机设计多速率控制器
本示例展示了如何为 Texas Instruments™ F28335 嵌入式目标创建实时可执行文件。您将在示例 永磁同步电机的磁场定向控制 (Embedded Coder) 中指定的算法基础上,添加时序和外设规范。您将学习一种高级技术,根据 ADC 的周期性转换结束事件来调度算法。
所需硬件:
Spectrum Digital® F28335 eZdsp 板
数字电机控制器板:Spectrum Digital DM550
带正交编码器的三相永磁同步电机
注意:使电源和放大器的特性与所选电机的输入特性相匹配。
简介
目标是为 Spectrum Digital F28335 eZdsp 创建一个实时可执行程序,并使用 ADC 转换结束中断来调度控制器执行。该目标是通过一种先进的技术实现的,其中控制器和外设通过周期性的 ADC 转换结束中断进行调度。
本示例基于示例 永磁同步电机的磁场定向控制 (Embedded Coder) 中指定的控制器算法。参考该示例,了解控制器算法在永磁同步电机模型的系统仿真中如何运行。
配置 TI F28335 处理器的控制器模型

为了便于在设计的仿真和代码生成阶段之间进行过渡,控制器算法在其自身的 c28335_pmsmfoc 模型中进行了指定。控制器算法在示例 永磁同步电机的磁场定向控制 (Embedded Coder) 中介绍。在本例中,控制器模型配置为 TI F28335 目标硬件。将自动为控制器模型生成一个允许增量构建的归档库。
使用 ADC 转换结束中断的调度控制器

在本节中,使用配置为 c28335_pmsmfoc 的 Model 模块调用控制器模型,该模型使用 c28335_pmsmfoc_adcinterrupt 模型。在 Controller_And_Peripherals 子系统中,ePWM1 模块配置为触发 ADC 转换,以便在 PWM 边沿转换期间不进行采样(从而最大限度地减少采样信号上的噪声)。控制器采用 ADC 转换结束中断进行调度。这样可以实现 ADC 转换和 PWM 占空比新值之间最短、最确定的延迟。
默认情况下,为 TI F28335 等处理器设置的模型将使用硬件定时器来调度模型中存在的所有同步速率。如果我们保持这种默认行为,控制器算法将与 ADC 不同步,这可能会在控制器算法和 ADC 转换之间引入延迟或漂移。在 c28335_pmsmfoc_adcinterrupt 模型配置参数中,在硬件实现 > 调度器选项下,为调度器中断源选择了 ADCINT1。此选项将默认调度器中断源设置为 CPU 定时器 0 中断,替换为来自 ADC 模块 1 (ADCINT1) 的 ADC 中断。在 ADC 模块上,ADC 模块 1 启用了转换结束中断。由于 ADC 转换由运行频率为 25kHz 的 PWM 模块启动,并且该模型的基本速率(基本采样时间)设置为 40us,因此可以安全地将调度器中断源替换为以 40us 周期性触发的 ADC 中断。当使用默认的 CPU 定时器 0 作为调度器中断源时,该工具会自动将 CPU 定时器 0 设置为符合模型的基本速率。当像本例中那样用 ADCINT1 替换调度器中断源时,用户有责任确保 ADCINT1 将以模型中使用的基本速率定期触发。
该模型展示了一种利用 ADC 转换结束中断来调度多速率控制器算法的先进技术。该技术适用于此示例,因为我们已将模型配置为以与控制器算法中指定的采样时间相同的周期速率生成 ADC 转换结束中断。如果不能保证采样一致性,生成的代码的行为将与仿真的行为不同。
结论
本示例展示了如何使用基于 ADC 转换结束中断触发控制器算法的高级调度技术,为 Texas Instruments F28335 嵌入式目标创建实时可执行程序。在这种技术中,硬件被配置成以与控制器中指定的最快速率相同的速率产生周期性中断。