基于STM32的光固化3D打印机控制系统设计

2018-06-24 09:40丁承君韩承都
制造业自动化 2018年6期
关键词:光固化原理图激光器

丁承君,韩承都

(河北工业大学 机械工程学院 机械工程系,天津 300130)

0 引言

随着增材制造和快速成型(Rapid Prototyping)技术的普及,3D打印技术越来越为普通科技爱好者所熟知。现今流行的3D打印技术按其所用材料的状态及成形方法,可以分为熔融沉积成形(FDM)、光固化立体成形(SLA)、分层实体制造(LOM)、电子束选区熔化(EBM)、选择性激光烧结(SLS)、激光选区熔化(SLM)、金属激光熔融沉积(LDMD)、电子束熔丝沉积成形(EBF)[1]。在这些琳琅满目的3D打印技术中,近年来FDM型3D打印机凭借成本低廉、相关文献资料丰富、研究学习门槛低的优势,获得了3D打印爱好者的广泛追捧。但熔融沉积成型3D打印机打印速度慢、成型精度低、打印模型表面粗糙度高的固有缺点总是差强人意。为了让越来越多人了解3D打印技术,继熔融沉积成型技术之后,光固化立体成型将会凭借其成型精度高、成型速度快、模型表面光滑的优势引领下次3D打印浪潮。

光聚合成型技术起源于上世纪80年代,是最早研发的3D打印成型技术之一。一直以来研究机构持续对该技术进行深入研究,使其成为技术成熟、应用广泛的一种3D打印成型技术。光聚合成型技术包含:SLA(Stereo Lithography Appearance)光固化立体成型技术、DLP(Digital Light Processing)数字光处理等技术[2]。光固化的基本原理是光固化材料在紫外光的的照射下,其中的光引发剂吸收光子能量,从基态跃迁至激发态,因为激发态属于不稳定状态,而后又从激发态自发的向下跃迁至低能级状态,并不一定是回到基态,同时释放能量让预聚体发生聚合反应,从而实现材料的光固化反应[3]。光固化立体技术和数字光处理技术都是利用这种原理,两者区别主要在于让光固化材料产生固化的光源不同,前者通常采用紫外光激光,利用扫描振镜进行路径扫描填充;后者是主要利DMD(Digital Micromirror Device)芯片和投影系统,选择性透光控制。两者的成本都比较高,所需的控制器的性能要求也比较高,研究困难,所以为了降低研究开发者入门门槛,一款低成本高性能的控制器的产生显得十分迫切。因此本文着重针对光固化立体成型技术的控制系统进行研究,解决当前常用于激光振镜控制的FPGA和DSP控制板价格昂贵、编程困难的弊端,设计了一款基于STM32的低成本控制系统方案。

1 控制系统的总体方案设计

SLA型3D打印机分振镜上置式和振镜下置式,上置式是指扫描振镜在光敏材料的上方,下置式是指扫描振镜位于光敏材料的下方,目前最流行的结构形式是下置式结构[4]。图1为下置式光固化立体成型3D打印机的结构示意简图,它主要由升降滑轨、模型吸盘、树脂槽、光敏树脂、扫描振镜和激光器六部分组成。

图1 振镜下置式SLA打印机结构示意图

打印机的工作流程为由激光器发射的激光经过二维扫描振镜反射到透明的树脂槽底部,进行逐层扫描,树脂槽底部内侧覆盖离型膜或者硅胶,以避模型粘结在槽底[5]。图中蓝色的部分表示最新扫描完成的的一层,每扫描完成一层后,模型吸盘沿着升降滑轨上升一个层厚的高度。光敏树脂呈粘稠状而且流动速度慢,所以每完成一层扫描后,光敏树脂无法快速补充到树脂槽底部。为了使新固化的模型和树脂槽底部分离以及补充底部树脂,可以采用先升再降的方式,以0.1mm打印层厚为例,可以先抬高4mm,再下降3.9mm。所以这就需要一个步进电机控制系统来控制模型的升降。同样地要实现光敏树脂的扫描固化就需要对振镜和激光器的控制,针对振镜和激光器的工作原理设计扫描振镜控制模块和激光器控制模块。为了实现对扫描振镜的实时控制,就会涉及大量浮点运算,选用一个具有浮点运算单元的处理器尤为重要。

本文选用STM32F407ZET6处理器作为主控制器,STM32F407ZET6是由意法半导体公司出品的一款芯片,它是一款基于ARM Cortex-M4内核的精简指令集(RISC)的低功耗、低成本、高性能处理器。最高工作频率可达168MHz,144个引脚,512kB Flash,192kB SRAM与以往基于M0、M3内核的芯片相比最大不同就是加入了浮点运算单元(FPU),支持所有ARM单精度数据处理指令和数据类型,浮点运算速度相比普通CPU运算快上几十倍。STM32F407的FPU恰好能满足光固化的3D打印机的控制系统处理大量的浮点运算的要求。图2为控制系统总体架构图。

2 硬件设计

2.1 硬件总体方案设计

控制器由STM32最小系统、振镜控制模块、激光器控制模块、步进电机控制模块、TF卡接口模块、串口触摸屏接口和供电电源七个部分组成。图3为控制器硬件总体设计框图。

图2 控制系统总体架构图

图3 控制器总体设计框图

2.2 最小系统设计

STM32的最小系统包括电源电路、晶振时钟电路、复位电路、JTAG程序下载电路,关于最小系统的设计各种资料众多这里就不再赘述。

2.3 振镜控制电路

振镜的主要生产厂家主要在国外,国内也有些生产厂家,价格相对较低,所以我们选用国产的扫描振镜。它有两块空间正交的反射镜组成,当一束光射入x振镜经反射入y振镜再经y振镜反射到扫描平面,x和y振镜的偏转角度可通过与其相连的振镜电机的偏转控制,偏转范围一般为-20°~+20°,由-5V~+5V的连续模拟电压差分输入控制,线性度高达99%,激光振镜扫描原理图如图4所示。

图4 激光振镜扫描原理图

经过一列的推导计算得到X、Y振镜偏转角度与扫描平面坐标(x,y)的对应关系如下:

图5 振镜电机接口原理图

式(1)、式(2)中θx、θy分别是振镜X、振镜Y偏转的角度,(x,y)是扫描平面的坐标。L为振镜与扫描平面之间的距离,d为两个振镜之间的距离。要扫描固定的点只需使振镜偏转所需的角度即可,这就需要控制其产生与角度相对应的模拟电压。

一般处理器DAC有限,STM32F407自带一个12位分辨率、0~3.3V、双通道模数转换器,每个振镜电机需要两个模拟输入,所以就需要设计一个专门的振镜控制接口。DAC902是一款并行输入、12位分辨率、高性能的模数转换器,最高采样频率可达165MSPS,再配合运算放大器OPA690进行电压放大,就可以获得所需要的电压。图4为振镜电机控制接口原理图。

2.4 激光器控制电路

为了减低成本,可以选择波长为405nm、功率为50mw的激光器,这种激光器只有两个端子。要对激光器进行通断和亮度控制,需要使用高质量的、稳定的DA电压,但过多的DA接口电路需要占用处理器大量的接口资源,所以采用STM32产生PWM脉冲经过低通滤波得到0~3.3V的电压,再配合NMOS管的方式灵活控制。

PWM本质上其实就是一种周期一定而高低电平占空比可调的方波。PWM波形可以用分段函数表示为式:

其中:T是单片机中计数脉冲的基本周期,也就是STM32定时器的计数频率的倒数。N是PWM波一个周期的计数脉冲个数,也就是STM32的预装载寄存器的值。n是PWM波一个周期中高电平的计数脉冲个数,也就是STM32的比较值寄存器的值。VH和VL分别是PWM波的高低电平电压值,k为谐波次数,t为时间。我们将式(3)展开成傅里叶级数,得到式(4):

式(4)中第1项为直流分量,第2项为1次谐波分量,第3项为大于1次的高次谐波分量。式中的直流分量与n成线性关系,并随着n从0到N,直流分量从VL到VL+VH之间变化。因此,如果能把式中除直流分量外的谐波过滤掉,则可以得到从PWM波到电压输出DAC的转换,PWM波可以通过一个低通滤波器进行解调。其原理图如图6所示。

图6 激光器控制原理图

2.5 步进电机和电源电路

步进电机起到二维到三维的转化的重要作用,步进电机可以选用42步进电机,通过STM32产生的PWM脉冲驱动,控制步进电机转动速度和转动步数,步进电机的供电电压为12V和5V,可采用12V直流电源,用LM2596T-5.0电压转换的到5V电压。

图7 供电电源和步进电机接口原理图

3 软件系统设计

为了充分利用处理器的资源,本文引入一种实时操作系统uC/OS,uC/OS是Micrium公司出品的开源RTOS类实时操作系统,uC/OS目前有两个版本:uC/OS II和uC/OS III。uC/OS III是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制。uC/OS III提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等[6]。本文用到的处理器内存比较小、不可能一次性的将模型的所有数据一次性存储到内存中,因此可以利用uC/OS多任务的特性,逐层循环存储,不仅提高CPU的利用率,又解决了内存不足的问题。

模型数据前处理过程是:由CAD、SolidWorks、UG、Catia等三维绘图软件生成的模型,可以保存为STL模型数据格式,这是一种用三角面片表达实体表面数据的标准文件格式[7],经过切片软件如Cura的分层处理、路径规划处理、添加支撑处理后得到打印机可以处理的G代码[8]。再将G代码传输给3D打印机的控制系统。数据传输有三种途径,一是通过USB将数据实时传送到控制器的内存中,二是先把代码复制到TF卡中、再插到控制器卡槽中进行脱机打印,三是通过网络传输。这里为了节约成本,采用脱机3D打印的模式。图8为控制系统软件运行流程图。

脱机3D打印控制系统软件运行的流程为:

1)用户可以通过与控制器用串口相连的触摸屏进行人机交互,浏览并选择所需打印的模型,并进行相关参数设置,当设置完成后,控制器接收到串口中断,接收用户的打印命令。

2)控制器接收到串口触摸屏的指令后,通过FATFS文件系统的文件读写功能,从TF卡中读取相对应模型的一层数据,并存放到内存中的数据段缓冲区中,经过一系列的代码解析运算,提炼出3D打印所需要的扫描路径坐标点,由执行机构振镜完成由点到线再到面的固化,直到一层模型扫描固化完成。

3)判断上一层是否扫描完成,若完成,利用uC/OS III的多任务功能,读取下一层的数据并存入缓冲区中,同时模型吸盘沿着滑轨上升一个层厚,检查数据缓冲区数据是否就绪,若就绪则执行步骤2),如此循环往复,进而完成由二维到三维的转变。

图8 软件系统流程图

4 结束语

激光在3D打印技术中应用非常之广,很多形式的3D打印技术都使用激光造型,比如SLM、SLS、SLA、LOM等技术都用到了激光。比起为人所熟知的FDM技术,这些激光3D打印技术由于元器件价格昂贵、开发困难、资料较少鲜为人知。所以本文为了降低激光3D打印技术的入门门槛,使除熔融沉积3D打印技术以外的其他3D打印技术为更多的人所了解。设计了一款基于STM32F407的低成本、高性能控制器,并对所需要的具体的硬件模块进行了针对性的设计,解决了FPGA控制板价格昂贵、编程困难的问题。在此基础上,为了解决处理器内存容量小的问题,引入了一个体积小、可裁剪、移植性好的硬实时操作系统uC/OS III,利用操作系统的多任务功能循环读取和存储模型的G代码,既解决了内存问题又提高了处理器的利用率,实现光固化立体成型3D打印机的脱机3D打印。

[1]李轩,莫红,李双双,等.3D打印技术过程控制问题研究进展[J].自动化学报,2016,42(7):993-994.

[2]赵炯,于学海,杨天豪,周高杨,等.基于嵌入式Linux的桌面级DLP型3D打印机设计[J].机电工程,2017,35(5):547-550.

[3]方浩博.基于数字光处理技术的3D打印设备研制[D].北京:北京工业大学,2016,06.

[4]李东方,陈继民,袁艳萍,黄宽,方浩博.光固化快速成型技术的进展及应用[J].北京工业大学学报,2015,41(12):1769-1774.

[5]王春梅,杨文龙.多色光敏树脂3D打印机的设计与实现[J].机电工程,2017,34(9):999-1003.

[6]王泽,肖继学,张汉中,等.uC/OS III的实时性测试[J].测控技术,2016,35(5):106-110.

[7]周勇,秦海芳,杨怡,刘巧云.紫外光固化钛掺杂含硼硅氧烷的制备及在3D打印材料中的应用研究[J].化工新型材料,2017,45(9):199-203.

[8]刘利刚,徐文鹏,王伟明,等.3D打印中的几何计算研究进展[J].计算机学报,2015,38(6):1243-1266.

猜你喜欢
光固化原理图激光器
光固化3D打印中光敏树脂的研究进展
在乳牙龋齿充填中应用光固化复合树脂、粘接剂结合治疗临床疗效观察
浅谈STM32核心板原理图设计
基于PID控制的一体化恒温激光器系统设计
激光器发明60周年
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
光固化3D打印软组织材料的性能研究进展
基于980nm泵浦激光器的恒温驱动设计
维修电工线路板的接线技巧分析