劉藝煒,張博,張文棟
(太原理工大學(xué)信息與計算機學(xué)院,山西 晉中 030600)
生物3D 打印這一技術(shù)概念最早由美國Clemson University、University of Missouri、Drexel University 等大學(xué)的教授在2000 年左右提出[1],是一種能夠在數(shù)字三維模型驅(qū)動下,按照增材制造原理要求裝配生物細胞、柔性材料或生物材料,制造組織生物制支架、醫(yī)用器械的技術(shù)[2-3]。目前,打印機技術(shù)根據(jù)原理可分為熔融沉技術(shù)(FDM)、噴墨打印技術(shù)和立體光刻技術(shù)(SLA),均有其優(yōu)點、缺點和局限性[4]。目前降低打印成本、提高打印的精度、實現(xiàn)快速打印成為急需解決的問題[5]。
目前,國內(nèi)研究團隊多使用Arduino 軟件來設(shè)計打印機,使用FPGA 芯片控制生物打印機的研究少見[6-7]。
FPGA 集成度高、資源豐富、處理速度快、通信方式多種多樣,為開發(fā)者的設(shè)計提供了便利,也帶來了更多的發(fā)揮空間,可重復(fù)編程、設(shè)計周期短、研發(fā)費用低、可嵌入高性能處理器的優(yōu)點使得FPGA 可極大地提升產(chǎn)品質(zhì)量[8]。
文中以FPGA 芯片為核心控制芯片,先將打印的支架參數(shù)數(shù)字化,再進行數(shù)字處理、編碼,使其能精確控制步進電機的運動和噴頭的開啟。通過引入梯形運動控制算法,提高了支架的打印精確度。
生物打印系統(tǒng)主要包括機械系統(tǒng)、運動控制模塊、氣動控制模塊、控制程序四大部分,如圖1 所示。為了實現(xiàn)噴頭擠出、空間定位和環(huán)境控制,機械系統(tǒng)又包括三維運動部件、供料系統(tǒng)、噴頭部件3 個部分。上位機通過串口通信發(fā)送打印命令給FPGA主控制板。主控制板通過分析打印指令,將三維運動的控制命令進行數(shù)據(jù)轉(zhuǎn)換并發(fā)送給三維運動控制模塊。然后DM422 步進電機驅(qū)動器將細分要求、位移要求命令發(fā)送給三維移動平臺,實現(xiàn)位移的控制。噴頭部件通過接收FPGA 主板的開啟關(guān)斷命令實現(xiàn)微閥的開啟與關(guān)斷,從而控制噴頭。在打印過程中FPGA 主控制板通過與運動控制模塊、溫控加熱模塊的反饋,校正打印指令,提高打印精度。
圖1 整體設(shè)計框架
打印機采用噴墨式打印方式,選用孔徑為0.1 μm的電磁閥噴頭,使用步進電機驅(qū)動絲桿,通過絲桿的位移控制噴頭的位移[9]。采用4 000 細分驅(qū)動,理論上的步進角[10]達到了0.007°,使電機平穩(wěn)啟動、停止和加減速[11]。
采用微流閥噴頭作為打印噴頭,開啟電壓為24 V,保持電壓為5 V。上位機發(fā)送步進電機移動命令時,噴頭控制程序發(fā)送脈沖控制信號CONTROL,當控制信號為高時,拉高電磁閥噴頭開啟信號CH1_CONTROL_VOLTAGE。電路原理圖如圖2 所示。
圖2 電路原理圖
為滿足不同噴頭的選擇,設(shè)計了如上電路。CH1_BASE_T4 為噴頭的使能信號,用來控制噴頭開啟電壓+24 V_SPIK 的接入。當CH1_BASE_T4 為高時,T10、T19 器件依次開啟,24 V 電壓加到噴頭兩端,噴頭開啟。當接入CH1_CONTROL_VOLTAGE后,達林頓三極管T20 導(dǎo)通,將5 V 的電壓源繼續(xù)保持在噴頭兩端CH1_VALVE_CONNECTION_6 和CH1_VALVE_CONNECTION_5。
采用線性光耦器HCPL082 將24 V 的限位信號轉(zhuǎn)換成3.3 V 傳輸給FPGA 主控制板。通過X_PLUS、X_DIR、X_ENA 3 個信號分別控制X 軸的運動速度、運動方向、運動使能[12]。這些控制信號通過增強型NMOS 管將電壓轉(zhuǎn)換成對應(yīng)的步進電機驅(qū)動控制器信號X_PLUS_DM、X_DIR_DM、X_ENA_DM。運動控制電路如圖3 所示。
圖3 運動控制電路
加熱模塊采用DS18B20 采集載物臺和噴頭的加熱溫度。STM32 運算溫度采集信號,發(fā)送給反饋控制Driv_Warm_Re,使其可在20~80 ℃下運行。STM32將加熱命令Driv_Warm 發(fā)送給光耦MOC3022,通過開啟U8 器件控制加熱元件的接地端。在電路的上半部分,通過反饋控制信號Driv_Warm_Re 控制加熱的繼電器,從而實現(xiàn)溫度的負反饋控制[13]。加熱模塊驅(qū)動電路如圖4 所示。
圖4 加熱模塊驅(qū)動電路
為實現(xiàn)噴頭的移動,基于Xilinx Artix-7 系列FPGA 芯片編寫了Verilog 程序代碼,控制和固定了噴頭的步進電機通信模塊,使用UART 串口傳輸控制信號,用于控制步進電機模塊和噴頭模塊等[14]。硬件連接示意圖如圖5 所示。
圖5 硬件連接示意圖
上位機通過RS232 與打印機通信,通過特定的數(shù)據(jù)幀協(xié)議傳輸打印的指令,具體包括打印支架材料的尺寸、打印噴墨式噴頭的控制參數(shù)、打印步進電機的移動速度等,具體協(xié)議幀如表1、表2 所示[15]。
表1 打印層數(shù)據(jù)幀
表2 打印參數(shù)設(shè)置幀
在打印程序中,通過將打印尺寸分解、切片,轉(zhuǎn)化成蛇形線性移動路徑,通過步進電機的移動,實現(xiàn)打印噴頭的位移,通過程序計算,噴頭將會在特定的位置開啟一定的時長,用來保證液滴的正常大小及正常噴射。通過測試不同的噴頭開啟時間,發(fā)現(xiàn)噴頭開啟時間在400 μs 時,液滴打印效果較好。通過打印測試,電機的移動速度在5 mm/s 時,支架呈現(xiàn)出較好的形貌特征。具體處理流程如圖6 所示。
圖6 打印信號處理流程圖
為了提高步進電機的移動精準度,加入了梯形加減速控制算法,在步進電機的啟動、停止、轉(zhuǎn)向這些涉及到步進電機啟停的特定時間點加入文中算法來控制步進電機[16]。加減速實現(xiàn)功能圖如圖7 所示。
圖7 加減速實現(xiàn)功能圖
加減速模塊通過Verilog 程序代碼來實現(xiàn),主要包括頂層模塊sudu_control、位移計數(shù)模塊displace_count、脈沖發(fā)生模塊PWM_genrator、算術(shù)計算模塊arith_solve、狀態(tài)轉(zhuǎn)換模塊STATE_change。
在狀態(tài)轉(zhuǎn)換模塊中包含有加減速狀態(tài)轉(zhuǎn)換機,用于實現(xiàn)步進電機不同狀態(tài)之間的切換。具體狀態(tài)包含狀態(tài)等待、加速、減速、勻速、狀態(tài)停止、位移校正、停止等[17]。具體狀態(tài)轉(zhuǎn)換表如表3 所示。
表3 狀態(tài)轉(zhuǎn)換表
狀態(tài)轉(zhuǎn)換模塊用于讀取模塊的速度、位移等數(shù)據(jù)。根據(jù)速度和位移數(shù)據(jù)更改步進電機的轉(zhuǎn)換狀態(tài),完成加速的狀態(tài)識別和轉(zhuǎn)換。
為辨別各個狀態(tài)的轉(zhuǎn)換時刻,通過分析各個階段的實時速度和位移數(shù)據(jù),與速度和位移信號經(jīng)行比較。當滿足條件時,即可進行狀態(tài)轉(zhuǎn)換[18]。
具體的計算公式如下:
t1時刻的狀態(tài)轉(zhuǎn)換標志:
其中,ΔS為加速距離。
t2時刻的位移點計算公式為:
t2時刻的判斷信號為當前位移量displace_coun是否與目標值aim_count 相等:
t3時刻的標志位為:
頂層模塊讀取目標位置、速度、加速度及當前位置等數(shù)據(jù),計算出每一周期速度增加量以及減速點等數(shù)據(jù),再根據(jù)當前位置、當前速度自動控制當前速度的變化,完成加減速控制功能。
頂層模塊綜合圖如圖8 所示,加減速模塊通過Verilog 程序代碼實現(xiàn),頂層模塊sudu_control 用于各個模塊的綜合;位移計數(shù)模塊displace_count 用于計數(shù)步進電機的位移距離計算;脈沖發(fā)生模塊PWM_genrator 用于產(chǎn)生特定步進電機運動速度的脈沖波;算術(shù)計算模塊arith_solve 用于計算加減速轉(zhuǎn)換的標志位;狀態(tài)轉(zhuǎn)換模塊state_change 用于不同加減速狀態(tài)之間的轉(zhuǎn)換[19]。
圖8 頂層模塊綜合圖
在完成控制系統(tǒng)硬件與軟件設(shè)計的基礎(chǔ)上,搭建完整的控制系統(tǒng)平臺進行相關(guān)測試實驗,主要包括溫度調(diào)節(jié)測試、恒溫控制測試和實物打印測試。測試設(shè)備如圖9 所示,由上位機發(fā)送相關(guān)指令,觀測對應(yīng)實驗結(jié)果并進行分析。
圖9 測試設(shè)備
該研究進行了模擬支架的打印實驗。具體方法為:使用5%的海藻酸鈉溶液作為打印材料[20],打印1 mm×1 mm 網(wǎng)格型支架材料;在完成30 mm×30 mm的網(wǎng)格型支架打印后,使用4%的CaCl2溶液噴霧固化,待凝固后進行觀察。打印氣壓為35 kPa,行進速度為5 mm/s,噴頭開啟時間為400 μs。
圖10 為穩(wěn)定成型的網(wǎng)格支架實物。從10(a)中可以看出,支架整體打印完整度較好,行列之間基本保持平行,也從側(cè)面說明所設(shè)計加減速控制算法達到了較好的控制效果,位移控制相對精準。從局部放大圖10(b)中可以發(fā)現(xiàn),每個1 mm×1 mm 的正方形網(wǎng)格外輪廓一致性較好。
圖10 穩(wěn)定成型的網(wǎng)格支架實物
該文設(shè)計了一種基于FPGA、擁有多噴頭可以打印柔性材料的生物3D 打印機。分析和設(shè)計了打印機的各功能模塊、電路,編寫了打印機控制程序。為提高打印機打印的精確性,加入了步進電機的梯形控制算法,通過打印機的實驗驗證可知,基于FPGA的3D 打印機能夠?qū)崿F(xiàn)柔性材料的打印,滿足基本的柔性材料的打印需求?;贔PGA 的框架3D 打印機的設(shè)計,為生物凝膠材料固化成型技術(shù)提供了新的簡便制備方法。