基于FPGA 的生物3D 打印机的系统设计及研究

2022-05-24 11:44刘艺炜张博张文栋
电子设计工程 2022年10期
关键词:顶层打印机支架

刘艺炜,张博,张文栋

(太原理工大学信息与计算机学院,山西 晋中 030600)

生物3D 打印这一技术概念最早由美国Clemson University、University of Missouri、Drexel University 等大学的教授在2000 年左右提出[1],是一种能够在数字三维模型驱动下,按照增材制造原理要求装配生物细胞、柔性材料或生物材料,制造组织生物制支架、医用器械的技术[2-3]。目前,打印机技术根据原理可分为熔融沉技术(FDM)、喷墨打印技术和立体光刻技术(SLA),均有其优点、缺点和局限性[4]。目前降低打印成本、提高打印的精度、实现快速打印成为急需解决的问题[5]。

目前,国内研究团队多使用Arduino 软件来设计打印机,使用FPGA 芯片控制生物打印机的研究少见[6-7]。

FPGA 集成度高、资源丰富、处理速度快、通信方式多种多样,为开发者的设计提供了便利,也带来了更多的发挥空间,可重复编程、设计周期短、研发费用低、可嵌入高性能处理器的优点使得FPGA 可极大地提升产品质量[8]。

文中以FPGA 芯片为核心控制芯片,先将打印的支架参数数字化,再进行数字处理、编码,使其能精确控制步进电机的运动和喷头的开启。通过引入梯形运动控制算法,提高了支架的打印精确度。

1 电路设计

生物打印系统主要包括机械系统、运动控制模块、气动控制模块、控制程序四大部分,如图1 所示。为了实现喷头挤出、空间定位和环境控制,机械系统又包括三维运动部件、供料系统、喷头部件3 个部分。上位机通过串口通信发送打印命令给FPGA主控制板。主控制板通过分析打印指令,将三维运动的控制命令进行数据转换并发送给三维运动控制模块。然后DM422 步进电机驱动器将细分要求、位移要求命令发送给三维移动平台,实现位移的控制。喷头部件通过接收FPGA 主板的开启关断命令实现微阀的开启与关断,从而控制喷头。在打印过程中FPGA 主控制板通过与运动控制模块、温控加热模块的反馈,校正打印指令,提高打印精度。

图1 整体设计框架

打印机采用喷墨式打印方式,选用孔径为0.1 μm的电磁阀喷头,使用步进电机驱动丝杆,通过丝杆的位移控制喷头的位移[9]。采用4 000 细分驱动,理论上的步进角[10]达到了0.007°,使电机平稳启动、停止和加减速[11]。

1.1 喷头控制模块

采用微流阀喷头作为打印喷头,开启电压为24 V,保持电压为5 V。上位机发送步进电机移动命令时,喷头控制程序发送脉冲控制信号CONTROL,当控制信号为高时,拉高电磁阀喷头开启信号CH1_CONTROL_VOLTAGE。电路原理图如图2 所示。

图2 电路原理图

为满足不同喷头的选择,设计了如上电路。CH1_BASE_T4 为喷头的使能信号,用来控制喷头开启电压+24 V_SPIK 的接入。当CH1_BASE_T4 为高时,T10、T19 器件依次开启,24 V 电压加到喷头两端,喷头开启。当接入CH1_CONTROL_VOLTAGE后,达林顿三极管T20 导通,将5 V 的电压源继续保持在喷头两端CH1_VALVE_CONNECTION_6 和CH1_VALVE_CONNECTION_5。

1.2 运动控制模块

采用线性光耦器HCPL082 将24 V 的限位信号转换成3.3 V 传输给FPGA 主控制板。通过X_PLUS、X_DIR、X_ENA 3 个信号分别控制X 轴的运动速度、运动方向、运动使能[12]。这些控制信号通过增强型NMOS 管将电压转换成对应的步进电机驱动控制器信号X_PLUS_DM、X_DIR_DM、X_ENA_DM。运动控制电路如图3 所示。

图3 运动控制电路

1.3 加热模块

加热模块采用DS18B20 采集载物台和喷头的加热温度。STM32 运算温度采集信号,发送给反馈控制Driv_Warm_Re,使其可在20~80 ℃下运行。STM32将加热命令Driv_Warm 发送给光耦MOC3022,通过开启U8 器件控制加热元件的接地端。在电路的上半部分,通过反馈控制信号Driv_Warm_Re 控制加热的继电器,从而实现温度的负反馈控制[13]。加热模块驱动电路如图4 所示。

图4 加热模块驱动电路

2 控制方法介绍

为实现喷头的移动,基于Xilinx Artix-7 系列FPGA 芯片编写了Verilog 程序代码,控制和固定了喷头的步进电机通信模块,使用UART 串口传输控制信号,用于控制步进电机模块和喷头模块等[14]。硬件连接示意图如图5 所示。

图5 硬件连接示意图

上位机通过RS232 与打印机通信,通过特定的数据帧协议传输打印的指令,具体包括打印支架材料的尺寸、打印喷墨式喷头的控制参数、打印步进电机的移动速度等,具体协议帧如表1、表2 所示[15]。

表1 打印层数据帧

表2 打印参数设置帧

在打印程序中,通过将打印尺寸分解、切片,转化成蛇形线性移动路径,通过步进电机的移动,实现打印喷头的位移,通过程序计算,喷头将会在特定的位置开启一定的时长,用来保证液滴的正常大小及正常喷射。通过测试不同的喷头开启时间,发现喷头开启时间在400 μs 时,液滴打印效果较好。通过打印测试,电机的移动速度在5 mm/s 时,支架呈现出较好的形貌特征。具体处理流程如图6 所示。

图6 打印信号处理流程图

2.1 步进电机的梯形运动控制原理

为了提高步进电机的移动精准度,加入了梯形加减速控制算法,在步进电机的启动、停止、转向这些涉及到步进电机启停的特定时间点加入文中算法来控制步进电机[16]。加减速实现功能图如图7 所示。

图7 加减速实现功能图

加减速模块通过Verilog 程序代码来实现,主要包括顶层模块sudu_control、位移计数模块displace_count、脉冲发生模块PWM_genrator、算术计算模块arith_solve、状态转换模块STATE_change。

在状态转换模块中包含有加减速状态转换机,用于实现步进电机不同状态之间的切换。具体状态包含状态等待、加速、减速、匀速、状态停止、位移校正、停止等[17]。具体状态转换表如表3 所示。

表3 状态转换表

状态转换模块用于读取模块的速度、位移等数据。根据速度和位移数据更改步进电机的转换状态,完成加速的状态识别和转换。

为辨别各个状态的转换时刻,通过分析各个阶段的实时速度和位移数据,与速度和位移信号经行比较。当满足条件时,即可进行状态转换[18]。

具体的计算公式如下:

t1时刻的状态转换标志:

其中,ΔS为加速距离。

t2时刻的位移点计算公式为:

t2时刻的判断信号为当前位移量displace_coun是否与目标值aim_count 相等:

t3时刻的标志位为:

2.2 顶层模块综合

顶层模块读取目标位置、速度、加速度及当前位置等数据,计算出每一周期速度增加量以及减速点等数据,再根据当前位置、当前速度自动控制当前速度的变化,完成加减速控制功能。

顶层模块综合图如图8 所示,加减速模块通过Verilog 程序代码实现,顶层模块sudu_control 用于各个模块的综合;位移计数模块displace_count 用于计数步进电机的位移距离计算;脉冲发生模块PWM_genrator 用于产生特定步进电机运动速度的脉冲波;算术计算模块arith_solve 用于计算加减速转换的标志位;状态转换模块state_change 用于不同加减速状态之间的转换[19]。

图8 顶层模块综合图

3 系统测试

在完成控制系统硬件与软件设计的基础上,搭建完整的控制系统平台进行相关测试实验,主要包括温度调节测试、恒温控制测试和实物打印测试。测试设备如图9 所示,由上位机发送相关指令,观测对应实验结果并进行分析。

图9 测试设备

该研究进行了模拟支架的打印实验。具体方法为:使用5%的海藻酸钠溶液作为打印材料[20],打印1 mm×1 mm 网格型支架材料;在完成30 mm×30 mm的网格型支架打印后,使用4%的CaCl2溶液喷雾固化,待凝固后进行观察。打印气压为35 kPa,行进速度为5 mm/s,喷头开启时间为400 μs。

图10 为稳定成型的网格支架实物。从10(a)中可以看出,支架整体打印完整度较好,行列之间基本保持平行,也从侧面说明所设计加减速控制算法达到了较好的控制效果,位移控制相对精准。从局部放大图10(b)中可以发现,每个1 mm×1 mm 的正方形网格外轮廓一致性较好。

图10 稳定成型的网格支架实物

4 结论

该文设计了一种基于FPGA、拥有多喷头可以打印柔性材料的生物3D 打印机。分析和设计了打印机的各功能模块、电路,编写了打印机控制程序。为提高打印机打印的精确性,加入了步进电机的梯形控制算法,通过打印机的实验验证可知,基于FPGA的3D 打印机能够实现柔性材料的打印,满足基本的柔性材料的打印需求。基于FPGA 的框架3D 打印机的设计,为生物凝胶材料固化成型技术提供了新的简便制备方法。

猜你喜欢
顶层打印机支架
从顶层设计到落地实施
支架≠治愈,随意停药危害大
给支架念个悬浮咒
新奇有趣的打印机
滨海顶层公寓
汽车顶层上的乘客
前门外拉手支架注射模设计与制造
另类3D打印机
FDM型混色3D打印机的设计
星敏感器支架的改进设计