• 
    

    
    

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

      基于FPGA精插補(bǔ)方法改進(jìn)

      2018-06-02 06:48:29王金領(lǐng)
      制造技術(shù)與機(jī)床 2018年5期
      關(guān)鍵詞:累加器脈沖數(shù)數(shù)控系統(tǒng)

      王金領(lǐng) 盧 鷗

      (海天塑機(jī)集團(tuán)有限公司技術(shù)中心,浙江 寧波 315800)

      在數(shù)控系統(tǒng)中,各個(gè)運(yùn)動(dòng)軸的插補(bǔ)算法是運(yùn)動(dòng)控制的核心之一,良好的插補(bǔ)算法是設(shè)備加工精度、運(yùn)行平穩(wěn)的關(guān)鍵因素。

      數(shù)控系統(tǒng)的插補(bǔ)實(shí)現(xiàn)一般有兩種方式:(1)“一次插補(bǔ)法”,又被稱為“基準(zhǔn)脈沖插補(bǔ)”。這種插補(bǔ)算法實(shí)現(xiàn)比較簡單,所有的插補(bǔ)運(yùn)算全部由一個(gè)CPU實(shí)現(xiàn),在每次插補(bǔ)運(yùn)算中每個(gè)進(jìn)給軸只能產(chǎn)生一個(gè)脈沖,所以無論怎樣改進(jìn)插補(bǔ)算法,其產(chǎn)生的脈沖頻率都會(huì)受到CPU頻率的限制。并且因?yàn)椴捎脝蜟PU工作方式,如果CPU占用率過高,任務(wù)調(diào)度開銷嚴(yán)重,還會(huì)出現(xiàn)脈沖頻率波動(dòng)現(xiàn)象。(2)“二次插補(bǔ)法”現(xiàn)代中高檔數(shù)控系統(tǒng)基本采用了二次插補(bǔ)方式,該算法采用兩塊CPU分別進(jìn)行粗插補(bǔ)和精插補(bǔ),粗插補(bǔ)CPU一般由ARM或DSP擔(dān)任,實(shí)現(xiàn)加工代碼譯碼、速度控制、粗插補(bǔ)等運(yùn)算;而精插補(bǔ)一般是采用FPGA實(shí)現(xiàn),這是利用了FPGA超強(qiáng)的并行運(yùn)算能力,可以同時(shí)處理多個(gè)運(yùn)算。

      由于二次插補(bǔ)方式的這些優(yōu)點(diǎn),所以現(xiàn)代系統(tǒng)基本都是采用該方式實(shí)現(xiàn)運(yùn)動(dòng)插補(bǔ)。

      1 傳統(tǒng)FPGA精插補(bǔ)實(shí)現(xiàn)方法

      傳統(tǒng)的FPGA精插補(bǔ)方式一般采用除法運(yùn)算,在每個(gè)插補(bǔ)周期開始時(shí),由一次插補(bǔ)周期內(nèi)FPGA的時(shí)鐘數(shù)Clocks除以該周期需要輸出的脈沖數(shù)Pulse,從而得到每產(chǎn)生一個(gè)脈沖需要間隔的時(shí)鐘數(shù)Period,即:

      Period=Clocks÷Pulse

      (1)

      如果Clocks能夠被Pulse整除,則該除法算式不會(huì)產(chǎn)生余數(shù),按照每Period個(gè)FPGA時(shí)鐘產(chǎn)生一個(gè)脈沖輸出,則在一個(gè)插補(bǔ)周期結(jié)束時(shí),就會(huì)產(chǎn)生Pulse個(gè)脈沖輸出。但是在Clocks不能夠被整除時(shí),則會(huì)產(chǎn)生余數(shù),如果這時(shí)候仍然按照每間隔Period個(gè)時(shí)鐘周期產(chǎn)生一個(gè)脈沖輸出,則有可能在一個(gè)插補(bǔ)周期結(jié)束時(shí),產(chǎn)生超過Pulse個(gè)脈沖的輸出。

      若要解決這個(gè)算法存在的問題,一般是在脈沖輸出部分添加一個(gè)積分電路,將每次的余數(shù)計(jì)入積分器,在積分器數(shù)值達(dá)到Period脈沖時(shí),進(jìn)行一次脈沖輸出的修正,從而達(dá)到最終輸出Pulse個(gè)脈沖的目的。

      雖然能夠輸出正確的脈沖個(gè)數(shù),但是在脈沖修正的過程中,必然會(huì)造成輸出脈沖頻率的變化,從而會(huì)導(dǎo)致設(shè)備進(jìn)給速度的變化,可能會(huì)造成設(shè)備的抖動(dòng)或者刀具紋路的變化,從而降低了設(shè)備的加工精度。

      2 FPGA精插補(bǔ)算法的改進(jìn)

      為了解決傳統(tǒng)FPGA精插補(bǔ)算法的缺陷,產(chǎn)生理論上完全均勻化的脈沖輸出,對傳統(tǒng)精插補(bǔ)算法進(jìn)行了改進(jìn)。在每個(gè)插補(bǔ)周期開始時(shí),利用同步時(shí)鐘將脈沖累加器Sum清零,在以后的每個(gè)FPGA時(shí)鐘將累加器的值加上插補(bǔ)周期需要輸出的脈沖數(shù)Pulse,然后判斷累加器的值是否超出插補(bǔ)周期內(nèi)FPGA的時(shí)鐘周期數(shù)Clocks/ 2,若是則產(chǎn)生一個(gè)脈沖的上升沿,如果累加器的值超出Clocks,則產(chǎn)生一個(gè)下降沿輸出,同時(shí)將Sum值減去Clocks。這樣在一個(gè)插補(bǔ)周期內(nèi)累加器的累加值每次累加Pulse,共計(jì)累加了Clocks次,在不考慮溢出的情況下總的累加值為

      Sum=Pulse×Clocks

      (2)

      由此可以算出,累加器一共溢出了Sum/Clocks次,也就是Pulse次,也就產(chǎn)生了一個(gè)占空比為50%,脈沖數(shù)為Pulse的脈沖。并且是誤差值在一個(gè)FPGA時(shí)鐘周期之內(nèi)的理論上最佳均勻化的脈沖輸出。

      該算法只采用了加法運(yùn)算,并且不需要前置處理,僅僅利用加法產(chǎn)生的Sum值與Clocks比較作為脈沖的輸出信號,就產(chǎn)生了均勻化的脈沖輸出。大大提高了FPGA的執(zhí)行效率和算法的簡便性。

      3 新插補(bǔ)算法的功能擴(kuò)展

      除了良好地實(shí)現(xiàn)了均勻化脈沖輸出的目的,該算法還可以靈活地進(jìn)行一些功能擴(kuò)展。

      3.1 波形相位移動(dòng)

      有時(shí)要求輸出波形的起始脈沖為高電平輸出或低電平輸出,或者要求首脈沖要進(jìn)行相位移動(dòng)以滿足驅(qū)動(dòng)設(shè)備的要求。

      若要實(shí)現(xiàn)以上要求,只需要根據(jù)不同的要求設(shè)置脈沖累加器Sum的初始值,初始值越大,則波形的相位向左移動(dòng),初始值變小,則波形的相位向右移動(dòng)。只要設(shè)置合適的初始值就可以得到不同相位的輸出脈沖,并且產(chǎn)生的仍然是準(zhǔn)確的、均勻化的脈沖輸出。

      3.2 波形倍頻輸出

      當(dāng)需要精插補(bǔ)產(chǎn)生N倍的輸出脈沖時(shí),只需要將累加器每次的累加值乘以N就可以產(chǎn)生N倍Pulse的脈沖輸出。并且產(chǎn)生的仍然是準(zhǔn)確的、均勻化的脈沖輸出。

      3.3 可調(diào)占空比PWM輸出

      在數(shù)控系統(tǒng)的模擬輸出方式或者一些需要DA輸出的場合,可以將PWM波輸出端加濾波電容,產(chǎn)生模擬量的輸出。模擬電壓的高低可以由PWM的占空比控制,PWM的占空比越高,則濾波產(chǎn)生的電壓越高;PWM的占空比越低,則濾波產(chǎn)生的電壓越低。

      模擬輸出電壓值Vo、和脈沖輸出高電平的電壓VDD以及PWM占空比R之間的關(guān)系為:

      Vo=VDD×R

      (3)

      若要產(chǎn)生可調(diào)占空比的PWM波形輸出,首先計(jì)算出需要進(jìn)行上升沿輸出的累加器值PP:

      PP=Clocks×(1-R)

      (4)

      與產(chǎn)生占空比50%脈沖的相比,累加器仍然在每個(gè)FPGA時(shí)鐘累加Pulse,只是不再判斷累加器的值是否大于等于Clocks/ 2,而是判斷累加器的值是否大于等于PP,若是則產(chǎn)生一個(gè)脈沖的上升沿,如果累加器的值超出Clocks,則產(chǎn)生一個(gè)下降沿輸出,同時(shí)將Sum值減去Clocks。這樣就會(huì)產(chǎn)生一個(gè)占空比為R,每個(gè)插補(bǔ)周期內(nèi)輸出脈沖個(gè)數(shù)為Pulse的PWM波形。

      這種PWM波不僅可以調(diào)頻,而且可以調(diào)整輸出的占空比,具有非常廣泛的應(yīng)用范圍。

      4 結(jié)語

      本文介紹了一種FPGA精插補(bǔ)的實(shí)現(xiàn)算法,在實(shí)現(xiàn)了理論上的均勻化脈沖輸出外,并且顯著降低了FPGA代碼的復(fù)雜度。并且該算法還可以方便地進(jìn)行輸出脈沖的相位平移、輸出脈沖的倍頻輸出以及輸出可調(diào)占空比的PWM波,具有非常廣泛的應(yīng)用范圍。

      [1]閆莎莎.基于DPS+CPLD的多軸運(yùn)動(dòng)控制器平臺設(shè)計(jì)及單軸伺服運(yùn)動(dòng)控制算法研究[D].杭州:浙江大學(xué),2010.

      [2]徐霞棋 .基于 DSP 的多軸運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)[D].上海:上海交通大學(xué),2007.

      [3]徐志軍 . CPLD/FPGA的開發(fā)與應(yīng)用[M]. 北京:電子工業(yè)出版社,2002.

      猜你喜歡
      累加器脈沖數(shù)數(shù)控系統(tǒng)
      格上身份基簡短關(guān)聯(lián)環(huán)簽名及其電子投票應(yīng)用
      無線電工程(2024年5期)2024-07-20 00:00:00
      密碼累加器研究進(jìn)展及應(yīng)用
      某型組合導(dǎo)航系統(tǒng)故障分析及預(yù)防
      高精度電子體溫計(jì)設(shè)計(jì)與實(shí)現(xiàn)
      檢定電能表的圈數(shù)設(shè)定問題探討
      基于FANUC 32i A數(shù)控系統(tǒng)的外部測量設(shè)計(jì)
      西門子840D sl數(shù)控系統(tǒng)在SC125大型車銑鏜床技術(shù)改造中的應(yīng)用
      基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動(dòng)功能開發(fā)
      數(shù)控系統(tǒng)中GUI軟件平臺設(shè)計(jì)和實(shí)現(xiàn)
      基于霍夫變換的工位點(diǎn)識別算法設(shè)計(jì)與實(shí)現(xiàn)
      剑川县| 南丰县| 临城县| 建昌县| 巴南区| 工布江达县| 上犹县| 大姚县| 衡南县| 天柱县| 永平县| 伊宁县| 瓮安县| 洛南县| 苍溪县| 若尔盖县| 威信县| 北流市| 游戏| 宜川县| 易门县| 北碚区| 闽侯县| 宁都县| 府谷县| 松潘县| 南充市| 南丹县| 石渠县| 延津县| 内乡县| 广昌县| 新乐市| 屏山县| 吉林市| 东乡| 京山县| 宜黄县| 岳阳县| 南昌市| 巩留县|