Kpm节奏控制算法的快速原型:步进电机
此示例演示如何在快速原型设计控制算法中使用实时机器KPM RHYTHM。 控制对象是由双肩双MOSFET驱动器控制的低功耗步进电机,控制信号通过KPM RHYTHM GP-LC-45数字输入/输出模块接收和传输。
导言
[快速原型设计][1]实时控制算法(Rapid control prototyping,RCP)是一种建模方法,可让您在设计过程中快速评估控制系统的运行情况。 这种方法允许在真实环境中开发控制算法时进行快速迭代,而无需程序员的专业技能。
控制对象模型以及控制系统模型的运行原理在[双极步进电机的全步控制][1]的例子中有详细的描述。
[1]:https://engee.com/community/ru/catalogs/projects/polnoshagovoe-upravleniia-shagovym-dvigatelem
在Engee中建模后开发控制系统的下一步是[快速原型]阶段[1]。 通过将仿真环境切换到实时机器,可以在Engee中无缝实现。 要成功设置并开始使用KPM RHYTHM,使用示例[快速启动KPM RHYTHM][2]会很方便
[1]:https://engee.com/helpcenter/stable/ru/ritm/intro.html#общая-информация
[2]:https://engee.com/helpcenter/stable/ru/interactive-scripts/realtime/ritm_quick_start.html
在实时机器上成功完成控制系统的快速原型设计和调试后,就可以将控制系统全面转移到嵌入式系统。 Engee允许您自动生成c代码,用于在嵌入式系统的自定义项目中嵌入管理系统模型。 示例[stm32的代码生成][1]专门用于此过程,它继续当前示例。
[1]:https://engee.com/helpcenter/stable/ru/interactive-scripts/codegen/stm32_stepper_motor_fullstep.html
示例模型
原始示例的模型在此阶段分为两部分。:
- 控制系统(子系统)原型
Control System) - 控制对象的模型(来自子系统的电路
Gate Driver在信号之前Speed和Position发动机出口处)
原型控制系统的输入效果是启动步进电机旋转的"启动"信号。 控制系统从通用外设模块[GP-LC-45][1]KPM节律的数字输入端接收此信号。
[1]:https://engee.com/helpcenter/stable/ru/ritm-blocks-explanation/gp-lc-45-pin-assignments.html
控制系统模型的输出效果-驱动器激活信号以及驱动器按键控制信号被传输到同一外围模块的数字输出。
此外,来自控制系统模型的输出信号被传送到控制对象模型。 为此,外围模块的数字输出连接到其数字输入。 它们反过来将接收到的信号输入到控制对象的模型中。
模型运行的结果-步进电机轴的转速和旋转角度的记录信号被传输到块[C函数][1] RITM-PLOT,在实时机器上执行模型期间,将图形输出到应用程序 RITM Monitor.
[1]:https://engee.com/helpcenter/stable/ru/base-lib-user-defined-function/c-function.html
模型中的KPM节奏外围
用于使用通用外设模块 GP-LC-45 和它的数字输入和输出特别是,该模型使用从部分相应的块 РИТМ Engee块库,带设置
*[GP-LC-4X DI][1]:模块1,6通道
*[GP-LC-4X DO][2]:模块1,5通道
[1]:https://engee.com/helpcenter/stable/ru/ritmex-gp-lc-45/gp-lc-4x-di.html
[2]:https://engee.com/helpcenter/stable/ru/ritmex-gp-lc-45/gp-lc-4x-do.html
因此,在模块 GP-LC-45 涉及数字输入 DI1-DI6 和数字输出 DO1-DO5
块计算步骤对应于模型计算步骤(100微秒)。
街区 RITM-PLOT 如上所述,显示信号的曲线图:1块是轴旋转速度的曲线图,2块是轴旋转速度和旋转角度的曲线图。 块计算步骤较长,耗时10ms。
连接管理对象
模块 GP-LC-45 连接到37针端子模块 GP-RT-Terminal-37 v1.0. 要断开本例中的电路,您需要使用终端模块的pinout-[引脚分配表][1]。
本例中使用的终端是:
- 01 -
DGND(数码地球) - 02 -
+3.3 V(3.3V电源) - 35 -
DI6(按钮触点发出"启动"信号) - 08 -
DO5(驱动模块激活信号) - 10, 29, 09, 28 -
DO1,DO2,DO3,DO4(驱动键控制信号) - 16 -
DI5(控制对象模型的驱动模块激活信号) - 18, 37, 19, 36 -
DI1,DI2,DI3,DI4(控制对象模型的驱动密钥管理信号)
终端模块和控制对象的元件的连接图如下所示。
在准备好模型和环境,以及断开所有电路和供电后,我们将继续在实时机器上执行模型。 这将允许我们在快速原型设计期间调试控制算法。
模型执行
让我们在["交互执行"]模式[1]下在KPM RHYTHM上运行模型。 我们将通过按下按钮接触产生"开始"信号。 Engee模型图表上发生以下信号变化:
[1]:https://engee.com/helpcenter/stable/ru/ritm/build-modes.html#режим-интерактивного-выполнения
在连接到实时机器的监视器屏幕上会观察到类似的图形。:
与此同时,用肉眼观察步进电机轴的旋转。:
结论
在这个例子中,我们使用了基于半自然节奏建模复杂的控制算法快速原型的方法。 控制系统和设备的初始模型是在Engee开发和调试的。 在当前阶段,我们将控制系统与实时机的外围模块连接起来,并以节奏并行模拟控制对象的操作。 原型控制系统再现相同的和预设的发动机控制效果. 接下来,您可以继续将控制系统转移到嵌入式系统。