本發(fā)明涉及一種3D打印步進(jìn)電機(jī)控制系統(tǒng),屬于智能控制技術(shù)領(lǐng)域。
背景技術(shù):
3D打印機(jī),是基于快速成形技術(shù)的一種機(jī)器。3D打印技術(shù)是一種以數(shù)字模型文件為基礎(chǔ),運(yùn)用粉末狀金屬或塑料等可粘合材料,通過逐層打印的方式來構(gòu)造物體的技術(shù)。
傳統(tǒng)的3D打印機(jī),因為步進(jìn)電機(jī)驅(qū)動器的緣故,以及系統(tǒng)化的設(shè)計問題,使得打印機(jī)在打印時因為給電機(jī)輸出電流的不穩(wěn)定,導(dǎo)致步進(jìn)電機(jī)帶動噴頭運(yùn)動的時候可能出現(xiàn)抖動的問題。噴頭抖動會導(dǎo)致打印不均勻,進(jìn)而導(dǎo)致成品不符合規(guī)格。
同時,因為打印機(jī)的塑料和金屬粉末成本高昂,現(xiàn)在的精確度并不適合制造大部分的高端設(shè)備工業(yè)品,而低端大規(guī)模生產(chǎn)的產(chǎn)品卻顯得效率極低,且單體機(jī)做生產(chǎn),維護(hù)費(fèi)用和難度遠(yuǎn)遠(yuǎn)高于傳統(tǒng)工藝把產(chǎn)業(yè)鏈平攤開的做法。高不成低不就,直接導(dǎo)致3D打印機(jī)的工業(yè)附加值較低。
此外,3D打印機(jī)真正打印出一個成品,真正做出一個模型,需要大量的工程,結(jié)構(gòu)方面的知識,需要精巧的設(shè)計,并根據(jù)具體情況進(jìn)行調(diào)整,工程量較大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是如何增加3D打印機(jī)打印過程中的穩(wěn)定性,防止噴頭抖動。
為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是提供一種3D打印步進(jìn)電機(jī)控制系統(tǒng),其特征在于:包括
用于作為核心模塊,控制3D打印步進(jìn)電機(jī)工作的網(wǎng)絡(luò)處理器;
用于從上位機(jī)下載模型數(shù)據(jù),以及從內(nèi)存中將處理數(shù)據(jù)輸出到網(wǎng)絡(luò)處理器中以控制步進(jìn)電機(jī)工作的輸入輸出接口;
用于儲存從上位機(jī)下載的模型數(shù)據(jù)的本地存儲模塊;
用于獲取網(wǎng)絡(luò)資源的通信模塊;
輸入輸出接口、本地存儲模塊、通信模塊均與網(wǎng)絡(luò)處理器進(jìn)行信息交換,網(wǎng)絡(luò)處理器通過脈沖頻率控制3D打印步進(jìn)電機(jī)轉(zhuǎn)動的速度和加速度,使3D打印步進(jìn)電機(jī)帶動的噴頭穩(wěn)定工作。
優(yōu)選地,所述網(wǎng)絡(luò)處理器為STM32F107VC網(wǎng)絡(luò)處理器。
優(yōu)選地,所述輸入輸出接口包括模擬量輸入AI接口、數(shù)字量輸入DI接口和數(shù)字量輸出DO接口;AI接口用于連接傳感器,以獲取現(xiàn)場連續(xù)變化的信號;DI接口用于連接傳感器,以采集現(xiàn)場的開關(guān)量信息;DO接口用于輸出數(shù)字信號,以控制執(zhí)行機(jī)構(gòu)動作。
優(yōu)選地,所述本地存儲模塊包括EEPROM和外接的SD卡。
優(yōu)選地,還包括用于線路的鋪設(shè)、控制板中晶振的調(diào)節(jié)測試、各電路的串通以及JTAG接口的設(shè)計的基本模塊,基本模塊連接網(wǎng)絡(luò)處理器。
優(yōu)選地,所述包括用于供用戶觀察儀器狀態(tài)和選擇其功能的人機(jī)接口,人機(jī)接口連接網(wǎng)絡(luò)處理器。
更優(yōu)選地,所述人機(jī)接口包括LED燈以及LED顯示屏。
優(yōu)選地,所述3D打印步進(jìn)電機(jī)為57型步進(jìn)電機(jī)。
優(yōu)選地,還包括3D打印步進(jìn)電機(jī)定位控制系統(tǒng),上位機(jī)下達(dá)位置指令X0,根據(jù)步進(jìn)電機(jī)位置補(bǔ)償表得到補(bǔ)償位置ΔX,位置指令X0與補(bǔ)償位置ΔX的和形成實(shí)際位置指令Xs,實(shí)際位置指令Xs與步進(jìn)電機(jī)當(dāng)前位置的實(shí)時反饋值之差為位置偏差E,根據(jù)位置偏差E和步進(jìn)電動機(jī)當(dāng)前轉(zhuǎn)速發(fā)出轉(zhuǎn)速指令N,并解析為轉(zhuǎn)向信號dir和脈沖信號cp,控制步進(jìn)電動機(jī)的轉(zhuǎn)速和轉(zhuǎn)向,使步進(jìn)電動機(jī)達(dá)到指令位置。
更優(yōu)選地,當(dāng)步進(jìn)電動機(jī)到達(dá)指令位置時,使步進(jìn)電動機(jī)的轉(zhuǎn)速降為可停轉(zhuǎn)速,以便于快速準(zhǔn)確定位控制。
本發(fā)明提供的系統(tǒng)克服了現(xiàn)有技術(shù)的不足,充分利用集成的外設(shè)單元和其相應(yīng)的外圍接口電路,采用了脈沖頻率控制電機(jī)轉(zhuǎn)動的速度和加速度,不僅能解決3D打印過程中抖動問題,還能保證遠(yuǎn)程監(jiān)控終端的穩(wěn)定性,同時在一定程度上降低了3D打印的硬件成本;在處理器設(shè)備上有儲存設(shè)備及外設(shè)儲存設(shè)備,可以儲存之前的模板數(shù)據(jù),進(jìn)而降低了重復(fù)制作模板的工程量,儲存和打印也變得方便快捷。
附圖說明
圖1為本實(shí)施例提供的3D打印步進(jìn)電機(jī)控制系統(tǒng)的總體結(jié)構(gòu)框圖;
圖2為步進(jìn)電機(jī)定位控制系統(tǒng)原理框圖;
圖3為系統(tǒng)的輸入/輸出接口電路;(a)AI接口電路;(b)DI接口電路;(c)DO輸出電路;
圖4為3D打印步進(jìn)電機(jī)控制系統(tǒng)進(jìn)行3D打印的流程圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例,進(jìn)一步闡述本發(fā)明。應(yīng)理解,這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等價形式同樣落于本申請所附權(quán)利要求書所限定的范圍。
一、總體設(shè)計
1.1總體結(jié)構(gòu)
圖1為本實(shí)施例提供的3D打印步進(jìn)電機(jī)控制系統(tǒng)的總體結(jié)構(gòu)框圖,所述的3D打印步進(jìn)電機(jī)控制系統(tǒng)由5個模塊構(gòu)成。其核心模塊為STM32F107VC網(wǎng)絡(luò)處理器,該芯片具備72MHz運(yùn)行頻率和90DMIPS的處理性能,集成了以太網(wǎng)、CAN總線、RS485、RS232、USBOTG等各種高性能工業(yè)標(biāo)準(zhǔn)接口,其標(biāo)準(zhǔn)外設(shè)包括10個定時器、16路12位1Msps采樣速率的A/D模/數(shù)轉(zhuǎn)換器、2路12位D/A數(shù)模轉(zhuǎn)換器等,可以應(yīng)用于多種工業(yè)場合。
與核心模塊進(jìn)行信息交換的其它模塊分別是:1)基本模塊,主要用于線路的鋪設(shè)、控制板中晶振的調(diào)節(jié)測試、各電路的串通以及JTAG接口的設(shè)計;2)本地存儲模塊,主要用于儲存導(dǎo)入的3D模型,有EEPROM和外接的SD卡分別對應(yīng)兩條總線;3)輸入輸出接口,主要用于從電腦端下載模型數(shù)據(jù)加以儲存,以及從內(nèi)存中處理數(shù)據(jù)輸出到控制板中處理數(shù)據(jù)控制步進(jìn)電機(jī)工作;4)人機(jī)接口,有LED燈顯示以及LED顯示屏以供用戶觀察儀器狀態(tài)和選擇其功能;5)通信模塊,裝有DP82848網(wǎng)絡(luò)芯片和RS485模塊,獲取網(wǎng)絡(luò)資源。
1.2步進(jìn)電機(jī)的選擇
本實(shí)施例選擇57型步進(jìn)電機(jī)。
57型步進(jìn)電機(jī)具有兩大優(yōu)點(diǎn):1)不需要反饋信號就可以對系統(tǒng)的位置、速度輸出進(jìn)行控制。其原因是它可以將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移。在非超載情況下,電機(jī)轉(zhuǎn)速、停止位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響。當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號時,它就能驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度,通過控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的。2)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。
基于以上優(yōu)點(diǎn),本實(shí)施例選用了57型步進(jìn)電機(jī)作為3D打印步進(jìn)電機(jī)控制系統(tǒng)的核心。
1.3步進(jìn)電機(jī)定位控制器的工作原理
確定位置及速度原理:定位使用相對定位的方式;當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進(jìn)角)。通過控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。
57型步進(jìn)電機(jī)的步距角為1.8°,一步的脈沖個數(shù)為200。
由于控制器具有采樣周期時間限制,在升速率較高時,步進(jìn)電機(jī)的轉(zhuǎn)速容易穿越開關(guān)線,形成極限環(huán),造成系統(tǒng)振蕩,無法正常工作。為解決以上問題,本實(shí)施例設(shè)計了一個步進(jìn)電機(jī)定位控制系統(tǒng),如圖2所示,該定位控制系統(tǒng)由位置補(bǔ)償表、位置控制器、升降速控制器、信號轉(zhuǎn)換器、轉(zhuǎn)速及位置檢測器、轉(zhuǎn)速反饋及失步檢測器等功能模塊組成。
步進(jìn)電機(jī)定位控制系統(tǒng)實(shí)現(xiàn)準(zhǔn)確定位的工作原理如下:上位機(jī)向步進(jìn)電機(jī)定位系統(tǒng)下達(dá)位置指令X0,根據(jù)起始位置、目標(biāo)位置和轉(zhuǎn)向查找位置補(bǔ)償表得到補(bǔ)償位置ΔX,位置指令X0與補(bǔ)償位置ΔX的和形成實(shí)際位置指令Xs,實(shí)際位置指令Xs與步進(jìn)電機(jī)當(dāng)前位置的實(shí)時反饋值之差為位置偏差E,位置控制器根據(jù)位置偏差E和步進(jìn)電動機(jī)當(dāng)前轉(zhuǎn)速發(fā)出轉(zhuǎn)速指令N,再由升降速控制器計算出當(dāng)前步進(jìn)電動機(jī)的轉(zhuǎn)速/′t,之后由信號轉(zhuǎn)換器解析為轉(zhuǎn)向信號dir和脈沖信號cp,控制步進(jìn)電動機(jī)的轉(zhuǎn)速和轉(zhuǎn)向,使步進(jìn)電動機(jī)達(dá)到指令位置。當(dāng)系統(tǒng)到達(dá)指令位置時,位置控制器必須使步進(jìn)電動機(jī)的轉(zhuǎn)速降為可停轉(zhuǎn)速,從而達(dá)到快速準(zhǔn)確定位控制的要求。
升降速控制器:用于保證步進(jìn)電動機(jī)的轉(zhuǎn)速能以準(zhǔn)確的速率Dac直線下降。步進(jìn)電動機(jī)的最低轉(zhuǎn)速、最高轉(zhuǎn)速分別為n(min)、n(max)。步進(jìn)電動機(jī)從n(max)直線下降到n(min),步進(jìn)電動機(jī)所移動的位置偏差為Em,則:
同理,電機(jī)當(dāng)前轉(zhuǎn)速為n時,步進(jìn)電動機(jī)從n直線下降到n(min),步進(jìn)電動機(jī)移動的位置偏差:
上式以位置正偏差時能減少偏差的運(yùn)動方向為轉(zhuǎn)速的正方向,當(dāng)位置負(fù)偏差時步進(jìn)電動機(jī)的運(yùn)動方向應(yīng)為負(fù)方向,則有:
如果以式(2)和式(3)為定位系統(tǒng)最佳開關(guān)線,則定位系統(tǒng)的狀態(tài)位于開關(guān)線時對步進(jìn)電動機(jī)實(shí)施以n(min)或n(max)為目標(biāo)、Dac為速率的直線降速,系統(tǒng)狀態(tài)最終可達(dá)(0,n(min))或(0,-n(min))點(diǎn),從而使定位系統(tǒng)快速準(zhǔn)確停車。
位置補(bǔ)償表:為了補(bǔ)償由于定位系統(tǒng)的傳動誤差、運(yùn)動機(jī)構(gòu)間隙非線性、絲杠的扭轉(zhuǎn)剛度不足等原因造成定位誤差,在不使用直接位置檢測的情況下可采用補(bǔ)償表來減少定位系統(tǒng)的誤差。構(gòu)建補(bǔ)償表應(yīng)考慮如下因素:(1)起點(diǎn)和終點(diǎn);(2)往返;(3)系統(tǒng)運(yùn)行時間。位置補(bǔ)償表根據(jù)不同電機(jī)的屬性由若干次試驗預(yù)先獲得,為了減少補(bǔ)償表的數(shù)據(jù)量,可使用插補(bǔ)的方法。補(bǔ)償表僅在位置指令輸入時調(diào)用,而非每步都調(diào)用。位置補(bǔ)償表的具體構(gòu)建方法參見文獻(xiàn):李漢,鐘飾勇.步進(jìn)電動機(jī)快速準(zhǔn)確定位系統(tǒng)的設(shè)計[J].微特電機(jī),2012,40(5):34-36.以及孟凱,張炯.LPC2210微控制器在步進(jìn)電機(jī)位置控制系統(tǒng)中的應(yīng)用[J].電工電氣,2010,(8):32-35.
轉(zhuǎn)速、位置及失步檢測:定位系統(tǒng)位置和轉(zhuǎn)速的檢測采用增量型編碼器。為了簡化系統(tǒng),降低成本,未使用位置傳感器檢測工作臺的位置,僅檢測步進(jìn)電動機(jī)軸端的位置。采用抗振動M/T測速方法可提高轉(zhuǎn)速和位置檢測的準(zhǔn)確度并具備抗振動性。因為系統(tǒng)可實(shí)時檢測步進(jìn)電動機(jī)的轉(zhuǎn)速,通過比較升降速控制器的輸出轉(zhuǎn)速N和實(shí)測轉(zhuǎn)速Nact來檢測是否失步,但要設(shè)置一個允許偏差。定位系統(tǒng)一旦檢測到失步立即重啟位置控制,確保定位的可靠性。
1.4系統(tǒng)的輸入/輸出接口設(shè)計
系統(tǒng)的輸入/輸出接口包括AI(Analog Input,模擬量輸入)接口、DI(Digital Input,數(shù)字量輸入)接口和DO(Digital Output,數(shù)字量輸出)接口。AI接口用于連接傳感器,以獲取現(xiàn)場連續(xù)變化的信號,如溫度、濕度、煙霧等;DI接口用于連接傳感器采集現(xiàn)場的開關(guān)量信息,如設(shè)備震動、開關(guān)門動作、水浸超標(biāo)和系統(tǒng)斷電等;DO接口用于輸出數(shù)字信號,以控制執(zhí)行機(jī)構(gòu)動作,如繼電器等設(shè)備。
STM32F107VC內(nèi)部集成了ADC(模擬數(shù)字轉(zhuǎn)換器),輸入通道的幅值范圍為0~3.3V,傳感器輸出的模擬量數(shù)據(jù)需要經(jīng)過濾波、放大處理過程輸入至ADC接口通道。ADC的精度很大程度上依賴于基準(zhǔn)電源的精度。本系統(tǒng)采用高精度參考電壓源AD780為STM32F107VC提供基準(zhǔn)電壓。AD780是一款超高精度帶隙基準(zhǔn)電壓源,可以通過4~36V的輸入電源提供2.5~3.0V輸出基準(zhǔn)電壓。它具有低初始誤差、低溫度漂移和低輸出噪聲,非常適合用于增強(qiáng)高分辨率ADC的功能。
系統(tǒng)的AI接口電路、DI接口電路以及DO輸出電路如圖3所示;圖3清晰的展現(xiàn)出了AI接口和DI接口,AI接口實(shí)現(xiàn)將被控對象的模擬量參數(shù)轉(zhuǎn)換成標(biāo)準(zhǔn)電流或電壓信號;DI接口將脈沖信號轉(zhuǎn)換成計算機(jī)能夠接受的數(shù)字信號。STM32F107VC的GPIO引腳都可以由軟件配置為輸入/輸出模式,并且輸入可承受5VTTL電平。本系統(tǒng)采用PC817光電耦合器實(shí)現(xiàn)GPIO引腳與外圍電路的電氣隔離,提升終端的電絕緣和抗干擾能力。DO接口使用大電流三極管驅(qū)動繼電器輸出開關(guān)信號。
二、3D打印步進(jìn)電機(jī)控制系統(tǒng)的實(shí)現(xiàn)
2.1控制系統(tǒng)結(jié)構(gòu)設(shè)計
控制系統(tǒng)主要由3部分組成:電機(jī)控制位移系統(tǒng)、傳感反饋系統(tǒng)和電源系統(tǒng)。電機(jī)控制分為鉆頭、控制位移和風(fēng)冷三大部分。傳感反饋功能由位置傳感器、溫濕度傳感器實(shí)現(xiàn)。數(shù)控板及置物板的放置需要根據(jù)x、y、z軸的活動范圍確定。
2.2控制系統(tǒng)硬件組成
控制系統(tǒng)硬件部分由三個基本模塊構(gòu)成:1)電機(jī)直接驅(qū)動接口電路;2)驅(qū)動脈沖發(fā)生電路及過流保護(hù)電路;3)微處理器控制模塊。按單路方式,一塊控制板控制一路步進(jìn)電機(jī)。其軟件部分需要根據(jù)不同設(shè)備類型進(jìn)行開發(fā)。其硬件部分中核心的微處理器采用了東芝TB6560。TB6560步進(jìn)電機(jī)驅(qū)動器是具有高穩(wěn)定性、可靠性和抗干擾性的經(jīng)濟(jì)型步進(jìn)電機(jī)驅(qū)動器,適用于各種工業(yè)控制環(huán)境。硬件中的驅(qū)動器主要用于驅(qū)動35、39、42、57型4、6、8線兩相混合式步進(jìn)電機(jī)。其細(xì)分?jǐn)?shù)有4種,最大16細(xì)分,其驅(qū)動電流范圍為0.3A-3A,輸出電流共有14檔,電流的分辨率約為0.2A,具有自動半流,低壓關(guān)斷、過流保護(hù)和過熱停車功能。
TB6560步進(jìn)電機(jī)驅(qū)動器微處理器控制板采用STM32F107VC處理器,其內(nèi)置256K的FLASH存儲器,256K的存儲器除了可以實(shí)現(xiàn)基本的電機(jī)控制及與上層系統(tǒng)交換數(shù)據(jù)外,還可以存儲一些運(yùn)動軌跡庫,用于給上層系統(tǒng)進(jìn)行調(diào)用,由于該存儲空間可以實(shí)現(xiàn)加密處理,因此可以有效地保護(hù)驅(qū)動程序庫的安全。用STM32F107VC來儲存以往打印的模板數(shù)據(jù),用于快速方便的成件打印成品。
STM32F107VC處理器可以外接SD卡,可以用來擴(kuò)展各類控制化系統(tǒng)的運(yùn)動控制程序庫,能方便地實(shí)現(xiàn)系統(tǒng)的擴(kuò)展,實(shí)現(xiàn)各類工業(yè)自動化設(shè)備的開發(fā)。本系統(tǒng)在實(shí)現(xiàn)3D打印時,通過選取基本的XYZ運(yùn)動模組,開發(fā)了針對該系統(tǒng)的步進(jìn)電機(jī)控制軟件庫,實(shí)現(xiàn)了步進(jìn)電機(jī)的位移控制。
2.33D打印工作流程
3D打印步進(jìn)電機(jī)控制系統(tǒng)進(jìn)行3D打印的流程如圖4所示。首先,建立預(yù)加工的計算機(jī)三維實(shí)體模型“.STL”文件,結(jié)合CAD、CAM將其以STL、ply、wrl等數(shù)據(jù)格式存儲,看模型是否合適并進(jìn)行縮放和修補(bǔ)。打印機(jī)采用擠壓的方式把熱熔絲從加熱頭擠出來,用擠出的細(xì)絲將模型的一層畫出來;然后,采用三維模型打印分層軟件(slicer)對該三維模型進(jìn)行分層;并且生成路徑文件“G-Code”文件告訴打印頭該如何運(yùn)動和吐料。使用Seinforge軟件進(jìn)行分層后,需要Pronterface打印控制軟件來全程控制打印過程;在軟件中通過設(shè)定打印機(jī)的熱熔絲、進(jìn)料頭等參數(shù)后開始進(jìn)行打印;在打印中觀察和控制數(shù)控版打印是否正常,在不正常情況下立即停止打印并糾正參數(shù)。
綜上,本發(fā)明提供的系統(tǒng)采用TB6560步進(jìn)電機(jī)驅(qū)動器控制57型步進(jìn)電機(jī)。這種控制方法采用了脈沖頻率控制電機(jī)轉(zhuǎn)動的速度和加速度,因而解決了3D打印過程中的抖動問題。系統(tǒng)由STM32F107VC網(wǎng)絡(luò)處理器、輸入輸出接口、基本模塊、本地存儲模塊和通信模塊5部分構(gòu)成,通過分析這5種模塊中重要零部件的參數(shù)和工作原理,開發(fā)了能實(shí)現(xiàn)XYZ三軸方向精確位移控制的系統(tǒng)。試驗表明,本發(fā)明提供的系統(tǒng)能實(shí)現(xiàn)XYZ三軸方向的精確定位和位移控制。