QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 版主微信号:caivin811031;还未入三维微信群的小伙伴,速度加
2022-07-04
全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
查看: 2123|回复: 0
收起左侧

[转帖] 嵌入式运动控制器的数控改造试验

[复制链接]
发表于 2010-10-24 09:05:54 | 显示全部楼层 |阅读模式

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本文将通用嵌入式运动控制器用于一台立式铣床X8126 的数控改造试验。改造中保留了原有的主轴系统和冷却系统,用步进电机驱动系统对铣床进行X、Y、Z 三轴数控改造。此次改造后步进距离是0.001mm/脉冲。
. @" W" i9 e4 ~
0 K& q) P; d4 o- `: ^2 数控基本原理
% J  @$ t" O' O* K
/ h' p( ]9 N1 b: a  F2.1 数控系统的工作过程 ; t& \/ `4 a" P% Z7 }0 z
- l/ i8 ~8 v& G8 S/ s* v, H* A9 }
(1) 把零件加工程序、控制参数和补偿数据等输入给数控系统。
9 [$ @/ p0 i9 n5 n5 O/ J' O  k; n0 r/ N! Q. [- X
(2) 加工程序译码与数据处理。 ) C* h0 f) Y1 |. x

9 v0 X+ a' D* k4 N(3) 插补。运动轨迹是多轴协调运动的结果,为了实现期望的轨迹,必须控制相关轴的运动。直接的方法是把各轴的每一步运动情况事先确定好,存入计算机的存储器,再现轨迹时,根据存储的数据来控制各轴。但是这意味着要存储大量数据,在实际应用中不现实。实际上,轮廓或运动轨迹一般由直线、圆弧组成,对于一些非圆曲线轮廓则用直线或圆弧去逼近。可以根据一些少量的基本数据(起点和终点即可唯一确定一条直线,圆弧只需要给定起点、终点、半径及方向即可确定),通过计算,将工件的轮廓或运动轨迹描述出来,边计算边根据计算结果向各坐标发出进给指令。这就是插补(Interpolating)的基本思想,即插补计算就是数控系统根据给定的曲线类型(如直线、圆弧或高次曲线)、起点、终点以及速度,在起点和终点之间进行数据点的密化。当然,单轴运动就不存在插补问题。 2 |1 x/ g) T% ^4 ?
8 x# b/ h" c+ k
数控系统的插补功能主要由软件来实现,主要有两类插补算法。一种是脉冲增量插补,它的特点是每次插补运算结束产生一个进给脉冲;另一种是数字增量插补,它的特点是插补运算在每个插补周期进行一次,根据指令进给速度计算出一个微小的直线数据段。MCX314A 芯片内部含有高速高精度的直线和圆弧插补功能。
) k( f# P* J  a  R- b+ R  y- v! G
(4) 伺服控制。将计算机送出的位置进给脉冲或进给速度指令,经变换和放大后转化为伺服电机(步进电机或交、直流伺服电机)的转动,从而带动工作台移动。 & n2 d- n* `) d9 O- T$ b! V
8 M& T  ?8 h; Q4 |
(5) 刀具补偿。在轮廓加工中,当采用不同尺寸的刀具加工同一轮廓工件,或同一名义的刀具因磨损而因此尺寸变化时,为了保证控制精度和编程方便,数控系统通常应有刀具补偿功能。 ' u2 o& v" m$ R# M8 L
& u  n) \% l& R, I
2.2 数控加工程序
8 X9 i/ [6 O3 Q; p" @. p6 O2 S9 I2 o# }1 L, B% {
符合 ISO-840 国际标准的NC 指令代码编程是一种较通用的数控编程方法。常用的指令有准备功能G 代码、辅助功能M 代码、主轴速度S 代码、刀具T 代码等。数控程序就是由这些功能代码和数据构成。如N0666 G01X20 Y20 F 300 表示直线插补,XY 同时进给到目标点(20,20),速度300mm/min。
8 C- a9 H# o* q+ P! N# f$ d
- J1 h7 e# `0 G' J1 Y# KPro/Engineer、北航海尔CAXA 等CAD/CAM 软件能够依据零件CAD 轮廓生成相应的加工轨迹,生成数控代码程序。
: t7 O) ~' O% M, U3 j# N  J2 P2 g$ D8 Z" c" {% B. l
3 硬件组成 8 S9 S2 f/ ?, \2 z/ |+ K- m

0 H7 H5 X1 O+ _" Y9 N( m. V0 p. D如图 1 所示,基于ARM 和MCX314A 的运动控制器是系统的控制核心。图2 是接口板和驱动器的接口图。MCX314A 输出的脉冲/方向信号经接口板(26AMLS31 变成差动信号)与驱动器对应的脉冲/方向端子相连。各轴限位开关信号和原点信号、急停信号经接口板光电隔离后连接MCX314A 的nLMTP、nLMTM、Xin0 和EMGN 引脚。
http://www.jic35.cn/WebEditor/uploadfile/2009-02-13-11-48-20-597.gif/ M( j' h# }. t# U. w: r
图 1 改造后的铣床数控结构图
http://www.jic35.cn/WebEditor/uploadfile/2009-02-13-11-48-28-684.gif
$ }0 @' r% P8 @5 c) X; w图 2 转接板和步进驱动器的连接图
PC 机通过串口与LPC2214 相连,作为数控加工程序的编程人机界面;在数控加工时,LPC2214 将MCX314A 各轴的逻辑位置和状态反馈给PC。不过,PC 将数控加工程序下载给运动控制器后,可以脱开,运动控制器具备独立运行能力。
+ i9 y( c( r# f6 W2 r6 o7 d" M; \) r( h  Y# K9 c( T
4 软件设计
7 p- {1 ~  r; s% P0 y

( y7 ]$ K& x& [3 u$ Q8 j. b; F利用PC 的良好人机界面和数据处理能力,PC 用作数控编程的人机界面,对数控程序进行语法检查,对数控程序进行预处理。PC 预处理后,将数控程序下载给运动控制器,LPC2214 将数控加工程序存入Flash 中。数控加工时,LPC2214 从Flash 中读出加工代码,进行数控加工程序的译码,译码完成后调用API 函数,实现数控功能。
! _2 G, x7 S: u" }
  T( u7 C* \% y4 t# P上位 PC 作为数控系统的人机交互界面,完成数控代码编辑(或接收CAD/CAM 软件生成的加工程序)、语法检查、代码预处理功能,并能和运动控制器进行通信,将处理后的数控代码参数上载到控制器,并能接收到控制器的(逻辑)位置反馈和驱动状态信息,实现对整个系统的监控。上位PC 的程序用Visual Basic 开发完成。 9 V7 Y0 |& z/ B3 g5 i5 X) l3 Q% v
. @2 a1 n* q/ e- }  A1 K
在已经奠定了运动控制器的软、硬件基础平台后,实现数控应用的关键点在于把数控代码转换成对API 函数的调用,核心内容是进行数控加工程序的译码。
http://www.jic35.cn/WebEditor/uploadfile/2009-02-13-11-48-36-648.gif
6 W+ d' o$ R5 b0 I" d图 3 数控加工程序译码流程
(1) 数控加工程序的译码。
6 h' c# ?1 A3 c& W* w  r% L
3 R" s% d: i( Q5 f" N* a定义一个数据结构体 CNCcodeBuf,将一个数控代码行的译码结果存入其中。将G 代码和M 代码分为GA~GF、MX~MY 组别,以节省存储空间,提高译码效率。译码流程见图3。 . p: \! w+ O4 l# k. A
1 x2 y3 `7 p1 ^3 c% n0 R5 K5 j+ n' x
struct CNCcodeBuf 9 H7 y2 [7 X' ^; U( M
{
0 o3 h9 n: l, B1 K& rshort N;//存储数控代码N 后的编号 2 n! w9 C) T% R& U" q
int X,Y,Z;//存储X、Y、Z 代码后的数值 4 ?. _3 V8 L" C6 D. C, n
int I,J,K;//存储I、J、K 代码后的数值
5 b! J5 q! d# R: j% U( ~% V* wint F;//存储F 代码后的数值
" T) t" O( A7 b% l" @4 Iint S;//存储S 代码后的数值
" o3 I* t3 k' s% `short T;//存储T 代码后的数值 / ?3 N: V$ F+ T# d8 J! R
unsigned char GA,GB,GC,GD,GE,GF;//存储分组后G 代码的序号
3 e# m8 k6 v. ounsigned char MX,MY,MZ;//存储分组后M 代码的序号
1 ?8 w& u/ _. V; U6 V}CNCBuf;
0 T( c% L" O- _: b& A" f  |4 b$ ^5 {" S. i
一行代码译码完成后,代码数据存储于变量CNCBuf 中,然后需要作的事是将其变换为对API 函数的调用。方法是从变量CNCBuf 的成员中读取G、M 代码功能号,根据功能号对应的API 函数要求逐一完成API 调用的入口参数设置。 . M& [' F. v( p3 T/ x: ~4 x! K9 I( Z

; N( v/ o/ a0 S/ p5 [(2) 通信。上位PC 将预处理后的数控代码程序加帧头“0xAA55AA”和帧尾“0x55AA55”后以RS232 方式下载到运动控制器中。通信格式设为:“38400,E,8,1”。 ) z7 p: C' D0 Z8 z  t

. w( w+ ^0 h( q. A: q9 `# P3 i% z6 Q6 p' s9 P  F

评分

参与人数 1三维币 +3 收起 理由
洪哥 + 3 好资料,感谢您的分享!

查看全部评分

发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备13008828号-1 )

快速回复 返回顶部 返回列表