基于飞秒激光的高速3D微纳打印控制方法、模型切片方法及装置与流程

文档序号:17740492发布日期:2019-05-22 03:54阅读:202来源:国知局
本发明涉及3d微纳打印
技术领域
:,尤其涉及一种基于飞秒激光的高速3d微纳打印控制方法、模型切片方法及装置。
背景技术
::双光子打印是一种新型的激光直写技术,学名是飞秒激光诱导双光子聚合。飞秒激光是一种脉冲激光,一般单脉冲持续时间在几十到几百飞秒量级;双光子聚合是一种光固化效应,某些材料分子在吸收两个相同或不同波长光子后会发生聚合效应,从液态转换为固态。双光子打印这是一种极具潜力的3d微纳打印技术,可以实现100nm级甚至更精细的精密结构加工,可以应用在许多高精尖领域,如:微纳光子学、微电子系统、微流控、生物医学以及微型器件等。一个典型的双光子打印系统由以下几个部分组成:(1)一台飞秒激光器,(2)一个扫描系统,(3)光学聚焦器件,(4)一个光强控制元件以及一个光开关,(5)一台安装有控制软件的电脑。激光束由飞秒激光器发出,经过光强控制元件和光开关,由光学聚焦器件聚焦到光刻胶内部,焦点处的光刻胶会发生双光子聚合效应从而由液态转变为固态,通过软件控制扫描系统使得激光焦点在光刻胶内部逐层扫描,实现3d打印。虽然双光子打印技术已经开始应用在一系列科研工作中,但是在商业化、产品化进程中却遇到了很大的阻力,主要问题在于目前双光子打印在控制算法上过于简单,科研单位往往只重视能否实现效果,而忽视了实现效率。目前双光子打印主要存在的技术问题是效率低下,主要是有以下两个方面的原因:首先,是3d打印控制算法过于简单,打印时几个主要电控元件,如压电平移台、振镜、机械平移台等无法实现高速联动;其次,是模型切片算法不完善。在3d打印之前,被打印的模型首先需要由切片程序对其进行分层,每一层又要按照模型结构进行打印路径规划,只有规划后的文件才能送到打印控制系统进行打印,这一过程即为模型切片。目前用于双光子打印的模型切片多采用开源算法,此类开源模型切片算法一般是适用于宏观尺寸模型结构的3d打印,而对于微观结构并不完全适用。将微观结构模型用开源模型切片算法切片再进行3d打印时,往往会有打印效率低、打印精度低等缺陷。因此,急需要一套针对双光子打印特点单独开发优化的模型切片方法和3d微纳打印方法。技术实现要素:本发明首先提供了一种基于飞秒激光的高速3d微纳打印模型切片方法,有效降低了输出文件的数据量,并大大降低了后续打印控制算法的运算量,在保证打印精度的前提下提高3d微纳打印的速度。具体技术方案如下:一种基于飞秒激光的高速3d微纳打印模型切片方法,包括以下步骤:(i)将待切片的3d模型进行散点化处理,获得填充整个3d模型的离散点的坐标数据xyz_table数组;(ii)按照离散点的z坐标值的大小顺序对所有离散点进行分层,获得每层离散点的坐标数据xy_table数组;(iii)按照离散点的y坐标值的大小顺序对每层离散点进行分行,获得每行离散点的坐标数据x_table数组;(iv)依次按照行、层的次序对离散点进行排序,获得所有离散点坐标数据的序列;(v)按照所述序列中各个离散点的顺序,依次判断各个离散点是否为连续线段的起点或终点;若为是,则标记该离散点为起点或终点;若为否,则将该离散点从所述序列中剔除;遍历所有离散点后完成模型切片。在xy_table数组中,各个离散点的z坐标值都相同;在x_table数组数组中,各个离散点的z坐标值都相同且y坐标值都相同。本发明的模型切片算法,仅保留连续线段的起点或终点,剔除了起点或终点之间的大量的连续点,从而剔除了大量不必要的信息,只保留必要数据,有效降低了输出文件的数据量,从而大大降低了后续打印控制算法的运算量,在保证打印精度的前提下大大提高了3d微纳打印的速度。所述的3d模型可以使用3d绘图软件进行绘制,或者可从网上直接下载获得stl格式的3d模型。可使用现有开源软件对3d模型进行散点化处理,获得填充整个3d模型的离散点的坐标数据。步骤(iv)包括:(iv-1)按照y坐标值的大小顺序对xy_table数组进行排序:当z坐标值为奇数时,按照y坐标值由小到大排序;当z坐标值为偶数时,按照y坐标值由大到小排序;(iv-2)按照x坐标值的大小顺序对x_table数组进行排序:当y坐标值为奇数时,按照x坐标值由小到大排序;当y坐标值为偶数时,按照x坐标值由大到小排序。对于不同的层,若上一层按照y坐标值由小到大排列,则下一层按照y坐标值由大到小排列;对于同一层,若一行按照x坐标值由小到大排列,则下一行按照x坐标值由大到小排列。所有离散点经过排序后,在每一层上,离散点的排列顺序呈“z”字形;不同的层,上一层按照由上到下排序,下一层则按照由下到上排序,这样大大简化了后续3d打印的路径,一定程度上提高了打印速度。步骤(v)中,判断各个离散点是否为连续线段的起点或终点包括:(v-1)若离散点为x_table数组的第一个点或最后一个点,则该离散点为起点或终点;(v-2)当|x_table(k)-x_table(k-1)|≠t且|x_table(k+1)-x_table(k)|=t时,则第k个离散点为起点;当|x_table(k)-x_table(k-1)|=t且|x_table(k+1)-x_table(k)|≠t时,则第k个离散点为终点;其中,x_table(k)为第k个离散点的x坐标值;x_table(k-1)为第k-1个离散点的x坐标值;x_table(k+1)为第k+1个离散点的x坐标值;t为连续线段上相邻两点之间的间距。t的大小由进行散点化软件的参数决定,一般开源散点化处理软件获得的相邻离散点之间的间距为1。由于经散点化处理后获得的离散点中,连续相邻的两个点的间距为t,当某点与其前一点的间距不为t,与其后一点的间距为t时,则说明该点为起点;当某点与其前一点的间距为t,与其后一点的间距不为t时,则说明该点为终点。通过此方法可以判断某离散点是否为起点或终点,若离散点为起点或终点,则标注该离散点为起点或终点。若离散点不为起点或终点,从序列中剔除即可,离散点序列中仅记录起点或终点,在后续3d打印中,根据需要补齐起点与终点之间的打印点即可,这样可以大大降低输出文件的数据量,也可以大大降低后续打印控制算法的运算量,从另一个方面提高3d打印速度。步骤(v)中,剔除所述序列中起点与终点之间的离散点后,转化为类g-code一维字符串数组,得到模型切片后的数据文件。基于相同的发明构思,本发明还提供了一种基于飞秒激光的高速3d微纳打印模型切片装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,所述计算机处理器执行所述计算机程序时实现所述高速3d微纳打印模型切片方法的步骤。所述的基于飞秒激光的高速3d微纳打印模型切片装置可以为桌面型计算机、笔记本电脑、掌上电脑、微型计算机、远程服务器等计算机设备。飞秒激光3d微纳打印设备一般由飞秒激光器、光开关、振镜、物镜、z轴压电平移台组成,各个部件受控于电脑。激光束由飞秒激光器发出,经过光开关,由高倍物镜紧聚焦到光刻胶内部。光开关用于控制光路通断,根据需求,还可以在光开关之前添加光功率控制系统用于调节激光能量。振镜用于控制激光焦点在物镜焦平面上进行二维扫描。z轴压电平移台用于升降样品台,通过将振镜与z轴压电平移台联动控制可以实现3d模型的打印。本发明还提供了一种基于飞秒激光的高速3d微纳打印控制方法,包括以下步骤:(i)读取所述的高速3d微纳打印模型切片方法得到的数据文件,并将其还原为离散点的坐标数据序列;(ii)将3d微纳打印设备中的数据采集卡设置为连续采用模式,初始化振镜位置并记录为当前位置,初始化z轴压电平移台的位置,打开光开关;(iii)从所述的坐标数据序列中依次读取离散点的坐标值数据和状态数据,将该离散点作为目标位置,根据该离散点的坐标值数据和状态数据生成当前位置与目标位置之间的打印波形图,将该打印波形图写入数据采集卡并同步输出控制振镜的移动,振镜移动到目标位置后,将该目标位置修改为当前位置;(iv)重复步骤(iii),直至所有离散点读取打印完毕,关闭光开关,结束打印。本发明的高速3d微纳打印控制方法与高速3d微纳打印模型切片方法相互配合使用,可以大大提高3d微纳打印的速度与精度。优选的,所述步骤(iii)中,根据该离散点的坐标值数据和状态数据生成当前位置与目标位置之间的打印波形图,包括:根据离散点的状态数据判断该离散点为起点还是终点;若该离散点为起点,则关闭光开关,控制振镜直接移动到目标位置;若该离散点为终点,则根据当前位置与目标位置的坐标值数据生成打印波形图。所述的打印波形图以当前位置为起点,以目标位置为终点,波形图的横坐标轴为时间轴,纵坐标轴为x或y方向位置;波形图的采样率和采样数根据具体打印需求设定。生成打印波形图即为在当前位置与目标位置之间补充打印点,打印点之间的间隔与打印点的个数根据具体的打印需求设定。优选的,步骤(iii)中,读取目标位置的坐标值数据后,判断其z坐标值相对于当前位置的z坐标值是否改变;若z坐标值改变,则控制z轴压电平移台移动到相应位置;若z坐标值未改变,则z轴压电平移台不改变位置。之后再判断该离散点的状态,确定后续的打印过程。基于相同的发明构思,本发明还提供了一种基于飞秒激光的高速3d微纳打印控制装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,所述计算机处理器执行所述计算机程序时实现所述高速3d微纳打印控制方法的步骤。所述的基于飞秒激光的高速3d微纳打印控制装置可以为桌面型计算机、笔记本电脑、掌上电脑、微型计算机、远程服务器等计算机设备。与现有技术相比,本发明的有益效果为:(1)本发明的高速3d微纳打印模型切片方法只记录了连续线段的起点和终点,剔除了所有不必要的信息,只保留必要数据,有效降低了输出文件的数据量,并大大降低了打印控制算法的运算量;(2)本发明的高速3d微纳打印控制方法采用连续采样模式,坐标点数据写入数据采集卡缓存的同时输出数据到振镜,两者同时进行且相互独立,可以使打印效率最大化;(3)本发明的高速3d微纳打印控制方法中,控制振镜算法与控制z轴压电平移台算法并行运算,彼此独立,有效提高程序执行效率。附图说明图1为本发明所使用的双光子打印系统的结构示意图;图2为模型切片方法的流程示意图;图3为3d打印控制方法的流程示意图;图4为采用本发明的模型切片方法和3d打印控制方法打印出3d光栅结构的电子显微镜图片。具体实施方式下面结合附图和实施例对本发明作进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。本发明所使用的双光子打印系统结构如图1所示。激光束由飞秒激光器发出,经过光开关,由高倍物镜紧聚焦到光刻胶内部。光开关用于控制光路通断,根据需求,还可以在光开关之前添加光功率控制系统用于调节激光能量。振镜用于控制激光焦点在物镜焦平面上进行二维扫描。z轴压电平移台用于升降样品台,通过将振镜与z轴压电平移台联动控制可以实现3d模型的打印。为了实现3d模型的高速打印,就需要对振镜进行高效控制。使用高速数据采集卡可以实现模拟信号的高频输出,通过方法优化,完美实现了对振镜的高效操控,优化主要包括以下两个方面:(i)模型切片方法优化,(ii)3d打印控制方法优化。模型切片方法的流程如图2所示,具体步骤如下:(1)使用3d绘图软件绘制或者网上下载获得stl格式的3d模型;(2)使用开源软件对3d模型进行散点化处理,得到填充整个3d模型的离散点的坐标数组,定义为xyz_table;(3)按照z坐标由小到大对xyz_table数组进行排序,同时获得一个只有z坐标组成的数组,剔除重复项,由小到大排序,取名为z_unique;(4)从xyz_table数组中提取满足z=z_unique(i),i=1,2,3…的数组,定义为xy_table;(5)按照y坐标对xy_table数组进行排序,当i(即z)取奇数时,y的排序方式为由小到大,当i(即z)取偶数时,y的排序方式为由大到小,同时获得一个只有y坐标组成的数组,剔除重复项,排序方式同上,定义为y_unique;(6)从xy_table数组中提取满足y=y_unique(j),j=1,2,3…的数组,定义为x_table;(7)按照x坐标对x_table数组进行排序,当j(即y)取奇数时,x的排序方式为由小到大,当j(即y)取偶数时,x的排序方式为由大到小;(8)判断x_table(k),k=1,2,3…是否为一条连续线段的起点或终点,判断方法是:若所判断坐标点为x_table的第一个点,则必为起点,若最后一个点,则必为终点;其他点由于开源软件获得的离散点坐标相邻点间距为1,则当|x_table(k)-x_table(k-1)|=1且|x_table(k+1)-x_table(k)|≠1时,该坐标为终点;当|x_table(k)-x_table(k-1)|≠1且|x_table(k+1)-x_table(k)|=1时,该坐标为起点。引入状态量st,当该点为起点时,st=0;当该点为终点时,st=1。如果该点是起点或终点,则将该点坐标xyz及状态量st写入待输出数组,如果不是,舍弃该坐标点;(9)k=k+1,判断是否遍历x_table数组;如果为是,则执行步骤(10),如果为否,则执行步骤(8);(10)j=j+1,判断是否遍历xy_table数组;如果为是,则执行步骤(11),如果为否,则执行步骤(6);(11)i=i+1,判断是否遍历xyz_table数组;如果为是,则执行步骤(12),如果为否,则执行步骤(4);(12)将二维待输出数组转化为类似g-code的一维字符串数组,记录格式规定为“字母+数字”,每一行与上一行比较,内容相同则不记录,内容变化则记录下来,需要记录的值有4个,分别为状态量st、点坐标量x/y/z。例如“st1x2.5y1.3z0.2”表示该坐标点为终点,xyz坐标(2.5,1.3,0.2)。得到一个字符串序列,定义为tpp_path.txt。上述模型切片方法中只记录一条线段的起点和终点,剔除了所有不必要的信息,只保留必要数据,有效降低了输出文件的数据量,并大大降低了打印控制算法的运算量。相配套的3d打印控制方法的流程如图3所示,具体步骤如下:(1)读取打印路径文件tpp_path.txt,将其还原为一个由状态量st、点坐标量x/y/z组成的二维数组,定义为xyz_path;(2)设置数据采集卡为连续采样模式,初始化振镜位置并记录为当前位置,初始化z轴压电平移台位置,打开光开关;(3)从xyz_path数组中读取第i个坐标(i=1,2,3…)的xyz坐标值,将其作为目标位置;(3-1)判断目标位置与当前位置的z坐标是否一致;如果不一致,控制z轴压电平移台移动到相应位置;如果一致,z轴压电平移台移动不移动;(3-2)读取第i个坐标的st状态量,判断st是否等于0;若为是,则关闭光开关,控制振镜直接移动到目标位置,并将该坐标位置记录为当前位置;若为否,则xy方向各自生成一个以当前位置为起点,目标位置为终点的波形,波形横坐标为时间,纵坐标为x/y方向位置,波形的采样率和采样数根据具体打印需求设定,将波形写入数据采集卡,输出控制振镜转动,振镜移动到目标位置后,将该目标位置的坐标位置修改为当前位置;(4)i=i+1,判断是否遍历xyz_path数组,如果为是,执行步骤(5),如果为否,执行步骤(3);(5)关闭光开关;(6)结束。上述3d打印控制方法采用连续采样模式,坐标点数据写入数据采集卡缓存的同时输出数据到振镜,两者同时进行且相互独立,可以使打印效率最大化;再者,控制振镜算法与控制z轴压电平移台算法并行运算,彼此独立,有效提高程序执行效率。采用本发明的模型切片方法对一个20um×20um的3d光栅结构进行切片,并采用配套的3d打印控制方法进行打印,打印精度为100nm。经测试,100nm设定精度下最高可以实现10mm/s的超高速打印,打印出的结果如图4所示。通过更换更高速的硬件,算法层面理论速度可以无限快。以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1