基于运动控制芯片AFDX05的开放式五轴五联动数控系统的应用
关键字:
AFDX05 FPGA SOC 五轴五联动 G代码 运动控制器
摘要:
运动控制芯片AFD-X05是基FPGA实现的芯片,能够完成高速高精度的数控加工。其运动控制的稳定性和可靠性要比DSP系统或基于DSP技术的运动控制芯片如MCX314等要高一个等级。五轴五联动运动控制器支持大部分的G代码、M代码和宏指令,也具有可组配、模块化和开放式等特点。特别是它支持五轴直线插补,可以用计算机编写大型的五轴联动复杂软件,通过五轴五联动运动控制器控制数控机床完成加工,促进国产中高档数控系统软件水平的提高。本文介绍用它来快速开发一套五轴铣床数控系统。
一、引言
当前,各种运动控制卡的二次开发的比较复杂。目前国内比较多的工程师都熟悉数控系统的G代码,在ARM 32位单片机和国产运动控制芯片AFD-X05的基础上,研制成的可执行G代码的五轴联动运动控制器,使得二次开发变简单了。应用这种支持五轴直线插补的高速高精度的运动控制器,再开发各种专用的数控系统, 工程师们只需将精力放在大型的复杂的软件开发上面,完全不需要去了解硬件。
二、G代码五轴联动运动控制器的硬件系统
2.1 AFDX05运动控制芯片
云山数控研发的AFDX05运动控制芯片,支持任意2~5轴直线插补,任意2轴圆弧插补,多达6级的运动指令缓冲区,特别适合高速多线段或圆弧连续插补的运动控制,另外,还有反向间隙补偿,速度控制,加减速控制,位置控制,通用输入输出口,8/16 位数据总线,中断发生,硬件限位,软件限位,紧急停止,暂停,编码器信号输入等功能,驱动脉冲频率高达8MPPS、插补精度±5LSB。用于控制以脉冲序列方式输入的伺服电机、步进电机。
“中国芯”AFDX05,更加符合中国人的使用习惯。可以控制最多5轴的点位运动、连续轨迹运动、同步运动等应用。
2.2 ARM 32位单片机
CPU为 S3C44B0X。32M Flash。 脉冲方向差动输出驱动。60路光耦隔离输入42路集电极开路光耦隔离输出 或 36路光耦隔离输入20路集电极开路光耦隔离输出 。 5路步进/伺服电机脉冲光耦隔离输出,最高频率4MHz。32位逻辑位置和实际位置计数器。RS232通讯。硬件部分已模块化,无需任何硬件知识即可开发。
三、G代码五轴联动运动控制器的软件系统
3.1 支持的G代码
G代码 分组 功能
*G00 1 定位(快速移动)
*G01 1 直线插补(进给速度)
G02 1 顺时针圆弧插补
G03 1 逆时针圆弧插补
G04 0 暂停,精确停止
*G17 2 选择X平面
G18 2 选择Z平面
G19 2 选择Y平面
G27 0 返回并检查参考点
G28 0 返回参考点
G29 0 从参考点返回
G30 0 返回第二参考点
*G40 7 取消刀具半径补偿
G41 7 左侧刀具半径补偿
G42 7 右侧刀具半径补偿
G43 8 刀具长度补偿+
G44 8 刀具长度补偿-
*G49 8 取消刀具长度补偿
G52 0 设置局部坐标系
G53 0 选择机床坐标系
*G54 14 选用1号工件坐标系
G55 14 选用2号工件坐标系
G56 14 选用3号工件坐标系
G57 14 选用4号工件坐标系
G58 14 选用5号工件坐标系
G59 14 选用6号工件坐标系
G60 0 单一方向定位
*G64 15 切削方式
G65 0 宏程序调用
G66 12 模态宏程序调用
*G67 12 模态宏程序调用取消
*G90 3 绝对值指令方式
*G91 3 增量值指令方式
G92 0 工件零点设定
*G98 10 固定循环返回初始点
G99 10 固定循环返回R点
3.2 支持的M代码
M代码 功能
M00 程序停止
M01 条件程序停止
M02 程序结束
M03 主轴正转
M04 主轴反转
M05 主轴停止
M06 刀具交换
M08 冷却开
M09 冷却关
M18 主轴定向解除
M19 主轴定向
M30 程序结束并返回程序头
M50 备用输出1开
M51 备用输出1关
M52 备用输出2开
M53 备用输出2开
M54 备用输出3开
M55 备用输出3开
M56 备用输出4开
M57 备用输出4开
… …
M98 调用子程序
M99 子程序结束返回/重复执行
3.3 宏指令编程
变量号 变量类型 功能
#0 “空” 这个变量总是空的,不能赋值。
#1~#33 地方变量 地方变量只能在宏中使用,以保持操作的结果,关闭电
源时,地方变量被初始化成“空”。宏调用时,自变量分
配给地方变量。
#100~#149
#500~#531 公共变量 公共变量可在不同的宏程序间共享。关闭电源时变量
#100~#149被初始化成“空”,而变量#500~#531保持数
据。公共变量#150~#199和#532~#999可以选用,但是当
这些变量被使用时,纸带长度减少了8.5米。
#1000~ 系统变量 系统变量用于读写各种NC数据项,如当前位置、刀具补偿值
#2000~#2059 IO输入 60路光耦隔离输入信号
四、三轴铣床数控数控系统开发实例
4.1 参数初始化。
以下参数,五个轴,每个轴的都有。
参数名称 参数设置 参数单位
脉冲当量 P01=XXX.XXXXXX 毫米
G00指令速度 P02=XXXX 毫米/分钟
G01指令速度 P03=XXXX 毫米/分钟
G02指令速度 P04=XXXX 毫米/分钟
G03指令速度 P05=XXXX 毫米/分钟
起始速度 P06=XXXX 毫米/分钟
加速时间 P07=XXXX 毫秒
正向软限位 P08=XXXX 毫米
负向软限位 P09=XXXX 毫米
反向间隙补偿 P10=XXXX 毫米
回零速度 P11=XXXX 毫米/分钟
手动速度 P12=XXXX 毫米/分钟
最大进给速度 P13=XXXX 毫米/分钟
系统总刀数 P14=XX
M代码等待时间 P15=XXXX 毫秒
回参考点坐标 P16=XXX.XXXXXX 毫米
主轴编码器线数 P17=XXXX (/R)
归零方向 P18=X
换刀基准位 P19=XXX.XXXXXX 毫米
换刀安全高度 P20=XXX.XXXXXX 毫米
换刀间隔 P21=XXX.XXXXXX 毫米
换刀速度 P22=XXX.XXXXXX 毫米/分钟
最大行程 P23=XXX.XXXXXX 毫米
设置工件坐标系 P25=XXX.XXXXXX 毫米
4.2 发送G代码,控制机床工作。如:
G54
M03 X8
G0 G90 G17
G28
G00X-2.046Y59.111Z10.000
Z4.000
G01Z-1.000F300
G17
G02X1.245Y54.864I-54.422J-45.566K0.000F800
X2.203Y53.318I-15.407J-10.613K0.000
G00Z10.000
G91 G28 M09
五、小结。
基于该开放式五轴五联动数控系统平台做开发,只需要将G代码传送到这个平台,可以快速开发出一套基于国际标准G代码加工的专用数控系统。应用开发工程师在完全不需要了解硬件的情况下,集中精力做好特定的行业专用数控系统。降低数控系统的开发成本,促进数控机床的普及应用。