admin 管理员组文章数量: 887021
2024年1月24日发(作者:c高级教程讲解)
可执行G代码的三轴运动控制器的研制_运动伺服_工业自动化控制_247
可执行G代码的三轴运动控制器的研制_运动伺服_工业自
动化控制
1、引言
近年来,国外、国内多家公司先后推出了独立工作式运动控制器,这些控制器有显示屏、有按键、不需要PC机就可以工作;其核心芯片有各种形式,如:ARM、DSP以及FPGA和专用芯片,并配有函数库或其自己制定的指令集。客户使用函数库编写程序或使用专用的指令集编成,都比较麻烦。
国内进行自动化设备设计、维护的工程师,多数为机电类专业人员,他们对数控机床及数控指令十分熟悉。针对这一特点,作者在AVR单片机运动控制器上,以数控加工指令代码(G指令、M指令)为基础,充分利用G代码运动控制的优势,并增加了I/O控制指令、条件判断和循环控制指令,使独立式运动控制器的指令使用起来十分简单、方便。
2、AVR运动控制器硬件系统
为了设计出性价比高的硬件,选用了AVR单片机为硬件系统的核心芯片。AVR单片机是ATMEL公司在单片机市场竞争白热化的形式下,发挥其FLASH存储器技术特长,并吸取了PIC及8051单片机的优点,于1997年由A先生和V先生采用RISC结构,共同研发出AVR单片机。AVR单片机有以下主要优点[1]:
1(速度快:在相同时钟频率下比8051快12倍;AVR最大时钟频率为16MHz。
2(片内资源丰富:AVR ATmega128单片机上有128K Flash、4K EEPROM、4K
RAM、53个I/O,32个通用工作寄存器,以及定时/计数器、模拟比较器、AD转换器、步串行口等资源若干。
3(编程、下载程序方便:有JTAG和ISP接口。
4(工作可靠、安全:工作电压范围宽,4.5,5.5V;抗干扰能力强;程序存储器具有多重密码保护锁功能。
AVR运动控制器原理图如图1所示:
图1 AVR运动控制器硬件原理图
J6、J7、J8为三个运动轴的控制端口,每个端口上都有一组控制步进电机的脉冲和方向信号,运动轴的原点信号和前、后限位信号。
J4为8路数字输出信号端口,为提高系统的抗干扰能力,每一路信号都采用了光电隔离电路;J5为8路数字输入信号端口,每一路信号不但采用了光电隔离电路,而且还加入了RC低通滤波器。
J3是按键端口及LCD端口。
J2是RS232通讯端口,J1是JTAG端口。
图2为该控制器应用于点胶机的面板图。其上有一个4行20列文本显示屏,有25个按键。
图2 点胶机控制面板
3、运动控制指令集
本运动控制器的指令集采用ISO数控代码,符合ISO-1056-1975E标准,该标准在数控程序编制中已被广泛使用,它通过G、M等指令代码,描述加工工艺过程和数控机床的运动特征[2]。I/O控制、条件判断和循环控制等指令是根据数控代码的标准自定义的指令。目前共有16条数控代码,在此基础上还可以继续扩充。
在编程中全部采用增量坐标系,即运动轨迹的终点坐标以其起点计量,坐标的单位为毫米。
程序可以在控制器面板上输入并编辑;也可以在PC机上编写好后,通过RS232口下载至控制器。
1)准备功能G指令:
点定位指令G00
语法: G00 XL Ym Zn
其中 XL 可选。表示X轴从当前位置移动L毫米。
Ym 可选。表示Y轴从当前位置移动m毫米。
Zn 可选。表示Z轴从当前位置移动n毫米。
说明:该指令使所选电机以固定速度的移动,启、停过程有加减速控制。
直线插补指令G01
语法: G01 XL Ym Zn Fs
其中 Fs 可选。若不选Fs,则直线的速度和前面指令中设定的速度相同。
顺圆插补指令G02
语法: G02 Xm Yn RL Fs
其中 Xm Yn 表示圆弧终点相对于起点的坐标(m,n)。
RL 表示圆弧半径为L毫米。
也可以在X,Z和Y,Z坐标里画顺园。格式为:
G02 Xm Zn RL Fs
G02 Ym Zn RL Fs
逆圆插补指令G03
语法: G03 Xm Yn RL Fs
G03 Xm Zn RL Fs
G03 Ym Zn RL Fs
延时指令G04
语法: G04 Pt
其中 Pt必需。t为延时长度,单位为秒。(Pause)
等待电机停止指令G05
语法: G05 X Y Z
其中 X、Y、Z可选。表示等待X轴或Y轴或Z轴电机停止。
说明:该指令让控制器不断查询电机的状态,等待指定的电机停止。该指令
一般在G00、G10和G12之后,或G01、G02和G03之前使用。
设置该指令的目的是:在G00、G10和G12指令执行的时候,控制器还可以
进行I/O控制。
加速指令G08
语法: G08
说明:该指令不能单独使用,只能写在G01、G02、G03代码的尾部,表示电
机开始运动时有加速过程。
减速指令G09
语法: G09
说明:该指令不能单独使用,只能写在G01、G02、G03代码的尾部,表示电
机结束运动时有减速过程。
回原点指令G10
语法: G10 X Y Z
其中 X、Y、Z 可选。表示X轴,或Y轴,或Z轴回原点。
说明:该指令使平台以固定速度的返回原点。
移至曲线起点指令G12
语法: G12
说明:该指令使平台以固定速度移至人工设定的曲线起点。
2)辅助功能M指令
程序结束指令M02
语法: M02
说明:该指令表示程序结束,控制器退出自动控制状态。
开外设指令M80
语法: M80 Un
其中 Un必需。n为外设编号。(Unit)
关外设指令M81
语法: M81 Un
外设开跳转指令M95
语法: M95 Ui Dm
其中 Ui必需。Ui 表示第i号输入设备。
Dm必需。m为程序跳转目的指令序号。(Destination)
说明:该指令让控制器查询输入设备Ri的状态,若Ri为开,程序跳转至序号为Nm的指令处;否则,控制器继续往下执行程序。Dm的书写格式必须和目的指令序号的书写格式相同。
外设关跳转指令M96
语法: M96 Ui Dm
说明:和M96类似,只是开改为关。
程序循环跳转指令M90
语法: M90 Dm Cn Lx
其中 Dm 必需。m为程序跳转目的指令的序号。m的书写格式必须和目的指
令序号的书写格式相同。(Destination)
Cn 可选。n为从序号为Nm的指令到M90前一条指令段的循环次数。(Count)
Lx 可选。表示不同的循环跳转指令,x为0或1。(Loop)
3)数控程序格式
一个完整的数控程序由若干行指令组成。每行指令以N加序号开头;一行指令结束必须回车换行。一行只能写一个指令。程序的最后一行指令一定要是M02。
指令序号大小不限,序号可以有间隔,如:N010,N020,N030„,以便于修改程序时,程序中添加指令。
在PC机上编写程序时,程序中可以加注释。注释以 ’ 符号开头。既可以加在指令后也可以单独写一行;程序中允许有空行。但在控制器上不显示注释和空行。
4)程序示例
点胶机上,X、Y轴控制点胶针头的运动,Z轴控制点胶针头的上下;电磁阀U1控制工装加紧、松开,电磁阀U2控制点胶针管加压的开关;R1为“开始”按钮。点胶曲线如下图3红线所示,灰线为起点定位的轨迹。
图3 点胶轨迹曲线
程序代码如下:
N010 M96 R1 D010 等待“开始”按键按下
N020 M80 U1 夹紧工装
N030 G10 X Y Z 回原点
N040 G05 X Y Z 等待X、Y、Z电机停止
N050 G12 移动至曲线起点
N060 G05 X Y 等待 X ,Y 电机停止
N070 G00 Z10 针头降下10mm
N080 M80 U2 开始点胶
N090 G04 P0.2 延时0.2秒
N100 G01 X0 Y5 F80 G08 NO. 0 直线插补,带加速
N110 G01 X10 Y20 NO. 1 直线插补,速度F=80 mm/s
N120 G02 X30 Y0 R20 NO. 2 圆弧插补,速度F=80 mm/s
N130 G01 X10 Y-20 NO. 3 直线插补,速度F=80 mm/s
N140 G01 X0 Y-5 G09 NO. 4 直线插补,带减速
N150 M81 U2 停止点胶
N160 G00 Z-10 针头提起10mm
N170 M81 U1 松开工装
N180 M02 程序结束
4、AVR运动控制器软件结构及算法
图4为AVR运动控制器软件结构图。
图4 AVR运动控制器软件结构图
1)电机运动控制算法
电机的速度控制:采用梯形速度曲线控制电机的加、减速,速度由查表法确定。
三维直线插补:采用积分法进行直线插补,该算法在同一时刻,三个轴可以同时运动,所以,该算法运动较平稳,且误差小于半步。[3]
二维圆弧插补:采用单步跟踪法进行圆弧插补,该算法不需要乘法运算,只用加、减法就可完成圆弧插补运算,使圆弧插补运动速度和直线插补速度一样快。[3]
实测AVR运动控制器,其控制步进电机运动的脉冲频率最小为2Hz,最大为13889Hz;步进电机驱动器设为4细分,即电机的分辨率为800步/转时,可控制步进电机的最大转速为1040 rpm。
2)LCD编辑功能
为在LCD上方便的编辑程序,软件可实现按键功能切换、滚动浏览、插入、删除等功能:
按键状态切换:按[Shift]键,光标在“_”和“?”之间切换。
光标在“_”状态:输入数字、光标移动、删除(Del);
光标在“?”状态:输入字母、Space(空格)。
光标上下移动:按 [ ? ]、[ ? ] 键,控制光标上下移动;当光标在第一行或第四行时,可以控制屏幕向上或向下翻滚一行,以便于浏览。
光标左右移动:按 [?]、[?] 键,控制光标左右移动;当光标移动第1行第
1列处,不能再左移;当光标移动第4行最后一列处,不能再右移。
回车换行: 按[Ent]键,回车换行。如果光标后面有字符,将被删除。
插入行: 光标在“?”状态下,当光标在第1列时,按[Ent]键,将在此行前插入一行。
删除字符、行:按[Del]键一次,将光标前的字符删除一个;当光标在第1列时,按[Del]键,将此行删除。
3)运动控制指令的编译
在执行程序之前,要进行一次预处理,将程序的行号、指令中的十进制数据由ACSII码转换成16进制的数值;再将每行的行号和其启始地址存入RAM中的一个2维数组,以便于执行跳转指令。
在执行指令时,利用G代码和M代码的指令号进行散转控制;只有M02和其它M指令号相差较大,要特殊处理一下。
1、引言
近年来,国外、国内多家公司先后推出了独立工作式运动控制器,这些控制器有显示屏、有按键、不需要PC机就可以工作;其核心芯片有各种形式,如:ARM、DSP以及FPGA和专用芯片,并配有函数库或其自己制定的指令集。客户使用函数库编写程序或使用专用的指令集编成,都比较麻烦。
国内进行自动化设备设计、维护的工程师,多数为机电类专业人员,他们对数控机床及数控指令十分熟悉。针对这一特点,作者在AVR单片机运动控制器上,以数控加工指令代码(G指令、M指令)为基础,充分利用G代码运动控制的优势,并增加了I/O控制指令、条件判断和循环控制指令,使独立式运动控制器的指令使用起来十分简单、方便。
2、AVR运动控制器硬件系统
为了设计出性价比高的硬件,选用了AVR单片机为硬件系统的核心芯片。AVR单片机是ATMEL公司在单片机市场竞争白热化的形式下,发挥其FLASH存储器技术特长,并吸取了PIC及8051单片机的优点,于1997年由A先生和V先生采用RISC结构,共同研发出AVR单片机。AVR单片机有以下主要优点[1]:
1(速度快:在相同时钟频率下比8051快12倍;AVR最大时钟频率为16MHz。
2(片内资源丰富:AVR ATmega128单片机上有128K Flash、4K EEPROM、4K
RAM、53个I/O,32个通用工作寄存器,以及定时/计数器、模拟比较器、AD转换器、步串行口等资源若干。
3(编程、下载程序方便:有JTAG和ISP接口。
4(工作可靠、安全:工作电压范围宽,4.5,5.5V;抗干扰能力强;程序存储器具有多重密码保护锁功能。
AVR运动控制器原理图如图1所示:
图1 AVR运动控制器硬件原理图
J6、J7、J8为三个运动轴的控制端口,每个端口上都有一组控制步进电机的脉冲和方向信号,运动轴的原点信号和前、后限位信号。
J4为8路数字输出信号端口,为提高系统的抗干扰能力,每一路信号都采用了光电隔离电路;J5为8路数字输入信号端口,每一路信号不但采用了光电隔离电路,而且还加入了RC低通滤波器。
J3是按键端口及LCD端口。
J2是RS232通讯端口,J1是JTAG端口。
图2为该控制器应用于点胶机的面板图。其上有一个4行20列文本显示屏,有25个按键。
图2 点胶机控制面板
3、运动控制指令集
本运动控制器的指令集采用ISO数控代码,符合ISO-1056-1975E标准,该标准在数控程序编制中已被广泛使用,它通过G、M等指令代码,描述加工工艺过程和数控机床的运动特征[2]。I/O控制、条件判断和循环控制等指令是根据数控代码的标准自定义的指令。目前共有16条数控代码,在此基础上还可以继续扩充。
在编程中全部采用增量坐标系,即运动轨迹的终点坐标以其起点计量,坐标的单位为毫米。
程序可以在控制器面板上输入并编辑;也可以在PC机上编写好后,通过RS232口下载至控制器。
版权声明:本文标题:可执行G代码的三轴运动控制器的研制_运动伺服_工业自动化控制_247_百 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706067873h500498.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论