基于LabVIEW和Python微细车削控制系统的开发与实验

2023-08-17 01:34连海山刘伟杰张林鹏陈小军
机床与液压 2023年14期
关键词:圆弧代码按钮

连海山,刘伟杰,张林鹏,2,陈小军

(1.岭南师范学院机电工程学院,广东湛江 524048;2.广东工业大学机电工程学院,广东广州 510006)

0 前言

随着消费者对产品的要求更加趋向轻量化、小型化,微细加工得到了更多的发展,其在机加工行业所占的比重也越来越大[1]。微细切削技术可以实现多种材料任意形状微型三维零件的加工,近年来,在航空航天[2]、生物医学[3]、机械制造[4]等领域得到了广泛应用。微细车削加工因其在精密微小型回转体类零件的加工中独具优势,现已发展成为克服MEMS技术局限性的重要使能技术之一。机加工具有生产效率高、灵活、能加工任意三维特征的零件及多种材料的优势[5-6]。微细车削加工是在传统金属切削基础上,面向微小型系统中各种材料结构件的加工需求,向微型化发展、衍生而来[7]。

文献[8]开发了世界上第一台微型车床,长32 mm、宽25 mm、高30.5 mm,质量为100 g。用该机床切削黄铜,进给方向表面粗糙度为1.5 μm,功率损耗仅为普通车床的1/500。

文献[9]介绍了哈尔滨工业大学精密工程研究所自主研发的HCM-1亚微米超精密车床和我国第一台大型非球曲面光学零件超精密机床。文献[10]开展并完成了关于微细轴类工件车削加工形状误差、切削力的预测建模,为提高微细轴类工件的加工精度提供了技术基础。

文献[11]基于Python开展系统的时域、复域和频域仿真以及系统的校正与设计仿真,仿真结果与专业的商业数学软件MATLAB并无明显区别。文献[12]基于Python,配合传感器及工业PLC实现了故障预警功能。文献[13]针对饮料行业漏装问题,使用Python进行图像检测,实现准确识别箱中瓶装水的个数,代替人工质检的功能。

文献[14]设计了基于LabVIEW的多任务实时测控系统,实现了人机交互、清晰直观的现场数据监控、安全可靠的数据处理等功能。文献[15-16]设计了基于LabVIEW的过程控制实验平台,通过分程控制达到了实时控制的目的。

基于LabVIEW开发微细车削加工控制系统,对微细车削的发展有重要意义。基于Python设计的微细车削G代码自动生成软件,有利于提升微细车削加工编程效率。

1 微细车削加工系统硬件

文中构建的微细车削加工系统如图1所示,硬件部分主要由微三维运动平台、电主轴、车刀夹具以及车刀等组成。

微三维运动平台由德国PI公司生产,如图2所示,其行程为102 mm×102 mm×25 mm,各轴的最小分辨率都为0.1 μm。微三维运动平台的运动控制采用“PC+运动控制器”的方案,通用性强且可灵活编程,利用LabVIEW提供的库函数,可以较简单、精准地做到对微三维运动平台的运动控制。电主轴由日本NSK公司生产,转速1 000~80 000 r/min连续可调。

图2 微三维运动平台

2 微细车削控制系统架构

微细车削控制系统架构如图3所示。使用者将切削基本参数、加工参数输入G代码自动生成系统内,程序自动进行坐标计算,并导出LabVIEW程序待加工使用。初始化和定位对刀完成后,G代码加工模块将解析后的坐标点发送到运动控制器,控制微三维运动平台运动,并实时反馈当前坐标点,显示在加工系统人机界面。

图3 微细车削控制系统

3 G代码自动生成系统

G代码自动生成软件系统界面如图4所示,该系统包括参数设置模块、切削设置模块以及G代码生成模块。

图4 G代码自动生成系统界面

3.1 模块介绍

基于Python开发软件,通过导入sys、os等模块,借助Tkinter模块搭建可视化的用户界面,再调用math、decimal等模块计算出车削的走刀坐标点,通过字符串拼接的方式输出所有G代码行。

3.1.1 Tkinter用户界面搭建

为了让界面清晰易懂,使用LabelFrame标签框架控件,根据不同的功能来划分区域。根据需求,引入Label标签、Entry输入框、Button按钮、Text文本框以及TreeView树形列表。对输入数据或按钮按下后触发的动作函数进行逐个设定,如按下“保存”按钮,将“棒料直径”输入框中的数值存入切削设置区;按下“删除”按钮,将树形列表中被选中的值删除。

3.1.2 切削设置模块

使用者按照加工顺序选择对应的按钮,并在图5所示的窗口输入切削参数。输入完成后,点击“确定参数”按钮,上述参数将会存放到树形列表中。

图5 切削参数输入窗口界面

3.1.3 G代码生成模块

完成所有切削参数设置后,点击切削设置区的“生成循环切削G代码”按钮,将进行以下操作:

(1)通过已获取的直径和零点坐标参数,计算出工件边界坐标、定位点坐标;

(2)逐行读取切削设置区的树形列表,并赋值对应变量;

(3)识别到标识符,并跳转到相对应的数据处理模块,如斜面切削、顺圆切削等;

(4)单次进给车削分为3个步骤,进刀、切削、退刀到安全坐标。单次进给切削完成后,计算X方向剩余量,判断下一次进给是否小于剩余量。若是,则X方向继续进给给定的单次进给量;若否,则X方向进给到终点坐标;

(5)所有G代码行通过字符串拼接的方式整合并输出,同时添加必要的文字注释以方便使用者检查;

(6)使用者检查后按下“加行号”按钮,自动删除所有注释,并为每一行G代码前面加上顺序号字;

(7)使用者按下“一键复制”按钮,将所有G代码复制到剪贴板;按下“保存”按钮,可生成txt格式的文本文档,并把G代码保存到其中。

3.2 G代码自动生成流程

G代码自动生成流程如图6所示。使用者按照加工要求,设定好切削基本参数和加工参数后,系统根据各参数进行单次切削三坐标(切削起点、切削终点、定位点)的计算。若加工余量大于单次进给量,则继续计算单次切削三坐标,否则直接进给到循环切削终点;若还有其他切削函数,则重复上述步骤,否则输出所有生成的G代码。

图6 G代码自动生成流程

4 车削加工控制系统设计

车削加工控制系统包括初始化模块、定位对刀模块、G代码加工模块和实时显示模块。

初始化模块的作用是建立LabVIEW与微三维运动平台的通信,并在建立通信后自动运动到机床原点。

定位对刀模块的作用是控制微三维平台运动到目标位置,通过试切法确定零点坐标,即程序原点。

实时坐标显示模块独立于其他各模块,位于整个控制系统架构的最外层,保证无论切换到任意模块,都可实时显示当前坐标。

4.1 G代码加工模块设计

(1)G01直线插补

控制系统直线插补使用了一种类似直线函数法的设计方法——速度比例法。其原理为:由加工起点、终点可得两轴各自的位移量,当给定一轴速度时,由于运动时间相同,所以可算得另一轴的速度,计算公式如式(1)所示,其中vz为Z轴进给速度,vx为X轴进给速度,Ze为Z轴进给终点坐标,Zs为Z轴进给起点坐标,Xe为X轴进给终点坐标,Xs为X轴进给起点坐标。

(1)

具体实施时,仅需要给定X、Z两轴的起点、终点和任一轴的进给速度,便可完成任意斜线的运动轨迹。此系统给定X轴进给速度值,Z轴进给速度值可由计算得到,直线插补程序框图如图7所示。

图7 直线插补程序框图

(2)G02、G03圆弧插补

G02顺圆弧、G03逆圆弧使用逐点比较法进行插补,具有运算直观、插补误差小(不超过一个脉冲当量)、脉冲调节方便、输出均匀等特性[17]。逐点比较法插补不同象限顺、逆圆弧的进给方向如图8所示。

图8 圆弧插补进给方向

其插补过程包括4步:

偏差判断:如式(2)所示,由偏差计算结果判断当前点坐标在圆内还是圆外。

坐标进给:若当前点在圆外,则向圆内进给一步;若当前点在圆内,则向圆外进给一步。

偏差计算:如式(3)所示,计算当前点到圆心的距离。

终点判断:如式(4)所示,每完成一次坐标进给,E就减1,直至等于0,程序结束。

(2)

(3)

(4)

由于不同象限顺、逆圆弧仅是进给方向发生改变,所以仅以第一象限逆圆弧为例展示编程。程序如图9所示,其中I是X轴向的圆心坐标值、K是Z轴向的圆心坐标值,最小步距ds设定为0.001 mm。

图9 第一象限逆圆弧插补程序

(3)G92螺纹插补

读取螺距P、转速S,加工所需进给速度vf如式(5)所示计算。G92螺纹切削程序框图如图10所示。

图10 螺纹切削程序框图

(5)

4.2 加工系统人机界面

加工系统人机界面如图11所示,该系统由初始化模块、定位对刀模块、G代码加工模块和实时坐标显示模块组成,当操作者选择其中任意一个模块进行操作时,除实时坐标显示模块外,其他模块的功能和按键将不起作用。

图11 加工系统人机界面

5 加工试验与结果

试验皆使用直径为3 mm的6061铝合金棒料进行加工,刀具为沪豪VCGT160404铝用车刀。

设计并加工一个阶梯数为5、由φ3 mm到φ1.0 mm逐级递减的阶梯轴,工件工程图及加工成品如图12所示。

图12 阶梯轴

仿照圆珠笔,设计并加工圆珠笔头形的工件,工件工程图及加工成品如图13所示。

图13 圆珠笔头

使用G92加工带有圆弧以及螺纹的工件,工件工程图及加工成品如图14所示。

图14 微细螺纹

6 结语

基于Python开发出车削G代码自动生成系统,可自动生成用于加工的G代码,大大提高了循环车削加工的编程效率。

基于LabVIEW开发出微细车削加工控制系统,该系统包括初始化模块、定位对刀模块、G代码加工模块和实时坐标显示模块,可识别、解析G代码指令,并按照代码编写的走刀路径完成加工任务,解决了微三维运动平台三轴联动的控制问题。

利用上述两个系统进行切削实验,使用G代码自动生成软件生成加工所需的G代码,将G代码导入微细车削加工控制系统,分别加工出了阶梯轴工件、圆珠笔头工件和微细螺纹工件。

猜你喜欢
圆弧代码按钮
当你面前有个按钮
浅析圆弧段高大模板支撑体系设计与应用
外圆弧面铣削刀具
创世代码
创世代码
创世代码
创世代码
死循环
内心不能碰的按钮
数控车削圆弧螺纹程序编制与加工