循序渐进:进行电机多轴速度和位置控制
扫描二维码
随时随地手机看文章
我们是否想知道如何设计实时速度和位置控制应用程序?在这篇文章中,我们将逐步展示如何使用 TI C2000™ Piccolo™ F2806x InstaSPIN-MOTION™在台式测试设备(图 1)上实现最佳双轴速度和位置控制LaunchPad开发套件。
图 1. 15"x15" 台式测试设备
不到 20 小时,测试设备就画出了正方形、三角形和圆形。
项目时间表 |
|
周一 2小时 |
收到CNC测试设备表 |
周二 4个小时 |
将伺服电机连接到 X 和 Y 平台 使用 InstaSPIN-MOTION 软件: · 识别惯性 · 调整速度和位置环, · 优化加速度和加加速度 |
周三 6个小时 |
创建方形运动配置文件 |
周四 6个小时 |
· 创建三角形运动配置文件 · 创建圆形运动配置文件 |
图 2. 台式测试设备创建运动曲线的时间表
第 1 步 - 将伺服电机连接到 X 和 Y 平台
如果我们正在开发多轴应用程序,则需要设计自己的电路板。我们使用两个 TI InstaSPIN-MOTION LaunchPad 开发套件迈出了第一步。LaunchPad 包括与两个 BoosterPack 接口的硬件,每个 BoosterPack 都可以控制一个电机,但这样做的软件框架仍在最终确定中,并将在未来版本的MotorWare ™ 软件中发布。
材料清单:
· 2 个 C2000 Piccolo F2806x InstaSPIN-MOTION LaunchPad 开发套件 ( LAUNCHXL-F28069M )
· 2 个 DRV8301 电机驱动 BoosterPack ( BOOSTXL-DRV8301 )
· 2 带编码器的低压伺服电机 ( LVSERVOMTR )
· MotorWare软件
我们使用 InstaSPIN-MOTION Position Plan Component 来创建和执行 X 轴和 Y 轴的状态转换。使用两个 LaunchPad 开发套件时,位置计划通过 GPIO 进行通信,这会引入少量延迟。当我们设计自己的电路板时,我们仍将运行两个 Plan 组件,但它们将通过变量而不是通过 GPIO 进行通信,这将产生更精确的开始。此外,我们将能够通过单个 TI C2000 Piccolo TMS320F28069M 微控制器控制两个轴,这可以节省大量成本。
第 2 步 - 确定每个轴的系统惯量
惯性包括刚性耦合到电机轴的任何东西。它包括任何直接随电机移动的东西。对于 CNC 测试设备,X 轴与 Y 轴具有不同且独立的惯性。
我们使用 InstaSPIN-MOTION 速度识别组件来识别惯性。我们设置每个阶段,使其具有整个正向运动范围,因为惯性识别始终使电机沿正向旋转。然后我们使用了 InstaSPIN-MOTION MotorWare Lab 12a 软件,该软件识别了惯性和摩擦。惯性值是 InstaSPIN-MOTION 位置控制器的输入,它使用它来提供适当的扭矩以使应用程序移动。
这是 X 轴惯性识别过程的快速视频。它移动得很快,所以请仔细观察!
第 3 步 – 调整控制器
使用称为带宽的单一增益同时调整速度和位置。每个轴都是独立调整的。调整过程简单明了。使用 MotorWare Lab 13a 软件,我们调整了带宽,注入了干扰并评估了位置保持。重复此过程,直到系统受到干扰时轴在 0 速度下表现出良好的保持位置。我们将初始带宽设置为 10 rad/s,然后手动注入干扰。在此设置下,手臂很容易移动。随着我们增加带宽,移动轴变得更加困难。在 40 rad/s 时,测试设备工作台的 X 轴很好地保持了该位置。
这是调整过程的视频。
第 4 步 – 优化加速和加加速度
然后我们着手优化加速度和加加速度(加加速度是加速度的变化率)。梯形曲线用于优化加速度,因为该曲线忽略了加加速度。当加速度缓慢增加时,每个轴都被命令来回移动。最佳加速发生在电机未能达到指令值之前。
一旦我们找到最佳加速度,我们就使用具有连续加加速度的 st 曲线优化加加速度。调整了加加速度,使测试设备能够以非常高的可靠性平稳启动和停止。
第 5 步 – 创建方形运动曲线
让测试设备画一个正方形很容易——一次只移动一个轴。为每个轴创建了一个位置计划。在我们的配置中,X 轴是主轴。X 轴平面图发出 Y 轴开始移动的信号。Y 轴计划在其移动完成时发出 X 信号。
|
X轴位置计划: 1. 信号 GO 到 Y 2. 过渡状态 3. 等待 Y 完成 4. 信号 GO 到 Y
|
Y轴位置图: 1. 等待来自 X 的 GO 2. 过渡状态 3. 向 X 发出信号 DONE 4. 等待来自 X 的 GO
|
图 3. 创建方形运动曲线
第 6 步 – 创建三角运动曲线
画一个三角形更难。必须协调 X 轴和 Y 轴才能绘制倾斜的侧面。需要进行一些计算来生成每个轴的运动计划,使用以下公式:
Vel = d位置步长/t
Vel = 速度
d = 距离
t = 时间
每个轴都需要同时完成移动,因此:
t x =t y
行进距离 (d position_step ) 是已知的。通过固定 X 轴的速度,这给了我们一个已知的时间 (t x ),并且我们能够从那里计算 Y 轴的速度 (Vel y )。
图 4. 创建三角运动曲线
第 7 步 – 创建圆周运动曲线
圆周运动轮廓是三种形状中最复杂的。我们在这个上作弊了一点。实际形状是一个 32 边的多边形。它近似于一个圆,但计算量较小。我们使用 Matlab 来计算 X 和 Y 轴的位置。从那里开始,我们使用与三角形运动曲线相同的程序来确保每个 X 和 Y 运动同时结束。
图 5. 创建圆周运动曲线
观看已完成项目的视频。