殷戎飛,徐海黎,田為廣,徐勛倩,沈 標
(1.南通大學機械工程學院,江蘇 南通 226019;2.南通大學交通與土木工程學院,江蘇 南通 226019;3.南京藍泰交通設施有限責任公司,江蘇 南京 210019)
傳統建筑施工一般是在室外露天環境下人工進行作業,通過磚塊壘砌或預制模板澆筑混凝土的方式進行建造,不僅勞動強度高,而且施工效率低且周期長,資源浪費也頗為嚴重[1-2]。
3D建筑打印具有快速成型、環保節能以及人力成本低等特點,廣泛應用于小型移動建筑的建造以及建筑構件、市政工程構件和景觀裝飾物的制造,其在異形建筑構件制造上的優勢尤為突出[3-5]。近年來,3D建筑打印技術逐漸興起。例如:麻省理工大學的Cesaretti等研發了一種集履帶式移動伸縮臂和機械臂于一體的3D建筑打印小車[6];俄羅斯Apis Cor公司的Lim等研發了一種底座固定的伸縮臂式3D建筑打印機,其可通過底座液壓系統進行豎直方向上的升降[7]。但是,上述2種打印裝置均為實驗室級別,其結構復雜,實際應用效率低,且前者的打印材料為輕體泡沫類材料,表面硬度和抗壓強度均不如混凝土材料。盈創建筑科技(上海)有限公司的丁烈云、馬義和等采用混凝土3D打印技術打印了建筑構件,并通過構件裝配來建造別墅[8-9],但該打印設備體積龐大,成本高昂,所需的配套設備和人力、物力較多,準入門檻較高。目前,國內僅少數高校、研究院對3D建筑打印機進行了自主研發。例如:華中科技大學的覃亞偉等基于擠出固化打印技術研制了一種3D建筑打印裝置,其控制系統選用廣州數控設備有限公司生產的GSK980MDc鉆銑床數控系統(經二次開發),該打印裝置能夠利用水泥砂漿打印尺寸為1 m×1 m以內的簡單建筑構件[10];中國地質大學的張永虹通過在FANUC Robot R-2000ic機械臂的J6軸末段安裝打印噴頭,研制了一種機械臂式3D建筑打印機,其主控系統采用西門子S7-1500 PLC(programmable logic controller,可編程邏輯控制器),并集成外圍送料模塊,實現了建筑構件的自動打印[11],但該打印機的工作范圍有限,硬件價格昂貴,控制方法較三軸正交式打印機復雜,從而導致其控制系統的自主性和拓展性受限。
為提高3D建筑打印的成型質量和打印效率,滿足實際工程應用和成本的要求,筆者研制了一種適用于中小型建筑構件打印的框架式3D建筑打印機。該打印機的結構簡單且穩定。首先,以ARM(advanced reduced instruction set computer machine,高級精簡指令集計算機)處理器為主控核心建立開放式控制系統;然后,對控制系統的硬件結構和軟件系統進行設計,并確定提高成型質量和打印效率的速度控制方法;最后,通過仿真對比和實際打印測試來驗證所設計控制系統的可行性和高效性。
框架式3D建筑打印機主要用于打印尺寸為3 m×3 m×3 m以內的建筑構件和市政裝飾等,其整體采用龍門架結構,主要包括外框架,X、Y軸同步帶線性移動組件,Z軸絲桿升降組件(由滾珠絲桿、導軌和驅動電機組成),擠出給料組件(由擠料漏斗、驅動電機、螺桿和擠出頭等組成)和工作臺等機械結構,如圖1所示。該打印機通過X、Y軸同步帶傳動實現擠出給料組件的左右及前后移動,依靠Z軸絲桿傳動實現擠出給料組件的上下移動。打印機機身外框架采用優質型材制作,其穩定性強;X、Y方向采用帶輪與同步帶嚙合來傳遞電機動力,同步帶選用圓弧齒帶,其傳動功率較梯形齒帶的大,且耐磨性好;同步帶通過嚙合板上下緊固,下嚙合板尾部采用腰圓孔設計,便于裝配時張緊同步帶;Z方向采用滾珠絲桿配合兩側導軌的結構實現升降,且驅動電機帶有自鎖功能;擠料漏斗中的混凝土通過螺桿轉動擠出,漏斗側壁安裝了1個小型振動電機,用于防止混凝土粘結在漏斗內壁上,以及保證混凝土順暢地被擠出。
框架式3D建筑打印機采用的打印方式與常見的以PLA(polylactic acid,聚乳酸)塑料為原料的FDM(fused deposition modeling,熔融沉積成型)打印方式類似[12-14],其工藝流程(見圖2)為:首先建立建筑構件的三維數字模型,對三維數字模型進行格式轉換并將其導入切片軟件;然后經分層和路徑填充算法[15]處理得到用于控制機械運動的G指令,并通過下位機控制器解析處理以驅動執行機構進行分層打印、逐層疊加,從而獲得建筑構件實體;最后對打印的建筑構件實體進行澆水養護,以防止混凝土表面干縮、開裂。對于大型建筑物,可將其拆分成若干個易打印的構件,逐一打印每個構件后再進行拼接。在實際打印中,因受限于水泥混凝土的特殊性(其凝固成型速度比PLA塑料熔融成型慢),同時考慮到建筑構件的穩定性,在打印到某一高度時須添加橫向鋼筋網以加固構件,提高其強度。
框架式3D建筑打印機控制系統的硬件架構如圖3所示,其主要由主控模塊、電源模塊、電機驅動模塊、限位傳感檢測模塊和人機交互模塊組成。建筑或建筑構件的三維數字模型經切片軟件處理后生成的G指令通過串口通信或網絡傳輸發送至打印機的控制系統,主控模塊通過內嵌的算法進行G指令解析并對擠出給料組件進行運動規劃,得到伺服驅動器所需的脈沖信號和方向信號;而后伺服驅動器根據輸入的脈沖序列控制對應伺服電機的運轉,以實現打印機的三軸移動和擠出動作。

圖3 框架式3D建筑打印機控制系統的硬件架構Fig.3 Hardware architecture of control system of frame 3D construction printer
1)主控模塊。主控芯片采用意法半導體公司生產的基于ARM Cortex-M7內核的STM32H750芯片,其工作頻率高達 480 MHz[16]。STM32H750芯片上外設豐富,包括4個用于數據通信的串口、1個用于下載程序的JTAG(joint test action group,聯合測試行動小組)接口、2個高級控制定時器和10個通用定時器,可滿足框架式3D建筑打印機的多電機控制需求。設計時在STM32H750芯片的1 060 kB SRAM(static random-access memory,靜態隨機存取存儲器)的基礎上擴展2個32 MB的SDRAM(synchronous dynamic random-access memory,同步動態隨機存取存儲器),以增大控制系統的內存,從而提高任務處理速度。同時,STM32H750芯片上還集成了液晶顯示控制器和圖像硬件加速器,節省了成本并提高了圖像內容的創建速度,能更好地進行人機交互界面的建立以及數據的顯示、刷新處理。
2)電源模塊。控制系統中主控芯片的工作電壓為3.3 V,光耦隔離與差分輸出芯片的工作電壓為5 V,限位開關的工作電壓為24 V。因此,選擇24 V電源,24 V電壓經電壓轉換芯片LM2596轉換為5 V,供光耦隔離與差分輸出芯片使用;5 V電壓再經電壓轉換芯片LM1086(內部集成調整電阻以輸出固定電壓)轉換為3.3 V,供主控芯片使用。
3)電機驅動模塊。采用臺達ASDA-A2系列伺服驅動器及ECMA系列永磁式交流伺服電機,其中X、Y軸伺服電機的功率為750 W,Z軸伺服電機的負載相對較大,其功率為1 500 W。伺服驅動器通過位置模式控制伺服電機,位置命令由驅動器的端子臺輸入,其脈沖信號和方向信號均為差分輸入信號。而主控芯片的輸出信號為單端信號,因此采用AM26LS31芯片將單端信號轉換為差分信號,同時差分信號可以抵消共模噪聲,具有較強的抗干擾能力。此外,主控芯片與差分芯片的工作電壓不同,為防止主控芯片因受到被控側強電壓的干擾和沖擊而損壞,采用光耦TLP521對2個芯片的電路進行光電隔離,并配合差分芯片實現遠距離、高可靠的輸出。
4)限位傳感檢測模塊。限位開關用于避免打印機各軸運動超程,起到安全保護的作用。當限位信號有效時,利用光耦拉高輸出端電平。當主控芯片檢測到電平變化時,觸發中斷程序以使伺服電機停止轉動。
5)人機交互模塊。選用中科世為科技有限公司生產的Z11s串口觸摸屏,基于專門的上位機軟件FlyThings IDE集成開發環境完成控制系統主界面、參數設置界面等功能界面的設計和觸摸配置。串口觸摸屏通過串行通信接口與主控芯片的外設引腳連接,實現串口觸摸屏存儲器變量數據的寫入。
3D建筑打印機的打印軌跡由若干條連續小線段組成。對于連續小線段上的進給過程,傳統方法是對每條小線段進行先加速后減速甚至停止,這會造成電機頻繁啟停,且加工效率也不高[17]。但若整個打印軌跡的進給過程保持速度不變,則各連續小線段的銜接處可能會因速度方向突變而產生沖擊,從而導致水泥砂漿形成堆積或斷料。速度前瞻處理是通過提前獲取后續運動段的信息,計算并調整各運動段銜接處的速度,以減小速度波動。良好的速度前瞻規劃可以有效提高打印的效率和質量。
3.1.1 加減速控制算法
目前,運動控制系統中常用的加減速算法主要有梯形加減速算法、S形曲線加減速算法和指數曲線加減速算法等[18-19]。其中,S形曲線加減速算法是一種柔性較好的加減速控制策略,但實現過程復雜且計算量較大,對硬件處理能力的要求也較高;指數曲線加減速算法的初始加速度大,導致啟動沖擊大,且計算量大以及所需硬件資源的負荷較大;梯形加減速算法的計算相對簡單,在同等條件下可更快速地進行速度規劃,可滿足3D建筑打印的基本需求。基于梯形加減速算法的速度和加速度曲線如圖4所示,分為勻加速、勻速和勻減速三個階段,各階段對應的速度和加速度分別為:

圖4 基于梯形加減速算法的速度和加速度曲線Fig.4 Velocity and acceleration curves based on trapezoidal acceleration and deceleration algorithm


式中:νs為運動段初速度,m/s;νmax為運動段最大速度,m/s;νe為運動段末速度,m/s;a1、-a1為運動段的加速度和減速度,m/s2。
3.1.2 前瞻速度限制條件
將打印路徑拆分成若干條連續的運動段,如圖5所示,各運動段銜接處(即拐點)的速度受拐角、前后運動段長度和進給速度的影響。

圖5 打印路徑拆分示意Fig.5 Schematic diagram of printing path split
以圖5中的拐點Pi為例,根據動力學約束條件,其拐角限制速度應滿足:

式中:νi,θ為拐點Pi的拐角限制速度,m/s;Δθ為運動段Pi-1Pi與運動段 PiPi+1的夾角,rad;anmax為打印機的最大允許轉向加速度,m/s2;T為插補周期,s。
根據勻加減速規律可得:

式中:armax、-armax為運動段的最大加速度和減速度,m/s2;νi-1、νi和νi+1為拐點Pi-1、Pi和Pi+1處的速度,m/s;Li為運動段Pi-1Pi的長度,m。
基于式(4),可得:

式中:νi,f為從拐點 Pi-1以給定加速度 armax勻加速至拐點Pi的速度,即前運動段長度限制速度,m/s;νi,b為從拐點Pi以給定減速度-armax勻減速至拐點Pi+1的速度,即后運動段長度限制速度,m/s。
由此可得,拐點Pi處的速度為:

式中:νj為進給速度。
3.1.3 速度前瞻處理的實現
當基于G指令解析出來的運動段數據存入結構體數據類型變量后,速度前瞻處理函數會將每一運動段的數據添加到前瞻隊列并進行速度前瞻計算。基于各運動段起點和終點的坐標,計算得到X、Y軸的位移,判斷位移較大的坐標軸并在插補時將其作為基準軸。
在進行打印速度前瞻處理時,須預設前瞻路徑段數。如圖5所示,記拐點Pi-1至Pe之間有j條運動段,且第j條運動段的末速度為0 m/s。當j條運動段進入前瞻隊列后,前瞻標志位置1并開啟速度前瞻處理。拐點Pi-1處的速度為上一次前瞻處理后運動段Pi-2Pi-1的末速度 νi-1,結合運動段 Pi-1Pi的長度 Li計算得到νi,f。運動段Pe-1Pe為前瞻隊列中新補入的運動段,其末速度νe=0 m/s,根據式(6)計算得到拐點Pe-1的后運動段長度限制速度νe,b,同時根據相鄰運動段的幾何信息得到運動段Pe-1Pe的方向向量,并計算其與相鄰運動段的夾角,而后根據式(3)計算出拐點Pe-1的拐角限制速度,比較上述兩者的大小,取較小者作為前一運動段Pe-2Pe-1的末速度。然后,j自動減1,重復上述過程,計算運動段Pe-3Pe-2的末速度,以此類推。當j=0時,即可得到拐點Pi的后運動段長度限制速度νi,b。最后,根據式(7)確定拐點Pi的速度。速度前瞻處理流程如圖6所示:將拐點Pi-1的速度(上一次前瞻處理得到)和拐點Pi的速度傳輸至梯形加減速模塊,按照運動段的初、末速度和長度來判斷具體的加減速狀態,完成運動段Pi-1Pi的插補。同理,對拐點Pi至Pe+1之間的j條運動段進行新的速度前瞻處理,直到完成整個G指令對應的速度前瞻處理。

圖6 速度前瞻處理流程Fig.6 Flow chart of speed look-ahead processing
所設計的框架式3D建筑打印機的控制系統包括數據處理、運動控制、人機交互和邏輯控制等多個功能模塊。若是在未配置操作系統的計算機中進行開發,對于多個任務,一般通過定時器計時中斷當前任務并將CPU(central processing unit,中央處理器)使用權交由下一任務。但當任務數較多或任務間數據交互頻繁時,上述任務調度方式的程序煩瑣,且無法保證系統的穩定性。故本文采用RT-Thread嵌入式操作系統,按照功能需求建立相對簡單的程序作為線程任務,任務之間的切換通過操作系統的調度器實現,任務之間的數據交互通過郵箱、消息隊列和信號實現,從而實現各任務間的參數傳遞,用于數據計算、脈沖信號生成和觸摸屏數據讀取、顯示。當控制系統上電初始化正常后,其處于檢測觸摸屏有無按鍵操作的狀態,此時可設置建筑打印的工作參數和添加鋼筋網的高度及層數或手動控制電機運動等;當檢測到移動存儲設備接入后,控制系統讀取移動存儲設備中的G指令或接收上位機的G指令串口數據,而后開始打印。在打印過程中,控制系統通過解析G指令來獲取坐標數據,以計算拐點速度并規劃打印速度,從而控制擠出給料組件的運動;同時,控制系統根據打印高度來判斷是否需要添加橫向鋼筋網。框架式3D建筑打印機控制系統的任務執行流程如圖7所示。

圖7 框架式3D建筑打印機控制系統的任務執行流程Fig.7 Task execution process of control system of frame 3D construction printer
所設計的框架式3D建筑打印機采用中科世為科技有限公司生產的Z11s串口觸摸屏作為人機交互界面,觸摸屏與主控芯片通過串口通信的方式進行數據交互。人機交互界面主要包含主界面、參數設置界面、載入程序界面、手動和自動執行界面以及報警指示界面。其中,主界面如圖8(a)所示,可實時顯示打印頭的位置坐標,并包含“暫停”“回零”等操作按鍵,用戶可在主界面中輸入要放置橫向鋼筋網的打印層數;參數設置界面主要用于設置進給速度、最大允許轉向加速度和最大加速度等;載入程序界面用于選擇執行目標建筑構件打印的G指令程序,其中手動執行界面可實現擠料和三軸移動的單獨操作功能;針對打印到某高度時須添加橫向鋼筋網的實際需求,設計了自動暫停和提醒的功能,如圖8(b)所示,操作者放置好鋼筋網后,觸摸點擊“繼續”按鍵即可繼續打印。

圖8 框架式3D建筑打印機的人機交互界面Fig.8 Human-machine interaction interface of frame 3D construction printer
框架式3D建筑打印機控制系統測試包括控制性能仿真測試和樣機打印測試,并從打印的效率和質量上進行對比分析。
輸入框架式3D建筑打印機的仿真打印軌跡路徑,如圖9(a)所示(以打印機工作臺的左下角為原點),設置打印進給速度為0.02 m/s,最大加速度和減速度分別為0.1 m/s2和-0.1 m/s2,最大允許轉向加速度為0.5 m/s2,插補周期為0.005 s,采用梯形加減速算法進行速度規劃。基于傳統速度控制方法和速度前瞻處理方法的打印速度變化曲線分別如圖9(b)和圖9(c)所示。傳統未使用速度前瞻的加減速方法在每一段路徑的起、終點都將速度降為0 m/s,而使用速度前瞻處理的加減速方法會根據拐點角度和打印機的機械特性自適應地調整銜接處的速度,減少了加減速次數,加工時間相對于傳統方法約縮短了11%,提高了打印效率。

圖9 仿真打印軌跡路徑及基本不同速度控制方法的打印速度變化曲線Fig.9 Simulation printingW track path and printing speed variation curves based on different speed control methods
基于傳統速度控制方法和速度前瞻處理方法,利用框架式3D建筑打印機樣機進行建筑構件試件打印測試,結果如圖10所示。從圖10中可以看出,基于上述2種方法打印的建筑構件的表面質量差異較大。由此可知,基于速度前瞻處理方法的建筑構件打印效果明顯優于基于傳統速度控制方法的,構件表面更光滑,混凝土成型均勻,且無斷料或堆積。此外,測試結果表明,經速度前瞻處理后打印效率明顯提升。

圖10 基于不同速度控制方法的建筑構件打印效果比較Fig.10 Comparison of printing effect of construction component based on different speed control methods
為進一步驗證采用速度前瞻處理方法的框架式3D建筑打印機的穩定性,利用樣機按圖11(a)所示的層片路徑打印崗亭建筑構件,打印的構件實物如圖11(b)所示。結果表明,該打印機的實際打印效果較好,相比于傳統的預制模具澆筑成型方式,其能夠有效地實現不規則形狀建筑構件的快速成型,具有較大的實際應用價值。

圖11 崗亭建筑構件打印路徑及實物Fig.11 Printing path and physical object of sentry box construction component
針對傳統建筑施工中存在的勞動強度高、周期長等情況以及現有3D建筑打印機體積龐大和成本高昂的問題,設計了一種框架式3D建筑打印機,實現了中小型建筑構件的自動打印。所設計的打印機支持打印暫停、斷點續打和加筋自動提示等操作,為建筑構件的智能化制造提供了一種新方法。區別于傳統的PLC控制模式,本文開發了基于ARM的嵌入式控制系統,降低了控制系統的成本,且模塊化設計使得控制系統更具靈活性,G指令可以通過串口或網絡傳輸至控制系統;此外,人機交互界面簡潔,操控便捷。最后,通過對比分析了速度前瞻處理方法和傳統速度控制方法對打印質量和效率的影響。仿真和實際打印測試結果表明,采用速度前瞻處理方法的框架式3D建筑打印機具有更高的打印效率,且成型構件表面光滑無裂紋。下一步計劃建立基于阿里云物聯網平臺[20]的3D建筑打印機管控云平臺,在控制系統中擴展網絡通信模塊,結合阿里云平臺的IoT SDK(internet of things software development kit,物聯網軟件開發包)進行開發,將打印數據等命令數據按照制定的數據協議格式發送至打印機控制系統,實現打印機的云端控制與管理。