基于FPGA多軸差補(bǔ)控制器設(shè)計(jì)與實(shí)現(xiàn)
(作者未知) 2010/4/22
摘要: 介紹了一種基于FPGA實(shí)現(xiàn)多軸聯(lián)動(dòng)插補(bǔ)控制器的設(shè)計(jì)方案。通過將多種互不重疊的基脈沖疊加,實(shí)現(xiàn)速度的連續(xù)可調(diào);采用累加器的半加載、被積函數(shù)的左移規(guī)格化以及空間矢量速度的調(diào)速再分解等方式,使得插補(bǔ)運(yùn)算速度更快,脈沖分配更均勻,定位更準(zhǔn)確。該系統(tǒng)達(dá)到了新型分光測色平臺對步進(jìn)電機(jī)高速高精度的控制要求。
關(guān)鍵詞: FPGA;速度控制;插補(bǔ)運(yùn)算;多軸聯(lián)動(dòng)
Design and Implementation of Multi-axis Interpolation Controller Bassed on FPGA
MA Gang, ZENG Ping, WU Zi-li
(Research Inst. of computer Peripherals, Xidian University, Xi’an 710071)
Abstract: A design plan for multi-axis synchronization interpolation controller based on FPGA is introduced. The continuous adjustment of speed can be realized through various overlapping of non-overlapping basic pulses; Measures of semi-loading for the accumulator, left-shift normalization for the integrand function and decomposition of the adjusted spatial speed vector were taken to make calculation faster, impulse distribution more uniform and location more precise.This system has achieved the new-type spectrophotometer platform’s control requirement on high-speed and high precision of stepping motor.
key words: FPGA;speed control;interpolation;computation;multi-axis synchronization
1 引言
眾所周知在連續(xù)軌跡控制中,我們不僅關(guān)心測量頭到達(dá)目標(biāo)點(diǎn)的精度,而且必須保證測量頭能沿著我們所希望的軌跡,按規(guī)定的速度實(shí)現(xiàn)平穩(wěn)而正確的運(yùn)動(dòng)。連續(xù)軌跡控制比較復(fù)雜,它需要通過插補(bǔ)運(yùn)算,進(jìn)行多軸脈沖的同時(shí)分配,進(jìn)行協(xié)調(diào)控制,才能實(shí)現(xiàn)精確的空間軌跡跟蹤。插補(bǔ)控制器的作用是完成運(yùn)動(dòng)軌跡的擬合,是一種計(jì)算機(jī)數(shù)控系統(tǒng)的基本單元。目前的數(shù)控系統(tǒng)中多采用軟件插補(bǔ)器,雖然軟件插補(bǔ)器具有很多的優(yōu)點(diǎn),但是由于其插補(bǔ)運(yùn)算的串行性,使得運(yùn)算速度較低,相比于硬件插補(bǔ)器的并行運(yùn)算速度,有很大的局限性。特別是難以滿足高速度、高精度控制系統(tǒng)的要求。傳統(tǒng)上多采用單片機(jī)來控制步進(jìn)電機(jī),由于單片機(jī)資源有限,通常會采用查表法來實(shí)現(xiàn)脈沖間隔的調(diào)配,以達(dá)到變速控制的目的。查表法雖然控制簡單,但是缺乏靈活性,每次速度和加速度的變化都要修改表中的延遲時(shí)間,難以滿足用戶對速度實(shí)時(shí)控制的要求。
本系統(tǒng)是基于FPGA(Field Programmable Gate Array)用硬件描述語言Verilog實(shí)現(xiàn)的多軸聯(lián)動(dòng)數(shù)字積分(DDA)直線插補(bǔ)器。克服了單片機(jī)控制中,串行運(yùn)算速度慢,修改延時(shí)表的靈活性差等不足。但是在數(shù)字插補(bǔ)控制系統(tǒng)中,對于速度的調(diào)節(jié),往往采用計(jì)數(shù)器或鎖相環(huán)技術(shù)進(jìn)行脈沖頻率的控制。 其不足是只能進(jìn)行整數(shù)倍分之一的分頻,不能進(jìn)行任意連續(xù)的分頻控制。為此筆者通過設(shè)置多路不相重疊的基脈沖,并根據(jù)所需要的速度選擇合適的幾路脈沖進(jìn)行疊加,得到任意頻率的速度脈沖,提高了靈活性。在DDA直線插補(bǔ)器部分,采用累加器的的“半加載”、電機(jī)運(yùn)行步數(shù)的“左移規(guī)格化”、引進(jìn)“虛軸”對空間矢量速度進(jìn)行調(diào)速再分解等措施, 對現(xiàn)有的硬件實(shí)現(xiàn)多軸聯(lián)動(dòng)的方式進(jìn)行了優(yōu)化, 從而進(jìn)一步提高了插補(bǔ)精度、運(yùn)算速度及有效的降低了噪聲。
2 插補(bǔ)控制器的結(jié)構(gòu)
本系統(tǒng)主要包括三部分見圖1:輸入輸出端口模塊、電機(jī)的速度控制模塊和多軸插補(bǔ)控制模塊。
系統(tǒng)的輸入端口信息包括系統(tǒng)時(shí)鐘(clock)、復(fù)位信號(reset)、初始速度(initi(未完,下一頁)
|