閆 吉
(西安歐亞學院,西安 710065)
如今3D打印技術已經趨近于成熟,步進電機作為支持3D打印機驅動裝置,因其高精度的開環控制精度而成為打印裝置的核心。隨著步進電機制作工藝不斷發展,步進電機在運行過程中對打印機產生的累積誤差逐漸減小,應運而生了多種步進電機的細分控制技術[1],設計研究3D打印步進電機控制方法成為了當下的研究熱點。作為低能耗的微控制器,STM32微控制器能夠支持運行進程較為復雜的控制指令,對于提升步進電機的性能有著一定的促進作用。
國外研究步進電機起步較早,最初以電脈沖信號轉變角度位移的執行結構為初代步進電機結構,通過調整脈沖信號的位移增量[2],制定固定的數值線性關系來控制步進電機的運行。國內研究設計步進電機起步較晚,以單板計算機作為支持,聯合電機開環結構組建形成簡易的控制結構[3]。經過階段性的應用發現,支持3D打印技術的步進電機在不同的細分條件下,控制產生的打印角度偏離設定的角度值,為此,設計基于STM32的打印步進電機控制方法。
選擇型號為THB6128的STM32芯片,利用其內部128細分數以及H型的橋功率支持步進電機的正常驅動,結合步進電機的硬件運行規范,結合芯片的電阻系數,控制硬件電路的電流的保持時間,數值關系可表示為:

其中,Td表示電流的保持時間,C0表示硬件結構內的電容,p表示細分參數,F表示支持電路的斬波頻率。標定STM32的輸出引腳與步進電機VREF引腳連接,根據上述計算得到的電容參數,控制步進電機形成的斬波頻率,數值關系可表示為:

上述數值關系中,Fc表示計算得到的斬波頻率,I0表示驅動器的輸出電流,RF表示驅動器的運行電阻。為了控制STM32與驅動電機之間的兼容,在STM32控制器外部的輸入端放置一個光耦隔離,以上述斬波頻率條件下的電流參數作為導通參數。驅動電機串聯一個直接編碼器,轉化步進電機的數字信號。劃分數字信號的轉化周期,并以該轉化周期作為步進電機的驅動周期。橫向測量數字信號脈沖間的相位差,采用M法記錄信號轉化周期內的轉速數值,數值關系可表示為:

上述數值關系中,Q表示轉速參數,m表示周期范圍內數字信號的脈沖數量,其余參數含義不變。以計算得到的轉速參數作為步進電機的驅動增量,利用該增量正交解碼電機的驅動信號[4],實現步進電機的驅動,在上述設定的驅動參數條件下,計算3D打印步進電機運行互感參數。
融入STM32的步進電機驅動形式為兩項混合模式,根據步進電機的定子繞組與轉子的數量,計算繞組產生的混合諧波分量,數值關系可表示為:

其中,LA表示定子繞組諧波互感,LB表示轉子諧波互感,N0表示定子繞組的匝數,L0表示轉子長度,θ表示步進電機的轉角數值。諧波分量在循環通電后,產生一定的磁能,數值關系可表示為:

其中,W表示諧波分量產生的磁能參數,其余參數保持原有含義不變。循環通電后步進電機產生反應轉矩,數值關系可表示為:

其中,Ts表示步進電機產生的驅動轉矩,Nr表示疊加等效轉子,IA表示勵磁電流,MA表示渦流飽和系數。根據上述反轉矩形成的條件數值,步進電機形成的運動方程可表示為:

上述數值關系中,Te表示步進電機的運動方程,J表示步進電機的轉動慣量,ke表示粘滯系數。標定驅動電機運動條件下產生的渦流,并根據電壓平衡數值關系,計算得到步進電機的運行互感,互感數值關系可表示為:

上述數值關系中,Me表示計算得到的互感數值,Mr表示步進電機繞組產生的內阻諧波分量,其余參數保持原有含義不變。整理上述計算得到的互感系數,并結合步進電機產生的各項驅動參數,設置控制細分等級,實現對步進電機的控制。
根據步進電機驅動模式下的互感過程,在實現步進電機控制時,整理互感狀態下步進電機激勵磁繞組兩項電流產生的相位數值差,數值關系可表示為:

上述數值關系中,κ表示兩項繞組產生的相位數值差,Tm表示激勵磁繞組的運行周期,N'表示繞組的細分參數。根據計算得到的相位數值差,控制繞組轉子按照電流等級細分為兩項給定波形,兩項波形如圖1所示。

圖1 步進電機控制相的電流波形
在上圖所示的控制相的電流波形可知,步進電機輸入電流被細分為8,此時步進電機的步進角呈周期性變化。在實現控制時,將單位周期內的轉矩處理為執行任務[5],設定步進電機的加速時間,并結合電機角速度,構建時間與角速度之間的數值關系,可表示為:

其中,ω表示步進電機運行時的角速度,t表示步進電機的單位運行時間,θt表示步進電機的角速度??刂茊挝贿\行時間內的步進電機的個脈沖,制定以角速度與時間為相關量的控制數值關系,數值關系可表示為:

上述數值關系中,δ表示步進電機的切換面收斂參數,β表示滑膜維度量,其余參數保持原有含義不變??刂粕鲜鰯抵店P系式(11)代入至上述計算式(10)中,整理控制數值關系為積分的形式,控制步進電機產生的穩態誤差。綜合上述研究設計,最終完成對基于STM32的3D打印機步進電機控制方法的設計。
準備3D打印機運行所需的各項硬件結構,以打印機的驅動板作為連接中心,驅動板通過電源開關連接打印機的步進電機,步進電機連接供電電源后,在步進電機的輸出口處連接示波器??刂芐TM32芯片放置在控制板結構內,并通過萬能表連接用于分析的上位機。搭建形成的步進電機的測試環境結構如圖2所示。

圖2 搭建形成的測試環境結構
在上圖搭建的測試環境結構內,上位機內搭載編譯開關量程序,程序運行步進電機的輸入開關量,并控制輸入端的電平為3.3V。根據步進電機接收的脈沖控制過程,步進電機采用主軸與絲杠兩相四線的結構,利用其主軸以及絲杠上的正反轉,實現電機的正常運行。設置步進電機的工作方式為雙四拍與單八拍的通電換向順序,此時,步進電機產生的轉速數值可表示為:

上述數值關系中,n表示步進電機產生的轉速,N表示步進電機通電循環周期數量,Z表示轉子齒數,f表示步進電機的脈沖頻率。在上述轉速狀態下,設置步進電機輸出引腳的占空比為50%。同步調試上位機的各項運行參數后,調用上位機中的控制軟件,控制3D打印機為工作上電狀態,為了平衡電路結構中的運行電壓,在步進電機輸出接口內設置參考電阻,數值關系可表示為:

其中,R表示設置的參考電阻,V0表示輸出電壓參數,R1表示步進電機內的固定電阻,VC表示供電電源電壓。測試環境搭建完畢后,準備基于時變邊界層滑膜算法的控制方法、基于DSP的控制方法以及設計的控制方法參與測試,設定恒細分數加減速運行、變細分數加減速運行測試過程,測量控制方法的性能。
調用控制運行的上位機程序,將控制程序處理為恒細分數梯形加減速控制過程,劃分步進電機的細分數為8,控制電機的運行方向為正向,且加速與減速間的運行百分比為0.2,設定步進電機的運行頻率為10kHz和15kHz,通過仿真處理,整理運行時間在750ms~840ms之間電機的實際速度,速度變化結果如圖3所示。

圖3 步進電機恒細分數條件下控制加速度變化
根據上圖整理的恒細分數速度運行曲線可知,當步進電機處于10kHz的運行條件下,在750ms~770ms的時間區段內,運行速度產生突變,可知該時間區段內電機產生電機控制脈沖,電機實際產生的振蕩持續減小,最終電機運行速度和控制頻率之間保持均勻的變化關系。當電機的運行頻率增加至15kHz時,電機加速度過程并未產生躍遷,步進電機運行呈現穩定狀態,且加速所需的時間區段較小。
在上述的最大細分數條件下,設置步進電機的期望角度為720°,控制最大細分數為8細節,保持正向的電機運行方向,通過仿真處理過程,整理變細分數條件下控制加速度的變化,變化如圖4所示。

圖4 步進電機變細分數條件下控制加速度變化
在上圖仿真得到的加速度數值變化下,變細分數條件下電力產生加速時間較長,且持續的加速時間與恒細分數條件下相等,由上圖所示的加速度變化可知,在控制指令下步進電機加速數值變化不一,且電機速度脈動減小,控制電機的時間明顯減小。整理上述恒細分數加減速運行以及變細分數加減速運行過程產生的各項系數,對應整理三種控制條件下的各項系數,設置三種控制方法的控制脈沖為1kHz,計算三種電機控制方法產生的控制誤差。
在上述的加減速運行環境內,整理上述步進電機的各項系數,設置步進電機的各項細分數值為1、2、4、8、16、24、32、64、128,取上述兩種測試環境內參數的均值,定義步進電機控制的打印角度,數值關系可表示為:

其中,u表示控制指令下3D打印機的角度,a表示控制觸發系數,v-表示步進電機的速度均值,k表示步進電機的耦合系數,s表示控制方法的等效控制系數,f表示步進電機的運行頻率。以上述計算得到的打印角作為標準處理數值,對應整理三種控制方法控制3D打印機的打印角,最終三種步進電機控制方法得到的誤差結果如表1所示:

表1 控制誤差結果
根據上述設定的細分數值,將恒細分數加減速運行以及變細分數加減速運行過程產生的各項參數作為標準控制指令的運行參數,并根據步進電機觸發驅動過程,定義3D打印機的打印角度,并以該數值作為標準數值,整理三種控制方法產生的控制誤差,由上表所示的控制誤差結果可知,基于時變邊界層滑膜算法的控制方法實際的控制誤差角在0.45°左右,該種控制方法產生的誤差最大。基于DSP的控制方法產生的誤差角為0.27°,該種控制方法產生的誤差較小。而所設計的控制方法產生的誤差角為0.1°,與兩種參與測試的控制方法相比,設計的控制方法控制過程產生的誤差最小。
隨著3D打印技術不斷發展成熟,針對3D打印的步進電機控制研究有著一定的學術價值。以微控制器STM32作為支持,設計3D打印步進電機控制方法,經過測試研究可知,能夠改善現有控制方法控制誤差較小的問題。在未來工作中,希望所設計的控制方法能夠為研究步進電機的性能提供理論支持。