王蘇洲,舒志兵,李 俊
(南京工業(yè)大學(xué)電氣工程與控制科學(xué)學(xué)院,南京 211816)
基于ARM的桌面型3D打印機(jī)控制系統(tǒng)的設(shè)計(jì)與優(yōu)化
王蘇洲,舒志兵*,李 俊
(南京工業(yè)大學(xué)電氣工程與控制科學(xué)學(xué)院,南京 211816)
在分析傳統(tǒng)3D打印機(jī)結(jié)構(gòu)組成和工作原理的基礎(chǔ)上,選用ARM Cortex-M3內(nèi)核 LPC1768為微控制器。采用熔融沉積造型技術(shù)(FDM),針對傳統(tǒng)采用單路固定數(shù)據(jù)傳輸導(dǎo)致打印速度過慢的問題,采用打印效率和打印速度對偶分析方法,融入頻分多路復(fù)用方法實(shí)現(xiàn)桌面型3D打印機(jī)的多目標(biāo)集優(yōu)化控制,并對速度量化指標(biāo)進(jìn)行評估,根據(jù)不同頻率傳送各路打印請求信息,實(shí)現(xiàn)打印速度提升。通過仿真并搭建測試平臺,最后對設(shè)計(jì)的3D打印機(jī)進(jìn)行性能測試,驗(yàn)證該桌面型3D打印機(jī)控制系統(tǒng)設(shè)計(jì)的可行性與有效性。
3D打印機(jī);頻分多路復(fù)用;提高速度;優(yōu)化控制系統(tǒng)
3D打印技術(shù)作為新型制造技術(shù)的典型代表,如今得到了快速發(fā)展,逐步成為引領(lǐng)未來制造行業(yè)的重要技術(shù)[1]。進(jìn)行3D打印不需要機(jī)械加工或模具,可以直接用計(jì)算機(jī)繪圖軟件生成任意形狀的物體,借助三維制圖軟件進(jìn)行計(jì)算機(jī)建模,并通過用塑料、粉末化、特殊蠟質(zhì)材料逐層“打印”出實(shí)物。當(dāng)前桌面型3D打印機(jī)大都采用單路的固定數(shù)據(jù)傳輸,這樣的傳輸方式嚴(yán)重影響了打印速度。3D打印機(jī)的打印速度是打印機(jī)工作效率的重要體現(xiàn),通過提高3D打印和三維建模的可以提高生產(chǎn)效率,所以對提升桌面型3D打印機(jī)速度算法的研究具有重要意義[2]。
本文選用NXP公司的ARM Cortex-M3內(nèi)核 LPC1768為微控制器,采用基于頻分多路復(fù)用(FDM)的3D打印機(jī)速度控制方法,詳細(xì)介紹了3D打印機(jī)的硬、軟件設(shè)計(jì),提出了一款高速度、高精度FDM型桌面3D打印機(jī)的設(shè)計(jì)方案。針對傳統(tǒng)3D打印機(jī)采用單路固定數(shù)據(jù)傳輸導(dǎo)致打印速度過慢的問題,本系統(tǒng)對基于ARM的桌面型3D打印機(jī)速度進(jìn)就行了優(yōu)化[2]。
1.1 3D打印機(jī)的工作原理
3D打印利用計(jì)算機(jī)繪制三維模型,并生成STL文件,憑借打印材料熔點(diǎn)低、成型快的特點(diǎn),通過噴頭加熱以及擠出機(jī)的擠壓,將打印材料以細(xì)絲狀形式擠出,按照三維模型“分區(qū)”成逐層的截面,即切片,然后進(jìn)行逐層打印,其數(shù)據(jù)處理流程如圖1所示。

圖1 3D打印機(jī)數(shù)據(jù)處理流程
3D打印機(jī)控制系統(tǒng)由上位機(jī)及3D打印機(jī)兩個(gè)部分組成,上位機(jī)負(fù)責(zé)完成物體建模以及對模型的三維切片,生成打印機(jī)可以識別的Gcode文件,3D打印機(jī)按照指令使噴頭按照預(yù)先設(shè)定的路徑逐層完成3D打印任務(wù)[4]。要想順利完成3D打印任務(wù),需要確保模型的大小在打印機(jī)最大打印范圍內(nèi),如果超出了打印范圍則需修改模型的尺寸。
在打印前,利用切片軟件對3D模型進(jìn)行切片,切片的目的是將模型分割成逐層的截面,切片軟件將切片后模型的尺寸大小、形狀等轉(zhuǎn)換成打印機(jī)能夠是別的指令,最終把計(jì)算機(jī)上的模型變?yōu)閷?shí)物。
1.2 機(jī)械結(jié)構(gòu)設(shè)計(jì)
本文設(shè)計(jì)的桌面型3D打印機(jī)屬于一種常見的封閉式打印機(jī)的機(jī)種,完成3D打印的執(zhí)行機(jī)構(gòu)是3D打印機(jī)的機(jī)械結(jié)構(gòu)本體,它主要由熱床、步進(jìn)電機(jī)、擠出機(jī)、零位傳感器等部件組成[5]。其機(jī)械結(jié)構(gòu)如圖2所示。

圖2 3D打印機(jī)機(jī)械結(jié)構(gòu)示意圖
選用NXP公司生產(chǎn)的ARM Cortex-M3內(nèi)核 LPC1768作為微控制器,控制系統(tǒng)主要控制步進(jìn)電機(jī)、擠出機(jī)加熱電阻和加熱床的溫度、擠出機(jī)工作零點(diǎn)與行程;與上位機(jī)通信采用USB。控制系統(tǒng)框圖如圖3所示。通過電源電路向控制系統(tǒng)供電;獲取 SD 卡里的打印數(shù)據(jù)主要由LPC1768 微控制器的片內(nèi) SPI 接口主負(fù)責(zé),通過片內(nèi) USB 接口與上位 PC 機(jī)完成可靠、快速的通信,確保打印數(shù)據(jù)及時(shí)無誤的傳送,同時(shí)上位PC機(jī)還可以通過 USB 接口對系統(tǒng)發(fā)送指令。兩路輸出的信號分別控制加熱床加熱電路和擠出機(jī)加熱電路中的低通電阻 NMOS 功率開關(guān)管,實(shí)現(xiàn)加熱床及擠出機(jī)中加熱電阻的加熱。片內(nèi)A/D將溫度傳感器電路內(nèi)的兩路模擬量轉(zhuǎn)換經(jīng)通道輸入,實(shí)現(xiàn)對加熱床、擠出機(jī)溫度的檢測與控制。四路步進(jìn)電機(jī)驅(qū)動電路主要負(fù)責(zé)控制X、Y、Z這3個(gè)軸的步進(jìn)電機(jī)及擠出機(jī)的步進(jìn)電機(jī),實(shí)現(xiàn)打印件的打印。三路行程開關(guān)電路主要負(fù)責(zé)定位X、Y、Z軸的原點(diǎn)和運(yùn)動相對位移量。ISP/JTAG接口主要負(fù)責(zé)測試程序的燒寫與調(diào)試[6]。

圖3 3D打印機(jī)控制系統(tǒng)框圖
3.1 控制系統(tǒng)主程序設(shè)計(jì)
控制系統(tǒng)軟件能夠?qū)崿F(xiàn)通信、數(shù)字信號控制和數(shù)據(jù)讀取與處理等功能。系統(tǒng)主程序主要負(fù)責(zé)系統(tǒng)初始化和應(yīng)用函數(shù)的聲明;通過SP1接口讀取SD卡中的配置文件;判斷是否有上位機(jī)發(fā)送的數(shù)據(jù)通過USB接口,若有上位機(jī)發(fā)送的數(shù)據(jù),讀取數(shù)據(jù)并保存在串口接收的緩存區(qū);若沒有上位機(jī)發(fā)送的數(shù)據(jù),讀取SD卡中打印數(shù)據(jù)并保存到SD卡接收緩存區(qū),然后處理接收的數(shù)據(jù),如果超過30 s沒有數(shù)據(jù)處理,關(guān)閉程序控制功能并停止步進(jìn)電機(jī)。系統(tǒng)主流程圖如圖4所示。

圖4 系統(tǒng)主流程圖
3.2 上位機(jī)控制軟件的設(shè)計(jì)
本文設(shè)計(jì)的3D打印機(jī)可以實(shí)現(xiàn)遠(yuǎn)程控制功能,具有良好的人機(jī)控制界面,借助開源切片軟件Slic3r的優(yōu)點(diǎn),調(diào)用Slic3r提供的API實(shí)現(xiàn)三維切片的功能,點(diǎn)擊文件的加載模型按鈕可加載STL文件,在切片中完成3D模型的切片并適當(dāng)調(diào)整模型位置,點(diǎn)擊文件中“生成geode格式文件”,即可生成Crcode文件,通過USB網(wǎng)絡(luò)遠(yuǎn)程或直接使用SD卡將數(shù)據(jù)導(dǎo)入3D打印機(jī),開始打印實(shí)物,打印過程中可以預(yù)覽打印物體的3D效果圖,也可以查看打印進(jìn)度及參數(shù)。上位機(jī)軟件界面如圖5所示。

圖5 上位機(jī)軟件界面
3.3 3D打印機(jī)速度提升與優(yōu)化
根據(jù)對FDM型3D打印機(jī)工作原理詳述,對打印控制的參數(shù)模型進(jìn)行分析。本文設(shè)計(jì)的打印機(jī)系統(tǒng)可看成是一個(gè)頻分多路復(fù)用,則打印機(jī)的過程控制參數(shù)可以表示為:
(1)
S={S1,S2,…,Snum}為打印物體的模具集合;P為正在打印生產(chǎn)的作業(yè)數(shù);Nq為可進(jìn)行第q項(xiàng)工作時(shí)的組別數(shù)量;Ni為參與第i項(xiàng)作業(yè)的區(qū)域熔融沉積材料的厚度;Y(i)為3D打印各路作業(yè)輸入信號的頻譜向量和打印通道之前的干擾矩陣為X(i),打印機(jī)激發(fā)態(tài)躍遷矩陣的維數(shù)分別為N(i)x1和N(i)xm。
對于3D打印速度制約參數(shù)模型的建立,根據(jù)打印機(jī)逐層級聯(lián)退激基態(tài)分解的子矩陣規(guī)模為L×m,打印效率和速度為Bu與Bv,采用對偶分析法對打印效率和打印速度建立模型[7]:
(2)
(3)
由式中Bik生產(chǎn)組別K完成后端數(shù)據(jù)進(jìn)行存儲,進(jìn)行3D打印輸出,得到i項(xiàng)打印的經(jīng)濟(jì)成本為:
(4)
以此為基礎(chǔ),對3D打印機(jī)的速度控制優(yōu)化設(shè)計(jì)。
對于桌面型3D打印機(jī)的FDM控制,確定變量和數(shù)組的儲存空間是前提。本文采用熱塑性材料FDM控制方法,根據(jù)介質(zhì)不同,使得打印后的物體具有良好的三維特征。在打印作業(yè)中,為了提高打印效率與速度,控制噴頭內(nèi)對加熱熔化的材料至關(guān)重要。數(shù)學(xué)模型建立如下:
設(shè)T為打印機(jī)噴頭熔料控制的因變量,X1,X2,…,Xn-1為對T有自相關(guān)性的n-1個(gè)自變量,則噴頭熔料之間線性關(guān)系可表示為:
T=β0+β1X1+…βn-1Xn-1+e
(5)
e為打印機(jī)噴頭熔料各路之間的誤差干擾項(xiàng),即外界其他因素對T的影響。由于多路信號之間的頻譜會有部分重疊,則打印機(jī)噴頭熔料控制信號的觀測值為:
(Xi,1,Xi,2,…,Xi,n-1,Ti)
(6)
打印機(jī)的分辨率應(yīng)滿足:
(7)
打印機(jī)噴頭熔料控制模型可改寫為矩陣:
Y=Xβ+e
(8)
式中:Y為熔料控制觀測量;X為打印機(jī)陣列矩陣;β為參數(shù)向量;e為打印機(jī)任務(wù)指派量。
本文將廣泛應(yīng)用于通信領(lǐng)域的頻分多路復(fù)用來提升3D打印機(jī)的速度控制,所謂的頻分多路就是依照不同頻率傳送各類消息,實(shí)現(xiàn)多路通信。假設(shè)對3D打印的經(jīng)濟(jì)與效益評價(jià)指標(biāo)之間具有藕合性,用不同頻率傳送各路打印熔料控制消息,得到最優(yōu)打印控制Fu與最劣打印控制Fv的頻分多路復(fù)用藕合狀態(tài)為:
(9)
(10)
為了提高打印調(diào)度性能,用頻分多路復(fù)用對打印數(shù)據(jù)進(jìn)行處理,得到優(yōu)化后的實(shí)際打印速度效益Si為:
(11)
考慮到熔料控制矩陣秩的虧損即n (12) 每次將打印傳送數(shù)據(jù)輸入到頻分多路迭代中,將打印機(jī)分辨率矩陣分解成一個(gè)正交矩陣,由矩陣保范型可得: (13) 如果只考慮打印工作中的單個(gè)消息所需要的功率,可以忽略打印任務(wù)指標(biāo)函數(shù),打印功耗的最小化為: (14) 降低每路打印輸入信號的干擾頻譜,推導(dǎo)出最小二階解為: (15) 記Xij的秩為rij,rij≤m,通過上述對3D打印速度的控制,實(shí)現(xiàn)打印速度提高。 為了測試本文提出的頻分多路復(fù)用速度提升法在打印速度和效益方面性能的優(yōu)越性,首先用MATLAB對算法進(jìn)行仿真,取多個(gè)打印任務(wù),用不同頻率傳送各路打印信息[8],得到打印輸出的各路信號頻譜如圖6所示。 圖6 3D打印各路打印頻譜 由圖6可見,采用頻分多路復(fù)用速度提升法,能有效實(shí)現(xiàn)3D打印的速度量化指標(biāo)的評估,降低各路打印輸人信號的干擾頻譜,提高打印速度。 在實(shí)際測試中,首先按照打印操作流程進(jìn)行打印模型測試。重點(diǎn)觀察打印速度及實(shí)物打印效果。利用三維制圖軟件自行設(shè)計(jì)模型,制作完畢后將模型導(dǎo)入切片軟件中,如圖7所示。 圖7 打印切片模型 設(shè)置打印模型層厚、加熱溫度和打印溫度后,分別用傳統(tǒng)打印與引用頻分多路復(fù)用法打印3D模型,在設(shè)定同樣材料、模型厚度后,對比兩種情況下打印模型所用的時(shí)間長短。實(shí)物打印如圖8所示。 圖8 實(shí)物打印測試 打印完成所需時(shí)間觸摸屏顯示如圖9所示,采用頻分多路復(fù)用打印完3D模型比傳統(tǒng)速度快近0.5 h。由測試結(jié)果可見,本文提出的頻分多路算法,能大幅降低打印時(shí)間和內(nèi)存開銷,提高打印速度。 圖9 打印時(shí)間觸摸屏顯示 本文以傳統(tǒng)3D打印機(jī)為研究對象,在分析其結(jié)構(gòu)組成和工作原理的基礎(chǔ)上,提出了一款速度快、 精度高的桌面型3D打印機(jī)的設(shè)計(jì)方案,詳細(xì)介紹了3D打印機(jī)的硬、軟件設(shè)計(jì)。針對傳統(tǒng)3D打印機(jī)采用單路固定數(shù)據(jù)傳輸導(dǎo)致打印速度過慢的問題,提出基于頻分多路復(fù)用的速度提升法,搭建測試平臺,對設(shè)計(jì)的3D打印機(jī)進(jìn)行性能測試,頻分多路復(fù)用在3D打印機(jī)應(yīng)用,大大降低了模型打印時(shí)間和內(nèi)存空間,提高了打印速度。通過打印出來的實(shí)物與模型進(jìn)行比對,驗(yàn)證該桌面型3D打印機(jī)控制系統(tǒng)設(shè)計(jì)的可行性與有效性。 [1] 王至堯. 增材制造3D打印未來閉[J]. 知識就是力量,2013(6):14-17. [2] 魏理豪,王甜,陳飛,等. 基于層次分析法的信息系統(tǒng)實(shí)用化評價(jià)研究[J]. 科技通,2014,30(2):142-148. [3] Gong Y B. Fuzzy Multiattribute Group Decision Making Method Haled on Interval Type-2 Fuzzy Sets and Applicadons to Global Supplier Selection[J]. International Journal of Fuzzy Systems,2013,15(4):392-400. [4] 李德振. 基于ARM的3D打印機(jī)控制系統(tǒng)研究[D]. 山東農(nóng)業(yè)大學(xué),2015. [5] 張朋昌. 基于GL847的大幅面圖像數(shù)據(jù)采集系統(tǒng)底層驅(qū)動軟件研究與實(shí)現(xiàn)[D]. 西安:西安電子科技大學(xué),2010. [6] 譚秀騰. 基于ARM的桌面型3D打印機(jī)控制系統(tǒng)設(shè)計(jì)[J]. 應(yīng)用科技,2014,41(5):142-148. [7] Zhou L G,Tao Z F,Chen H Y. Some Icowa Operators and Their Applications to Group Decision Making with Interval Fuzzy Preference Relation[J]. International Journalof Uncertainty Fuzziness and Knowledge based Systems,2013,21(4):579-601. [8] 黃強(qiáng). 基于ARM的GPRS遠(yuǎn)程數(shù)據(jù)傳輸模塊設(shè)計(jì)[J]. 電子器件,2008,31(4):1214-1218. DesignandImplementationofControlSystemforFDM3DPrinterBasedonARM WANGSuzhou,SHUZhibing*,LIJun (College of Electrical Engineering and Control Science,Nanjing Tech University,Nanjing 211816,China) Based on the analysis of traditional 3D structure and working principle of the printer,we selected ARM Cortex-M3 kernel LPC1768 as micro controller and adopted the fused deposition modeling(FDM). According to the traditional using of single fixed data transmission,the printing speed was too slow,we adopted the printing transfer and printing speed dual efficiency analysis method,integrated into the frequency division multiplexed method to implementation desktop of 3D printer set of multi-objective optimal control,and to evaluate speed quantitative assessment. According to the enquiring different frequencies of the printing system,the frequency division multiplexing method can be applied to transfer the printing request messages to all strips of the 3D printer system. Finally,we tested the performance of the designed 3D printer through simulation and built a test platform to verify the feasibility and effectiveness of the desktop 3D printer control system design. 3D printer;frequency division multiplexing;increase speed;optimal control system 10.3969/j.issn.1005-9490.2017.05.052 2016-08-10修改日期2016-10-01 TP273 A 1005-9490(2017)05-1324-05 王蘇洲(1990-),男,漢族,江蘇連云港人,碩士研究生 主要研究方向?yàn)榍度胧较到y(tǒng)、交流伺服系統(tǒng)、數(shù)控系統(tǒng)、運(yùn)動控制、機(jī)電一體化系統(tǒng)等,18795871558@139.com; 李俊(1993-),男,漢族,江蘇揚(yáng)州人,深圳市海目星激光科技有限公司,工程師,主要研究方向?yàn)榍度胧较到y(tǒng)、智能機(jī)器人等,lj893434@163.com; 舒志兵(1965-),男,通信作者,漢族,江蘇南京市人,副教授,南京工業(yè)大學(xué)運(yùn)動控制研究所所長,主要研究方向?yàn)闄C(jī)器人控制、交流伺服系統(tǒng)、DSP技術(shù)、現(xiàn)場總線、數(shù)控系統(tǒng)、運(yùn)動控制系統(tǒng)等。

4 仿真與實(shí)驗(yàn)測試




5 結(jié)論


