專利名稱:一種基于fpga的直線插補(bǔ)運(yùn)動控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及機(jī)械運(yùn)動控制領(lǐng)域,更具體的說,是關(guān)于一種基于FPGA的直線 插補(bǔ)運(yùn)動控制系統(tǒng)。
背景技術(shù):
以往的運(yùn)動控制中,硬件平臺多采用國內(nèi)外開發(fā)的運(yùn)動控制軸卡,軸卡需要 借助于pc平臺,難以避免會造成成本的提高。另外,國內(nèi)也開發(fā)出了利用TI公 司DSP完成的價格低廉的運(yùn)動控制系統(tǒng)。但前者的pc平臺具有明顯的價格劣勢; 后者的性能又不甚理想。
同時對于機(jī)械運(yùn)動中步進(jìn)電機(jī)的控制算法,需要控制器對驅(qū)動器發(fā)出PWM 波,按照電機(jī)的規(guī)律來控制發(fā)出的PWM波即可以完成對電機(jī)的控制。對于直線 運(yùn)動,最重要的是電機(jī)的啟動和停止,即電機(jī)的加速和減速過程。對電機(jī)進(jìn)行加 減速控制,通常有兩種控制方法, 一種是梯形方法, 一種是S形方法。
采用梯形方法時,通常情況下控制的輸入?yún)?shù)是初速度、末速度和加速時間 以及運(yùn)動的距離。傳統(tǒng)的做法通常是保持初速度和末速度不變,在未達(dá)到末速度 的某點(diǎn)就開始減速,這樣做實(shí)質(zhì)是f呆證了加速度的恒定,但是犧牲了加減速時間 的要求。盡管這樣做加減速時間是減小的,效率上不會降低,但是給運(yùn)動控制過 程帶來了一定的不確定性,時間上可能與給定不同,會給實(shí)時性控制帶來一定的 麻煩。假如運(yùn)動控制的時間與其他控制有精確的配合,那么就要求我們的加減速 時間上能完全符合我們的給定。采用S形方法時,S型加減速有相應(yīng)的7個階段,實(shí)質(zhì)是速度變化采用了 2 級加速度。和梯形加減速一樣,在某些情況下,整個過程將會沒有4階段。通常 的情況下,會通過減小2階段的時間來在給定距離下完成加速過程和減速過程。 但是,同樣與梯形方法相同,這樣帶來了時間上的不確定性。
發(fā)明內(nèi)容
因此,本發(fā)明的目的是為了消除以前技術(shù)中的問題,在于提供一種基于FPGA 的直線插補(bǔ)運(yùn)動控制系統(tǒng)。
本發(fā)明的發(fā)明目的是通過如下技術(shù)方案實(shí)現(xiàn)的 一種基于FPGA的f線插補(bǔ) 運(yùn)動控制系統(tǒng),由硬件系統(tǒng)和軟件系統(tǒng)組成;硬件平臺采用ARM和FPGA的組 合,其中,ARM作為應(yīng)用管理CPU, FP6A作為獨(dú)立的嵌入式平臺嵌入運(yùn)動控制 算法;軟件系統(tǒng)包括接口模塊、預(yù)算模塊、梯形模塊、S型模塊、PWM模塊。在 控制電機(jī)啟動和停止時,電機(jī)加減速在給定的加速時間內(nèi)如果按照給定的初速度 和末速度來運(yùn)動,實(shí)際運(yùn)動距離將會超過給定距離,本運(yùn)動控制系統(tǒng)的算法按照 給定時間計算真正的末速度,通過改變末速度來滿足加速時間的要求;采用的插 補(bǔ)算法是飽和積分法,長軸采用空間長軸。
接口模塊用來完成與ARM的通訊,把數(shù)據(jù)或者命令寫入FPGA或者將數(shù)據(jù) 反饋回給ARM。
預(yù)算模塊根據(jù)給定的初速度、末速度、加速時間以及距離和加減速模式來 決定相應(yīng)下游模塊需要的初始數(shù)據(jù),并在完成相關(guān)計算以后使能相應(yīng)模塊;
梯形模塊被預(yù)算模塊使能后,會讀入所需初始數(shù)據(jù)然后按照這些數(shù)據(jù)完成電機(jī)梯形加減速下的運(yùn)動過程;
S型模塊被預(yù)算模塊使能后,會讀入所需初始數(shù)據(jù)然后按照這些數(shù)據(jù)完成電機(jī)S型加減速下的運(yùn)動過程;
PWM模塊接受到梯形模塊或者S型模塊的一個脈沖后,將其轉(zhuǎn)成驅(qū)動器可以識別的具有一定持續(xù)時間的PWM波。
采用如上所述的技術(shù)方案后,本發(fā)明具有如下優(yōu)越性
本發(fā)明采用ARM+FPGA的組合,與pc平臺相比擁有明顯的價格優(yōu)勢,性能上也不會有太大差距,包括可能需要的界面和控制質(zhì)量;與利用TI公司DSP完成的價格低廉的運(yùn)動控制系統(tǒng)相比,本發(fā)明的性能有很大提高,價格卻3V沒有高出太多。采用的插補(bǔ)算法是飽和積分法,長軸采用空間長軸,同時本運(yùn)動控制系統(tǒng)的算法按照給定時間計算真正的末速度,通過改變末速度來滿足加速時間的要求,減少了時間上的不確定性。本發(fā)明可以用在大部分?jǐn)?shù)控場合,擁有很強(qiáng)的適用性。
圖1為本發(fā)明的總體結(jié)構(gòu)框圖2為本發(fā)明的預(yù)算模塊的流程圖;
圖3為本發(fā)明的梯形模塊的流程圖;
圖4為本發(fā)明的S型模塊的流程圖;圖5為本發(fā)明的PWM模塊的流程具體實(shí)施例方式
下面結(jié)合附圖對本發(fā)明做詳細(xì)描述。
本發(fā)明所實(shí)現(xiàn)的運(yùn)動控制系統(tǒng),由硬件系統(tǒng)和軟件系統(tǒng)組成。
硬件平臺采用ARM和FPGA的組合,其中,ARM作為應(yīng)用管理CPU, FPGA作為獨(dú)立的嵌入式平臺嵌入運(yùn)動控制算法。
系統(tǒng)總體功能框圖如圖1所示。
軟件系統(tǒng)包括接口模塊、預(yù)算模塊、梯形模塊、S型模塊、PWM模塊。在控制電機(jī)啟動和停止時,電機(jī)加減速在給定的加速時間內(nèi)如果按照給定的初速度和末速度來運(yùn)動,實(shí)際運(yùn)動距離將會超過給定距離,本運(yùn)動控制系統(tǒng)的算法按照給定時間計算真正的末速度,通過改變末速度來滿足加速時間的要求;采用的插補(bǔ)算法是飽和積分法,長軸采用空間長軸。
接口模塊用來完成與ARM的通訊,把數(shù)據(jù)或者命令寫入FPGA或者將數(shù)據(jù)反饋回給ARM。
預(yù)算模塊流程圖如圖2所示根據(jù)給定的初速度、末速度、加速時間以及距離和加減速模式來決定相應(yīng)下游模塊需要的初始數(shù)據(jù),并在完成相關(guān)計算以后使能相應(yīng)模塊。
梯形模塊如圖3所示被預(yù)算模塊使能后,會讀入所需初始數(shù)據(jù)然后按照這些數(shù)據(jù)完成電機(jī)梯形加減速下的運(yùn)動過程。S型模塊如圖4所示被預(yù)算模塊使能后,會讀入所需初始數(shù)據(jù)然后按照這些數(shù)據(jù)完成電機(jī)S型加減速下的運(yùn)動過程。
PWM模塊如圖5所示接受到梯形模塊或者S型模塊的一個脈沖后,將其轉(zhuǎn)成驅(qū)動器可以識別的具有一定持續(xù)時間的PWM波。
權(quán)利要求
1.一種基于FPGA的直線插補(bǔ)運(yùn)動控制系統(tǒng),由硬件系統(tǒng)和軟件系統(tǒng)組成;硬件平臺采用ARM和FPGA的組合,其中,ARM作為應(yīng)用管理CPU,F(xiàn)PGA作為獨(dú)立的嵌入式平臺嵌入運(yùn)動控制算法;軟件系統(tǒng)包括接口模塊、預(yù)算模塊、梯形模塊、S型模塊、PWM模塊;其特征在于,在控制電機(jī)啟動和停止時,電機(jī)加減速在給定的加速時間內(nèi)如果按照給定的初速度和末速度來運(yùn)動,實(shí)際運(yùn)動距離將會超過給定距離,本運(yùn)動控制系統(tǒng)的算法按照給定時間計算真正的末速度,通過改變末速度來滿足加速時間的要求;采用的插補(bǔ)算法是飽和積分法,長軸采用空間長軸。
2. 根據(jù)權(quán)利要求1所述的一種基于FPGA的直線插補(bǔ)運(yùn)動控制系統(tǒng),其特 征在于,接口模塊用來完成與ARM的通訊,把數(shù)據(jù)或者命令寫入FPGA或者將 數(shù)據(jù)反饋回給ARM。
3. 根據(jù)權(quán)利要求1所述的一種基于FPGA的直線插補(bǔ)運(yùn)動控制系統(tǒng),其特 征在于,跳預(yù)算模塊根據(jù)給定的初速度、末速度、加速時間以及距離和加減速模 式來決定相應(yīng)下游模塊需要的初始數(shù)據(jù),并在完成相關(guān)計算以后使能相應(yīng)模塊。
4. 根據(jù)權(quán)利要求1所述的一種基于FPGA的直線插補(bǔ)運(yùn)動控制系統(tǒng),其特 征在于,梯形模塊在被預(yù)算模塊使能后,會讀入所需初始數(shù)據(jù)然后按照這些數(shù)據(jù) 完成電機(jī)梯形加減速下的運(yùn)動過程。
5. 根據(jù)權(quán)利要求1所述的一種基于FPGA的直線插補(bǔ)運(yùn)動控制系統(tǒng),其特 征在于,S型模塊在被預(yù)算模塊使能后,會讀入所需初始數(shù)據(jù)然后按照這些數(shù)據(jù) 完成電機(jī)S型加減速下的運(yùn)動過程。
6. 根據(jù)權(quán)利要求1所述的一種基于FPGA的直線插補(bǔ)運(yùn)動控制系統(tǒng),其特 征在于,PWM模塊在接受到梯形模塊或者S型模塊的一個脈沖后,將其轉(zhuǎn)成驅(qū) 動器可以識別的具有一定持續(xù)時間的PWM波。
全文摘要
本發(fā)明公開了一種基于FPGA的直線插補(bǔ)運(yùn)動控制系統(tǒng),由硬件系統(tǒng)和軟件系統(tǒng)組成;硬件平臺采用ARM和FPGA的組合,其中,ARM作為應(yīng)用管理CPU,F(xiàn)PGA作為獨(dú)立的嵌入式平臺嵌入運(yùn)動控制算法;軟件系統(tǒng)包括接口模塊、預(yù)算模塊、梯形模塊、S型模塊、PWM模塊。本運(yùn)動控制系統(tǒng)的算法按照給定時間計算真正的末速度,通過改變末速度來滿足加速時間的要求;采用的插補(bǔ)算法是飽和積分法,長軸采用空間長軸。本控制系統(tǒng)減少了控制時間上的不確定性??梢杂迷诖蟛糠?jǐn)?shù)控場合,擁有很強(qiáng)的適用性。
文檔編號H02P8/04GK101640512SQ20081004110
公開日2010年2月3日 申請日期2008年7月29日 優(yōu)先權(quán)日2008年7月29日
發(fā)明者超 賀, 悅 陸 申請人:賀 超;陸 悅