DIY编程器网
标题:
基于运动控制卡的机械手控制系统设计
[打印本页]
作者:
admin
时间:
2015-5-1 19:05
标题:
基于运动控制卡的机械手控制系统设计
如今中国多数的机器人控制可靠、简单,但缺点也很明显,只能完成固定的作业任务和对象,导致其难以满足现代制造业生产任务的迅速变化。因此我们需要使用结构较为开放式的控制器。本文介绍了一种基于运动控制卡的机械手控制系统的设计。
1
系统描述
控制系统中上层软件平台将由
PC
机来构建,下层软件编写和开发则由控制器来完成。在硬件上主要由以下几部分组成
:
运动控制卡,工控机(或通用
PC
),机械手和传感器,伺服驱动器和电机。组成一个全闭环系统,工作原理如图
1
所示。
170117457j345731x1doyg.jpg
(32.74 KB, 下载次数: 38)
下载附件
保存到相册
基于运动控制卡的机械手控制系统设计
2015-5-1 19:05 上传
图
1
机械手原理示意图
运动控制卡内嵌到
PC
机的
PCI
插槽中,形成上位机和下位机的关系。通过
PC
机来完成运动学计算、轨迹插补、人机交互界面的管理和控制系统的实时监控,如显示系统状态、发送控制指令、输入控制参数、监控外部信号等。运动控制卡则完成运动控制的细节部分,如输出方向信号和脉冲信号、检测原点和限位开关信号等,位置控制和速度控制就此完成。运动控制卡将指令脉冲发送到伺服驱动器,从而控制电机的运转,编码器则发送反馈信号来调整电机运转。
2
运动控制卡的程序编写
开放式结构的运动控制卡功能多样,使用简单,可靠性也很高。其软件上提供的运动控制函数库非常全面,满足了各种要求。运动控制函数库由系统初始化函数、时间控制函数、运动控制函数和数字量输入输出函数四部分组成。系统初始化函数由系统配置函数和硬件初始化函数组成;运动控制函数由回程函数、运动输入
/
输出函数、空间运动函数及运动状态函数等组成。另外还有中断处理、间隙补偿、运动中变速、编码器反馈等辅助函数。
3
初始化
在初始化软件系统后,也要分别初始化运动控制卡的每个轴和卡,代码
:
rtn = GT_Open();
。
rror(rtn);
rtn = GT_Reset();
。
rror(rtn);
for(i =1;i
<
5;i + + )
{
rtn = GT_Axis(i);
rtn = GT_ClrSts();
rtn = GT_CtrlMode(0);
rtn = GT_OpenLp();
rtn = GT_AxisOn();
GT_Update();
}
控制闭环时,可用数字伺服滤波器输出信号控制,它包含
PID
滤波器。在调节各个参数后,它能精确而稳定地控制大部分系统。
Kd
、
Ki
、
Kp
、
Kaff
、
Kvff
是系统中的主要参数。它很大程度上影响了系统的性能,合理的值需要进行多次调试才能确定。相关函数
:GT_SetKd();
GT_SetKi();
GT_SetKp();
GT_SetKaff();
GT_SetKvff()
.
这部分参数设置保存在初始化文件中,能够在系统参数设置面板里面完成。
4
多轴联动
运动控制卡可以实现直线插补和圆弧插补两种多轴联动。
其运动轨迹一般采用坐标系,用以下代码映射
:
double cnt1
[
5
]
= {1000
,
0
,
0
,
0
,
0};
double cnt2
[
5
]
= {0
,
1000
,
0
,
0
,
0};
double cnt3
[
5
]
= {0
,
0
,
1000
,
0
,
0};
double cnt4
[
5
]
= {0
,
0
,
0
,
1000
,
0};
GT_MapAxis(1
,
cnt1);
GT_MapAxis(2
,
cnt2);
GT_MapAxis(3
,
cnt3);
GT_MapAxis(4
,
cnt4);
为避免出现某轴突然转动的情况,以上映射应当满足独立不相关的条件。映射后即可调用相关函数完成插补动作。
参考文献:
[1]
固高科技
(
深圳
)
有限公司
.GTS
系列运动控制器编程手册[
Z
]
.2011
[2]
周光学
.
基于运动控制器的开放式数控系统研究及软件设计[
D
]
.
秦皇岛
:
燕山大学
,2005
[3]
龚运新
,
杨劲松
.
工业
PC
机实用技术
[M].
北京师范大学出版社
,
作者:
李小路
时间:
2020-10-1 22:12
谢谢分享!
欢迎光临 DIY编程器网 (http://diybcq.com/)
Powered by Discuz! X3.2