丁承君,韓承都
(河北工業(yè)大學(xué) 機(jī)械工程學(xué)院 機(jī)械工程系,天津 300130)
隨著增材制造和快速成型(Rapid Prototyping)技術(shù)的普及,3D打印技術(shù)越來越為普通科技愛好者所熟知?,F(xiàn)今流行的3D打印技術(shù)按其所用材料的狀態(tài)及成形方法,可以分為熔融沉積成形(FDM)、光固化立體成形(SLA)、分層實(shí)體制造(LOM)、電子束選區(qū)熔化(EBM)、選擇性激光燒結(jié)(SLS)、激光選區(qū)熔化(SLM)、金屬激光熔融沉積(LDMD)、電子束熔絲沉積成形(EBF)[1]。在這些琳瑯滿目的3D打印技術(shù)中,近年來FDM型3D打印機(jī)憑借成本低廉、相關(guān)文獻(xiàn)資料豐富、研究學(xué)習(xí)門檻低的優(yōu)勢,獲得了3D打印愛好者的廣泛追捧。但熔融沉積成型3D打印機(jī)打印速度慢、成型精度低、打印模型表面粗糙度高的固有缺點(diǎn)總是差強(qiáng)人意。為了讓越來越多人了解3D打印技術(shù),繼熔融沉積成型技術(shù)之后,光固化立體成型將會憑借其成型精度高、成型速度快、模型表面光滑的優(yōu)勢引領(lǐng)下次3D打印浪潮。
光聚合成型技術(shù)起源于上世紀(jì)80年代,是最早研發(fā)的3D打印成型技術(shù)之一。一直以來研究機(jī)構(gòu)持續(xù)對該技術(shù)進(jìn)行深入研究,使其成為技術(shù)成熟、應(yīng)用廣泛的一種3D打印成型技術(shù)。光聚合成型技術(shù)包含:SLA(Stereo Lithography Appearance)光固化立體成型技術(shù)、DLP(Digital Light Processing)數(shù)字光處理等技術(shù)[2]。光固化的基本原理是光固化材料在紫外光的的照射下,其中的光引發(fā)劑吸收光子能量,從基態(tài)躍遷至激發(fā)態(tài),因?yàn)榧ぐl(fā)態(tài)屬于不穩(wěn)定狀態(tài),而后又從激發(fā)態(tài)自發(fā)的向下躍遷至低能級狀態(tài),并不一定是回到基態(tài),同時釋放能量讓預(yù)聚體發(fā)生聚合反應(yīng),從而實(shí)現(xiàn)材料的光固化反應(yīng)[3]。光固化立體技術(shù)和數(shù)字光處理技術(shù)都是利用這種原理,兩者區(qū)別主要在于讓光固化材料產(chǎn)生固化的光源不同,前者通常采用紫外光激光,利用掃描振鏡進(jìn)行路徑掃描填充;后者是主要利DMD(Digital Micromirror Device)芯片和投影系統(tǒng),選擇性透光控制。兩者的成本都比較高,所需的控制器的性能要求也比較高,研究困難,所以為了降低研究開發(fā)者入門門檻,一款低成本高性能的控制器的產(chǎn)生顯得十分迫切。因此本文著重針對光固化立體成型技術(shù)的控制系統(tǒng)進(jìn)行研究,解決當(dāng)前常用于激光振鏡控制的FPGA和DSP控制板價格昂貴、編程困難的弊端,設(shè)計了一款基于STM32的低成本控制系統(tǒng)方案。
SLA型3D打印機(jī)分振鏡上置式和振鏡下置式,上置式是指掃描振鏡在光敏材料的上方,下置式是指掃描振鏡位于光敏材料的下方,目前最流行的結(jié)構(gòu)形式是下置式結(jié)構(gòu)[4]。圖1為下置式光固化立體成型3D打印機(jī)的結(jié)構(gòu)示意簡圖,它主要由升降滑軌、模型吸盤、樹脂槽、光敏樹脂、掃描振鏡和激光器六部分組成。
圖1 振鏡下置式SLA打印機(jī)結(jié)構(gòu)示意圖
打印機(jī)的工作流程為由激光器發(fā)射的激光經(jīng)過二維掃描振鏡反射到透明的樹脂槽底部,進(jìn)行逐層掃描,樹脂槽底部內(nèi)側(cè)覆蓋離型膜或者硅膠,以避模型粘結(jié)在槽底[5]。圖中藍(lán)色的部分表示最新掃描完成的的一層,每掃描完成一層后,模型吸盤沿著升降滑軌上升一個層厚的高度。光敏樹脂呈粘稠狀而且流動速度慢,所以每完成一層掃描后,光敏樹脂無法快速補(bǔ)充到樹脂槽底部。為了使新固化的模型和樹脂槽底部分離以及補(bǔ)充底部樹脂,可以采用先升再降的方式,以0.1mm打印層厚為例,可以先抬高4mm,再下降3.9mm。所以這就需要一個步進(jìn)電機(jī)控制系統(tǒng)來控制模型的升降。同樣地要實(shí)現(xiàn)光敏樹脂的掃描固化就需要對振鏡和激光器的控制,針對振鏡和激光器的工作原理設(shè)計掃描振鏡控制模塊和激光器控制模塊。為了實(shí)現(xiàn)對掃描振鏡的實(shí)時控制,就會涉及大量浮點(diǎn)運(yùn)算,選用一個具有浮點(diǎn)運(yùn)算單元的處理器尤為重要。
本文選用STM32F407ZET6處理器作為主控制器,STM32F407ZET6是由意法半導(dǎo)體公司出品的一款芯片,它是一款基于ARM Cortex-M4內(nèi)核的精簡指令集(RISC)的低功耗、低成本、高性能處理器。最高工作頻率可達(dá)168MHz,144個引腳,512kB Flash,192kB SRAM與以往基于M0、M3內(nèi)核的芯片相比最大不同就是加入了浮點(diǎn)運(yùn)算單元(FPU),支持所有ARM單精度數(shù)據(jù)處理指令和數(shù)據(jù)類型,浮點(diǎn)運(yùn)算速度相比普通CPU運(yùn)算快上幾十倍。STM32F407的FPU恰好能滿足光固化的3D打印機(jī)的控制系統(tǒng)處理大量的浮點(diǎn)運(yùn)算的要求。圖2為控制系統(tǒng)總體架構(gòu)圖。
控制器由STM32最小系統(tǒng)、振鏡控制模塊、激光器控制模塊、步進(jìn)電機(jī)控制模塊、TF卡接口模塊、串口觸摸屏接口和供電電源七個部分組成。圖3為控制器硬件總體設(shè)計框圖。
圖2 控制系統(tǒng)總體架構(gòu)圖
圖3 控制器總體設(shè)計框圖
STM32的最小系統(tǒng)包括電源電路、晶振時鐘電路、復(fù)位電路、JTAG程序下載電路,關(guān)于最小系統(tǒng)的設(shè)計各種資料眾多這里就不再贅述。
振鏡的主要生產(chǎn)廠家主要在國外,國內(nèi)也有些生產(chǎn)廠家,價格相對較低,所以我們選用國產(chǎn)的掃描振鏡。它有兩塊空間正交的反射鏡組成,當(dāng)一束光射入x振鏡經(jīng)反射入y振鏡再經(jīng)y振鏡反射到掃描平面,x和y振鏡的偏轉(zhuǎn)角度可通過與其相連的振鏡電機(jī)的偏轉(zhuǎn)控制,偏轉(zhuǎn)范圍一般為-20°~+20°,由-5V~+5V的連續(xù)模擬電壓差分輸入控制,線性度高達(dá)99%,激光振鏡掃描原理圖如圖4所示。
圖4 激光振鏡掃描原理圖
經(jīng)過一列的推導(dǎo)計算得到X、Y振鏡偏轉(zhuǎn)角度與掃描平面坐標(biāo)(x,y)的對應(yīng)關(guān)系如下:
圖5 振鏡電機(jī)接口原理圖
式(1)、式(2)中θx、θy分別是振鏡X、振鏡Y偏轉(zhuǎn)的角度,(x,y)是掃描平面的坐標(biāo)。L為振鏡與掃描平面之間的距離,d為兩個振鏡之間的距離。要掃描固定的點(diǎn)只需使振鏡偏轉(zhuǎn)所需的角度即可,這就需要控制其產(chǎn)生與角度相對應(yīng)的模擬電壓。
一般處理器DAC有限,STM32F407自帶一個12位分辨率、0~3.3V、雙通道模數(shù)轉(zhuǎn)換器,每個振鏡電機(jī)需要兩個模擬輸入,所以就需要設(shè)計一個專門的振鏡控制接口。DAC902是一款并行輸入、12位分辨率、高性能的模數(shù)轉(zhuǎn)換器,最高采樣頻率可達(dá)165MSPS,再配合運(yùn)算放大器OPA690進(jìn)行電壓放大,就可以獲得所需要的電壓。圖4為振鏡電機(jī)控制接口原理圖。
為了減低成本,可以選擇波長為405nm、功率為50mw的激光器,這種激光器只有兩個端子。要對激光器進(jìn)行通斷和亮度控制,需要使用高質(zhì)量的、穩(wěn)定的DA電壓,但過多的DA接口電路需要占用處理器大量的接口資源,所以采用STM32產(chǎn)生PWM脈沖經(jīng)過低通濾波得到0~3.3V的電壓,再配合NMOS管的方式靈活控制。
PWM本質(zhì)上其實(shí)就是一種周期一定而高低電平占空比可調(diào)的方波。PWM波形可以用分段函數(shù)表示為式:
其中:T是單片機(jī)中計數(shù)脈沖的基本周期,也就是STM32定時器的計數(shù)頻率的倒數(shù)。N是PWM波一個周期的計數(shù)脈沖個數(shù),也就是STM32的預(yù)裝載寄存器的值。n是PWM波一個周期中高電平的計數(shù)脈沖個數(shù),也就是STM32的比較值寄存器的值。VH和VL分別是PWM波的高低電平電壓值,k為諧波次數(shù),t為時間。我們將式(3)展開成傅里葉級數(shù),得到式(4):
式(4)中第1項(xiàng)為直流分量,第2項(xiàng)為1次諧波分量,第3項(xiàng)為大于1次的高次諧波分量。式中的直流分量與n成線性關(guān)系,并隨著n從0到N,直流分量從VL到VL+VH之間變化。因此,如果能把式中除直流分量外的諧波過濾掉,則可以得到從PWM波到電壓輸出DAC的轉(zhuǎn)換,PWM波可以通過一個低通濾波器進(jìn)行解調(diào)。其原理圖如圖6所示。
圖6 激光器控制原理圖
步進(jìn)電機(jī)起到二維到三維的轉(zhuǎn)化的重要作用,步進(jìn)電機(jī)可以選用42步進(jìn)電機(jī),通過STM32產(chǎn)生的PWM脈沖驅(qū)動,控制步進(jìn)電機(jī)轉(zhuǎn)動速度和轉(zhuǎn)動步數(shù),步進(jìn)電機(jī)的供電電壓為12V和5V,可采用12V直流電源,用LM2596T-5.0電壓轉(zhuǎn)換的到5V電壓。
圖7 供電電源和步進(jìn)電機(jī)接口原理圖
為了充分利用處理器的資源,本文引入一種實(shí)時操作系統(tǒng)uC/OS,uC/OS是Micrium公司出品的開源RTOS類實(shí)時操作系統(tǒng),uC/OS目前有兩個版本:uC/OS II和uC/OS III。uC/OS III是一個可裁剪、可剝奪型的多任務(wù)內(nèi)核,而且沒有任務(wù)數(shù)限制。uC/OS III提供了實(shí)時操作系統(tǒng)所需的所有功能,包括資源管理、同步、任務(wù)通信等[6]。本文用到的處理器內(nèi)存比較小、不可能一次性的將模型的所有數(shù)據(jù)一次性存儲到內(nèi)存中,因此可以利用uC/OS多任務(wù)的特性,逐層循環(huán)存儲,不僅提高CPU的利用率,又解決了內(nèi)存不足的問題。
模型數(shù)據(jù)前處理過程是:由CAD、SolidWorks、UG、Catia等三維繪圖軟件生成的模型,可以保存為STL模型數(shù)據(jù)格式,這是一種用三角面片表達(dá)實(shí)體表面數(shù)據(jù)的標(biāo)準(zhǔn)文件格式[7],經(jīng)過切片軟件如Cura的分層處理、路徑規(guī)劃處理、添加支撐處理后得到打印機(jī)可以處理的G代碼[8]。再將G代碼傳輸給3D打印機(jī)的控制系統(tǒng)。數(shù)據(jù)傳輸有三種途徑,一是通過USB將數(shù)據(jù)實(shí)時傳送到控制器的內(nèi)存中,二是先把代碼復(fù)制到TF卡中、再插到控制器卡槽中進(jìn)行脫機(jī)打印,三是通過網(wǎng)絡(luò)傳輸。這里為了節(jié)約成本,采用脫機(jī)3D打印的模式。圖8為控制系統(tǒng)軟件運(yùn)行流程圖。
脫機(jī)3D打印控制系統(tǒng)軟件運(yùn)行的流程為:
1)用戶可以通過與控制器用串口相連的觸摸屏進(jìn)行人機(jī)交互,瀏覽并選擇所需打印的模型,并進(jìn)行相關(guān)參數(shù)設(shè)置,當(dāng)設(shè)置完成后,控制器接收到串口中斷,接收用戶的打印命令。
2)控制器接收到串口觸摸屏的指令后,通過FATFS文件系統(tǒng)的文件讀寫功能,從TF卡中讀取相對應(yīng)模型的一層數(shù)據(jù),并存放到內(nèi)存中的數(shù)據(jù)段緩沖區(qū)中,經(jīng)過一系列的代碼解析運(yùn)算,提煉出3D打印所需要的掃描路徑坐標(biāo)點(diǎn),由執(zhí)行機(jī)構(gòu)振鏡完成由點(diǎn)到線再到面的固化,直到一層模型掃描固化完成。
3)判斷上一層是否掃描完成,若完成,利用uC/OS III的多任務(wù)功能,讀取下一層的數(shù)據(jù)并存入緩沖區(qū)中,同時模型吸盤沿著滑軌上升一個層厚,檢查數(shù)據(jù)緩沖區(qū)數(shù)據(jù)是否就緒,若就緒則執(zhí)行步驟2),如此循環(huán)往復(fù),進(jìn)而完成由二維到三維的轉(zhuǎn)變。
圖8 軟件系統(tǒng)流程圖
激光在3D打印技術(shù)中應(yīng)用非常之廣,很多形式的3D打印技術(shù)都使用激光造型,比如SLM、SLS、SLA、LOM等技術(shù)都用到了激光。比起為人所熟知的FDM技術(shù),這些激光3D打印技術(shù)由于元器件價格昂貴、開發(fā)困難、資料較少鮮為人知。所以本文為了降低激光3D打印技術(shù)的入門門檻,使除熔融沉積3D打印技術(shù)以外的其他3D打印技術(shù)為更多的人所了解。設(shè)計了一款基于STM32F407的低成本、高性能控制器,并對所需要的具體的硬件模塊進(jìn)行了針對性的設(shè)計,解決了FPGA控制板價格昂貴、編程困難的問題。在此基礎(chǔ)上,為了解決處理器內(nèi)存容量小的問題,引入了一個體積小、可裁剪、移植性好的硬實(shí)時操作系統(tǒng)uC/OS III,利用操作系統(tǒng)的多任務(wù)功能循環(huán)讀取和存儲模型的G代碼,既解決了內(nèi)存問題又提高了處理器的利用率,實(shí)現(xiàn)光固化立體成型3D打印機(jī)的脫機(jī)3D打印。
[1]李軒,莫紅,李雙雙,等.3D打印技術(shù)過程控制問題研究進(jìn)展[J].自動化學(xué)報,2016,42(7):993-994.
[2]趙炯,于學(xué)海,楊天豪,周高楊,等.基于嵌入式Linux的桌面級DLP型3D打印機(jī)設(shè)計[J].機(jī)電工程,2017,35(5):547-550.
[3]方浩博.基于數(shù)字光處理技術(shù)的3D打印設(shè)備研制[D].北京:北京工業(yè)大學(xué),2016,06.
[4]李東方,陳繼民,袁艷萍,黃寬,方浩博.光固化快速成型技術(shù)的進(jìn)展及應(yīng)用[J].北京工業(yè)大學(xué)學(xué)報,2015,41(12):1769-1774.
[5]王春梅,楊文龍.多色光敏樹脂3D打印機(jī)的設(shè)計與實(shí)現(xiàn)[J].機(jī)電工程,2017,34(9):999-1003.
[6]王澤,肖繼學(xué),張漢中,等.uC/OS III的實(shí)時性測試[J].測控技術(shù),2016,35(5):106-110.
[7]周勇,秦海芳,楊怡,劉巧云.紫外光固化鈦摻雜含硼硅氧烷的制備及在3D打印材料中的應(yīng)用研究[J].化工新型材料,2017,45(9):199-203.
[8]劉利剛,徐文鵬,王偉明,等.3D打印中的幾何計算研究進(jìn)展[J].計算機(jī)學(xué)報,2015,38(6):1243-1266.