SLS激光快速成型机
2008-04-07 22:06:29
版权声明:原创作品,谢绝转载!否则将追究法律责任。 | ||||||||||||||||||||||||||||||||||||||||||||||
SLS激光快速成型技术总结
1. SLS激光快速成型机工作原理
SLS激光快速成型机主要由光、机、电三大部分组成,系统组成见图1。它是采用计算机分级控制技术进行工作的。首先由上位机(个人电脑PC机),采用PRO-E软件绘图三维立体图,生成STL文件,然后采用分层算法,把三维立体分层为约干个矢量平面图,从最底层的矢量图开始由LPT1打印机接口把矢量数据传递给下位机(单片机),单片机将此参数按图形要求将图形数据分解为不同的节拍信号输出动各电路驱动模块中,控制快速XY扫描振镜,引导激光光束进进行扫描固化。当扫描完一层后,单片机模块发出指示控制升降台向下移动一个层高的距离,并左右移动刮粉机在新的一层上加上固化的粉末,再传输下一层矢量的图形数据进行扫描,一直循环直到所有的矢量图都扫描完毕,这样就生成了一个立体模型。
图1
2.PRO/E绘图软件的介绍
Pro/ENGINEER (简称Pro/E)是美国PTC公司于1988年推出的参数化建模软件,历经十几年的发展和完善,已经有了20多个升级版本,(我们所采用的是2003野火版,Pro/ENGINEER Wildfire)并且功能也延伸到CAM及CAE领域,成为国内模具设计行业中广泛应用的3D设计软件之一。
我们先在Pro/E软件中画好了立体图形,然后在工件底部建立合适的分层坐标,再输出保存副本为STL文件,在保存STL文件时选择刚才建立的分层坐标,点选ASCII格式。点确定生成STL文件。输出STL文件我们可以看到实体图变为有许多网格组成的图形,我们分层就是从这些网格图入手的。
如图所示:
图2 (建立分层坐标)
图4 (实体的网格图)
图3 (输出STL文件)
3.STL文件的格式
输出了STL文件后,我们可以用写字板打开STL文件,可以看到STL文件格式如下:
solid 019
facet normal 1.614248e-16 9.881780e-01 1.533112e-01
outer loop
vertex -1.500000e+01 5.336752e+01 2.096786e+01
vertex 1.500000e+01 5.336752e+01 2.096786e+01
vertex 1.500000e+01 5.600000e+01 4.000000e+00
endloop
endfacet
facet normal 2.559610e-01 9.552589e-01 1.482039e-01
outer loop
vertex 1.950000e+01 5.479423e+01 4.000000e+00
vertex 1.500000e+01 5.600000e+01 4.000000e+00
vertex 1.500000e+01 5.336752e+01 2.096786e+01
endloop
endfacet
.............
facet normal 1.772800e-01 -6.238972e-01 7.611334e-01
outer loop
vertex 3.761988e+00 -5.143641e+00 6.002213e+01
vertex -1.372702e-07 -6.337572e+00 5.991969e+01
vertex -1.373445e-07 -6.417107e+00 5.985450e+01
endloop
endfacet
endsolid 019
文件第一行为文件的名标: 实体019
紧接着就是实体的所有网格面的端点坐标。
如:
outer loop
vertex -1.500000e+01 5.336752e+01 2.096786e+01
vertex 1.500000e+01 5.336752e+01 2.096786e+01
vertex 1.500000e+01 5.600000e+01 4.000000e+00
endloop
就表示这是工体的其中一个组成网格面,网格面的三个端点坐标分别为:
(X1,Y1,Z1)=(-1.500000*10^1,5.336752*10^1,2.096786*10^1)
(X2,Y2,Z2)=(1.500000*10^1,5.336752*10^1,2.096786*10^1)
(X3,Y3,Z3)=(1.500000*10^1,5.600000*10^1,4.000000*10^1)
数据的大小是同PRO/E软件设计时定的尺寸大小1比1。
这样读入所有的网格面,就可以采用分层算法对实体工件进行分层了。
4.立体模具的分层算法
对立体文件*.STL,进行分层。算法如下:
1)读入所有网格的面(面由三个空间构成)。(XA,YA,ZA) (XB,YB,ZB) (XC ,YC,ZC)
并调整端点顺序,使ZA>=ZB>=ZC。
2)找出Z值最大和最小的端点,找到立体最底面,最高面。并定义工件面在最底层开始。
3)求所有网格面与工作面相交的交线
求法:网格面由三个点定义,也就是三条线段构成。求该网格面与工作面的交线。
设定网格面为:(XA,YA,ZA) (XB,YB,ZB) (XC,YC,ZC)
其中,ZA>=ZB>=ZC
设定工作面:Z=ZW
那网格面的线为:
线段1: (XA,YA,ZA)--------(XB,YB,ZB)
线段2: (XA,YA,ZA)--------(XC,YC,ZC)
线段3: (XB,YB,ZB)--------(XC,YC,ZC)
空间直线方程:(x-x0)/m=(y-y0)/n=(z-z0)/p
l 当ZB〈ZW〈=ZA时:
空间平面Z=ZW与线段1的交点为:
空间直线方程:(x-x0)/m=(y-y0)/n=(z-z0)/p
求得线段1的参数为:
m=XA-XB
n=YA-YB
求得交点坐标为:(XTZ0,YTZ0,ZTZ0)
XTZ0=(ZW-ZB)/(ZA-ZB)*(XA-XB)+XB
YTZ0=(ZW-ZB)/(ZA-ZB)*(YA-YB)+YB
ZTZ0=ZW
空间平面Z=ZW与线段2的交点为:
空间直线方程:(x-x0)/m=(y-y0)/n=(z-z0)/p
求得线段2的参数为:
m=XA-XC
n=YA-YC
p=ZA-ZC
求得交点坐标为:(XTZ1,YTZ1,ZTZ1)
XTZ1=(ZW-ZC)/(ZA-ZC)*(XA-XC)+XC
YTZ1=(ZW-ZC)/(ZA-ZC)*(YA-YC)+YC
ZTZ1=ZW
l 当ZC〈ZW〈=ZB
空间平面Z=ZW与线段3的交点为:
空间直线方程:(x-x0)/m=(y-y0)/n=(z-z0)/p
求得线段3的参数为:
m=XB-XC
n=YB-YC
求得交点坐标为:(XTZ2,YTZ2,ZTZ2)
XTZ2=(ZW-ZC)/(ZB-ZC)*(XB-XC)+XC
YTZ2=(ZW-ZC)/(ZB-ZC)*(YB-YC)+YC
ZTZ2=ZW
空间平面Z=ZW与线段2的交点为:
空间直线方程:(x-x0)/m=(y-y0)/n=(z-z0)/p
求得线段2的参数为:
m=XA-XC
n=YA-YC
p=ZA-ZC
求得交点坐标为:(XTZ3,YTZ3,ZTZ3)
XTZ3=(ZW-ZC)/(ZA-ZC)*(XA-XC)+XC
YTZ3=(ZW-ZC)/(ZA-ZC)*(YA-YC)+YC
ZTZ3=ZW
从而求得网格面与工作面Z=ZW的交线为:
[(XTZ0,YTZ0,ZTZ0),(XTZ1,YTZ1,ZTZ1)]---[(XTZ2,YTZ2,ZTZ2),(XTZ3,YTZ3,ZTZ3)]
4)调整走线的循序,先走端点最近的交线段
当走完第一条交线后,寻找端点最近的交线段
disxy=sqr((xtz1(i)-xtz0(I+1))^2+(ytz1(i)-ytz0(I+1))^2)
寻找disxy最小的点。
5.电脑驱动软件设计
软件的介面如下图所示:
图5(立体模具快速成型软件介面)
软件介面主要分为两个区域。左边的图形区,用来显视当前工作层的图形外框。右边为参数设定区,用来设定工作时的
l 速度:工作时扫描振镜的扫描的速度。
l 功率:工作时激光的功率大小。
l 扫描密度:当钩选了[选择扫描]选项时软件就会自动对对图形进行田充扫描。
l 放大倍数:可以设定图形的放大比例。
l 扫描方式:设定图形田充扫描方式,可以是180度或者90度扫描田充。
l 总层数:显视工件的分层总层数。
l 工作层:显视当前的工作层数。
软件介面下方为控制按制键,
l [打开]:可以打开需要分层的文件[STL文件]、已经分层好的文件[LEO文件]或者并面打示文[PLT文件]。当打开PLT并面打标文件时,软件会自动进入平面打标软件的介面如图3所示。
l [分层]:当打开了STL文件时,点[分层]按键,就会开始分层,分层开始时会要求输入分层的保存文件名,即保存分层的LEO文件,分层完毕后会显视分层的总层数。
l [复位]:为机器回到起始的复位
l [成型]:机器复位后就可以进行[成型]操作,机器就会全自动完成快速成型。
l [暂停]:在工作过程中可以[暂停]。
l [停止]:在工作过程中可以[停止]机器。
l [退出]:成型完毕后[退出]软件。
图5(平面打标软件介面)
6.数据传输协议
上位机的图形数据通过输出动态连接库winio.dll中的SetPortVal(ByVal PortAddr As Integer, ByVal PortVal As Long, ByVal bSize As Byte)函数由ECP打印机口输出,输出的数据传输数据格式为ASCII格式,通过正反码校检。通信协议为:
ECP打印机口引脚定义为下表1所示。
引脚定义
|

