實時生成步進電機加減速曲線_第1頁
實時生成步進電機加減速曲線_第2頁
實時生成步進電機加減速曲線_第3頁
實時生成步進電機加減速曲線_第4頁
實時生成步進電機加減速曲線_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、實時生成步進電機速度曲線步進電機加速的新算法能夠?qū)⑺俣惹€參數(shù)化并進行實時計算。這種算法能在低端微控制器上運行,只采用簡單的定點運算, 沒有數(shù)據(jù)表。它為恒加速和減速線性上升開發(fā)出一種精確逼近法。通常認為步進電機線性速度上升的時序過于復雜,難以實時計算。步進延遲的精確公式見等式 &該解決方案在預編譯的陣列內(nèi)儲存了上升數(shù)據(jù),但這種方法不靈活,而且浪費存儲空間。替代方案是采用功能更強大、價格貴的處理器,或高等級的步進控制IC。本文介紹了一種在中等范圍PIC微控制器上采用24.8定點運算用C語言實現(xiàn)的精確逼近算法。電機步進信號能用通常微控制器內(nèi)集成的16位定時比較器模塊來生成。在 PIC上,

2、CCP捕獲/比較/pwm)執(zhí)行這種功能。它允許步進能配合每一個定時周期的分辨率。每一個步進都通過恒定增量讓電機向前轉(zhuǎn)動一下,在混合步進電機上通常轉(zhuǎn)動1.8度。定時器頻率應該盡可能高,但仍然允許長久延遲,因為電機由停止開始加速。定時器頻率定為1MHz 300rpm的最大電機速度然后等效于1000延遲數(shù)。高定時分辨率對于高速平滑加速必不可少。符號及基本公式延遲(sec,秒)由定時器計數(shù) c來編程:方程1f =定時頻率(Hz).固定定時計數(shù) c時的電機速度3 (rad/sec):.方程2a =電機步進角度(弧度),1rad = 180/ n = 57.3 度 1rad/sec = 30/n = 9.

3、55rpm.來自相鄰定時器計數(shù) c1和c2的加速度3 ' (rad/sec2):cl c2.l-.-L1 c2j 方程 3方程3假定了每一步間隔(方程1)中點的定點速度(方程2),如圖1所示的線性斜線上。注意,3 '分辨率與速度立方成反比。線性速度斜線上升一一精確在線性斜線上,加速度3 '恒定,速度3 (t)=圖1:斜線尺寸:移動m=12步3'.t。綜合給出電機軸角度0 (t)方程4nA 0步進數(shù)(實數(shù))。當軸位于0 = n. a,(整數(shù) n)第N個步進脈沖:對第n個和第(n+1)個脈沖之間延遲進行編程的精確定時器計數(shù)(n a 0) 是:-.-.方程6初始計數(shù)C

4、O分解得出方程7和8:.辰方程 7注意cO設定加速度,與(1/c0)2 成正比。在實時情況下,方程8需要對每一步進行平方根計算,由于減法而增加了精度損失的問題。逼近線性上升 由方程8得出逐級精確定時計數(shù)比率: ,:"、I.Q*I_+ :;,:-:I 務i爲-Ju-: ,方程 9泰勒級數(shù):方程10方程11是利用方程10對方程9的二階逼近:可將方程11加以整理進行快速計算:最后,我們能從斜線上從零開始的步進數(shù)n拆開為物理步進數(shù),i,得出通用的上升算法,如方程 13所示。這里n用i決定了加速度和增量,用于恒加速。從停止,ni = i ,i=1,2,.開始上升:2也£ =4 _ -

5、方程13負n值給出減速。特別的是,方程 14, ni= i -m能被用來在 m步移動的最后一步內(nèi)將任何速度降至停止::!| .:51方程 14rStep nExact (9)Approx (11)Relative error10.41420.60000.4485r20.76730.77780.013630.84300.84620.00370L40.88100.88240.0015250.90410.90487.66E-460.91960.92004.41E-4100.95110.95129.42E-5L1000.99500.99509.38E-81,0000.99950.99959.37E-1

6、1表1:步進延遲逼近的精確度逼近精確度表1示出了即使在低步進數(shù) n和相對錯誤以n3減少時逼近依然是精確的。然而,n=1時有明顯的錯誤。在n =1時的錯誤可通過 兩種方法來處理:將n=1作為特別情況。采用cl 0.4056 c0補償上升開始時的不精確,允許使用方程7來計算c0。忽略這一錯誤。在方程 7處使用方程15:-0,戒-方程15第一種替代方法得出了幾乎完美的線性上升曲線。第二種替代方法以快速步進開始。它有助于保持電機在階躍脈沖0和1之間轉(zhuǎn)動,并確定生成轉(zhuǎn)矩所需要的角度誤差。它還允許用16位定時器生成更寬范圍的加速,優(yōu)點是簡單化。因此,這種方法被推薦用來忽略n=1時的錯誤DJ35 CL1 Q

7、.15 0? 025 Q.3 SJF 0.4 645 05 055 0直 <J£5 OJ O.JS 0出 Q0 0.55Euct h怔<2言圖2:步進電機速度上升曲線圖3:上升開始時的細節(jié)12011.5.価11117SH7TZ1161=15511S11451140型 0JS5 口 如 加甩5 0L如 0.975 OJS 0.軸S 。腫 O-.W 1Time (sec)圖4:上升結(jié)束時的細節(jié)圖2到4對比了 1秒內(nèi)從0到120rpm目標上升的選項。為清楚起見,顯示出了以速度表示的步進改變,由方程2計算而來。真實的曲線應該接近直線。方程12的2.c/(4.n +1)可用c/2.

8、n逼近。有一些影響:算法將仍然產(chǎn)生一個線性上升。C0將更接近方程7所示的“精確”值:同樣的上升加速為88.6%,而不是67.6%。像方程13那樣的簡單方程不再被用于加速和減速。加速改變由方程4和5,我們得到步進數(shù)n的表達式,是速度和加速度的函數(shù):“川方程16因此達到給定速度所需步進的數(shù)目與加速度成反比:.心方程仃這使在上升曲線上的一點處,通過改變上升算法方程13的步進數(shù)而改變加速度成為可能。此外,采用有符號的3'值導致有符號的n值,算法中表現(xiàn)正確。僅在3 ' = 0 處需要特殊處理。方程17給定的n值對tn正確。然而,cn代表了間隔tn . tn+1的平均。方程17通常夠用,但

9、在上升算法中使用時給n值增加一個半步就更為精確。m:.二方程18表2所示的數(shù)例從10到5改變加速度,并從第200步改變到-20rad/sec2。復雜的速度曲線能夠通過這種方式分段構(gòu)建。Step in ici (13)3' (3)n otes1981982,813.0674屈十1199199 398.5 -100.252,806.0081010.(199+.5)= 5.(398.5+.5)= -20.(-100.25+.5)200399.52,803.49852%etc.201400.52,799.0015200-99.252,820.180-202工網(wǎng)jn 4一4-9925*1etc.

10、201-98.252,834.568-20表2:加速度改變減速上升轉(zhuǎn)動m步,3 '1處的向上斜線與3 '2處的向下斜線在達到最大速度前交叉,開始減速點的步進數(shù) m等于,由方程17:科=_就+虱方程193仁加速度,3 '2=減速度(正)。將 n四舍五入到整數(shù),用方程14計算cn . cm-1。其它情況,方程17或18能被用于計算在 減速度3 '2處停止時所需步進數(shù)n2,假定在步進n1時達到當前的速度。將n2四舍五入到整數(shù),并且用方程14計算cm-n2 . cm-1 平滑移到最大速度理想的速度曲線將由上升加速3 '平滑過渡到最大速度3 max通過在靠近上升斜

11、線頂部減少加速度可以實現(xiàn)更高速度,你可以 避免可能出現(xiàn)的不期望的加速中斷效果。有幾種方式能夠?qū)崿F(xiàn)平滑過渡,同時仍然在低端處理器上允許實時計算:分段減少3',實現(xiàn)分段線性轉(zhuǎn)換。給斜坡加速算法的分母加一個指數(shù)項。通過線性因子改變ci-1到ci?,F(xiàn)在讓我們對比這些方法。分段線性圖5所示的這種方法非常靈活。任何數(shù)量的中斷都可使用。在3'連續(xù)減少處選擇一組3值。方程13中使用了斜坡算法。在每一步都增加n,如果3或c穿過中斷值,n就被重新計算。圖5:分段圖 5 來自于(c)j=O = 3.cmin, (c)j = (c)j-1+cmin)/2, (ni)j = 1.375.(ni-1+1)

12、, j = 1,2”.,7.給定的 jth 中斷。在 jth中斷處(c)j = 延遲數(shù),在3 max處cmin,=延遲數(shù)。指數(shù)項方程20給斜坡加速算法(方程12)的分母加了一個指數(shù)項: A 4.用+ 1+E 方程 20在低速(低步進數(shù)n)處,指數(shù)項k np可忽略,因此加速是常數(shù)。隨著速度上升,k np 開始占優(yōu)勢,最終將加速減少至零。更高的指數(shù)p產(chǎn)生一個急劇的“膝蓋”形狀。Q max是漸進達到的。轉(zhuǎn)換發(fā)生在knp = 4.n處。這能被用來計算常數(shù)k從初始加速3 '和所需最大速度3 max的近似值。一4_ jr2.0:.A)2%方程21圖6中的圖表采用了方程21來計算p=2,3,4,5時

13、的k。曲線當p=2時3 max下降了一些,但k對于更高指數(shù)還可以。圖6:指數(shù)項,p=2,3,4,5線性因子在這種方法中,我們運行斜坡算法(方程12)上升到n1步,然后通過在步進為n1時從1減為步進為n2時的0這一因子改變c:方程2211圖7:線性因子加速度曲線在轉(zhuǎn)換中相當線性和對稱。達到3 max的時間約為沒有轉(zhuǎn)換時的2倍,圖7所示。Q max能通過綜合方程22的連續(xù)版本來估計, 我們得到:1工曲十 "I空口嚴L=卜”"方程23方程23對于寬范圍的參數(shù),包括 n1=0都精確。然后它簡化到方程 24(與方程16對比):方程24在圖7中,線性因子方法應用了 34.Q-剋)*1

14、刑一甬_1rffi3 <? 5方程25max由0開始、30% 50痂70%勺轉(zhuǎn)換范圍。線性因子轉(zhuǎn)換也可用于向下斜坡:步進數(shù)n3,從最大速度轉(zhuǎn)換開始到向下斜坡,在上一個例子中已經(jīng)計算岀來。對于短移動,n3=n2,由方程19計算岀來111O.S00.2 M M 11.114 L& IJS 2122A 抽牯脇Iirn#(i4C)肩事哂蘭".".WIT -kh/pm PF賁圖8:線性因子:雙轉(zhuǎn)換圖 8 顯示在3 max有及沒有片段的例子:m=700, «'1 =10, 3'2 = -20,n 1=0,n2=432,n3=484; m=500,

15、 n2=n3=333,其它參數(shù)不變。轉(zhuǎn)換方法數(shù)轉(zhuǎn)換曲線的形式假定沒有計算簡便及參數(shù)控制那么重要,尤其是3max和轉(zhuǎn)換區(qū)域的大小。分段線性方法靈活,可加以整理,只需要簡單的斜坡運算,給出了光滑的速度曲線。然而它可能不適合某些參數(shù)組。在指數(shù)項方法內(nèi),k參數(shù)很容易地由3 max計算而來。當值在大范圍內(nèi)變化時,計算指數(shù)項產(chǎn)生定點運算問題。線性因子方法被推薦為可靠而易于計算的定點算法。因為3 max在已知的步進數(shù)處達到,該方法適合短移動,能從加速度過渡到減速,不出現(xiàn)中斷,如圖 8所示。在n1=0開始轉(zhuǎn)換給出了狹窄的過渡區(qū),能由3 max直接計算出n2。圖5到7對比了這些方法。實現(xiàn)你可以采用PIC18F2

16、52和L6219實現(xiàn)這種步進控制。L6219步進驅(qū)動IC執(zhí)行以下功能:提供二極管保護的H橋驅(qū)動,能夠為兩組電機繞組提供46V/750Ma在電機繞組(PHASE1,2輸入)內(nèi)將數(shù)字信號從 PIC轉(zhuǎn)換為電流方向?qū)⒚總€繞組的電流限制到0,當前值的33%, 67%,或100%通過將驅(qū)動器切換到 H橋晶體管(輸入101,111,102,112)最大電流由每個繞組的電流感應電阻來設定。L6219不像某些步進控制IC,沒有“步進”和“方向”控制線路。繞組相位序列必須由PIC來提供。這使控制少許復雜,但賦予了額外的靈活性并降低了成本。它還意味著相位可容易地在起電時復原通過使用I輸入,L6219能被用于半或四分

17、之一步進操作。對于全步進,它們可連在一起,由PIC的一個GPIO來驅(qū)動。Microchip 的PIC18F252是28引腳器件,占位與PIC16F876一樣。252功能更強大的內(nèi)核使其更容易用C來編程圖9表明了控制L6219的內(nèi)部時序資源配置。Mode* aNgr = Wtin molcw Tip ISR rcpiCDNOife Invokemowmpi&ft ILTWSCCCPIogicpm持 L&219PHASE 1 p«iTKCPJ-0TMR3 jcfineteLLed)toL6219PWASF 7 pifiutpUE PfUb>TRISCTKCPI-fl TKCPJ-0set >r motor-ISA cmccR 咖rmcftor 創(chuàng) ep ISS圖9: L6219接口的PIC18F252定時配置8MHz晶體及 PIC的x 4PLL頻率乘法器用于生成32MHz處理器時鐘。這被分成四部分,使定時時鐘為8MHz驅(qū)動電機包含以下序列:獲取參

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論