南昌大學(xué)機(jī)電科學(xué)與工程研究所 李 靈 朱洪濤 廖文國(guó)
多步進(jìn)電機(jī)的變細(xì)分加減速控制研究
南昌大學(xué)機(jī)電科學(xué)與工程研究所 李 靈 朱洪濤 廖文國(guó)
近些年來,由于步進(jìn)電機(jī)具有精度高、慣性小、工作可靠,并且能實(shí)現(xiàn)高精度快速開環(huán)控制的特點(diǎn),因而被廣泛應(yīng)用在舞臺(tái)燈的運(yùn)動(dòng)控制系統(tǒng)中。要求步進(jìn)電機(jī)能夠高速、精確的運(yùn)行,即在保證步進(jìn)電機(jī)在不失步和不過沖的情況下,以最快的速度平穩(wěn)地運(yùn)行到指定位置,這就對(duì)步進(jìn)電機(jī)的升降速控制以及多步進(jìn)電機(jī)的協(xié)同控制提出了很高的要求。
為了克服失步和過沖現(xiàn)象,應(yīng)在步進(jìn)電機(jī)啟停時(shí)進(jìn)行加減速控制。步進(jìn)電機(jī)常用的是升降頻控制方法。微控制器中一般都是采用定時(shí)器中斷方式來控制步進(jìn)電機(jī)的加減速,實(shí)際上就是不斷改變定時(shí)器中裝載值的大小。一般用離散方法逼近理想的升降速曲線,根據(jù)不同階段的頻率計(jì)算出定時(shí)器中裝載值的大小和相應(yīng)走過的步數(shù),放在一個(gè)表格中,系統(tǒng)運(yùn)行時(shí),采用查表的方法讀出所需要的值實(shí)現(xiàn)對(duì)頻率的調(diào)整。用單片機(jī)實(shí)現(xiàn)步進(jìn)電機(jī)的加/減速控制,實(shí)際上就是控制發(fā)脈沖的頻率,升速時(shí),使脈沖頻率增高,減速時(shí)相反。這種控制方法在步進(jìn)電機(jī)數(shù)量有限、步進(jìn)電機(jī)速度不高、對(duì)系統(tǒng)響應(yīng)速度和靈敏度不高的場(chǎng)合行之有效。在舞臺(tái)燈中,以某款燈具為例,兩相混合式步進(jìn)電機(jī)數(shù)量為20個(gè),電機(jī)型號(hào)各不相同,電機(jī)速度為6RPM~200RPM,電機(jī)有連續(xù)旋轉(zhuǎn)、到達(dá)指定位置、在指定位置以某一偏移角度左右擺動(dòng)三種運(yùn)動(dòng)狀態(tài)。控制器接收DMX512協(xié)議的指令,把指令翻譯成每個(gè)電機(jī)的目標(biāo)狀態(tài),進(jìn)而根據(jù)指令要求協(xié)同控制各個(gè)電機(jī)的運(yùn)行。DMX512協(xié)議的波特率為250KBPS,系統(tǒng)響應(yīng)速度和靈敏度較高。由此可見,如果采用升降頻方法就得為每個(gè)電機(jī)建立一個(gè)頻率-步長(zhǎng)表,定時(shí)器初值的計(jì)算與裝載也頗為不便,這將耗費(fèi)大量的MCU資源,電機(jī)的速度達(dá)不到要求。據(jù)此筆者研究了一種全新的變細(xì)分控制算法。
升降頻加減速的本質(zhì)是固定細(xì)分階數(shù),改變階梯波脈沖頻率;而變細(xì)分加減速則是固定階梯波脈沖頻率,改變細(xì)分階數(shù)。
要實(shí)現(xiàn)變細(xì)分,就必須根據(jù)不同的細(xì)分階數(shù)生成不同的階梯波。建立階梯波數(shù)值表,有兩種方法,一種是針對(duì)每種細(xì)分方式建立相應(yīng)的表格,其特點(diǎn)是細(xì)分種類多樣,但表格所占空間較大,而且只能實(shí)現(xiàn)有限的細(xì)分階數(shù);另外一種,建立一種固定細(xì)分階數(shù)的階梯波數(shù)值表。在具體控制中,通過設(shè)定循環(huán)增量基數(shù),使不同的電機(jī)速度要求對(duì)應(yīng)不同的細(xì)分步數(shù),實(shí)現(xiàn)了連續(xù)變細(xì)分加減速,這也是本控制系統(tǒng)采用的方法。
固定頻率時(shí)不同速度對(duì)應(yīng)的細(xì)分階數(shù)計(jì)算公式如下:
式中,Sub1為所需細(xì)分?jǐn)?shù),F(xiàn)為脈沖頻率,S為步進(jìn)電機(jī)轉(zhuǎn)動(dòng)速度(單位:rpm)。
本系統(tǒng)中固定細(xì)分表的細(xì)分階數(shù)為256,因此循環(huán)增量的計(jì)算公式如下:
式中:Mx_Step為循環(huán)增量。
如此一來,在固定頻率下,電機(jī)速度與循環(huán)增量成正比,通過改變循環(huán)增量值的大小可以很方便地改變電機(jī)的速度,從而實(shí)現(xiàn)電機(jī)加減速控制。
系統(tǒng)框圖如圖1所示。
下面以顏色盤的控制過程為例來體現(xiàn)電機(jī)的實(shí)現(xiàn)功能。顏色盤通道指令與電機(jī)狀態(tài)對(duì)應(yīng)關(guān)系如表1所示。由表可知,當(dāng)指令表示電機(jī)轉(zhuǎn)到固定位置時(shí),電機(jī)運(yùn)行期間的最高速度為100r/ min;當(dāng)指令表示電機(jī)連續(xù)轉(zhuǎn)動(dòng)時(shí),電機(jī)加速到該速度后保持該速度勻速運(yùn)行。假設(shè)步進(jìn)電機(jī)刷新頻率為5KHz,則由此可計(jì)算出電機(jī)運(yùn)行期間的最高循環(huán)增量值。
電機(jī)加減速控制基本思路如下:
1.在微控制器ROM中建立一個(gè)固定的公共正余弦256細(xì)分表格。
2.設(shè)變量S_Value,Max_Step,Mx_BigStep,Mx_State分表表示電機(jī)的啟動(dòng)步長(zhǎng),循環(huán)增量,電機(jī)轉(zhuǎn)動(dòng)1.8°標(biāo)志位和當(dāng)前電機(jī)在細(xì)分表中的位置。
3.根據(jù)電機(jī)速度要求設(shè)定定時(shí)器中斷初值為某一固定值。
表 1 顏色盤通道指令與電機(jī)狀態(tài)
4.定時(shí)器中斷刷新電機(jī)DA值,根據(jù)當(dāng)前電機(jī)所在細(xì)分表中的位置加上循環(huán)增量得到新的電機(jī)所在查細(xì)分表位置,查表得到正余弦值,刷新電機(jī)的DA。
5.主程序根據(jù)DMX512指令要求,計(jì)算各個(gè)電機(jī)的目標(biāo)狀態(tài)和電機(jī)最高速度,進(jìn)而計(jì)算循環(huán)增量值,判斷電機(jī)1.8°標(biāo)志位,加減速階段電機(jī)每轉(zhuǎn)過1.8°改變一次循環(huán)增量值的大小。
以顏色盤指令值υ=215,電機(jī)連續(xù)正轉(zhuǎn),最高速度為152.3r/ min為例,循環(huán)增量 Max_Step=26。電機(jī)起步 S_Value=1,Mx_State=0。顏色盤加速控制簡(jiǎn)約流程圖如圖2所示。
電機(jī)轉(zhuǎn)到固定位置或者反轉(zhuǎn),擺動(dòng)的加減速類似,在程序中也很容易實(shí)現(xiàn)。多電機(jī)控制只需將每個(gè)電機(jī)順序執(zhí)行便可。
這種步進(jìn)電機(jī)加減速控制方法穩(wěn)定可靠,比較簡(jiǎn)單,容易實(shí)現(xiàn),能充分利用控制器資源,尤其適合在單一控制器控制多步進(jìn)電機(jī)的場(chǎng)合中,并已成功應(yīng)用在1500W的搖頭燈中。