本發(fā)明屬于電機(jī)控制領(lǐng)域,特別涉及一種伺服電機(jī)的迭代速度控制方法。
背景技術(shù):
在高速數(shù)控系統(tǒng)中,伺服電機(jī)速度控制方法不當(dāng),容易導(dǎo)致沖擊、失步、震蕩或者超程等問(wèn)題。常用的加減速算法有t形加減、指數(shù)加減速、s曲線加減速算法等。目前,國(guó)內(nèi)低速數(shù)控設(shè)備大多數(shù)采用的t形加減速算法對(duì)伺服電機(jī)進(jìn)行控制。t形加減速算法和指數(shù)加減速算法在啟停過(guò)程中加加速度會(huì)產(chǎn)生階躍變化,會(huì)對(duì)設(shè)備產(chǎn)生沖擊和劇烈振動(dòng)。這將會(huì)直接影響零件加工質(zhì)量和機(jī)器的使用壽命。
在中高速數(shù)控設(shè)備中,往往采用s曲線加減速算法對(duì)伺服電機(jī)進(jìn)行控制。s曲線加減速算法在加減速階段控制加速度的線性變化,使得沖擊力的變化是柔性的,從而能減少對(duì)機(jī)械部件的沖擊。s曲線實(shí)現(xiàn)方法有典型的7段s曲線方法,多項(xiàng)式s曲線方法,三角函數(shù)s曲線方法等。發(fā)明專(zhuān)利《基于s型曲線的加減速控制方法和裝置及數(shù)控機(jī)床》(授權(quán)公告號(hào)為cn103135501b)中涉及到的s型加減速算法將s曲線速度控制分為加加速、勻加速、減加速、勻速、減減速、勻減速、加減速七個(gè)過(guò)程,該方法在fpga中實(shí)現(xiàn)時(shí)計(jì)算過(guò)程較為復(fù)雜,在加工路徑上曲率頻繁變化時(shí)很難保證其實(shí)時(shí)性。多項(xiàng)式s曲線方法中,多項(xiàng)式的次數(shù)越高,則精度越高,但是運(yùn)算的效率就會(huì)降低。通過(guò)仿真比較,同樣條件下的三角函數(shù)s曲線其柔性要優(yōu)于多項(xiàng)式s曲線。發(fā)明專(zhuān)利《一種用于伺服壓力機(jī)的伺服電機(jī)加減速控制方法》(授權(quán)公告號(hào)為cn102522944b)中涉及到一種三角函數(shù)s曲線加減速方法,但是沒(méi)有提到如何用fpga硬件實(shí)現(xiàn)算法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明設(shè)的目的是克服現(xiàn)有伺服電機(jī)加減速控制方法沖擊較大的缺陷,提供了一種三角函數(shù)柔性加減速控制方法。
本發(fā)明設(shè)的另一個(gè)目的是解決現(xiàn)有控制方法中通過(guò)上位機(jī)計(jì)算好速度的控制數(shù)據(jù)再傳遞給下位機(jī)造成的耗費(fèi)大量硬件資源且實(shí)時(shí)性難以保證的缺陷,通過(guò)迭代產(chǎn)生下一時(shí)刻脈沖控制信號(hào)。
本發(fā)明提供的技術(shù)方案為:
一種基于三角函數(shù)的迭代速度控制方法,包括如下步驟:
獲取加/減速時(shí)間ta,初始速度vs,終止速度ve;
按照如下三角函數(shù)速度公式變化對(duì)伺服電機(jī)速度進(jìn)行控制:
優(yōu)選的是,根據(jù)速度的迭代步長(zhǎng)δt,初始速度v(0)=vs以及第一步的速度值v(1)=a-bcos(cδt)后,通過(guò)下式迭代得到第t+2步的速度值:
v(t+2)=2d×v(t+1)-v(t)+2a(1-d)
其中,a=(ve+vs)/2,b=(ve-vs)/2,c=π/ta,d=cos(cδt)。
優(yōu)選的是,還包括以下步驟:
構(gòu)造基于三角函數(shù)的迭代速度控制電路,輸入信號(hào)clk提供時(shí)鐘信號(hào),輸入reset提供復(fù)位信號(hào),輸入enable提供模塊啟動(dòng)信號(hào);
所述控制電路的輸入接口v0,v1,d,addnum,iteranum分別與內(nèi)部寄存器v0,v1,d,addnum,iteranum相連,用于輸入初始數(shù)據(jù);內(nèi)部寄存器v0,寄存器v1用于存放迭代的兩個(gè)初始速度值,內(nèi)部寄存器d用于存放d值;寄存器d與寄存器v1與乘法器相連,其中存放的數(shù)據(jù)作為乘法器的兩個(gè)輸入操作數(shù);乘法器的輸出與移位寄存器相連,實(shí)現(xiàn)左移一位;移位寄存器shift的輸出和寄存器v0與減法器相連,其中的數(shù)據(jù)作為減法器的兩個(gè)輸入操作數(shù);寄存器addnum用于存入?yún)?shù)2a(1-d),該寄存器和減法器的輸出與加法器相連,其中存放的數(shù)據(jù)作為加法器的兩個(gè)輸入操作數(shù);加法器的輸出與寄存器v2相連,寄存器v2與輸出freqcontrol相連,其值用于控制脈沖發(fā)生器;寄存器v2與寄存器v1相連,寄存器v1與寄存器v0相連,實(shí)現(xiàn)迭代過(guò)程中的速度反饋;迭代進(jìn)行的次數(shù)由寄存器counter記錄,寄存器iteranum存放總的迭代次數(shù),這兩個(gè)寄存器與比較器相連,其中的值作為比較器的兩個(gè)輸入操作數(shù);比較器的輸出與outputvalid相連,用于控制迭代數(shù)據(jù)的有效性;
在輸入時(shí)鐘clk的控制下,電路不斷地產(chǎn)生三角函數(shù)加減速控制信號(hào),控制脈沖發(fā)生器產(chǎn)生脈寬調(diào)制信號(hào),以實(shí)現(xiàn)對(duì)伺服電機(jī)的柔性加減速控制。
優(yōu)選的是,對(duì)加速階段伺服電機(jī)加速度求一階導(dǎo)數(shù),得到加速階段伺服電機(jī)加速度表達(dá)式
控制器按照上述加速度值對(duì)電機(jī)進(jìn)行控制。
優(yōu)選的是,對(duì)加速階段伺服電機(jī)加速度求一階導(dǎo)數(shù),得到加加速度表達(dá)式
控制器按照上述加加速度值對(duì)電機(jī)進(jìn)行控制。
優(yōu)選的是,對(duì)加速階段伺服電機(jī)加速度進(jìn)行積分,得到加速段的位移表達(dá)式
控制器按照上述位移值對(duì)電機(jī)進(jìn)行控制。
本發(fā)明的有益效果是:本發(fā)明提供的基于三角函數(shù)的迭代速度控制方法,根據(jù)三角函數(shù)的變換規(guī)則和當(dāng)前脈沖產(chǎn)生的控制參數(shù)推導(dǎo)出下一時(shí)刻的脈沖產(chǎn)生控制參數(shù)。實(shí)現(xiàn)了一種迭代方法產(chǎn)生脈沖控制信號(hào),從而避免了軟件實(shí)現(xiàn)方式和查表實(shí)現(xiàn)方式的缺點(diǎn)。
附圖說(shuō)明
圖1為本發(fā)明所述的加減速電路結(jié)構(gòu)結(jié)構(gòu)示意圖。
圖2為三角函數(shù)加減速速度控制過(guò)程速度曲線。
圖3為加速段誤差比較示意圖。
圖4為減速段誤差比較示意圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明,以令本領(lǐng)域技術(shù)人員參照說(shuō)明書(shū)文字能夠據(jù)以實(shí)施。
一個(gè)完整的三角函數(shù)速度控制過(guò)程可以描述為加速段、勻速段、減速段三段。對(duì)于伺服電機(jī)來(lái)說(shuō)有幾個(gè)物理參數(shù)是確定的:vmax:電機(jī)的最大轉(zhuǎn)速;amax:電機(jī)的最大加速度;jmax:通常稱為加加速度和減減速度,這個(gè)參數(shù)反映了力的變化情況。力的劇烈變化是產(chǎn)生機(jī)械沖擊力的根本原因。傳統(tǒng)的t型加減速算法在每次啟動(dòng)、加速、減速、停止過(guò)程中出現(xiàn)四次速度突變的情況。這種速度突變會(huì)產(chǎn)生巨大的沖擊力,因而容易對(duì)設(shè)備造成損壞。
因此需要選擇一種合適的速度控制曲線,使其具備漸變性的速度就可以使得沖擊力柔性變化,避免產(chǎn)生巨大的沖擊力。三角函數(shù)曲線正好具備這種特性。由于三角函數(shù)的導(dǎo)數(shù)依然是三角函數(shù)。因此采用三角函數(shù)控制速度的加速度、加加速度公式是一個(gè)漸變性的連續(xù)函數(shù)。
選取正弦函數(shù)y=sin(πx-π/2)+1的半個(gè)周期作為加速曲線。選取正弦函數(shù)y=-sin(πx-π/2)+1的半個(gè)周期作為減速曲線。因?yàn)槊枋鲞\(yùn)動(dòng)過(guò)程的位移、速度、加速度、加加速度之間的具備導(dǎo)數(shù)關(guān)系,下面我們進(jìn)一步對(duì)運(yùn)動(dòng)過(guò)程中的位移、加速度、加加速度公式進(jìn)行推導(dǎo)。以加速段為例,設(shè)加速段或減速段時(shí)間為ta,構(gòu)造加速段的速度公式如下
上式可變換為:
上述表達(dá)式滿足時(shí)間邊界條件:0≤t≤ta,ta為加速時(shí)間;速度邊界條件:初始速度v(0)=vs,終止速度為v(ta)=ve;
對(duì)上式求一階導(dǎo)數(shù)得到加速度表達(dá)式。
加速度表達(dá)式滿足邊界條件:當(dāng)t=0時(shí),起始加速度a(0)=0;t=ta時(shí),加速末端加速度a(ta)=0。設(shè)amax為系統(tǒng)的最大加速度,則有:
|a(t)|≤amax
對(duì)加速度求導(dǎo)數(shù)得到加加速度表達(dá)式。
設(shè)jmax為系統(tǒng)的最大加速度,則有:
|j(τ)|≤jmax
為了得到更好的柔性加減速,有:
對(duì)速度積分,可得到加速段的位移表達(dá)式:
位移表達(dá)式滿足邊界條件:s(0)=0;t=ta時(shí)有:
通過(guò)以上推導(dǎo),我們構(gòu)建了三角函數(shù)速度表達(dá)式及其相關(guān)物理量的關(guān)系如下:
三角函數(shù)加減速常用的方式是通過(guò)上位機(jī)計(jì)算好速度的控制數(shù)據(jù),然后傳遞給下位機(jī)或者脈沖控制芯片產(chǎn)生伺服電機(jī)需要的驅(qū)動(dòng)頻率進(jìn)而控制伺服電機(jī)的加減速。這種方法需要耗費(fèi)大量硬件資源而且實(shí)時(shí)性難以保證。也有方法通過(guò)存儲(chǔ)三角函數(shù)值,芯片在產(chǎn)生控制脈沖時(shí)通過(guò)查表方式計(jì)算控制參數(shù),這種方式能保證一定的實(shí)時(shí)性,但是需要耗費(fèi)額外的存儲(chǔ)資源,而且查表的時(shí)間會(huì)造成瓶頸,不利于產(chǎn)生高速驅(qū)動(dòng)頻率。本專(zhuān)利根據(jù)三角函數(shù)的變換規(guī)則和當(dāng)前脈沖產(chǎn)生的控制參數(shù)推導(dǎo)出下一時(shí)刻的脈沖產(chǎn)生控制參數(shù)。實(shí)現(xiàn)了一種迭代方法產(chǎn)生脈沖控制信號(hào),從而避免了軟件實(shí)現(xiàn)方式和查表實(shí)現(xiàn)方式的缺點(diǎn)。
加減速電路迭代的原理為:
對(duì)于基本的三角函數(shù)有如下公式:
利用三角函數(shù)的和差性質(zhì),我們對(duì)速度公式進(jìn)行分析,提出一種迭代算法的電路實(shí)現(xiàn)對(duì)三角函數(shù)加減速控制信號(hào)值進(jìn)行計(jì)算??疾焖俣瓤刂乒剑o定ve,vs,amax,jmax,則(ve+vs)/2,(ve-vs)/2,π/ta可通過(guò)上位機(jī)計(jì)算好,作為常數(shù)傳遞給下位機(jī),這里分別設(shè)為a,b,c.,速度公式可以表述如下:
對(duì)于上需要重點(diǎn)考慮某一時(shí)刻cos(ct)的計(jì)算,假設(shè)某時(shí)刻t的速度為vt經(jīng)過(guò)δt和2δt后的速度vt+1和,vt+2,對(duì)這三個(gè)速度中的三角函數(shù)關(guān)系做如下簡(jiǎn)化并進(jìn)行推導(dǎo)。
由上式可知:
vt+2=cos(ct+cδt+cδt)
=cos(ct+cδt)×cos(cδt)-sin(ct+cδt)×sin(cδt)
=cos(ct+cδt)×cos(cδt)-(sinct×cos(cδt)+cosct×sin(cδt))×sin(cδt)
=cos(ct+δt)×cos(cδt)-sinct×cos(cδt)×sin(cδt)-cosct×sin2(cδt)
上式可知:
-sinct×sin(cδt)=vt+1-cosct×cos(cδt)
因此上式可化為:
=vt+1×cos(cδt)+cos(cδt)×(vt+1-cosct×cos(cδt))-cosct×sin2(cδt)
=2vt+1×cos(cδt)-cosct×cos2(cδt))-cosct×sin2(cδt)
=2vt+1×cos(cδt)-cosct×(cos2(cδt)+sin2(cδt))
=2vt+1×cos(cδt)-cosct
=2vt+1×cos(cδt)-vt
對(duì)于特定某次加減速,其時(shí)間間隔δt是不變的,因此公式中的cos(cδt)也可在上位機(jī)計(jì)算好,作為常數(shù)參數(shù)傳遞給下位機(jī),這里設(shè)為d,則上述公式可表示為:
vt+2=2d×vt+1-vt
綜合以上公式有如下公式
v(t+2)=a-b×(2d×vt+1-vt)
=a-2db×vt+1+bvt
=a+2d(v(t+1)-a)+a-v(t)
=2d×v(t+1)-v(t)+2a(1-d)
由此構(gòu)成了三個(gè)連續(xù)速度三角函數(shù)之間的遞推關(guān)系,其中a=(ve+vs)/2,b=(ve-vs)/2,c=π/ta,d=cos(cδt)。特別地,當(dāng)t=0時(shí)v(0)=vs,即加減速的初始速度。經(jīng)過(guò)δt后,由公式可知:
v(1)=a-bcos(cδt)
=a-bd
由以上推導(dǎo),可做如下結(jié)論,上位機(jī)需要將四個(gè)參數(shù)v(0),v(1),d,2a(1-d),迭代的次數(shù)傳遞給三角加減速控制模塊,該模塊就能構(gòu)建一個(gè)迭代的三角函數(shù)加減速控制電路,在時(shí)鐘控制下,不斷地產(chǎn)生三角函數(shù)加減速控制信號(hào),控制脈沖發(fā)生器產(chǎn)生伺服電機(jī)驅(qū)動(dòng)脈沖,以實(shí)現(xiàn)柔性加減速控制。
通過(guò)加減速電路實(shí)現(xiàn)上述控制方法。
電路模塊的外部接口信號(hào)包括輸入和輸出信號(hào),如圖1所示。其具體標(biāo)識(shí)和含義如下。
輸入接口信號(hào)包括:
clk信號(hào):時(shí)鐘信號(hào),為電路模塊的工作提供統(tǒng)一的時(shí)鐘信號(hào)。
v0信號(hào):用來(lái)輸入初始速度v0的值。
v1信號(hào):用來(lái)輸入第一次變化后的速度值。
d信號(hào):用來(lái)輸入d值。
addnum信號(hào):用來(lái)輸入addnum值,其值為2a(1-d)。
reset信號(hào):復(fù)位信號(hào)。
enable信號(hào):模塊工作使能信號(hào),其輸入信號(hào)為“1”表示使能,電路開(kāi)始迭代運(yùn)算,否則迭代電路不工作。
iteranum信號(hào):用來(lái)輸入迭代次數(shù)值。
輸出接口信號(hào)包括:
freqcontrol信號(hào):脈沖頻率控制信號(hào),用來(lái)控制伺服電機(jī)pwm的產(chǎn)生。
outputvalid信號(hào):輸出信號(hào)的有效性控制,其輸出為“1”表示freqcontrol的輸出信號(hào)是有效的,否則表示無(wú)效。
其內(nèi)部的迭代電路可通過(guò)6個(gè)通用寄存器,1個(gè)移位寄存器,1個(gè)乘法器,1個(gè)減法器,1個(gè)加法器,1個(gè)計(jì)數(shù)器,1個(gè)比較器構(gòu)成,在統(tǒng)一的時(shí)鐘控制下即可得到連續(xù)的控制信號(hào)。由此構(gòu)成硬件電路的基本原理,其結(jié)構(gòu)如圖1所示。各部件功能如下:
1.通用寄存器1,存放參數(shù)v0。
2.通用寄存器2,存放參數(shù)v1。
3.通用寄存器3,存放參數(shù)iteranum,其值為迭代的終止次數(shù)。
4.通用寄存器4,存放迭代過(guò)程中的累加數(shù)addnum,其值為2a(1-d)。
5.通用寄存器5,存放參數(shù)d。
6.通用寄存器6,存放參數(shù)v2。
7.移位寄存器,實(shí)現(xiàn)2*d*v1。
8.計(jì)數(shù)器,用于記錄迭代次數(shù)。
9.乘法器,實(shí)現(xiàn)d*v1。
10.減法器,實(shí)現(xiàn)2*d*v1-v0。
11.加法器,實(shí)現(xiàn)2*d*v1-v0+2a(1-d)。
12.比較器,比較迭代次數(shù)和迭代的終止次數(shù),其結(jié)果控制輸出結(jié)果有效性。
如果位移足夠長(zhǎng),一個(gè)完整三角函數(shù)加減速為加速,勻速,減速三個(gè)過(guò)程。當(dāng)然,根據(jù)位移,初始速度,末速度的情況,有可能只有加速,減速,加減速過(guò)程。對(duì)于不同細(xì)節(jié)情況而言,僅僅是參數(shù)值的區(qū)別,而電路是相同的,因此這些不同細(xì)節(jié)情況本專(zhuān)利不做進(jìn)一步討論。本專(zhuān)利重點(diǎn)在于加減速電路的研究,因此僅以一個(gè)完整的速度控制過(guò)程為例進(jìn)行闡述,經(jīng)過(guò)如下步驟,即可在fpga芯片中實(shí)現(xiàn)三角函數(shù)加減速控制電路。
步驟1:在上位機(jī)中,根據(jù)位移的要求和系統(tǒng)工作參數(shù)amax,jmax,ve,vs,時(shí)間控制精度δt,結(jié)合計(jì)算加速段時(shí)間ta,減速段的時(shí)間td,勻速段時(shí)間tc。
步驟2:計(jì)算迭代的次數(shù)iteranum。
步驟3:在上位機(jī)中,根據(jù)初始速度vs,ve,分別計(jì)算參數(shù)a=(ve+vs)/2,b=(ve-vs)/2。
步驟4:在上位機(jī)中,根據(jù)ta,計(jì)算c=π/ta。
步驟5:在上位機(jī)中,根據(jù)δt,計(jì)算d=cos(cδt)。
步驟6:在上位機(jī)中,根據(jù)vs的值設(shè)置v0=vs。
步驟7:在上位機(jī)中,根據(jù)a,d的值計(jì)算addnum,其值為2a(1-d)。
步驟8:在上位機(jī)中,根據(jù)a,b,d的值計(jì)算v1=a-bd。
步驟9:上位機(jī)將參數(shù)v0,v1,d,1-diteranum,addnum傳遞給下位機(jī)的fpga芯片中。
步驟10:使用硬件描述語(yǔ)言,在fpga開(kāi)發(fā)平臺(tái)中中實(shí)現(xiàn)圖1所示的電路。
步驟11:在硬件開(kāi)發(fā)平臺(tái)中編譯,仿真,邏輯綜合后將所實(shí)現(xiàn)的目標(biāo)程序下載到fpga芯片中。
步驟12:實(shí)現(xiàn)了該迭代算法的fpga芯片在時(shí)鐘clk控制下計(jì)算v2。
步驟13:根據(jù)輸出的v2值控制脈沖發(fā)生器,產(chǎn)生伺服電機(jī)驅(qū)動(dòng)脈沖。
步驟14:脈沖發(fā)生器產(chǎn)生的pwm脈沖輸出到伺服電機(jī)驅(qū)動(dòng)器實(shí)現(xiàn)三角函數(shù)柔性加減速運(yùn)動(dòng)。
實(shí)施實(shí)例一:算法的fpga實(shí)現(xiàn)
本實(shí)例說(shuō)明了如何在fpga芯片上實(shí)現(xiàn)三角函數(shù)柔性加減速控制電路的實(shí)現(xiàn)過(guò)程和步驟。
步驟1:在上位機(jī)中,根據(jù)位移的要求和系統(tǒng)工作參數(shù)amax,jmax,ve,vs,時(shí)間控制精度δt,計(jì)算加速段時(shí)間ta,勻速段時(shí)間tc,減速段的時(shí)間td。
對(duì)于給定位移s=360mm,伺服電機(jī)啟動(dòng)速度vs=120mm/s,終止速度ve=120mm/s,給定的伺服電機(jī)參數(shù)amax=15000mm/s2;jmax=500000mm/s3;vmax=1500mm/s;設(shè)定控制精度δt=0.01ms。根據(jù)公式(9)計(jì)算加速時(shí)間ta=0.14ms,加速段位移為110.339mm。根據(jù)對(duì)稱性減速時(shí)間為td=0.14ms,減速段位移為110.339mm。以最大速度vmax勻速運(yùn)行的時(shí)間tc=0.9ms,勻速段位移為139.322,合計(jì)運(yùn)行時(shí)間0.37ms。對(duì)于實(shí)際加減速中產(chǎn)生的位移誤差,本專(zhuān)利中的處理方式是由勻速段加以補(bǔ)償。
步驟2:設(shè)置計(jì)算迭代的次數(shù)iteranum,時(shí)間間隔。在0-0.14ms內(nèi),以時(shí)間精度0.01ms設(shè)置離散控制點(diǎn),共15個(gè)控制點(diǎn),在上位機(jī)已知vs,v1,還需要迭代次數(shù)13次。
步驟3:在上位機(jī)中,根據(jù)初始速度vs,ve,分別計(jì)算參數(shù)a=(ve+vs)/2,b=(ve-vs)/2。在加速段,初始速度值vs=120mm/s,末速度值ve=1500mm/s,計(jì)算出參數(shù)a=810,b=690。
步驟4:在上位機(jī)中,根據(jù)ta,計(jì)算c=π/ta。在加速段,初始速度值vs=120mm/s,末速度值ve=1500mm/s。計(jì)算出參數(shù)c=21.75。
步驟5:在上位機(jī)中,根據(jù)δt,計(jì)算d=cos(cδt)。計(jì)算出參數(shù)d=0.9764。
步驟6:在上位機(jī)中,根據(jù)vs的值設(shè)置v0=vs。計(jì)算出參數(shù)v0=120。
步驟7:在上位機(jī)中,根據(jù)a,d的值計(jì)算參數(shù)addnum=38.168。
步驟8:在上位機(jī)中,根據(jù)a,b,d的值計(jì)算參數(shù)v1=136.257。
步驟9:上位機(jī)將參數(shù)v0,v1,d,iteranum,addnum傳遞給下位機(jī)的fpga芯片中。
步驟10:使用硬件描述語(yǔ)言,在fpga開(kāi)發(fā)平臺(tái)中中實(shí)現(xiàn)圖1所示的電路。
實(shí)現(xiàn)迭代部分的verilog關(guān)鍵代碼如下:
步驟11:在硬件開(kāi)發(fā)平臺(tái)中編譯,仿真,邏輯綜合后將所實(shí)現(xiàn)的目標(biāo)程序下載到fpga芯片中。系統(tǒng)的開(kāi)發(fā)平臺(tái)為:quartusii12.0,仿真平臺(tái)為:modelsim10.0。所用fpga芯片型號(hào)為:cycloneivep4ce10f17c8。該fpga芯片的工作頻率clk為50mhz。
步驟12:實(shí)現(xiàn)了該迭代算法的fpga芯片在時(shí)鐘clk控制下計(jì)算控制參數(shù)v2。表1給出了37個(gè)參考離散點(diǎn)的數(shù)據(jù)。與軟件實(shí)現(xiàn)方法相比,其加減速階段的誤差比較如圖2、圖3、圖4所示,圖2中顯示了三角函數(shù)加減速控制實(shí)現(xiàn)的速度控制過(guò)程。由圖3、圖4可知,迭代過(guò)程中,其誤差會(huì)產(chǎn)生累計(jì)效應(yīng),但是其最大值為1.14x10-12,對(duì)于控制頻率數(shù)量級(jí)為mhz(10-6)來(lái)說(shuō),是完全可用的。
表1:三角函數(shù)速度控制離散點(diǎn)
步驟13:根據(jù)輸出的控制參數(shù)v2的值控制脈沖發(fā)生器,產(chǎn)生伺服電機(jī)驅(qū)動(dòng)脈沖。其驅(qū)動(dòng)脈沖范圍為1~5mpps。
步驟14:脈沖發(fā)生器產(chǎn)生的pwm脈沖(如圖3所示)輸出到伺服電機(jī)驅(qū)動(dòng)器實(shí)現(xiàn)三角函數(shù)柔性加減速運(yùn)動(dòng)。圖3中a圖顯示的是malab平臺(tái)下算法的仿真結(jié)果。圖b顯示的是在fpga開(kāi)發(fā)平臺(tái)quartus和modelsim平臺(tái)下的仿真結(jié)果,其中drive_pul信號(hào)即可用來(lái)實(shí)現(xiàn)對(duì)伺服電機(jī)的速度柔性控制。
實(shí)施實(shí)例二:算法實(shí)現(xiàn)對(duì)伺服電機(jī)的驅(qū)動(dòng)
本實(shí)例說(shuō)明了具備三角函數(shù)柔性加減速控制電路如何控制伺服電機(jī)的運(yùn)行過(guò)程和步驟。本專(zhuān)利實(shí)現(xiàn)對(duì)伺服電機(jī)的控制結(jié)構(gòu)如圖4所示。其工作流程如下:
步驟1:上位機(jī)的功能一般由pc機(jī)實(shí)現(xiàn),主要實(shí)現(xiàn)對(duì)運(yùn)動(dòng)軌跡的規(guī)劃,不同伺服電機(jī)運(yùn)動(dòng)軌跡的插補(bǔ)等功能,具體到某一個(gè)伺服電機(jī)的某一次運(yùn)動(dòng),需要根據(jù)運(yùn)動(dòng)的位移,初始速度,末速度,加速度等計(jì)算下位機(jī)工作需要的各種參數(shù),形成各種運(yùn)動(dòng)控制命令。
步驟2:上位機(jī)通過(guò)某一種通信方式將控制命令和參數(shù)發(fā)送給下位機(jī),本例中是將上位機(jī)和下位機(jī)通過(guò)路由器的網(wǎng)絡(luò)接口連接在一起,上位機(jī)和下位機(jī)之間通過(guò)tcp/ip協(xié)議進(jìn)行通信。
步驟3:下位機(jī)中實(shí)現(xiàn)了三角函數(shù)加減速控制電路的fpga芯片,能根據(jù)參數(shù)不斷地產(chǎn)生伺服電機(jī)驅(qū)動(dòng)脈沖。
步驟4:下位機(jī)和伺服電機(jī)的驅(qū)動(dòng)器連接,其主要連接信號(hào)有pul和dir信號(hào),pul信號(hào)用來(lái)控制伺服電機(jī)的轉(zhuǎn)速,dir信號(hào)用來(lái)控制伺服電機(jī)的轉(zhuǎn)動(dòng)方向。
步驟5:伺服電機(jī)驅(qū)動(dòng)器與伺服電機(jī)相連,驅(qū)動(dòng)電機(jī)按照控制信號(hào)轉(zhuǎn)動(dòng)。
盡管本發(fā)明的實(shí)施方案已公開(kāi)如上,但其并不僅僅限于說(shuō)明書(shū)和實(shí)施方式中所列運(yùn)用,它完全可以被適用于各種適合本發(fā)明的領(lǐng)域,對(duì)于熟悉本領(lǐng)域的人員而言,可容易地實(shí)現(xiàn)另外的修改,因此在不背離權(quán)利要求及等同范圍所限定的一般概念下,本發(fā)明并不限于特定的細(xì)節(jié)和這里示出與描述的圖例。