• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于FPGA的直線插補(bǔ)器的研究與設(shè)計(jì)

      2010-09-20 02:56:10上海交通大學(xué)電子信息與電氣工程學(xué)院上海200240
      電氣自動化 2010年1期
      關(guān)鍵詞:分界點(diǎn)梯形加速度

      上海交通大學(xué)電子信息與電氣工程學(xué)院(上海200240) 陸 悅 張 峰 賀 超

      1 引言

      運(yùn)動控制技術(shù)發(fā)展至今,從實(shí)現(xiàn)上可以分為軟件實(shí)現(xiàn)和硬件實(shí)現(xiàn)兩種。硬件實(shí)現(xiàn)以往多依賴于ASIC芯片設(shè)計(jì),使得普通工程技術(shù)人員很難參與其中,因此,市面上流行很多經(jīng)濟(jì)型的單片機(jī)或者DSP軟插補(bǔ)器。由于計(jì)算速度上的限制以及軟插補(bǔ)器自身的缺陷,這些插補(bǔ)器很難做到高精度和多軸聯(lián)動。隨著EDA技術(shù)的發(fā)展,可編程邏輯器件的出現(xiàn)打破了這樣的格局。特別是工藝的進(jìn)步使得FPGA價(jià)格不斷下降,也使其更加適合運(yùn)動控制場合。本文即研究如何利用FPGA完成對步進(jìn)電機(jī)的直線運(yùn)動控制。

      2 DDA算法的選擇與原理

      目前比較成熟的數(shù)控插補(bǔ)算法有逐點(diǎn)比較法、最小偏差法和數(shù)字積分法等,DDA(數(shù)字積分法)利用數(shù)字積分的方法,計(jì)算刀具沿各坐標(biāo)軸的位移,使得刀具沿著所加工的曲線運(yùn)動。DDA插補(bǔ)算法具有運(yùn)算速度快、脈沖分配均勻、易于實(shí)現(xiàn)多坐標(biāo)聯(lián)動等特點(diǎn),在輪廓控制數(shù)控系統(tǒng)中有著廣泛的應(yīng)用[1]。本文即采用DDA算法實(shí)現(xiàn)直線插補(bǔ)。

      數(shù)字積分的原理是將函數(shù)的積分運(yùn)算轉(zhuǎn)換成變量的求和運(yùn)算。如果所選擇的脈沖當(dāng)量足夠小,則用求和運(yùn)算代替積分所引起的誤差可以不超過允許的數(shù)值。這樣,可以采用兩個(gè)寄存器(函數(shù)寄存器和累加寄存器)和一個(gè)全加器構(gòu)成數(shù)字積分器[2]。將單位周期選的足夠小,每單位周期都向累加器累加函數(shù)寄存器中的數(shù)值,如果累加器溢出,就向外發(fā)送脈沖,實(shí)時(shí)的改變函數(shù)寄存器的值,就可以完成電機(jī)的調(diào)速。

      3 插補(bǔ)器的設(shè)計(jì)與實(shí)現(xiàn)

      圖1為整個(gè)插補(bǔ)器的框圖,其中比較重要的是預(yù)判模塊、梯形模塊和S型模塊。

      3.1 核心內(nèi)容設(shè)計(jì)

      3.1.1 輸入?yún)?shù)

      輸入部分是初始數(shù)據(jù)的接口,可以設(shè)計(jì)成各種接口從外部接受數(shù)據(jù),比如SRAM時(shí)序、PCI接口等等,這不是本文討論的內(nèi)容。該部分比較重要的是接收哪些數(shù)據(jù),在設(shè)計(jì)中,對于每條直線需要初始速度、最高速度、加速時(shí)間、運(yùn)動距離、X軸Y軸距離比例和運(yùn)動類型這幾個(gè)參數(shù)。初始速度控制電機(jī)運(yùn)動的起始速度,最高速度決定運(yùn)動過程中的最高速度,加速時(shí)間控制加減速過程的時(shí)間,運(yùn)動距離是電機(jī)運(yùn)動的總距離,X軸和Y軸距離比例用來使X軸和Y軸脈沖均勻分配,運(yùn)動類型決定加減速控制的類型。

      另外一個(gè)需要注意的問題是,在FPGA內(nèi)部所有數(shù)據(jù)都是整形的,而實(shí)際參數(shù)可能是帶小數(shù)的,對此的處理是左移規(guī)格化,將參數(shù)在輸入FPGA之前做一定的預(yù)處理,將距離單位轉(zhuǎn)換成脈沖個(gè)數(shù),時(shí)間單位轉(zhuǎn)換成每單位周期,并放大統(tǒng)一的倍數(shù),最終單位為累計(jì)量每周期。例如,初始速度為0.1mm/s,脈沖當(dāng)量為0.0001mm,積分周期為100ns,左移32位,則規(guī)格化之后的初始速度為:

      其他變量做類似處理。

      3.1.2 加減速控制

      控制電機(jī)做直線運(yùn)動最復(fù)雜的就是電機(jī)的加減速控制,為了防止電機(jī)失步,不能直接發(fā)送給定頻率的脈沖,需要有加速和減速的過程。加減速控制有兩種方法,梯形方法和S型方法。如圖2所示,梯形方法是采用恒定加速度,S型方法是采用變加速度和恒定加加速度的2次加速方案。

      由于運(yùn)動距離的限制,有可能會發(fā)生加速不到最高速度就需要減速的情況。如圖3所示。

      從圖2中根據(jù)加速過程中的對稱關(guān)系可以證明,在初速度和最高速度相同的情況下采用梯形加速和S型加速方式,加速過程運(yùn)動的距離相等。因此,兩種方法都可以按照梯形方式來計(jì)算給定路程下能達(dá)到的實(shí)際最高速度。

      在電機(jī)控制過程中,按照加速度變化規(guī)律去改變上文提到的函數(shù)累加器的值就可以實(shí)現(xiàn)調(diào)速。不同的是,梯形方式中加速度是個(gè)恒定值,而S型方式中,加速度也需要根據(jù)加加速度來不斷調(diào)整。用加加速度調(diào)整加速度的方式和用加速度調(diào)整速度的方式相同。

      為了能夠使調(diào)速均勻平滑,本算法中采用了以空間矢量為長軸的方式[3]。按照X軸和Y軸的比例,將脈沖均勻地分配到兩軸。

      3.1.3 分界點(diǎn)的判斷

      圖2表明,在加減速過程中有不同的階段,因此帶來了階段分界點(diǎn)判定的問題。梯形方式,分界點(diǎn)比較簡單,1和2階段的分界點(diǎn)按照最高速度值判斷即可,即一直按照給定加速度加速,直到速度達(dá)到最大值。2和3階段的分界點(diǎn)則可以根據(jù)到該點(diǎn)時(shí)的路程值來判定,由于加速和減速過程對稱,兩個(gè)過程運(yùn)動距離相等,總距離減去加速運(yùn)動距離就是該點(diǎn)處的距離值。由于最終使用的速度最大值是計(jì)算得到的實(shí)際最大值,因此不會出現(xiàn)達(dá)不到最大值的情況。

      S型方式的分界點(diǎn)比較復(fù)雜,本文提供了一種很好的簡化實(shí)現(xiàn)。之前提到,兩種方式在加減速過程按照相同的方法計(jì)算實(shí)際最大速度,在最大值確定之后,可以按照一定比例設(shè)計(jì)S型方式中各個(gè)階段的時(shí)間比例,并根據(jù)此比例獲得分界點(diǎn)的速度值。例如圖2 所示,假設(shè) t1∶t2∶t3=1∶1∶1,則面積比 s1∶s2∶s3=1∶2∶1,這樣三個(gè)階段的速度增加值可以通過這個(gè)比例計(jì)算得到,而且比例數(shù)字避開了除法。計(jì)算得到恒定加加速度階段(圖2S型方式2階段)的速度變化值之后,就可以計(jì)算得到加加速度的值,這樣只要按照加加速度去控制3個(gè)階段就完成了S型加速過程分界點(diǎn)的控制。減速點(diǎn)的處理與梯形方式相同,減速過程與加速過程類似。

      3.1.4 距離的累加

      本文算法采用100ns作為插補(bǔ)周期,使得不論是梯形方式還是S型方式,在處理距離的累加時(shí),都可以將運(yùn)動過程看作是恒定加速度的運(yùn)動。這樣根據(jù)運(yùn)動學(xué)公式,由于速度單位是累計(jì)量每周期,所以累加值應(yīng)該為:

      按照該公式,只需要計(jì)算每個(gè)插補(bǔ)周期開始速度和末速度之和,然后右移1位作為距離累加值即可,這樣還避開了除法運(yùn)算。

      3.2 模塊介紹與程序框圖

      在討論完算法的核心內(nèi)容后,我們在此基礎(chǔ)來看各模塊的功能和程序框圖。

      3.2.1 預(yù)判模塊

      該模塊實(shí)現(xiàn)實(shí)際最大值的計(jì)算和分界點(diǎn)的計(jì)算功能,程序框圖如圖4所示:

      3.2.2 梯形模塊

      該模塊利用預(yù)判模塊的數(shù)據(jù),在使能后按照梯形方式發(fā)送脈沖。程序用狀態(tài)機(jī)實(shí)現(xiàn),時(shí)鐘頻率為50MHz,每個(gè)時(shí)鐘周期20ns,通過兩組5種狀態(tài)的狀態(tài)機(jī)的轉(zhuǎn)換可完成梯形方式控制。程序框圖如下所示:

      3.2.3 S型模塊

      該模塊利用預(yù)判模塊的數(shù)據(jù),在使能后按照S型方式發(fā)送脈沖。與梯形方式相比也是使用狀態(tài)機(jī)來實(shí)現(xiàn),但是增加了加加速度的控制,狀態(tài)轉(zhuǎn)換也更為復(fù)雜。程序框圖如圖6中所示:

      4 仿真與實(shí)驗(yàn)結(jié)果

      用quartus2進(jìn)行綜合后,用ModelSim仿真結(jié)果如下:

      以上仿真結(jié)果,是采用兩種不同方式在相同的數(shù)據(jù)下的仿真得到的數(shù)據(jù)。圖中曲線是將函數(shù)寄存器中的數(shù)值設(shè)置成模擬 (analog)方式觀察得到的,這些曲線表示了速度值的變化,曲線下方是發(fā)出的脈沖電平,橫軸是時(shí)間,單位是毫秒。為了重點(diǎn)表現(xiàn)加減速過程,仿真是對單軸的控制,脈沖即是發(fā)出的控制脈沖。距離充足的一組數(shù)據(jù)是:加減速時(shí)間1ms,路程15個(gè)脈沖,初速度0.1mm/s,末速度1mm/s,脈沖當(dāng)量0.0001mm;距離不足的一組數(shù)據(jù)中除路程是8個(gè)脈沖外,其他與以上相同。仿真結(jié)果,完全正確。

      在實(shí)踐中,采用 Altera公司的ep1c12,實(shí)驗(yàn)得到,利用梯形加速,電機(jī)從速度0加速到頻率200k,加速時(shí)間最短在0.4秒左右,而用S型可以在不到0.1秒內(nèi)成功啟動。

      5 結(jié)束語

      本文闡述了采用FPGA實(shí)現(xiàn)DDA直線插補(bǔ)器的一種思路,并重點(diǎn)討論了加減速的控制等核心內(nèi)容。仿真和實(shí)踐都證明了其正確性。下一步需要完善的是如何動態(tài)改變運(yùn)動參數(shù),這對于實(shí)際應(yīng)用也非常重要。

      [1]閆華,汪木蘭,王保升.基于FPGA的最小偏差法插補(bǔ)器是設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)械設(shè)計(jì)與制造,2008(12):14 ~ 16.

      [2]李恩林著.數(shù)控系統(tǒng)插補(bǔ)原理通論[M].北京:國防工業(yè)出版社,2008.

      [3]蔣志冬,丁慶生.基于FPGA實(shí)現(xiàn)的多軸數(shù)控雕刻機(jī)系統(tǒng)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2006(1):129 ~ 131.

      [4]Samir Palnitkar著,夏宇聞,胡燕祥,刁嵐松等譯.Verilog HDL數(shù)字設(shè)計(jì)與綜合[M].北京:電子工業(yè)出版社,2004.

      [5]王誠,吳繼華,范麗珍,薛寧,薛小剛著.Altera FPGA/CPLD設(shè)計(jì)[M].北京:人民郵電出版社,2005.

      猜你喜歡
      分界點(diǎn)梯形加速度
      玩轉(zhuǎn)梯形
      幼兒100(2023年37期)2023-10-23 11:38:58
      “鱉”不住了!從26元/斤飆至38元/斤,2022年甲魚能否再跑出“加速度”?
      關(guān)注特殊值,巧解一類導(dǎo)數(shù)壓軸題
      梯形達(dá)人
      怎樣確定含參二次函數(shù)問題中分類討論的“分界點(diǎn)”
      一類變延遲中立型微分方程梯形方法的漸近估計(jì)
      天際加速度
      汽車觀察(2018年12期)2018-12-26 01:05:42
      創(chuàng)新,動能轉(zhuǎn)換的“加速度”
      金橋(2018年4期)2018-09-26 02:24:46
      死亡加速度
      梯形
      阿克苏市| 海原县| 五大连池市| 涞水县| 荆门市| 泸西县| 靖西县| 东阿县| 西乌珠穆沁旗| 肃北| 什邡市| 嵊州市| 乌鲁木齐县| 金昌市| 光泽县| 通州区| 琼海市| 临江市| 库车县| 桃园县| 郸城县| 祁连县| 南平市| 曲靖市| 调兵山市| 通山县| 西安市| 丰镇市| 新乡市| 黑水县| 卢龙县| 延寿县| 常德市| 布尔津县| 新丰县| 通渭县| 汉沽区| 海兴县| 娱乐| 南投市| 图木舒克市|