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

圖1 步進電機控制系統(tǒng)工作流程

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

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

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

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