趙祥丹,葛紅宇,李漫漫,顧佳鈺,羅茂炫,陳創(chuàng),安仲帥
(南京工程學(xué)院自動(dòng)化學(xué)院,江蘇 南京 211167)
三維打印由CAD直接驅(qū)動(dòng),無(wú)需CAPP、數(shù)控編程等中間過(guò)程,能極大縮短零件及產(chǎn)品的研制周期[1-3];同時(shí),其通過(guò)二維層面的加工實(shí)現(xiàn)三維結(jié)構(gòu),極大降低復(fù)雜三維結(jié)構(gòu)的加工難度,是當(dāng)前加工領(lǐng)域的一個(gè)重要研究方向。加工控制是3D打印加工的使能與驅(qū)動(dòng)技術(shù),加工精度、集成度、可靠性是該領(lǐng)域研究的主要內(nèi)容[4-5]。本文采用工業(yè)PC結(jié)合高性能嵌入式控制器與自主專用集成電路的控制結(jié)構(gòu),研究低成本、高集成度、高可靠、高速高效,具備在線實(shí)時(shí)三維加工顯示,具備真正意義上的“所見(jiàn)即所得”功能的FDM嵌入式工業(yè)控制系統(tǒng)[6-8]。
根據(jù)FDM成型加工的工藝過(guò)程,本文實(shí)現(xiàn)的熔融沉積成型系統(tǒng)控制結(jié)構(gòu)如圖1所示。
圖1 FDM打印控制的系統(tǒng)結(jié)構(gòu)Fig .1 System structure of FDM controller
系統(tǒng)采用PC結(jié)合高性能嵌入式控制器及自制專用集成電路的控制結(jié)構(gòu),上位控制包括PC機(jī)、操作系統(tǒng)及相關(guān)驅(qū)動(dòng)電路與程序,實(shí)現(xiàn)3維CAD模型的切片處理、數(shù)據(jù)處理、加工指令下傳、打印加工的實(shí)時(shí)顯示等功能;下位的加工控制主要由嵌入式控制系統(tǒng)與打印控制專用IC及支撐電路構(gòu)成。其中,嵌入式控制系統(tǒng)實(shí)現(xiàn)打印掃描運(yùn)動(dòng)、絲溫控制、噴絲動(dòng)作、高速串口通信以及指令收發(fā)、加工狀態(tài)獲取與發(fā)送等功能[9];專用IC及支持電路接收嵌入式控制系統(tǒng)指令,驅(qū)動(dòng)打印掃描電機(jī)、絲溫采集、加熱等電路,實(shí)現(xiàn)打印加工操作。同時(shí)送出絲溫、行程、極限開(kāi)關(guān)等狀態(tài),供嵌入式控制系統(tǒng)或上位的工業(yè)PC處理。
表2 打印指令數(shù)據(jù)的定義格式Table 2 Data format of machining instruction
表3 打印狀態(tài)數(shù)據(jù)的定義格式Table 3 Data format of machining status
表4 典型加減速過(guò)程運(yùn)動(dòng)參數(shù)Table 4 Motion parameters of typical acceleration and deceleration process
鑒于通信數(shù)據(jù)量、速度以及實(shí)時(shí)性、可靠性要求,本文使用通用異步串行通信的全雙工多緩沖DMA方式,通信波特率選擇2250 kbps以上,設(shè)計(jì)專門的CRC循環(huán)冗余校驗(yàn)程序?qū)崿F(xiàn)數(shù)據(jù)校驗(yàn)。
高速串口通信的數(shù)據(jù)幀格式如表1所示,包括1字節(jié)的幀頭66 H、幀尾99 H、幀長(zhǎng)、幀類型碼,0或2字節(jié)循環(huán)冗余碼與0-66字節(jié)的有效數(shù)據(jù),最大幀長(zhǎng)72字節(jié),最小幀長(zhǎng)5字節(jié)。
表1 高速串口通信數(shù)據(jù)幀格式Table 1 Data format for high speed serial communication
根據(jù)內(nèi)容,數(shù)據(jù)幀分為指令幀與狀態(tài)幀兩類。指令幀傳輸數(shù)據(jù)處理得到的打印指令,幀類型碼00 H,使用2字節(jié)CRC校驗(yàn)字。根據(jù)類型不同,單條指令占用數(shù)據(jù)3-5字節(jié),其格式定義如表2所示。執(zhí)行XY快移或進(jìn)給指令時(shí),XY軸聯(lián)動(dòng)。
狀態(tài)數(shù)據(jù)幀的幀類型碼01 H,占用數(shù)據(jù)1-7字節(jié),格式定義表3所示。傳送坐標(biāo)、噴絲溫度與行程開(kāi)關(guān)等數(shù)據(jù)時(shí),狀態(tài)幀使用2字節(jié)CRC校驗(yàn)字;傳送通信出錯(cuò)信息時(shí),不使用校驗(yàn)字,此時(shí)數(shù)據(jù)幀最短,僅包括幀頭、幀尾、幀長(zhǎng)、幀類型與狀態(tài)數(shù)據(jù)40 H,幀長(zhǎng)5字節(jié)。
CRC校驗(yàn)[10]使用生成多項(xiàng)式X16+X15+X2+1,設(shè)置奇/偶校驗(yàn)實(shí)現(xiàn)單字節(jié)的數(shù)據(jù)初始校驗(yàn)[11]。
高速串口通信實(shí)現(xiàn)兩類數(shù)據(jù)-打印加工指令數(shù)據(jù)與打印加工狀態(tài)數(shù)據(jù)的高速實(shí)時(shí)傳輸,分別實(shí)現(xiàn)打印指令及狀態(tài)的傳送。
打印指令傳送由上位數(shù)據(jù)處理端的工業(yè)PC發(fā)起,PC發(fā)送,打印控制嵌入式控制器接收;PC端獲取切片處理數(shù)據(jù),截取加工指令,計(jì)算CRC校驗(yàn)碼,根據(jù)指令幀格式生成并發(fā)送指令幀至下位的FDM打印控制端,同時(shí)等待打印控制端的響應(yīng);打印控制端收到指令,執(zhí)行數(shù)據(jù)校驗(yàn);校驗(yàn)無(wú)誤,執(zhí)行指令;校驗(yàn)出錯(cuò),向PC發(fā)出通信出錯(cuò)幀,請(qǐng)求重發(fā);PC端收到請(qǐng)求,將指令幀重送發(fā)送緩沖區(qū),重發(fā)數(shù)據(jù),直至通信完成。
狀態(tài)傳送由打印控制端發(fā)起,打印控制端發(fā)送,PC接收,傳輸過(guò)程與指令傳輸類似。狀態(tài)傳送啟動(dòng),打印控制嵌入式處理器獲取狀態(tài)數(shù)據(jù),計(jì)算CRC校驗(yàn)碼,生成并發(fā)送狀態(tài)幀,等待PC響應(yīng);PC獲取并校驗(yàn)狀態(tài)數(shù)據(jù),數(shù)據(jù)無(wú)誤,更新系統(tǒng)狀態(tài)顯示;校驗(yàn)出錯(cuò),向打印控制端發(fā)出通信出錯(cuò)幀,請(qǐng)求狀態(tài)重發(fā);打印控制器收到出錯(cuò)信息,重發(fā)狀態(tài)數(shù)據(jù)直至狀態(tài)傳送無(wú)誤,狀態(tài)傳送結(jié)束。
XY向打印掃描運(yùn)動(dòng)由步進(jìn)電機(jī)實(shí)現(xiàn),專用集成電路內(nèi)置SPI及電機(jī)驅(qū)動(dòng)控制邏輯,寫入微秒為單位的脈寬計(jì)數(shù)值與脈沖個(gè)數(shù),電機(jī)即按設(shè)定值運(yùn)動(dòng)[12-15]。電機(jī)速度控制通過(guò)S曲線加減速實(shí)現(xiàn)。假定加加速度恒定值J、初速度V0、時(shí)間t,則當(dāng)前速度Vt為:
受CPU運(yùn)算能力的限制,應(yīng)用時(shí)對(duì)式(1)簡(jiǎn)化并離散化。假定時(shí)刻n,加速度a(n}、時(shí)間t(n)、時(shí)間間隔Δt(n)、速度V{n}、位移S(n),Δt足夠小,通過(guò)遞推公式得到各運(yùn)動(dòng)參數(shù)為:
式中V(n)、V(n-1)、J已知,方便實(shí)現(xiàn),運(yùn)動(dòng)使用不連續(xù)的分級(jí)速度,相鄰速度變化量ΔV恒定,即V(n)與V(n-1)差值不變,表4為本文系統(tǒng)的一個(gè)典型加減速運(yùn)動(dòng)段。其中速度范圍為2~26 mm/s,相鄰等級(jí)速度差值ΔV為2 mm/s,速度初終值為4.24 mm/s,加加速J取值10 mm/s3,脈沖當(dāng)量0.01 mm。
圖2為各運(yùn)動(dòng)參數(shù)的變化曲線,速度V、加速度a以及位移S符合S曲線加減速變化規(guī)律。
圖2 典型加減速過(guò)程運(yùn)動(dòng)參數(shù)變化Fig.2 Motion parameters of typical acceleration and deceleration process
絲溫通過(guò)PWM脈沖啟停加熱實(shí)現(xiàn),系統(tǒng)根據(jù)絲溫動(dòng)態(tài)調(diào)整PWM波的占空比,控制噴絲加熱時(shí)間占比,實(shí)現(xiàn)溫度的精確控制。不同占空比PWM波作用下絲溫變化曲線如圖3所示。根據(jù)噴絲溫度變化曲線,假定PWM占空比KPWM,噴絲溫度變化ΔT可以描述為:
圖3 不同占空比PWM波作用下噴絲溫升的變化曲線Fig.3 Jet temperature under the control of PWM of different duty cycle waves
求取拉普拉斯變換即得到噴絲溫度變化的Matlab模型,在此基礎(chǔ)上設(shè)計(jì)噴絲溫度控制的PID控制器如圖4所示。圖中延遲時(shí)間td為9 s,系數(shù)KT同公式3,系數(shù)KM=0.08KT2+KT,占空比KPWM取值范圍0%~90%。
圖4 噴絲溫度的PID控制器結(jié)構(gòu)Fig.4 Structure of PID controller for jet temperature
仿真結(jié)果表明,比例系數(shù)KP、積分系數(shù)KI分別取值2.5、0.0004時(shí),溫度輸出的超調(diào)量約為3 %,調(diào)節(jié)時(shí)間在300 s左右,穩(wěn)態(tài)誤差小于0.5℃,能夠滿足FDM打印控制的基本要求,取得較好的控制效果,此時(shí)輸出溫度波形仿真結(jié)果如圖5所示,圖中設(shè)定溫度200℃,采樣時(shí)間1 s。
圖5 輸出噴絲溫度波形仿真Fig.5 Simulation of jet temperature control
FDM嵌入式打印控制系統(tǒng)的軟件框架結(jié)構(gòu)如圖6所示。系統(tǒng)調(diào)度和管理程序、顯示與觸摸控制程序、文件系統(tǒng)及SD驅(qū)動(dòng)程序提供嵌入式處理器片上基礎(chǔ)硬件的基本操作;高速數(shù)據(jù)通信及校驗(yàn)程序接收來(lái)自PC端的指令數(shù)據(jù),反饋系統(tǒng)運(yùn)行狀況;噴絲控制、絲溫檢測(cè)及控制程序?qū)崿F(xiàn)打印過(guò)程中的絲溫控制及噴絲動(dòng)作;打印運(yùn)動(dòng)控制實(shí)現(xiàn)兩維掃描運(yùn)動(dòng)及打印高度的運(yùn)動(dòng)控制;同時(shí)系統(tǒng)提供文件存儲(chǔ)控制功能,實(shí)現(xiàn)SD卡上加工文件的操作;除此之外,系統(tǒng)還提供快速定位、開(kāi)關(guān)量檢測(cè)及控制、顯示與觸摸控制等輔助功能。
圖6 打印控制系統(tǒng)框架結(jié)構(gòu)Fig.6 Control structure of printing system develoed
FDM三維打印的調(diào)度與管理程序如圖7所示。管理調(diào)度程序分為狀態(tài)轉(zhuǎn)換與狀態(tài)處理兩個(gè)階段。系統(tǒng)啟動(dòng),首先進(jìn)入狀態(tài)轉(zhuǎn)換階段,系統(tǒng)根據(jù)指令類型設(shè)置系統(tǒng)狀態(tài)與相關(guān)標(biāo)志;而后,系統(tǒng)進(jìn)入狀態(tài)處理,根據(jù)系統(tǒng)狀態(tài),執(zhí)行相應(yīng)的操作。
Fig.7 Flow chart of the system management program
狀態(tài)轉(zhuǎn)換階段,系統(tǒng)執(zhí)行初始化,設(shè)置CPU、定時(shí)器、IO等硬件,初始化變量;而后,進(jìn)入指令/狀態(tài)處理循環(huán),檢索指令、狀態(tài)與開(kāi)關(guān)信息,根據(jù)指令、狀態(tài)標(biāo)志,修改系統(tǒng)狀態(tài),執(zhí)行相應(yīng)處理。根據(jù)處理的操作,系統(tǒng)狀態(tài)分為空閑、加工兩種狀態(tài)。系統(tǒng)設(shè)置16位標(biāo)識(shí)寄存器,存儲(chǔ)溫控、XYZ運(yùn)動(dòng)忙、加工暫停、限位等標(biāo)志。
收到點(diǎn)動(dòng)、快速定位指令,若無(wú)出錯(cuò)及XYZ忙標(biāo)志,系統(tǒng)更新指令坐標(biāo),等待狀態(tài)處理實(shí)現(xiàn)相應(yīng)位置;收到絲溫指令,系統(tǒng)設(shè)置新絲溫,等待狀態(tài)處理實(shí)現(xiàn)絲溫;收到暫停指令,為加工態(tài)則置加工暫停標(biāo)志;收到加工指令,若處于空閑或暫停態(tài)且絲溫達(dá)到指令溫度,系統(tǒng)進(jìn)入加工態(tài);檢索到串口接收標(biāo)志,系統(tǒng)調(diào)用通信及校驗(yàn)程序,獲取上位機(jī)送來(lái)的指令及通信狀態(tài)信息。
狀態(tài)處理階段,系統(tǒng)比較當(dāng)前與指令絲溫,相異,設(shè)置溫控標(biāo)志,調(diào)用絲溫控制程序?qū)崿F(xiàn)指定絲溫;相同,清除絲溫控制標(biāo)志;而后判斷運(yùn)行狀態(tài),加工態(tài)且無(wú)狀態(tài)標(biāo)志置位,統(tǒng)調(diào)用打印加工程序,執(zhí)行打印加工;打印結(jié)束,系統(tǒng)設(shè)置空閑態(tài);加工態(tài)下有標(biāo)志位置位,系統(tǒng)向PC端發(fā)出錯(cuò)信息,置出錯(cuò)標(biāo)志,等待干預(yù);非加工態(tài),控制程序比較當(dāng)前與指令位置,二者一致,清除相應(yīng)運(yùn)動(dòng)忙標(biāo)志;不一致,調(diào)用XYZ運(yùn)動(dòng)控制程序?qū)崿F(xiàn)運(yùn)動(dòng),置位相應(yīng)軸的忙標(biāo)志。
采用上述方法實(shí)現(xiàn)的FDM三維打印控制系統(tǒng)及加工測(cè)試如圖8所示。圖(a)為FDM 3維打印系統(tǒng)及打印測(cè)試,圖(b)為下位嵌入式打印控制系統(tǒng)。
Fig.8 Control system for FDM three-dimensional printing
XYZ打印加工運(yùn)動(dòng)及噴絲運(yùn)動(dòng)通過(guò)步距角1.8°的42 HD系列步進(jìn)電機(jī)實(shí)現(xiàn),采用模塊A4988驅(qū)動(dòng);冷端補(bǔ)償K型熱電偶MAX6675執(zhí)行絲溫采集,ALIENTEK 4.3寸TFT集成觸摸屏實(shí)現(xiàn)加工顯示與人機(jī)交互;FPGA芯片LFXP2-5實(shí)現(xiàn)打印控制專用集成電路,內(nèi)部集成步進(jìn)電機(jī)、MAX6657的驅(qū)動(dòng)控制電路。嵌入式處理器選用32位ARM Cortex處理器STM32,通過(guò)通用SPI接口實(shí)現(xiàn)與打印控制專用集成電路、集成觸摸屏的數(shù)據(jù)交換。此外,打印控制專用集成電路內(nèi)部設(shè)計(jì)專用開(kāi)關(guān)量輸入輸出控制電路,包括XYZ軸行程開(kāi)關(guān)、打印狀態(tài)指示等開(kāi)關(guān)量的編碼、緩沖與輸入輸出。
圖9為打印加工實(shí)驗(yàn)的CAD模型及完成的實(shí)際零件,加工選取的掃描線寬0.31 mm,掃描層厚0.5 mm,所選材料為ABS工程塑料。
圖9 FDM三維打印加工實(shí)驗(yàn)Fig.9 Machining experiments of FDM three-dimensional printing
本文提出并實(shí)現(xiàn)了一種工業(yè)PC結(jié)合高性能嵌入式處理器與專用集成電路的3D打印控制硬件結(jié)構(gòu),實(shí)現(xiàn)了FDM 3D打印加工嵌入式控制系統(tǒng),內(nèi)容包括打印控制系統(tǒng)結(jié)構(gòu)與功能框架、高速數(shù)據(jù)通信協(xié)議設(shè)計(jì)與實(shí)現(xiàn)方法,加工運(yùn)動(dòng)的加減速方法與實(shí)現(xiàn),噴絲溫度PID控制方法及實(shí)現(xiàn)。相較于現(xiàn)有系統(tǒng),本文系統(tǒng)具備以下特點(diǎn):(1)采用PC結(jié)合嵌入式控制系統(tǒng)的結(jié)構(gòu),系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,可以兼顧復(fù)雜控制與數(shù)據(jù)處理。(2)加減速利用S加減速并進(jìn)行了簡(jiǎn)化,平穩(wěn)性好、便于實(shí)現(xiàn),硬件要求低。(3)提出的高速通信協(xié)議速度高、可靠性好、數(shù)據(jù)量大,適于加工領(lǐng)域的多種場(chǎng)合。