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