国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的五軸聯(lián)動(dòng)控制器的設(shè)計(jì)

2014-05-11 03:11:18駱敏舟王善杰
制造業(yè)自動(dòng)化 2014年11期
關(guān)鍵詞:寄存器常州脈沖

凌 松,駱敏舟,王善杰

(1.常州大學(xué),常州 213000;2.常州先進(jìn)制造技術(shù)研究所,常州 213000;3.合肥工業(yè)大學(xué),合肥 230022)

基于FPGA的五軸聯(lián)動(dòng)控制器的設(shè)計(jì)

凌 松1,駱敏舟1,王善杰3

(1.常州大學(xué),常州 213000;2.常州先進(jìn)制造技術(shù)研究所,常州 213000;3.合肥工業(yè)大學(xué),合肥 230022)

0 引言

在機(jī)器人運(yùn)動(dòng)控制系統(tǒng)中,要求機(jī)器人沿某一指定軌跡運(yùn)行時(shí),必須將軌跡分割成許多小段,通過(guò)求解各個(gè)中間點(diǎn)的逆運(yùn)動(dòng)學(xué)方程,計(jì)算出一系列的關(guān)節(jié)角度,控制器根據(jù)得出的每個(gè)時(shí)刻的關(guān)節(jié)量驅(qū)動(dòng)各軸電機(jī)聯(lián)動(dòng),以保證準(zhǔn)確的經(jīng)過(guò)所有中間點(diǎn)。一般伺服電機(jī)和步進(jìn)電機(jī)的驅(qū)動(dòng)器采用脈沖加方向的控制模式,脈沖的數(shù)量對(duì)應(yīng)運(yùn)行位置,脈沖頻率對(duì)應(yīng)運(yùn)行速度,所以多路脈沖的輸出控制,成為多軸聯(lián)動(dòng)的關(guān)鍵技術(shù)之一。

在文獻(xiàn)[1,2]中,作者主要是利用DSP的PWM模塊來(lái)實(shí)現(xiàn)多路脈沖的輸出以達(dá)到多軸聯(lián)動(dòng),經(jīng)過(guò)分析得出,采用這種方法,需要占用DSP的內(nèi)部資源,降低了處理速度,而且輸出的脈沖頻率范圍窄,分辨率不高。

本文以控制5路步進(jìn)電機(jī)為例,采用現(xiàn)場(chǎng)可編程門陣列(FPGA)利用直接數(shù)字頻率合成(Direct Distal Frequency Synthesis,DDS)算法實(shí)現(xiàn)了的5路脈沖輸出,并設(shè)計(jì)了SPI接口與DSP芯片通訊。這種方案有效減輕了控制系統(tǒng)中DSP的負(fù)擔(dān),而且實(shí)現(xiàn)了較高分辨率的脈沖輸出,提升了多軸聯(lián)動(dòng)的效果。

1 總體設(shè)計(jì)方案

系統(tǒng)主要由三個(gè)部分組成,如圖1所示。DSP采用TI公司的TMS320F28335芯片,主要用于空間軌跡的規(guī)劃計(jì)算,通過(guò)求解逆運(yùn)動(dòng)學(xué)方程,得出各個(gè)軸在不同時(shí)刻的位移量,然后再轉(zhuǎn)換成脈沖的數(shù)量和頻率,通過(guò)通信口發(fā)送給FPGA處理。FPGA用的是Altera公司的EP2C5T144C8N芯片,通過(guò)設(shè)計(jì)SPI通信模塊,接收DSP的脈沖信息,然后通過(guò)脈沖生成模塊完成對(duì)5路脈沖數(shù)量和頻率的控制。步進(jìn)電機(jī)為三相混合電機(jī),驅(qū)動(dòng)器型號(hào)為斯達(dá)特的MSa-3H110M,設(shè)置為脈沖加方向的控制模式。

圖1 總系統(tǒng)框圖

2 多軸聯(lián)動(dòng)的設(shè)計(jì)

本文通過(guò)對(duì)利用DSP的脈沖模塊生成脈沖的方法與采用DDS算法生成脈沖的方法進(jìn)行了介紹和比較,闡明了后者控制算法的優(yōu)越性。

2.1 基于DSP的多路脈沖的控制

TMS320F28335有多達(dá)6路獨(dú)立的PWM模塊,可以同時(shí)產(chǎn)生6路獨(dú)立的PWM。PWM頻率是由周期寄存器TBPRD和計(jì)數(shù)器模式?jīng)Q定的,現(xiàn)將PWM模塊工作于增計(jì)數(shù)模式。每步增加時(shí)間由時(shí)基時(shí)鐘TBCLK決定,TBCLK由系統(tǒng)時(shí)鐘SYSCLKOUT標(biāo)定,系統(tǒng)時(shí)鐘SYSCLKOUT設(shè)置為150MHz。

由DSP芯片手冊(cè),見(jiàn)參考文獻(xiàn)[3],可得在增計(jì)數(shù)模式下PWM頻率的計(jì)算公式:

其中,SYSCLKOUT=150000000,寄存器HSPCLKDIV設(shè)為1,寄存器CLKDIV設(shè)為64,整理后得:

由公式(3)可知更改寄存器TBPRD就可以改變PWM頻率。

表1給出了生成PWM頻率的范圍。周期寄存器TBPRD是16位寄存器,能表示的十進(jìn)制的范圍為0-65535,超出這個(gè)范圍的頻率無(wú)法產(chǎn)生。并且當(dāng)忽略小數(shù)部分的時(shí)候,會(huì)影響輸出頻率的精度。從數(shù)據(jù)結(jié)果可以得出,由PWM模塊生成的脈沖頻率范圍很窄,在當(dāng)前寄存器配置情況下頻率范圍在30Hz和500KHz之間,這樣就帶來(lái)了電機(jī)調(diào)速的局限性,只能在很小的范圍內(nèi)進(jìn)行調(diào)速。

從表1格數(shù)據(jù)可以看出在35Hz到3000Hz之間PWM的分辨率較高,精度大于1Hz,而在頻率相對(duì)較高的時(shí)候(10KHz以上),分辨率很差,步進(jìn)頻率大于5Hz,在多軸聯(lián)動(dòng)的情況下,容易產(chǎn)生某個(gè)運(yùn)動(dòng)軸運(yùn)動(dòng)過(guò)快或者過(guò)慢,造成機(jī)械臂的抖動(dòng)。

從上述結(jié)果可以得出,由DSP芯片生成的PWM脈沖頻率范圍和分辨率不理想,實(shí)際使用范圍有限。

2.2 基于FPGA的多路脈沖的控制

采用DDS算法實(shí)現(xiàn)了多路脈沖的發(fā)生功能,同時(shí)設(shè)計(jì)了SPI通訊接口和通信協(xié)議完成對(duì)脈沖的控制。

表1 生成頻率與周期寄存器值對(duì)照表

2.2.1 DDS算法實(shí)現(xiàn)

DDS是用于頻率合成的一種方法[4],在給定時(shí)鐘脈沖的驅(qū)動(dòng)下,相位累加器和頻率控制控制字進(jìn)行累加運(yùn)算,然后將結(jié)果作為下一次的輸入值,其原理圖如圖2所示。相位累加器的溢出的頻率就是所合成信號(hào)的頻率,通過(guò)改變累加寄存器的計(jì)數(shù)步長(zhǎng)就可以更改輸出波形的頻率。

圖2 DDS原理圖

合成信號(hào)的頻率f和和頻率控制字K滿足以下函數(shù)關(guān)系式:

本文中FPGA的輸入時(shí)鐘為50MHz,為了產(chǎn)生步進(jìn)為1Hz的脈沖頻率,現(xiàn)在將累加寄存器N計(jì)數(shù)最大值設(shè)為50M,當(dāng)K=1時(shí),DDS頻率分辨率的1/N。

采用Verilog HDL語(yǔ)言設(shè)計(jì)程序如下:

上述程序是用于產(chǎn)生單路脈沖的方法,可以看出采用DDS算法生成脈沖的程序編寫簡(jiǎn)單。多路脈沖只需要在單路的基礎(chǔ)上復(fù)制和稍加修改就能實(shí)現(xiàn)。其中,改變data_memory的值就能實(shí)現(xiàn)脈沖頻率的改變,數(shù)值每增加1,相應(yīng)的脈沖頻率就增加1Hz,即脈沖步進(jìn)為1Hz,能夠?qū)崿F(xiàn)高分辨率的脈沖輸出。通過(guò)對(duì)cnt11的讀取就能得出已發(fā)出的脈沖數(shù)量,實(shí)現(xiàn)對(duì)脈沖數(shù)量的控制。

2.2.2 SPI模塊的設(shè)計(jì)

為了讓DSP能夠?qū)崿F(xiàn)對(duì)脈沖頻率和數(shù)量的控制,需要在FPGA上設(shè)計(jì)通信模塊和相關(guān)協(xié)議。SPI的通信簡(jiǎn)單,只需4根線就能完成全雙工、高速、同步的通訊[5],非常易于在FPGA上實(shí)現(xiàn)。SPI總線的的時(shí)序如圖3所示。

圖3 SPI時(shí)序圖

最終采用Verilog HDL語(yǔ)言編寫完成后的SPI模塊如圖4所示。

圖4 SPI模塊框圖

其中,SCK為SPI時(shí)鐘;SDI為數(shù)據(jù)串行輸入端口;SDO為數(shù)據(jù)串行輸出端口;CS為片選信號(hào);R/W為讀寫信號(hào);DATA為輸出寄存器,用于將接收到的數(shù)據(jù)發(fā)送給脈沖產(chǎn)生模塊處理。SPI模塊接收完一個(gè)完整的數(shù)據(jù)包后,還需要將脈沖數(shù)據(jù)存入對(duì)應(yīng)的脈沖產(chǎn)生模塊的寄存器中。

通信協(xié)議可以自定義,只需將每個(gè)軸的脈沖頻率、數(shù)量和方向按自定義格式放在SPI總線上發(fā)送即可,F(xiàn)PGA就能根據(jù)協(xié)議進(jìn)行數(shù)據(jù)分析,控制各軸的脈沖輸出。

3 實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)中利用DSP芯片通過(guò)SPI總線發(fā)送5路脈沖的頻率和數(shù)量的信息,利用示波器觀察FPGA輸出的波形(如圖6所示)。發(fā)送協(xié)議如圖5所示,依次發(fā)送的是從第一個(gè)軸到第五個(gè)軸的脈沖數(shù)量和頻率。

表2 脈沖輸出對(duì)照表

圖5 SPI通訊協(xié)議

從表2可以觀察出,控制器能夠準(zhǔn)確解析通信協(xié)議,實(shí)際輸出的脈沖與理論要求的值吻合。并且輸出脈沖在1Hz~50KHz范圍內(nèi),波形特性良好,可以滿足電機(jī)聯(lián)動(dòng)控制的要求,如圖6所示。

圖6 五路聯(lián)動(dòng)步進(jìn)脈沖信號(hào)

4 結(jié)論

本文主要研究了基于FPGA實(shí)現(xiàn)多路脈沖的輸出控制,為多軸聯(lián)動(dòng)提供了硬件基礎(chǔ),可以讓上位機(jī)專注于運(yùn)動(dòng)控制算法的處理,無(wú)需操作底層的脈沖輸出,提升運(yùn)動(dòng)控制系統(tǒng)的運(yùn)行效率,并在實(shí)際中得到很好的應(yīng)用。

[1]許賢澤,喻佳,張立英.步進(jìn)電機(jī)多軸聯(lián)動(dòng)DSP控制系統(tǒng)研究[J].機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2005,18(5):110-112.

[2]童勇鑫.基于TMS320F2812的模擬數(shù)控系統(tǒng)[J].機(jī)械,2008,35(11):68-69.

[3]Texas Instruments.Digital Signal Controller (DSC)[DB/OL].http://www.ti.com.cn/cn/lit/ds/symlink/sm320f28335.pdf.

[4]楊秀增.基于FPGA和DDS的信號(hào)源設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009,17(11):7-8.

[5]華卓立,姚若河.一種通用SPI總線接口的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008,24(17):212-213.

The design of 5-axis coordinate controller based on FPGA

LING Song1, LUO Min-zhou2, WANG Shan-jie3

在機(jī)器人運(yùn)動(dòng)控制系統(tǒng)中,利用脈沖增量法進(jìn)行多軸聯(lián)動(dòng)控制時(shí),需要在運(yùn)行過(guò)程中實(shí)時(shí)改變

各軸伺服電機(jī)的脈沖數(shù)量和頻率,以保證機(jī)械臂能夠準(zhǔn)確經(jīng)過(guò)期望路徑點(diǎn)。本文利用FPGA芯片,采用DDS算法實(shí)現(xiàn)了高精度5路脈沖的產(chǎn)生,并且設(shè)計(jì)了SPI接口和通訊協(xié)議與DSP主控芯片通信,完成了5路脈沖的實(shí)時(shí)控制。文中通過(guò)對(duì)比直接采用DSP芯片內(nèi)部PWM模塊來(lái)生成多路脈沖的方法,從產(chǎn)生的脈沖頻率精度,范圍以及控制方式上,闡明該控制方法的優(yōu)勢(shì)。最后采用Altera公司的EP2C5T144C8N搭建了硬件控制實(shí)驗(yàn)平臺(tái),實(shí)現(xiàn)了對(duì)五個(gè)步進(jìn)電機(jī)的聯(lián)動(dòng)控制。

FPGA,DDS算法;步進(jìn)電機(jī);多軸聯(lián)動(dòng)

凌松(1986 -),男,江蘇常州人,碩士,主要研究方向?yàn)闄C(jī)器人和嵌入式系統(tǒng)。

TP271

A

1009-0134(2014)06(上)-0138-03

10.3969/j.issn.1009-0134.2014.06(上).39

2014-03-11

猜你喜歡
寄存器常州脈沖
他們使阿秒光脈沖成為可能
脈沖離散Ginzburg-Landau方程組的統(tǒng)計(jì)解及其極限行為
常州的早晨
小讀者之友(2022年4期)2022-05-20 13:19:36
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
常州非遺 燦爛多彩
黃芩苷脈沖片的制備
中成藥(2017年12期)2018-01-19 02:06:54
分簇結(jié)構(gòu)向量寄存器分配策略研究*
常州梳篦
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
無(wú)限時(shí)滯―階脈沖中立型偏泛函微分方程溫和解的存在性
杨浦区| 昭平县| 南投县| 台北县| 济宁市| 神池县| 连城县| 诸暨市| 江阴市| 克什克腾旗| 简阳市| 湖南省| 泰州市| 浦江县| 河东区| 盐边县| 哈尔滨市| 瓮安县| 龙海市| 通海县| 林甸县| 永兴县| 民勤县| 大竹县| 和硕县| 宝坻区| 孙吴县| 鹤壁市| 湘乡市| 灵宝市| 南召县| 蕲春县| 宁乡县| 铜陵市| 肥乡县| 常熟市| 格尔木市| 逊克县| 海晏县| 特克斯县| 黄陵县|