劉成淦,王直
(江蘇科技大學計算機科學與工程學院,江蘇鎮江212003)
步進電機廣泛的應用于國民經濟中,它具有機構簡單、控制方面等優點,即使是應用在開環的系統中仍然能夠具有較高的準確率。步進電機接收到一個脈沖可以轉1.2度,通常通過控制脈沖數來實現步進電機的轉動步數,通過控制輸入的脈沖頻率實現對步進電機的轉動速度和加速度的控制。理論上輸入的脈沖頻率越高步進電機的轉動速度越快,反之,步進電機的速度越慢。但是在實際的應用中輸入的頻率過大或者過小會造成電機的失步和堵步,所以要充分考慮步進電機的運動頻率才能實現其運動的準確定位。在步進電機控制系統中可以通過輸入PWM波的方法來對步進電動的運動進行控制。PWM波的產生可以通過時鐘頻率、自動重裝值等參數進行設置,從而調節PWM波的占空比和輸出頻率。通過CAN通信來接收上位機發送的運動控制命令,主控制器判斷接收到的信息輸出相應的運動速度、運動方向。本文中主控制芯片選用STM32系列的芯片,通過設置芯片內部的定時器輸出相應的PWM波。通過調節PWM波的頻率使電機呈現S型運動軌跡,這種運動軌跡有利于提高步進電機運動的準確性,同時也能夠在一定程度上降低整個系統的功耗。系統中加入了電流調節電路實現對噪聲的調節,大大的提高了系統的穩定性。國內通常對步進電機控制系統的研究主要集中在硬件電路設計、軟件設計方面,而對步進電機的運動控制卻很少涉及,電機能否按照預定的軌跡準確運動決定著系統能否達到期望的控制效果,因此對電機的準確控制對機械臂系統具有重要的意義。本論文主要針對步進電機運動過程中的噪聲過大、準確性不足、效率低下進行改進。
步進電機是一種將電脈沖信號轉變為角位移或線位移且受數字信號控制的開環控制元件。電機的轉動速度、啟動和停止與輸入的脈沖信號頻率和脈沖數有關,與負載的變化無關。通常在一定范圍內輸入的脈沖頻率越快,其轉速越快。步進電機的加速和減速可以由輸入的頻率進行控制,位移和相位的變化受輸入的脈沖數影響。在實際的應用過程中如果要實現準確的位移控制,需要嚴格的把控輸入的脈沖個數。
步進電機在沒有超載的情況下,電機的運動速度和其停止的位置都是由輸入的脈沖頻率和脈沖數量決定的。通常,當向步進電機輸入一個脈沖信號,它將驅動步進電機按照預先設定的方向轉動一個固定的角度,這個角度成為“步矩角”。在使用步進電機的過程中,通過設定輸入的脈沖數量設置電機的運行位移,從而能夠準確的控制電機的運動行程。
步進電機從其結構上可以分為反應式、永磁式、和混合式。反應式步進電機的定子由繞組和轉子組成,且其繞組和轉子都是由軟磁材料制作而成。反應式步進電機的結構簡單、制作成本低、步矩角可以達到1.2度,但是在使用過程中發熱過大、可靠性較差。永磁式步進電機的轉子是由永磁材料制成,它的力矩較大,有較好的輸出動能,但是它的步矩角度一般為7.5度,導致了其控制精度較差。混合式步進電機的轉子也采用了永磁材料,輸出的的力矩較大,同時它的步矩角較小,在使用的過程中能夠對電機的運行軌跡進行精確控制。目前,工業上普遍采用兩相式步進電機,其性價比較高。它的步矩角為1.8度,如果和步進電機驅動器結合使用,可使步矩角達到0.007度,大大的提高了步進電機的運行精度。在實際的使用過程中,由于制造工藝水平和摩擦產熱等原因,實際的工作精度略低于理論值。
文中所論述和設計的抓取機械臂應用在血凝分析儀中,主要負責對進樣盤的抓取和位移。該機械臂共有4個自由度,采用步進電機作為其動力來源,具有較高的自動化程度。機械臂系統采用模塊化設計方式,模塊通過總線方式來實現與其他模塊之間的通信,能夠根據要求準確的運行,可實現對樣本盤的自動抓取,自動移動,自動放置至指定地點。該系統具有通用性,軟件的移植方便,同時在后期的維護和升級方面具有較大的優勢。系統采用了CAN通信與上位機進行數據的傳輸,節省了整個系統的空間。系統中采用步進電機作為機械臂的動力源,大大降低了系統的成。本系統與現有的機械臂系統相比具有生產成本低、準確度高、噪聲較小、裝置簡單、操作方便、抗干擾能力強等優點,易于產品的推廣。本系統中的步進電機控制芯片采用的是STM32F103CBT6,步進電機的驅動芯片采用的是THB6128。系統中采用的是現在比較普遍使用的兩相四線混合式步進電機,其基本的步矩角為1.8度/步。
步進電機的驅動方法一般采用專用的集成步進驅動芯片實現,控制器通過輸出脈沖的數量和頻率結合步進電機驅動器的細分功能,進而達到對步進電機的位移和速度的控制。圖1是一種基于STM32的步進電機控制系統(M0、M1、M2位細分,DIR為方向),該系統中步進電機驅動芯片采用的是THB6128。在該系統中向THB6128輸出的信號主要有PWM波、細分調節、電機運動方向。STM32根據判斷收到的上位機信息對步進電機執行相應的操作,電機控制系統的工作流程如圖2所示。通過步進電動的驅動芯片,單片機輸出的脈沖信號就轉變為步進電機的角位移。步進電機在一個脈沖下運動的角度可以通過細分進行調節,細分細說設置的越大電機在一個脈沖的驅動下運動的角度越小。電機的一個完整的運動過程需要經過低速啟動、快速加速到目標速度、在目標速度下保持運動、勻減速等過程才能使步進電機平穩運動而且可以盡可能的節省運動的時間。在這個一系列的運動過程中最重要的是如何解決步進電機的加減速問題使步進電機的運動軌跡呈現S型曲線。

圖1 步進電機控制系統工作流程

圖2 步進電機控制系統
文中設計的步進電機控制器采用STM32F103CBT6,驅動器采用步進電機驅動芯片THB6128,這個驅動器可以耐壓高達36 V直流電壓,峰值電流2.2 A,工作電流1.5 A,支持多種細分方式(1、1/2、1/4、1/8、1/16、1/32、1/64、1/128),通過 M1、M2、M3改變細分。使能端設置:ENABLE輸入端為低電平時,輸出為高阻狀態。但是,內部邏輯電路沒有停止工作,如果有脈沖信號的輸入,勵磁仍在進行。因此,將ENABLE重新置為高電平時,由于CLK信號還在輸入,電機繼續工作。電機正反轉控制端:CW/CCW為Low時,電機正轉,CW/CCW為High時,電機反轉。
步進電機S型曲線運動的特點是步進電機起始速度較小,在中途可以以較快的時間加速到期望的速度,在加速到期望的速度后可以以期望的速度保持勻速運動。整個過程不會出現電機過沖的現象,提高了系統的穩定性。由于電機能夠在最短的時間內加速到期望的速度,從而降低了系統的功耗。
在系統中由于步進電機的啟動速度和運行速度設置的不太合理,通常會造成步進電機的堵轉和噪聲。在系統中可以通過硬件電路對步進電機的噪聲進行處理,在系統中通過調節滑動電阻器對步進電機的噪聲進行調節。
步進電機的啟動過程主要體現在定時器中斷及中斷服務函數上,PWM輸出主要通過定時器中斷來完成,定時器中斷輸出PWM主要分為兩塊,首先定時器中斷初始化,配置相應時鐘,定義IO,設定優先級,其后在定時器中斷服務函數設置加速過程,既不斷的改變PWM輸出頻率。定時器中斷服務函數是本處的重點,加減速的過程實則是通過在定時中斷服務函數每個相應的時間改變PWM的輸出頻率呈現一個相對線性的過程,最終達到一個穩定值,其中啟動的初始頻率不一定為零,電機根據不同的負載啟動的頻率是不同的,主函數中通過使能相應PWM定時器的時鐘,配置細分,方向,以及打開啟動芯片使能端即可對電機實現控制。
在步進電機運動的過程中,在其啟動的過程中由于靜態慣量比較大需要,因此需要較小的加速度,否則步進電機在啟動的過程中易造成堵轉現象。在步進電機的停止階段是,其輸出的轉矩會大大地降低,如果此時的加速度過大往往會產生步進電機的過沖現象。綜合考慮各個方面,為了保證步進電機的準確啟動、穩定運行和準確停止,需要采用對步進電機的運行速度采取曲線控制方法。
S型曲線是目前比較新的運動控制方法,它是由步進電機的速度軌跡呈現出S型曲線得出來的。該模型能夠滿足大多數情況下步進電機的工作狀態,在使用S型曲線對步進電機運動控制中,步進電機依次經歷的階段為加加速階段、快速加速階段、減加速階段、勻速運動階段、減減速階段。采用S型常用的S型運動曲線的數學模型為:

曲線的特點是開始階段步進電機的加速度緩慢的增加,在加速度增加到一定的范圍后加速度快速的增大。在加速度達到一定的范圍后加速度再次緩慢的增加,最后速度趨于穩定,并保持該速度進行勻速運動。曲線的減速過程可以看作加速過程的逆過程。在實際的應用過程中該函數模型能夠有效的的實現步進電機在運動控制中的準確性,但是在運動軌跡較短的環境下容易造成步進電機的失步和堵轉現象,增大了系統的不穩定性。為了能在實際的工業控制中使多個步進電機能快速的定位,有很高的精確度,速度也能平滑過渡,加速度不產生突變,先提出一種改進型S型曲線,其數學方程式為:

其中amax表示的是加速階段的最大的速度,hmax表示的是最大變加速度。
其速度的曲線圖形如圖3所示步進電機S型曲線運動的特點是步進電機起始速度較小,在中途可以以較快的時間加速到期望的速度,在加速到期望的速度后可以以期望的速度保持勻速運動。整個過程不會出現電機過沖的現象,提高了系統的穩定性。由于電機能夠在最短的時間內加速到期望的速度,從而降低了系統的功耗。
步進電機S型曲線運動的特點是步進電機起始速度較小,在中途可以以較快的時間加速到期望的速度,在加速到期望的速度后可以以期望的速度保持勻速運動。整個過程不會出現電機過沖的現象,提高了系統的穩定性。

圖3 步進電機速度曲線
步進電機的加減速過程是由起始頻率和變化頻率組成的,通過計算式獲得加速度的數據,從而為STM32的控制提供理論依據。通常情況下STM32對步進電機速度的控制不是實時的調用公式進行計算,而是把事先計算好的數據存儲到其的內存中,通過其內部的定時器在一定的時間內進行觸發,從而得到輸出的頻率。
STM32中最高頻率為72 MHz,若采用72 MHz此時的PWM波的頻率約為1.1 kHz,此時步進電機難以啟動,為了解決這個問題需要對定時器的時間進行分頻處理。對定時器的分頻時間進行處理時分頻系數的選擇要慎重考慮,必須考慮到定時的精度問題也要考慮到電機運動過程中加速和減速對輸出的頻率的要求。在實際的系統的應用中如果選擇的分頻系數較小,此時系統的精度較高,但是滿足不了系統對低頻的需求。
在本系統中采用的解決方案是在低頻的時候選取較大的分頻系數,在高頻的時候降低分頻的系數。具體的操作方法是在低頻系統運行時采用的分頻系數為72,即低頻的頻率能夠達到15 kHz;當STM32的輸出頻率上升到200 kHz時將分頻系數變為1。
共振問題是影響系統性能的一個重要因素,如果系統中的共振往往會造成系統的噪聲過大,會對系統的壽命造成影響,同時也會影響步進電機的準確性。因此共振問題必須引起重視。在本系統中可以通過調節THB6128驅動的細分參數來對系統的噪聲進行處理。以三相步進電機[18-19]為例,假如電機的額定電流為3 A,在沒有使用細分的情況下,在驅動器每接收到一個脈沖步進電機的電流就從0 A瞬間增加至3 A。電流的巨大變化無可避免的會帶來電機運動時的振動和噪聲。在THB6128驅動芯片有3個設置細分系數的I/O口,假設將細分系數設置為10時,步進電機沒接收到一個脈沖其電流從0 A變化為0.3 A,這樣大大的降低了步進電機在運動過程中的振動和噪聲。采用細分調節并不會降低步矩力,相反步矩力還會增加。
本文設計的步進電機控制系統已經成功的應用于所在的研究項目中,該系統在步進電機的加加速運動過程中采用的S型曲線使電機在啟動、加速和停止時都具有良好的平穩性。在本系統中通過調節定時器的分頻系數能夠較好的解決系統在高頻和低頻下的準確性。通過采用不同的細分能夠在一定程度上降低了系統的振動和噪聲,最大化的提高了系統的性能。
[1]楊乾.基于AVR的多功能室內空氣凈化器設計[D].合肥:合肥工業大學,2015.
[2]唐雄民,朱燕飛.三相恒頻PWM整流器的直接功率控制研究[J].電氣傳動,2011,41(11):32-37.
[3]李成祥.智能型室內空氣質量檢測與控制系統[D].北京:北京交通大學,2011.
[4]孫書鷹.新一代嵌入式微處理器STM32F103開發與應用[J].微計算機應用,2011,31(12):2-4.
[5]鮑愛達.基于FPGA和SHT21傳感器的溫濕度測量系統的設計[J].計算機測量與控制,2012,20(11):1-3.
[6]陳銀溢.基于CC2541和LIS3DSH的計步器設計[J].機械工程與自動,2014,6(187):1-3.
[7]王月.基于單片機直接驅動段式LCD的驅動模塊設計[J].研究與設計,2012,28(4):2-4.
[8]林凡強.筆段式LCD驅動設計[J].液晶與顯示,2012,27(4):2-3.
[9]劉舉慶,劉蓮秋.遙控編解碼電路的新應用[J].信息技術,2011(11):46-49.
[10]原有進.蘭州重離子加速器冷卻儲存環束流累積研究[J].原子核物理評論,2001,18(1):39-42.
[11]郭威娜,鄧紅.雙步進電機同軸聯接及驅動裝置的設計[J].微計算機信息,2012(4):103-104.
[12]魏云冰,黃進,牛發亮,等.基于小波脊線的籠型異步電動機轉子故障特征提取[J].電工技術學報,2013,18(4):123-127.
[13]張瑞祥,趙軍紅.小波包在異步電機轉子斷條故障檢測中的應用[J].自動測量與控制,2013,25(9):68-69.
[14]周黎,楊世洪,高曉東.步進電機控制系統建模及運行曲線仿真[J].電機與控制學報,2011,15(1):20-25.
[15]程軍圣,于德介,楊宇,等.基于E M D的齒輪故障識別研究[J].電子與信息學報,2004,26(5):825-829.
[16]劉振興,尹項根.基于Hibert模量頻譜分析的異步電動機轉子故障在線監測與診斷方法[J].中國電機工程學報,2003,23(7):158-161.
[17]孫標.基于ARM和吸光度法的糖化血紅蛋白分析儀的設計[D].鎮江:江蘇科技大學,2015.
[18]白玉,劉冰,李智.基于Cortex-M3處理器的步進電機控制系統[J].電子科技,2014,27(10):43.
[19]萬侃然,汪婷,邵淦.基于ATMEGA128的氣密性檢測儀設計與實現[J].電子科技,2015,28(1):81.