国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的步進(jìn)電機(jī)動(dòng)態(tài)加減速控制

2020-05-09 03:53何昌俊楊自棟閆珍奇
輕工機(jī)械 2020年2期
關(guān)鍵詞:曲線圖階梯加速度

何昌俊, 楊自棟, 閆珍奇, 曾 恒

(浙江農(nóng)林大學(xué) 工程學(xué)院, 浙江 杭州 311300)

步進(jìn)電機(jī)是一種可將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。工作時(shí),每輸入一個(gè)脈沖,電機(jī)轉(zhuǎn)軸即可轉(zhuǎn)過(guò)一個(gè)相應(yīng)的步進(jìn)角,具有精度高、運(yùn)行可靠及無(wú)累計(jì)誤差等優(yōu)點(diǎn),因而被廣泛應(yīng)用于數(shù)字控制系統(tǒng)中。理論上,步進(jìn)電機(jī)的工作狀況只和脈沖數(shù)和脈沖頻率相關(guān)。在實(shí)際中,隨著脈沖頻率的升高,步進(jìn)電機(jī)轉(zhuǎn)矩隨之降低,當(dāng)頻率高到一定程度時(shí),電機(jī)提供的轉(zhuǎn)矩在一個(gè)脈沖周期里不能使電機(jī)轉(zhuǎn)過(guò)一個(gè)步進(jìn)角,此時(shí)電機(jī)將發(fā)生失步或堵轉(zhuǎn),所以步進(jìn)電機(jī)存在一個(gè)最大工作轉(zhuǎn)速。在步進(jìn)電機(jī)速度發(fā)生突變時(shí),若脈沖頻率變化不合理,電機(jī)提供的轉(zhuǎn)矩在一個(gè)脈沖周期里不能使電機(jī)轉(zhuǎn)過(guò)一個(gè)步進(jìn)角或超過(guò)一個(gè)步進(jìn)角,電機(jī)將會(huì)發(fā)生失步、堵轉(zhuǎn)或過(guò)沖,為此可以在步進(jìn)電機(jī)變速時(shí)引入一個(gè)合理的加減速過(guò)程以解決這個(gè)問(wèn)題。

常見的步進(jìn)電機(jī)加減速控制方法主要有:直線型加減速曲線、指數(shù)型加減速曲線和S型加減速曲線。直線型加減速曲線在加速、勻速和減速過(guò)程中不能光滑過(guò)渡,主要適用于控制系統(tǒng)處理速度較慢且對(duì)升降速過(guò)程要求不高的場(chǎng)合;指數(shù)型加減速曲線的平滑性好,運(yùn)動(dòng)精度高,但在加減速的起點(diǎn)存在加減速突變;S型加減速曲線的加速度和速度曲線具有連續(xù)性特性,能夠保證步進(jìn)電機(jī)在運(yùn)動(dòng)過(guò)程中速度和加速度沒(méi)有突變,減小沖擊,從而提高步進(jìn)電機(jī)的平穩(wěn)性[1-2]。課題組根據(jù)ARM的STM32F103ZET6芯片,提出一種基于七段加減速S曲線的改進(jìn)S曲線加減速算法,將其用于步進(jìn)電機(jī)的動(dòng)態(tài)調(diào)速中,提高步進(jìn)電機(jī)運(yùn)行時(shí)的穩(wěn)定性和可靠性。

1 步進(jìn)電機(jī)加減速S曲線

步進(jìn)電機(jī)加減速S曲線,指的不是某一特定的算法,而是對(duì)加減速曲線呈S型算法的統(tǒng)稱。常用的S型曲線主要有2種:一種是引入Sigmoid函數(shù)曲線作為加減速的速度曲線;另一種是在加減速階段引入加加速度來(lái)控制加速度,以防止加速度突變出現(xiàn)柔性沖擊而影響步進(jìn)電機(jī)的平穩(wěn)運(yùn)行。

1.1 Sigmoid曲線

Sigmoid函數(shù)在生物學(xué)和信息工程學(xué)中是常見的函數(shù)。將Sigmoid函數(shù)圖像向右平移a個(gè)單位,可作步進(jìn)電機(jī)加速段的速度S曲線圖,函數(shù)的表達(dá)式為式(1),其導(dǎo)函數(shù)曲線可作步進(jìn)電機(jī)S曲線的加速度曲線圖,函數(shù)表達(dá)式為式(2)。圖1所示的是a取5時(shí)Sigmoid曲線圖和其導(dǎo)函數(shù)曲線圖。

(1)

(2)

由圖1(b)Sigmoid導(dǎo)函數(shù)曲線圖可以看出,步進(jìn)電機(jī)在加速階段,加速度沒(méi)有突變且沒(méi)有拐點(diǎn),整條加速度曲線光滑。說(shuō)明Sigmoid函數(shù)做加減速S曲線可使電機(jī)避免加速過(guò)程出現(xiàn)剛性沖擊和柔性沖擊,有利于電機(jī)的加減速過(guò)程的平穩(wěn)工作。但是在Sigmoid函數(shù)里含有ex項(xiàng),當(dāng)計(jì)算機(jī)處理這類函數(shù)時(shí)要花費(fèi)遠(yuǎn)超加法和乘法運(yùn)算的時(shí)間,故在STM32微控芯片上計(jì)算Sigmoid函數(shù)需要更長(zhǎng)的時(shí)間。當(dāng)芯片計(jì)算函數(shù)值的時(shí)間超過(guò)變頻的時(shí)間時(shí),會(huì)導(dǎo)致加速曲線出現(xiàn)不可預(yù)測(cè)的變化,從而導(dǎo)致電機(jī)運(yùn)行的不平穩(wěn)。

1.2 引入加加速度的S曲線

引入加加速度的加減速S曲線一般可分為包含加加速段、減加速段、勻速段、加減速段和減減速段的5段加減速控制曲線,以及包含加加速段、勻加速段、減加速段、勻速段、加減速段、勻減速段和減減速段的7段加減速控曲線。常見的5段加減速曲線圖如圖2(a)所示;常見的7段加減速曲線圖如圖2(b)所示。

由圖2(a)的加速度曲線圖可以看出,在加、減速階段,加速度圖存在拐點(diǎn),拐點(diǎn)的存在可能在運(yùn)動(dòng)中會(huì)引起柔性沖擊。7段加減速曲線是基于5段加減速曲線的改進(jìn),由圖2(b)和圖2(a)加速度曲線圖對(duì)比可知,在完成同樣的加速過(guò)程的情況下,若加速時(shí)間相同,7段加速曲線中的最大加速度會(huì)更小,運(yùn)行更穩(wěn)定;若最大加速度相同,7段加速曲線會(huì)用更短的時(shí)間完成加速過(guò)程,即7段加速度曲線能更好地兼顧效率和平穩(wěn)性。但7段加減速曲線,在加速度曲線上仍舊存在拐點(diǎn),而且分段區(qū)間增多,控制算法變復(fù)雜,會(huì)影響實(shí)時(shí)控制系統(tǒng)的運(yùn)算效率[3]。

2 構(gòu)造7段加減速S曲線并優(yōu)化

課題組針對(duì)7段加減速S曲線加速階段中加速度存在拐點(diǎn)和加速階段分段區(qū)間多,影響實(shí)時(shí)控制系統(tǒng)運(yùn)算效率的問(wèn)題,提出一種基于多項(xiàng)式擬合S加減速曲線的方法,在保留7段加減速曲線的優(yōu)異加減速性能的同時(shí),消除7段加減速曲線中加速度存在的拐點(diǎn),使加速段或減速段成為單一的函數(shù)曲線。因此,課題組采用了大于三次多項(xiàng)式擬合加減速階段的速度曲線。這樣既可以保證速度曲線和加速度曲線連續(xù)可導(dǎo),又能避免電機(jī)在運(yùn)行過(guò)程中出現(xiàn)柔性沖擊。

2.1 構(gòu)造7段加減速S曲線

從圖2(b)可知,曲線圖上存在6個(gè)拐點(diǎn),并以此為分界線。0~T1時(shí)間段內(nèi),速度由起始v0加速至拐點(diǎn)T1,加加速度a′為常數(shù)z,加速度a由0逐漸增加;T1~T2時(shí)間段,速度恒定增加,加速度為最大加速度amax;T2~T3時(shí)間段,速度減速增加,加加速度a′為常數(shù)-z,加速度a由amax逐漸減到0;T3~T4時(shí)間段,速度為恒速;T4~T5,T5~T6和T6~T7為減速段,與加速段類似,加速度變化為負(fù)值。

加速段S曲線方程如下:

1) 0~T1時(shí)間段內(nèi)

加加速度為z(z>0),加速度和速度方程分別為:

a=zt;

(3)

(4)

2)T1~T2時(shí)間段內(nèi)

加速度為最大加速度,加速度和速度方程分別為:

a=amax;

(5)

(6)

3)T2~T3時(shí)間段內(nèi)

加加速度為-z,加速度和速度方程分別為:

a=amax-z(t-T1);

(7)

(8)

4)T3~T4時(shí)間段內(nèi)

速度為恒定值。

減速段T4~T5,T5~T6和T6~T7與加速段一致,可看作加速段的逆過(guò)程[4]。

2.2 優(yōu)化7段加減速S曲線

對(duì)構(gòu)造出的加速S曲線在隔開拐點(diǎn)處均勻取點(diǎn),該取點(diǎn)方式可以更好地優(yōu)化拐點(diǎn)處的函數(shù)曲線,采集的點(diǎn)集用數(shù)組的方式表示,記作pi(xi,yi)。對(duì)采集的數(shù)據(jù)點(diǎn)用多次多項(xiàng)式擬合,即對(duì)采集的數(shù)據(jù)點(diǎn)集做線性回歸處理。

2.2.1構(gòu)造優(yōu)化模型

對(duì)擬合的近似曲線進(jìn)行假設(shè),其假設(shè)的線性回歸模型的函數(shù)表達(dá)式為

(9)

式中:hθ(x)表示擬合曲線的函數(shù)值,θj表示函數(shù)多項(xiàng)式系數(shù)。

采用均方誤差(MSE)作為線性回歸模型的損失函數(shù)。損失函數(shù)的表達(dá)式為

(10)

式中:J(θ0,…,θn)表示均方誤差,hθ(xi)表示在點(diǎn)xi處擬合曲線的函數(shù)值。

損失函數(shù)式(10)表示線性回歸模型(擬合曲線上)的點(diǎn)與采集數(shù)據(jù)點(diǎn)偏差值的平方和,可用來(lái)描述線性回歸模型與數(shù)據(jù)點(diǎn)集之間的差異。如果損失函數(shù)J(θ0,…,θn)=0,表示完全沒(méi)有差異,則說(shuō)明此線性回歸模型完全描述數(shù)據(jù)之前的關(guān)系。如果需要找到最佳擬合的線性回歸模型,就需要使對(duì)應(yīng)的損失函數(shù)最小;求解最小損失函數(shù)的參數(shù)組,得到擬合曲線的函數(shù)表達(dá)式。

2.2.2求解最小損失函數(shù)

計(jì)算最小損失函數(shù)有2種實(shí)現(xiàn)方式:①梯度下降求損失函數(shù)最小值;②正規(guī)方程求解損失函數(shù)最小值。

2.2.2.1梯度下降原理

當(dāng)選擇梯度下降計(jì)算損失函數(shù)最小值時(shí),開始隨機(jī)選擇一個(gè)參數(shù)的組合(θ0,θ1,…,θn),計(jì)算損失函數(shù);然后尋找下一個(gè)能讓損失函數(shù)下降最多的參數(shù)組合,將該過(guò)程迭代,直到損失函數(shù)收斂到一個(gè)局部最小值。批量梯度下降的算法公式為

(11)

式中:“:=”是賦值符號(hào),表示對(duì)左邊變量進(jìn)行賦值;β表示損失函數(shù)每次沿下降方向下降的程度。

2.2.2.2正規(guī)方程

求解損失函數(shù)最小值,即損失函數(shù)極值問(wèn)題。對(duì)損失函數(shù)的參數(shù)(θ0,θ1,…,θn)求偏導(dǎo)數(shù),令其為零,即可得到滿足條件的參數(shù)組(θ0,θ1,…,θn):

(12)

采用單個(gè)方程逐一求解參數(shù)組中各參數(shù)的值,其求解的效率很低,因此可以采用矩陣的方式進(jìn)行求解。用列向量θ表示損失函數(shù)的參數(shù)組(θ0,θ1,…,θn),用m行n+1列的矩陣X表示m組n+1維的特征向量。用列向量Y表示(y1,y2,…,ym);列向量HθX表示(hθ(x1),hθ(x2),…,hθ(xm));J(θ)表示損失函數(shù)的值。擬合曲線的線性回歸模型用矩陣可表示為

HθX=Xθ。

(13)

損失函數(shù)矩陣為

(14)

式(14)展開為

(15)

對(duì)各參數(shù)求偏導(dǎo),得到

(16)

化簡(jiǎn)為

(17)

θ=(XTX)-1XTY。

(18)

式(18)為正規(guī)方程的表達(dá)式。

3 具體算法的實(shí)現(xiàn)

由于擬合曲線采用6次多項(xiàng)式,即擬合曲線只有7項(xiàng)特征,梯度下降和正規(guī)方程都能很快求解出損失函數(shù)最小值的參數(shù),但相較而言梯度下降更擅長(zhǎng)求解多特征的函數(shù)(特征值大于10 000),正規(guī)方程更適合求特征值較少的函數(shù)。用MATLAB計(jì)算正規(guī)方程求解得到θ參數(shù)的組:

θ0=86.339 127;θ1=245.822 054;θ2=508.687 301;θ3=0.573 600;θ4=-3.256 022;θ5=0.197 272;θ6=-0.003 721。

擬合曲線的方程為

(19)

截取0~22.4 s內(nèi)的頻率導(dǎo)數(shù)擬合曲線,如圖4所示。

4 動(dòng)態(tài)調(diào)速

在實(shí)際運(yùn)行過(guò)程中,頻率的變化是離散的,需要對(duì)曲線離散取值。課題組采用等時(shí)間間隔數(shù)值的階梯逼近升速S曲線取值,等脈沖數(shù)為階梯實(shí)際維持長(zhǎng)度的方案,示意圖如圖5所示[6-9]。

對(duì)于階梯的維持時(shí)間的長(zhǎng)度有等時(shí)長(zhǎng)和等脈沖數(shù)2種方案。

1) 等時(shí)長(zhǎng)方案。每個(gè)階梯維持相同的時(shí)間,它能很好地反映S曲線的特性,但是第1個(gè)階梯的脈沖數(shù)和最后1個(gè)階梯的脈沖數(shù)相差很大。步進(jìn)電機(jī)在調(diào)速時(shí),步進(jìn)電機(jī)的轉(zhuǎn)子轉(zhuǎn)過(guò)第1個(gè)步進(jìn)角停下的位置時(shí),轉(zhuǎn)子會(huì)出現(xiàn)一定程度的震蕩。為解決該震蕩,需要增加幾個(gè)同頻脈沖使轉(zhuǎn)子運(yùn)行平穩(wěn),但同頻脈沖過(guò)多并不會(huì)繼續(xù)提高其平穩(wěn)性。

2) 等脈沖數(shù)方案。每個(gè)階梯維持相同的脈沖數(shù)。在選取了合適的同頻脈沖數(shù)后,能對(duì)S曲線的性能進(jìn)一步優(yōu)化,提高運(yùn)行的效率。

選取同頻等脈沖數(shù)作為階梯維持時(shí)間,能在保持近乎相同的性能下,提高運(yùn)行效率。經(jīng)試驗(yàn)測(cè)得,5作為同頻脈沖數(shù)是一個(gè)較合適的值[10]。

取圖5中S曲線與階梯的接觸點(diǎn)為離散的取值點(diǎn),記為(tk,fk)。k表示S曲線上取的第k個(gè)點(diǎn),fk表示第k個(gè)點(diǎn)運(yùn)行的頻率,tk表示第k個(gè)點(diǎn)時(shí)間的數(shù)值。圖5中Δt表示等時(shí)間間隔數(shù)值,Δtk表示以(tk,fk)為起點(diǎn)的實(shí)際階梯時(shí)間維持長(zhǎng)度,即圖中第k個(gè)灰柱條的寬度。

第k個(gè)階梯實(shí)際的維持時(shí)間為

Δtk=w·tplusek。

(20)

在tk點(diǎn)的實(shí)際運(yùn)行時(shí)間為

(21)

式中:tplusek表示第k個(gè)點(diǎn)單個(gè)脈沖持續(xù)的時(shí)間;tplusem表示第m個(gè)點(diǎn)單個(gè)脈沖持續(xù)的時(shí)間;w表示同一頻率脈沖的個(gè)數(shù)。

在動(dòng)態(tài)調(diào)速過(guò)程中,脈沖頻率(速度)增加的數(shù)值可以是0~90 000 Hz之間的任意值,所以不可能為每一個(gè)調(diào)速建立一個(gè)S曲線。為了實(shí)現(xiàn)范圍調(diào)速,可以先建立一個(gè)通用的S曲線模型,然后對(duì)其進(jìn)行拉伸、壓縮以對(duì)應(yīng)不同的調(diào)速。拉伸和壓縮后的曲線仍會(huì)保留大部分原曲線特性。

通過(guò)給S曲線函數(shù)乘以一個(gè)系數(shù)ε得到需要的增速,即在縱軸上對(duì)實(shí)際S曲線進(jìn)行壓縮[11]。針對(duì)不同的增速,可選取相對(duì)應(yīng)的等時(shí)間間隔數(shù)值Δt和同頻脈沖數(shù),保證動(dòng)態(tài)調(diào)速的效率和穩(wěn)定性。經(jīng)多次試驗(yàn)表明,此方法有良好的動(dòng)態(tài)調(diào)速性能。

經(jīng)過(guò)試驗(yàn)發(fā)現(xiàn),可以先獲得某一同頻脈沖數(shù)下步進(jìn)電機(jī)不發(fā)生堵轉(zhuǎn)的初速度、增速和等時(shí)間間隔數(shù)值Δt的臨界關(guān)系表。然后取臨界等時(shí)間間隔數(shù)值Δt′的1/4為穩(wěn)定等時(shí)間間隔數(shù)值Δt″,可得到初速度、增速和等時(shí)間間隔數(shù)值Δt穩(wěn)定關(guān)系表。

將初速度、增速和等時(shí)間間隔數(shù)值Δt穩(wěn)定關(guān)系圖表作為動(dòng)態(tài)選擇等時(shí)間間隔數(shù)值Δt的依據(jù),協(xié)同優(yōu)化后的S曲線算法寫入內(nèi)存,即可作為動(dòng)態(tài)調(diào)速控制的核心,實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)進(jìn)行平穩(wěn)的動(dòng)態(tài)調(diào)速。

5 結(jié)語(yǔ)

課題組通過(guò)優(yōu)化七段加減速S曲線,在保留其優(yōu)良特性的同時(shí),消除加速度曲線存在的拐點(diǎn),并將加或減速過(guò)程中的3段函數(shù)用1段函數(shù)替代,降低算法的復(fù)雜性,同時(shí)精簡(jiǎn)了代碼。基于優(yōu)化后的S曲線,采用等時(shí)間間隔數(shù)值的階梯逼近升速S曲線取值,等脈沖數(shù)為階梯實(shí)際維持長(zhǎng)度的方案用于實(shí)際控制步進(jìn)電機(jī)。經(jīng)試驗(yàn)得到初速度、增速和等時(shí)間間隔數(shù)值Δt使電機(jī)平穩(wěn)運(yùn)行的關(guān)系。試驗(yàn)表明,采用本研究所述方法,步進(jìn)電機(jī)在指定的范圍內(nèi)能進(jìn)行平穩(wěn)的動(dòng)態(tài)調(diào)速。

猜你喜歡
曲線圖階梯加速度
階梯
“鱉”不住了!從26元/斤飆至38元/斤,2022年甲魚能否再跑出“加速度”?
秦皇島煤價(jià)周曲線圖
秦皇島煤價(jià)周曲線圖
秦皇島煤價(jià)周曲線圖
秦皇島煤價(jià)周曲線圖
天際加速度
創(chuàng)新,動(dòng)能轉(zhuǎn)換的“加速度”
死亡加速度
良師·階梯·加油站
通榆县| 铜陵市| 岳阳县| 嘉荫县| 吉隆县| 枞阳县| 汉中市| 盐池县| 黑河市| 永丰县| 清河县| 镇平县| 蒙自县| 玉溪市| 马关县| 澎湖县| 额济纳旗| 平度市| 孝感市| 定西市| 台南县| 大方县| 肇庆市| 漯河市| 长子县| 本溪| 古丈县| 昌乐县| 道真| 周宁县| 青海省| 垦利县| 祁连县| 淮滨县| 托里县| 偃师市| 汉源县| 罗城| 兴安盟| 顺昌县| 望江县|