第一章引言制造业是国民经济的基础,它的发展程度突出反映了一个国家、地区的经济实力和综合国力,人民的生活水平和生活质量,国防能力和社会发展程度。
近年来,工业发达国家和一些新兴工业化国家已把发展制造业作为一项极其重要的发展战略和政策,投入巨大的财力、人力和物力,进行先进制造技术的研究。
先进制造技术逐步成为国家中长期发展的重大关键技术和经济增长的根本动力。
数控加工技术是先进制造技术的重要组成部分和基础之一,在数控机床上加工非圆曲面和其它复杂曲面一直是数控加工的难题,而市场竞争日益激烈,要求加工周期越来越短,如何提高这些复杂零件的加工效率和加工质量已成为数控加工技术的一个重要课题。
1.1 数控技术的现状数控技术是用数字程序控制数控机床实现自动加工的技术。
它综合了应用数学、计算机、通讯、微电子、自动控制、传感测试、机械制造等多门技术。
自上世纪50年代第一台数控机床诞生以来,经历半个多世纪的发展,数控系统由最初的电子管、晶体管、集成电路到超大规模集成电路,尤其自20世纪80年代以来,数控装置广泛采用32位到64位CPU组成的微处理器,极大地提高了系统的集成度,使体积缩小,机构模块化;驱动装置广泛采用交流伺服、数字化;CNC系统人工智能化,并有多种通信功能,数控系统可靠性不断提高。
近年,随着计算机技术的迅猛发展,不同层次的开放式数控系统应运而生,目前正朝标准化开放体系结构前进。
1.2 发展数控技术的目的和重要性数控技术和数控装备是制造工业现代化的重要基础。
这个基础直接影响国家的经济发展和综合国力,关系到国家的战略地位。
因此,世界各工业发达国家均采取特别措施来发展自己的数控技术及其产业。
我国数控技术虽然起步晚,但国家非常重视。
近年来,我国数控机床制造业取得了快速发展,数控机床的产量以年超过30﹪的速度递增,数控机床的可供品种达1500余种,2007年产量预计10万台。
目前全国在役数控机床20多万台。
充分发挥数控机床在制造业中的作用,需要大量的数控机床编程和加工人才,尤其是对复杂零件的编程及加工,各行业急需大批这样高水平人才。
1.3 设计的目的和要求在数控车床上加工常规零件,如圆柱面、圆锥面、圆弧面,现在系统已比较成熟,但在加工非圆曲面和其它的复杂曲面就缺乏统一性、成熟性和系统性。
本文通过对复杂零件的工艺设计和非圆曲面的刀具轨迹优化算法设计,编制出复杂零件的加工程序,并利用此程序对零件进行加工。
第二章数控机床加工的原理在数控机床上自动加工零件,首先根据被加工零件的图样,将工件的形状、尺寸及技术要求数字化,采用手工或计算机按运动顺序和所用数控机床规定的指令代码及程序格式编制加工程序。
并将该程序输入到数控系统,系统读出信息,并送入数字控制装置。
数控装置就依照指令上的代码进行一系列的处理和运算,变成脉冲信号,并将其输入驱动装置,驱动机床主运动、进给运动及辅助运动,并使其相互协调来实现对零件的自动加工。
CNC系统对数控机床的控制分为“轨迹控制”和“逻辑控制”。
2.1 轨迹控制轨迹控制是对机床各坐标轴的速度和位置控制,它通过插补实现。
实际加工中零件的形状各式各样,有由直线、圆弧组成的零件轮廓;也有由诸如自由曲线、曲面、方程曲线和曲面体构成的零件轮廓。
对这些复杂的零件轮廓最终还是要用直线和圆弧进行逼近以便数控加工。
插补计算就是对数控系统输入基本数据(如直线的起点、终点坐标,圆弧的起点、终点及圆心坐标等),运用一定的算法计算,并根据计算结果向相应的坐标发出进给指令,对应着每一个进给指令,机床在相应的坐标方向上移动一定距离,最终将工件加工出所需的轮廓形状。
数控系统中最常用的插补方法是逐点比较法。
2.1.1逐点比较法直线插补如图2-1所示,设直线OA为第一象限的直线,起点为坐标原点O(0,0),终点为A(Xe,Ye),P(Xi,Yj)为加工点。
令:Fi,j=XeYj-XiYe 。
根据加工点位置的不同有以下三种情况:(1)如Fi,j= 0, 则点P在直线OA上;(2)如Fi,j>0, 则点P在直线OA上方;(3)如Fi,j<0, 则点P在直线OA下方;图2-1 逐点比较法第一象限直线插补为了逼近直线,规定Fi,j≥0 时,刀具向+X方向进给一步(一个脉冲当量);Fi,j<0 时,刀具向+Y方向进给一步。
每走一步利用递推公式计算出新加工点的Fi,j 值,以决定下一步进给方向。
总步数J=Xe+Ye ,每走一步J减1,当J为0时刀具到达直线终点,插补结束。
第一象限的直线插补算法流程图如图2-2所示。
图2-2 第一象限直线插补算法流程图其它三个象限的直线插补可根据相同原理得到其插补计算方法。
根据以上算法,每个象限可设计一个子程序。
下面是第一象限的子程序,其它象限只须加以修改即可。
该程序用MCS-51指令编写,电机采用步进电机,采用8255并行接口的A、B两端口进行控制。
图2-3是直线插补程序的流程图。
内存分配表见表2-1。
图2-3 直线插补流程图表2-1 内存分配表直线插补的程序清单如下:ORG 2300HMAIN:MOV SP,#60H ;主程序开始MOV R0,#T8255 ;8255初始化MOV A,#80HMOV @R0,ALOP4:MOV 28H,#0C8H ;XeMOV 29H,#0C8H ;YeMOV 2AH,#00H ;XMOV 2BH,#00H ;YMOV 2EH,#00H ;FMOV 70H,#0AHLOP3:MOV A,2EHJB ACC.7,LOP1MOV A,70HSETB ACC.0CLR ACC.2MOV 70H,A ;OB+XLCALL MOTR ;调环行分配器,x方向走一步LCALL DELAGMOV A,2EHSUBB A,29H ;F-YeINC 2AH ;X+1AJMP LOP2LOP1:MOV A,70HSETB ACC.2CLR ACC.0MOV 70H,A ;OF+YLCALL MOTR ;Y方向走一步LCALL DELAYMOV A,2EHADD A,28H ;F+XeINC 2BH ;Y+1LOP2:MOV 2EH,AMOV A,28HCJNE A,2AH,LOP3 ;Xe=X?ST:MOV R0,#T8255 ;关8255MOV A,#00HMOVX @R0,ALJMP ST2.1.2逐点比较法圆弧插补如图2-4所示,设逆圆弧AB在第一象限,原点为圆心O,起点A(Xo,Yo),终点B(Xe,Ye),半径为R,瞬时加工点为P(Xi,Yj),令Fi,j=Xi2+Yj2-R2 。
根据加工点位置的不同有以下三种情况:(1)如Fi,j= 0, 则点P在圆弧AB上;(2)如Fi,j>0, 则点P在圆弧AB外侧;(3)如Fi,j<0, 则点P在圆弧AB内侧;图2-4 逐点比较法第一象限圆弧插补为了逼近圆弧,规定Fi,j≥0 时,刀具向-X方向进给一步(一个脉冲当量);Fi,j<0 时,刀具向+Y方向进给一步。
每走一步利用递推公式计算出新加工点的Fi,j 值,以决定下一步进给方向。
总步数J=|Xe-Xo|+|Ye-Yo| ,每走一步J减1,当J为0时刀具到达圆弧终点,插补结束。
第一象限的逆圆弧插补算法流程图如图2-5所示。
图2-5 第一象限逆圆弧插补算法流程图对于第一象限的顺圆及其第二、三、四象限的顺逆圆弧插补,可根据相同原理得到其插补计算方法。
根据以上算法,每个象限可设计顺、逆圆弧两个子程序。
下面是第一象限逆圆的子程序,其它象限只须加以修改即可。
该程序用MCS-51指令编写,电机采用步进电机,采用8255并行接口的A、B两端口进行控制。
图2-6是圆弧插补程序的流程图。
程序清单如下:XL EQU 18HXH EQU 19HYL EQU 28HYH EQU 29HXeL EQU 1AHXeH EQU 1BHYeL EQU 2AHYeH EQU 2BHFL EQU 2CHFH EQU 2DHORG 2400H图2-6是圆弧插补程序的流程图MAIN:MOV SP,#60HMOV R0,#0EBHMOV A,#80HMOVX @R0,ALCALL DSUP ;调装码子程序MOV R5,#11HMOV R6,#21HMOV 70H,#08HMOV XL,#80H ;XLMOV XH,#0CH ;XHMOV YeL,#00H ;YeLMOV YeH,#00H ;YeHMOV XeH,#00H ;XeHMOV XeL,#00H ;XeLMOV YL,#00H ;YLMOV YH,#00H ;YHMOV FL,#00H ;FLMOV FH,#00H ;FHMOV 1CH,#00HMOV 1DH,#00HLOOP3:MOV A,FHJNB ACC.7.LOOP1MOV A,70HSETB ACC.2CLR ACC.0MOV 70H,A ;OC+YLCALL MOTRLCALL DELAYMOV R1,#28H ;YLMOV R0,#1CHMOV R7,#02HLCALL CHFZ ;2*Y ADD:CLR CMOV A,FLADDC A,1CHMOV FL,AMOV A,FHADDC A,1DH ;F+2YMOV FH,AMOV A,YLADD A,#01HMOV 28H,AMOV A,YHADDC A,#00HMOV YH,A ;Y+1CLR CMOV A,FLADD A,01HMOV FL,A ;F+2Y+1MOV A,FHADDC A,00HMOV FH,AAJMP LOOP2LOOP1:MOV A,70HSETB ACC.0MOV 70H,A ;09-XLCALL MOTRLCALL DELAYMOV R1,#18H ;XLMOV R0,1CHMOV R7,02HLCALL CHFZ ;2*X SUB:CLR CMOV A,FLSUBB A,1CHMOV FL,AMOV A,FHSUBB A,1DHMOV FH,A ;F-2XCLR CMOV A,XLMOV XH,A ;X-1MOV A,FLADD A,#01HMOV FL,AMOV A,FHADDC A,00HMOV FH,A ;F-2X+1LOOP2:MOV A,YHCJNE A,YEH,LOOP3A ;YH=YEH?MOV A,YLCJNE A,YEH,LOOP3A ;YL=YEH?ST MOV P0,0EBHMOV A,00HMOVX @R0,AAJMP STLOOP3A AJMP LOOP3END ;主程序结束ORG 2500HCHFZ:PUSH PSW ;双字节乘2子程序PUSH APUSH BPUSH CMOV R2,00HSHIO MOV A,@R1MOV B,#02HPUSH PSWMUL ABPOP PSWADDC A,R2MOV @R0,AMOV R2,BINC R0INC R1DJNZ R7,SHIO。