范巧艷
(西安職業(yè)技術(shù)學(xué)院 機(jī)電工程系,陜西 西安 710032)
基于MATLAB GUI的步進(jìn)電動(dòng)機(jī)升降速參數(shù)生成軟件設(shè)計(jì)
范巧艷
(西安職業(yè)技術(shù)學(xué)院 機(jī)電工程系,陜西 西安 710032)
針對步進(jìn)電動(dòng)機(jī)起動(dòng)和停止過程中出現(xiàn)的失步和過沖現(xiàn)象,分析了某型步進(jìn)電動(dòng)機(jī)的矩頻特性,總結(jié)出了步進(jìn)電動(dòng)機(jī)升降速控制原則,提出了一種利用曲線擬合的升降速曲線設(shè)計(jì)步驟及升降速參數(shù)的生成方法,利用MATLAB GUI開發(fā)出步進(jìn)電動(dòng)機(jī)升降速參數(shù)生成軟件,成功生成了升降速參數(shù),對各型步進(jìn)電動(dòng)機(jī)的控制均具有一定的工程應(yīng)用價(jià)值。
MATLAB GUI;步進(jìn)電動(dòng)機(jī);矩頻特性;升降速曲線
步進(jìn)電動(dòng)機(jī)能夠以開環(huán)控制方式對位置和速度進(jìn)行控制,由于沒有反饋,步進(jìn)電動(dòng)機(jī)必須精確響應(yīng)每個(gè)控制脈沖,否則在升速或降速階段會(huì)出現(xiàn)過沖或失步;因此,步進(jìn)電動(dòng)機(jī)控制系統(tǒng)中,升降速過程的控制非常關(guān)鍵。本文編寫了基于MATLAB GUI的步進(jìn)電動(dòng)機(jī)升降速參數(shù)生成軟件,由該軟件生成單位控制周期內(nèi)的轉(zhuǎn)速參數(shù)??刂朴布⑥D(zhuǎn)速參數(shù)寫入存儲(chǔ)器中,每次上電將其轉(zhuǎn)存到內(nèi)存,以便控制步進(jìn)電動(dòng)機(jī)時(shí)調(diào)用。
步進(jìn)電動(dòng)機(jī)控制系統(tǒng)一般由微控制器(如DSP、單片機(jī))、外擴(kuò)FLASH ROM、步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)器和步進(jìn)電動(dòng)機(jī)等組成,控制系統(tǒng)原理圖如圖1所示。微控制器將電源信號、方向信號、步進(jìn)脈沖信號和停止信號送至步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)器,經(jīng)處理后,將步進(jìn)電動(dòng)機(jī)的方向信號和功率放大后的步進(jìn)脈沖信號送至步進(jìn)電動(dòng)機(jī)。
圖1 步進(jìn)電動(dòng)機(jī)控制系統(tǒng)原理圖
從步進(jìn)電動(dòng)機(jī)控制系統(tǒng)出發(fā),控制步進(jìn)電動(dòng)機(jī)的升降速就是利用軟件控制微控制器的步進(jìn)脈沖信號發(fā)送速率。改變單位控制周期內(nèi)的步進(jìn)脈沖速率,一般應(yīng)將參數(shù)寫入FLASH ROM。本文利用MATLAB GUI友好的人機(jī)界面和強(qiáng)大的計(jì)算能力,快捷生成升降速參數(shù)[1]。
控制步進(jìn)電動(dòng)機(jī)關(guān)鍵是要保證步進(jìn)電動(dòng)機(jī)在起動(dòng)、停止和升降速過程中,不失步和不過沖,其主要和步進(jìn)電動(dòng)機(jī)的矩頻特性有關(guān)。矩頻特性曲線是指步進(jìn)電動(dòng)機(jī)轉(zhuǎn)矩與輸入步進(jìn)脈沖信號頻率關(guān)系的曲線,對應(yīng)為步進(jìn)電動(dòng)機(jī)轉(zhuǎn)速與步進(jìn)電動(dòng)機(jī)轉(zhuǎn)距的控制關(guān)系。某型步進(jìn)電動(dòng)機(jī)矩頻特性曲線如圖2所示,由此可以計(jì)算得出該步進(jìn)電動(dòng)機(jī)的矩頻特性參數(shù)(見表1)。
表1 某步進(jìn)電動(dòng)機(jī)矩頻特性參數(shù)
圖2 某型步進(jìn)電動(dòng)機(jī)的矩頻特性曲線
從圖2和表1可以看出,步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)矩隨著轉(zhuǎn)速提高而下降,由此帶來如下問題:1)若外部負(fù)載太大,則造成阻力太大,步進(jìn)電動(dòng)機(jī)無法起動(dòng),應(yīng)重新選用電動(dòng)機(jī);2)若起動(dòng)轉(zhuǎn)速太大,則步進(jìn)電動(dòng)機(jī)無法起動(dòng),需要通過多次試驗(yàn)得出起動(dòng)轉(zhuǎn)速;3)若速度上升過快,力矩下降過快,容易造成失步,若速度下降過快,力矩上升過快,容易造成過沖,需要設(shè)計(jì)合適的升降速曲線,進(jìn)而控制步進(jìn)脈沖頻率,使上升速度和下降速度平緩一些[2]。
總之,步進(jìn)電動(dòng)機(jī)升降速曲線保持在矩頻特性曲線下方,即可保證步進(jìn)電動(dòng)機(jī)在起動(dòng)、停止和升降速過程中不失步和不過沖,這是步進(jìn)電動(dòng)機(jī)升降速控制的原則。
通過對步進(jìn)電動(dòng)機(jī)矩頻特性的分析可以看出,步進(jìn)電動(dòng)機(jī)的控制應(yīng)設(shè)置正確的起停轉(zhuǎn)速,并且以最快的速度轉(zhuǎn)到設(shè)定位置,整個(gè)過程要求不失步、不過沖。步進(jìn)電動(dòng)機(jī)的起動(dòng)頻率一般比最高運(yùn)行頻率低很多,逐漸提高步進(jìn)脈沖頻率可以使步進(jìn)電動(dòng)機(jī)以最快的速度轉(zhuǎn)到位。
起動(dòng)頻率主要靠試驗(yàn)確定,升降速曲線的設(shè)計(jì)就是要尋求一種與步進(jìn)電動(dòng)機(jī)矩頻特性相適應(yīng)的速度控制方案。常見的升降速方案有直線型、S型和指數(shù)型等。根據(jù)步進(jìn)電動(dòng)機(jī)的矩頻特性,起動(dòng)階段負(fù)載轉(zhuǎn)動(dòng)慣量較大,升速曲線應(yīng)緩和一些;高速階段,步進(jìn)電動(dòng)機(jī)轉(zhuǎn)矩下降較快,轉(zhuǎn)速也應(yīng)緩和上升。降速曲線與升速曲線對稱,可以得出,S型曲線是最適合的升降速方案。下述介紹升速曲線的設(shè)計(jì)步驟以及升速參數(shù)的生成方法,同理可得降速曲線和降速參數(shù)[3-6]。
1)根據(jù)表1的數(shù)據(jù),以轉(zhuǎn)速為自變量,轉(zhuǎn)矩為因變量,進(jìn)行曲線擬合。給實(shí)際工程應(yīng)用留下一定余量,縱坐標(biāo)取為原來的0.8,保證轉(zhuǎn)速滿足步進(jìn)電動(dòng)機(jī)的矩頻特性。曲線擬合公式為:
f′(x)=0.8f(x)
(1)
f′(x)=ax^n+bx^(n-1)+…+cx+1
(2)
擬合出的曲線應(yīng)當(dāng)在步進(jìn)電動(dòng)機(jī)矩頻特性曲線的下方。
2)步距角與轉(zhuǎn)速成反比關(guān)系。設(shè)步距角為θ,對應(yīng)轉(zhuǎn)速為v,0.6°步距角對應(yīng)轉(zhuǎn)速為v1,則:
v=θv1/0.6
(3)
這樣,根據(jù)步距角θ得到相應(yīng)的轉(zhuǎn)速v,以v為自變量,轉(zhuǎn)矩為因變量,利用式1和式2進(jìn)行曲線擬合。
3)通過試驗(yàn)獲得起動(dòng)頻率,由起動(dòng)頻率獲得初始轉(zhuǎn)速v0,由設(shè)計(jì)要求獲得最高轉(zhuǎn)速vt,則式2自變量x的取值范圍為:v0~vt。
4)設(shè)微控制器控制周期為t,步進(jìn)電動(dòng)機(jī)轉(zhuǎn)動(dòng)總時(shí)間要求為T,則取值個(gè)數(shù)r為:
r=T/t
(4)
5)以小增量轉(zhuǎn)速(如0.1 r/min)對式1擬合的多項(xiàng)式進(jìn)行插值。插值所得到的曲線應(yīng)該在步進(jìn)電動(dòng)機(jī)矩頻特性曲線的下方。
6)以轉(zhuǎn)矩為自變量,轉(zhuǎn)速為因變量,對第5步中插值所得的數(shù)據(jù)進(jìn)行反擬合,得到轉(zhuǎn)矩-轉(zhuǎn)速擬合曲線,擬合階數(shù)為n1。
7)均勻分配轉(zhuǎn)矩升高速率,根據(jù)式4計(jì)算所得參數(shù)個(gè)數(shù),對第6步擬合的曲線進(jìn)行插值,從而生成升速曲線參數(shù)。降速是升速的逆過程,逆序排列升速參數(shù)即可得到降速參數(shù)。
經(jīng)過上述7步,可得到滿足步進(jìn)電動(dòng)機(jī)矩頻特性的升降速轉(zhuǎn)速參數(shù),為編寫軟件做好了算法準(zhǔn)備。
MATLAB GUI人機(jī)界面優(yōu)良,且擁有MATLAB軟件強(qiáng)大的計(jì)算能力,本文選擇MATLAB GUI作為開發(fā)工具。軟件輸入變量包括:步距角θ、起動(dòng)轉(zhuǎn)速v0、終止轉(zhuǎn)速vt、微控制器控制周期t、步進(jìn)電動(dòng)機(jī)轉(zhuǎn)動(dòng)總時(shí)間T、矩頻特性曲線擬合階數(shù)n、轉(zhuǎn)矩-轉(zhuǎn)速曲線擬合階數(shù)n1。輸出量為升降速轉(zhuǎn)速參數(shù)。軟件設(shè)計(jì)中主要用到了MATLAB曲線擬合函數(shù)polyfit()和曲線插值函數(shù)polyval(),避免了使用復(fù)雜的數(shù)學(xué)公式,使得本文所設(shè)計(jì)的步進(jìn)電動(dòng)機(jī)升降速參數(shù)生成軟件十分簡潔實(shí)用。軟件運(yùn)行效果如圖3所示。
圖3 某型步進(jìn)電動(dòng)機(jī)升降速參數(shù)生成軟件運(yùn)行界面
圖3a所示為矩頻特性曲線擬合示意圖,點(diǎn)劃線為某型步進(jìn)電動(dòng)機(jī)矩頻特性曲線,三角和點(diǎn)化線為留有余量的矩頻特性曲線,實(shí)線為根據(jù)式1進(jìn)行插值所得到的曲線,該曲線在步進(jìn)電動(dòng)機(jī)矩頻特性曲線的下方,滿足設(shè)計(jì)要求。圖3b所示為擬合后的生成參數(shù)曲線,其中,橫坐標(biāo)為參數(shù)個(gè)數(shù),縱坐標(biāo)為生成參數(shù),曲線大致符合S型升速曲線,滿足步進(jìn)電動(dòng)機(jī)的升速需求。降速是升速的逆過程,逆序排列升速參數(shù)即可得到降速曲線。
設(shè)轉(zhuǎn)動(dòng)總時(shí)間為3 s,微控制器控制周期為0.1 s,步距角為0.6°,起動(dòng)速度為100 r/min,對軟件生成的參數(shù)進(jìn)行簡單修改,得到最終生成的升速參數(shù),見表2。
表2 步進(jìn)電動(dòng)機(jī)升速參數(shù)表
將該參數(shù)寫入FLASH ROM中,微控制器在控制步進(jìn)電動(dòng)機(jī)升降速時(shí)通過查表方式調(diào)用。
針對步進(jìn)電動(dòng)機(jī)的失步和過沖問題,介紹了步進(jìn)電動(dòng)機(jī)控制系統(tǒng)硬件,分析了步進(jìn)電動(dòng)機(jī)的矩頻特性,總結(jié)出了步進(jìn)電動(dòng)機(jī)升降速控制原則,提出了一種利用曲線擬合的升降速曲線設(shè)計(jì)步驟及升降速參數(shù)生成方法,并利用MATLAB GUI工具開發(fā)了升降速參數(shù)生成軟件。軟件的成功開發(fā)對各型步進(jìn)電動(dòng)機(jī)的控制均具有一定的工程應(yīng)用價(jià)值。
[1] 高亮.8051單片機(jī)對步進(jìn)電機(jī)的控制及步進(jìn)電機(jī)升降速曲線的設(shè)計(jì)[J].測控技術(shù), 2002,21(11):1-2,67-68.
[2] 黃法恒,劉利.基于單片機(jī)的步進(jìn)電機(jī)升降速及精度控制研究[J].微電機(jī),2010,43(3):95-97.
[3] 池海寧.步進(jìn)電機(jī)失步原因及解決方法[J].機(jī)電設(shè)備(技術(shù)篇),2006(4):15.
[4] 李海波.單片機(jī)對步進(jìn)電機(jī)三相六拍指數(shù)規(guī)律升降速的并行控制[D].北京: 北京化工大學(xué),2003.
[5] 坂本正文. 步進(jìn)電機(jī)應(yīng)用技術(shù)[M]. 王自強(qiáng) ,譯. 北京:科學(xué)出版社,2010.
[6] 陳曙光,張洪偉,劉曉,等. 關(guān)于風(fēng)力發(fā)電機(jī)齒輪嚙合傳動(dòng)的有限元分析[J].新技術(shù)新工藝,2014(10):56-58.
責(zé)任編輯李思文
ParameterGenerationSoftwareofRaisingandReducingSpeedsofStepMotorbasedonMATLABGUI.
FAN Qiaoyan
(Department of Mechanical and Electrical Engineering, Xi′an Vocational Technical College,Xi′an 710032, China)
Desynchronizing and overshooting often occurs on step motor′s starting and stopping. Torque characteristics of a step motor were analyzed and principles of raising and reducing speeds were summarized in the paper to solve the problem. The step of designing speed-up and speed-down curve based on curve fitting and the way of generating parameters of raising and reducing speeds of step motor were proposed, parameter generation software was developed based on MATLAB GUI, this brined certain value in engineering of types of step motor’s controlling.
MATLAB GUI, step motor, torque characteristics, speed-up and speed-down curve
TM 383.6
:A
范巧艷(1986-),女,助教,碩士研究生,主要從事信號與信息處理等方面的研究。
2015-01-11