一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

步進(jìn)電機(jī)三軸聯(lián)動的動態(tài)查表法算法描述及優(yōu)點(diǎn)

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-10-02 06:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 引言

步進(jìn)電機(jī)具有快速啟停能力強(qiáng)、精度高、轉(zhuǎn)速容易控制的特點(diǎn)。但是,步進(jìn)電動機(jī)應(yīng)避免轉(zhuǎn)動速率的突變,而且從停止到開始轉(zhuǎn)動有一個較低的起動頻率,隨后才可以平緩地過渡到較高的轉(zhuǎn)速。相應(yīng)地在步進(jìn)電機(jī)制動時,也應(yīng)該平緩過渡。如果由于啟動和停止控制不當(dāng),步進(jìn)電機(jī)會出現(xiàn)啟動時抖動和停止時過沖的現(xiàn)象,從面影響系統(tǒng)的控制精度]。為避免這種情況的發(fā)生,要對步進(jìn)電機(jī)進(jìn)行加減速控制。加減速控制是數(shù)控系統(tǒng)的關(guān)鍵技術(shù),對提高數(shù)控系統(tǒng)的精度及速度有重要的意義。加減速控制也得到了廣泛的研究與應(yīng)用。

目前國內(nèi)外步進(jìn)電機(jī)加減速控制曲線主要包括三種:直線型加減速速度曲線(也稱為梯形曲線)、指數(shù)型加減速曲線、S 型加減速曲線??刂扑惴ㄖ饕胁楸矸ê筒逖a(bǔ)迭代法。查表法的原理是設(shè)置一張時間間隔表,表中的每一項都對應(yīng)一個轉(zhuǎn)速,時間間隔按一定的規(guī)律變化。插補(bǔ)迭代法的原理是根據(jù)前一步的基準(zhǔn)點(diǎn)速度和加、減、勻速狀態(tài)來確定當(dāng)前步的基準(zhǔn)點(diǎn)速度。

這兩種控制算法都有各自的適用范圍,查表法適用于單軸的加減速控制,具有算法簡單、快速的特點(diǎn),但不能適用于多軸聯(lián)動。插補(bǔ)迭代算法適用于高精度的控制,算法復(fù)雜,對處理器的要求較高,一般需要用到DSP 等高檔處理器。本文結(jié)合兩種算法的優(yōu)點(diǎn),設(shè)計了一種“動態(tài)查表法”來實現(xiàn)三軸聯(lián)動的快速加減速算法。動態(tài)查表法即有查表法簡單、快速的特點(diǎn),又能夠用一般的單片機(jī)來實現(xiàn)高精度的多軸聯(lián)動加減速控制。

2 動態(tài)查表法

根據(jù)線性插補(bǔ)原理,各插補(bǔ)軸的位移與速度比相等。在加減速過程中,各插補(bǔ)軸的速度、加速度分別與合成的速度、加速度對應(yīng)成比例。當(dāng)對合成速度按某種加減速方法進(jìn)行加減速時,各插補(bǔ)軸在保證空間軌跡的同時,也應(yīng)按相同的加減速方法進(jìn)行加減速。查表法具有簡單、快速的特點(diǎn),但查表法必須事先確定一張加減速的速度表格,不能按比例應(yīng)用到多軸聯(lián)動的場合。本文的思路是結(jié)合數(shù)字積分法,在加工某條線段前先按比例快速計算好相應(yīng)的速度表格,再用查表法來完成加減速控制,即“動態(tài)查表法”。

數(shù)字積分法,也稱 DDA(Digital Differential Analyzer) ,它是建立在數(shù)字積分器基礎(chǔ)上的一種插補(bǔ)算法,其最大特點(diǎn)是易于實現(xiàn)多坐標(biāo)插補(bǔ)聯(lián)動[6]。每一軸設(shè)置一個累加器,三軸聯(lián)動需要設(shè)置三個累加器,每進(jìn)行一次插補(bǔ),對三個累加器分別累加。哪一軸的累加器有溢出則該軸延遲一個定時周期進(jìn)給一步(注:本文中的“進(jìn)給一步”代表發(fā)一次脈沖的高電平或低電平,兩次“進(jìn)給一步”代表一個完整的脈沖)。在實際應(yīng)用中,會設(shè)定一個較大的整數(shù)N,一般是2m,本文設(shè)置的是0x8000,即215。當(dāng)累加超過該數(shù)時,視為溢出。相應(yīng)的,根據(jù)單片機(jī)的定時周期,加工速度將折算成兩個整數(shù)用于實際的插補(bǔ)運(yùn)算,一個整數(shù)是n,代表過n 個定時周期進(jìn)給一步,另一個是dn,代表累加數(shù),當(dāng)dn 累加到達(dá)N 時,延遲一個定時周期進(jìn)給一步。則:

V 代表的是指定的加工速度,做加減速控制的加速過程需要將速度從起跳速度按照一定的曲線加速到V,減速過程需要將速度從V 再減到起跳速度。

本文設(shè)計了一系列速度檔位,最低檔位就是起跳速度,然后逐步增加到V,每檔速度同時對應(yīng)一個脈沖數(shù)組,及走過多少脈沖后切換到另外一個速度檔位。脈沖與速度構(gòu)成的曲線可以是梯形曲線、指數(shù)型加減速曲線或S 型加減速曲線。每個速度檔位都按照相同的比例縮小速度V,三軸都按照相同的比例,就滿足了線性插補(bǔ)原理,可以在保證空間軌跡的同時,各軸按照相同的加減速方法進(jìn)行加減速。但計算速度檔位必須在加工線段前進(jìn)行,而且不能有除法運(yùn)算,否則一般的單片機(jī)難以達(dá)到實時性的要求。按一定的比例縮小V 必須用到除法,要避免除法運(yùn)算就只能采用移位運(yùn)算來代替。由式(1)~(3)可知,k 與V 成反比,而n 和dn 分別對應(yīng)k 的整數(shù)和小數(shù)部分。假設(shè)要得到V*p/q 對應(yīng)的n 和dn,其中p、q 都是自然數(shù)且p

本文設(shè)計的速度檔位因子分別是:1/16, 1/8, 1/4, 2/5,1/2, 2/3, 4/5, 8/9, 共八個檔位。對精度要求高的還可以設(shè)置更多的檔位。確定速度檔位因子后,就可以通過一系列的移位指令來計算V*p/q 對應(yīng)的n 和dn,以4/5 為例:計算步驟如下:

n=ctrlDatas[i].n*5;// ctrlDatas[i].n 是給定速度對應(yīng)的n,*5 也可以用左移位+加法代替

ns[j]=n>>2;//ns[j]是每個速度檔位對應(yīng)的n,>>2 代表除以4

dns[j]=(ctrlDatas[i].dn*5)>>2;// dns[j]是每個速度檔位對應(yīng)的dn

dns[j]=dns[j]+((n & 0x3)<<13);//將n 的余數(shù)補(bǔ)充到dn

ns[j]+=dns[j]>>15;//將dn 對應(yīng)的整數(shù)部分補(bǔ)充到n

dns[j]=dns[j] & 0x7FFF;//取余數(shù)

可見通過一系列的位運(yùn)算和加法運(yùn)算實現(xiàn)了各速度檔位的計算,而且精度非常高。實驗證明,常規(guī)的單片機(jī)完全可以達(dá)到實時性的要求。

3 動態(tài)查表算法描述

動態(tài)查表算法有兩部分,一是加工前計算各檔位速度vc,另一個是實時的加減速控制rtvc。

下面分別描述。

3.1 算法vc,用于加工線段前的預(yù)處理,計算各軸各檔位速度對應(yīng)的n 和dn:

(1)求最長軸所在的索引longestIndex。本文將三軸分別編號成0,1,2,分別代表XYZ三軸,最長加工軸代表該軸加工速度最快,以該軸為基準(zhǔn)進(jìn)行加減速,其他軸同步按比例進(jìn)行加減速

(2)如果最長加工軸的加工脈沖小于系統(tǒng)指定脈沖,以系統(tǒng)指定的低速進(jìn)行加工,清除加減速標(biāo)志,不進(jìn)行加減速控制。算法結(jié)束,否則轉(zhuǎn)第(3)步

(3)如果某軸的速度低于指定速度,該軸不進(jìn)行加減速控制,全部按照指定速度進(jìn)行加工。算法結(jié)束,否則轉(zhuǎn)第(4)步

(4)按照第2 節(jié)的速度檔位劃分及移位算法計算各軸各檔位速度對應(yīng)的n 和dn。算法結(jié)束3.2 算法rtvc,用于實時加減速控制,根據(jù)發(fā)出脈沖計數(shù)進(jìn)行相應(yīng)的加減速控制:

(1)如果有加速標(biāo)志,代表還需要進(jìn)行加速控制,轉(zhuǎn)第(2)步,否則轉(zhuǎn)第(5)步

(2)如果最長加工軸的加工脈沖超過某檔位對應(yīng)的脈沖數(shù),轉(zhuǎn)第(3)步,否則轉(zhuǎn)第(5)步

(3)如果達(dá)到最大檔位,代表已經(jīng)完成加速,設(shè)置各軸實時n 和dn 為指定正常加工速度V 對應(yīng)的n 和dn,清除加速標(biāo)志,轉(zhuǎn)第(5)步。否則轉(zhuǎn)第(4)步

(4)設(shè)置各軸實時n 和dn 為對應(yīng)加速檔位速度對應(yīng)的n 和dn

(5)如果有減速標(biāo)志,代表需要進(jìn)行減速控制,轉(zhuǎn)第(6)步,否則算法結(jié)束

(6)計算最長加工軸距離加工終點(diǎn)還有多少脈沖pulse

(7)如果pulse 小于某檔位對應(yīng)的脈沖數(shù),轉(zhuǎn)第(8)步,否則算法結(jié)束

(8)如果達(dá)到最大檔位,代表已經(jīng)完成減速,清除減速標(biāo)志,算法結(jié)束,否則轉(zhuǎn)第(9)步

(9)設(shè)置各軸實時n 和dn 為對應(yīng)減速檔位速度對應(yīng)的n 和dn。

算法結(jié)束算法 rtvc 的流程圖如圖1 所示,算法vc 的流程圖省略。

算法 vc 只需要在加工某線段前執(zhí)行一次,而算法rtvc 用于實時加減速控制,需要在單片機(jī)的主循環(huán)里面反復(fù)調(diào)用,但由于調(diào)用rtvc 前速度表格已經(jīng)計算好,只需查表即可,因此算法的實時性非常好。

在實際的加工程序中,除了增加以上兩個算法之外,還是按照常規(guī)的DDA 算法進(jìn)行積分插補(bǔ),按照常規(guī)判斷加工終點(diǎn)到達(dá)等等,不再贅述。

4 總結(jié)

動態(tài)查表法用到的表格有兩個,一個是切換各檔位速度需要走過的脈沖,另一個的各軸各檔位速度對應(yīng)的n 和dn。后一個表格是動態(tài)計算生成的。調(diào)整前一個表格可以實現(xiàn)不同的加減速曲線,因此動態(tài)查表法可以實現(xiàn)各種加減速曲線,根據(jù)實際加工情況自由選擇,而不需要增加算法復(fù)雜度。同時,計算各檔位速度對應(yīng)的n 和dn 只需要進(jìn)行一系列的位運(yùn)算和加法運(yùn)算,一般的單片機(jī)即可達(dá)到良好的實時性。

動態(tài)查表法已經(jīng)在數(shù)控點(diǎn)膠機(jī)上得到了很好的應(yīng)用,實踐表明,用一般的ARM 芯片完全滿足了實時性和高精度的要求。動態(tài)查表法同樣可以應(yīng)用到其他多軸聯(lián)動運(yùn)動控制場合。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19893

    瀏覽量

    235181
  • 電機(jī)
    +關(guān)注

    關(guān)注

    143

    文章

    9298

    瀏覽量

    149480
  • 步進(jìn)電機(jī)
    +關(guān)注

    關(guān)注

    152

    文章

    3166

    瀏覽量

    149742
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于查表的快速CRC算法設(shè)計

    基于查表的快速CRC算法設(shè)計
    發(fā)表于 08-20 20:01

    步進(jìn)電機(jī)的設(shè)計

    基于51步進(jìn)電機(jī)的設(shè)計用矩陣鍵盤控制步進(jìn)電機(jī)
    發(fā)表于 10-16 14:35

    哪位大神知道,步進(jìn)電機(jī)軟件細(xì)分查表,電機(jī)方向改變時怎么查表

    軟件以查表實現(xiàn)兩相混合步進(jìn)電機(jī)的細(xì)分控制,電機(jī)運(yùn)行時改變轉(zhuǎn)向后查表順序變嗎?
    發(fā)表于 01-25 15:12

    步進(jìn)電機(jī)聯(lián)動動態(tài)查表算法描述 精選資料下載

    1 引言步進(jìn)電機(jī)具有快速啟停能力強(qiáng)、精度高、轉(zhuǎn)速容易控制的特點(diǎn)。但是,步進(jìn)電動機(jī)應(yīng)避免轉(zhuǎn)動速率的突變,而且從停止到開始轉(zhuǎn)動有一個較低的起動頻率,隨后才可以平緩地過渡到較高的轉(zhuǎn)速。相應(yīng)地在步進(jìn)
    發(fā)表于 07-08 08:17

    步進(jìn)電機(jī)驅(qū)動算法——S形加減速算法原理 精選資料下載

    目錄步進(jìn)電機(jī)S形加減速簡介七段S形加減速算法原理分析五段S形加減速算法實現(xiàn)算法分析查表
    發(fā)表于 07-08 09:18

    分享一份步進(jìn)電機(jī)加減速查表

    步進(jìn)電機(jī)加減速查表1.流程圖2,代碼段1.碼盤const UNBIT16 CarAccelerationList[CAR_ACCELERATION_STEP_MAX + 1] ={
    發(fā)表于 07-08 09:14

    步進(jìn)電機(jī)S加減速算法查表方式哪個更好?

    步進(jìn)電機(jī)S加減速算法查表方式哪個更好,有誰用過,能否提供實例?
    發(fā)表于 11-08 08:10

    基于PC的步進(jìn)電機(jī)聯(lián)動控制系統(tǒng)研究

             詳細(xì)介紹Windows 環(huán)境下面用PC 的并口直接控制聯(lián)動步進(jìn)
    發(fā)表于 09-15 08:03 ?54次下載

    基于PC的步進(jìn)電機(jī)聯(lián)動控制系統(tǒng)研究

    詳細(xì)介紹Windows 環(huán)境下面用PC 的并口直接控制聯(lián)動步進(jìn)電機(jī)運(yùn)動控制系統(tǒng)。分析了包括G 代碼編譯、數(shù)字積分插補(bǔ)
    發(fā)表于 12-26 13:38 ?26次下載

    步進(jìn)電機(jī)聯(lián)動的快速加減速算法研究

    加減速控制是數(shù)控系統(tǒng)的關(guān)鍵技術(shù),對提高數(shù)控系統(tǒng)的精度及速度有重要的意義。提出了一種步進(jìn)電機(jī)聯(lián)動的快速加減速
    發(fā)表于 01-18 15:33 ?106次下載

    CRC(查表)-表的由來

    利用查表實現(xiàn)CRC算法,CRC算法廣泛應(yīng)用與各行業(yè),查表實現(xiàn)CRC簡單快速方便
    發(fā)表于 01-06 11:29 ?16次下載

    步進(jìn)電機(jī)聯(lián)動DSP控制系統(tǒng)研究

    步進(jìn)電機(jī)聯(lián)動DSP控制系統(tǒng)研究,下來看看
    發(fā)表于 05-04 14:09 ?30次下載

    基于ES系列步進(jìn)伺服電機(jī)描述及應(yīng)用

    。 為了全面提高控制性能,調(diào)整了伺服系統(tǒng)的增益是最關(guān)鍵的一步。根據(jù)負(fù)載變化進(jìn)行調(diào)整參數(shù),這是一項長期,繁瑣,麻煩,耗時一個應(yīng)用工程師很多的工作精力。智創(chuàng)ES步進(jìn)伺服電機(jī)系統(tǒng)完全采用獨(dú)特的閉環(huán)步進(jìn)
    發(fā)表于 10-17 15:37 ?7次下載

    5步進(jìn)電機(jī)聯(lián)動模擬數(shù)控系統(tǒng)設(shè)計的程序和數(shù)據(jù)手冊及原理圖免費(fèi)下載

    5步進(jìn)電機(jī)聯(lián)動模擬數(shù)控系統(tǒng)設(shè)計的程序和數(shù)據(jù)手冊及原理圖免費(fèi)下載包括了:C程序,M35SP-7步進(jìn)電機(jī)
    發(fā)表于 07-17 08:00 ?7次下載
    5<b class='flag-5'>軸</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>聯(lián)動</b>模擬數(shù)控系統(tǒng)設(shè)計的程序和數(shù)據(jù)手冊及原理圖免費(fèi)下載

    帶你了解中空步進(jìn)電機(jī)作用

    ?中空步進(jìn)電機(jī)的主要作用包括優(yōu)化機(jī)械設(shè)計、方便布線及節(jié)約設(shè)計空間和生產(chǎn)成本,同時滿足特定的精度要求。 中空步進(jìn)
    的頭像 發(fā)表于 09-05 14:44 ?1184次閱讀
    帶你了解中空<b class='flag-5'>軸</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>作用