《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM Cortex-M3的運動控制系統與算法設計
基于ARM Cortex-M3的運動控制系統與算法設計
來源:微型機與應用2013年第1期
朱 閣,鄭力新,林曉海
(華僑大學 信息科學與工程學院,福建 廈門361021)
摘要: 提出一種基于ARM Cortex-M3為核心的運動控制器的新運動控制方案,并給出關鍵算法。控制系統采用“ARM運動控制器+PC機”的結構。PC機實現界面功能以及部分預處理功能,運動控制器則完成關鍵的算法與處理。在數控沖孔機控制上進行的應用表明,該系統具有較高的可行性。
Abstract:
Key words :

摘  要: 提出一種基于ARM Cortex-M3為核心的運動控制器的新運動控制方案,并給出關鍵算法。控制系統采用“ARM運動控制器+PC機”的結構。PC機實現界面功能以及部分預處理功能,運動控制器則完成關鍵的算法與處理。在數控沖孔機控制上進行的應用表明,該系統具有較高的可行性。
關鍵詞: ARM Cortex-M3;運動控制系統;算法

 在現代工業控制領域中,基于專用運動控制芯片或者DSP控制器的運動控制系統應用較為廣泛[1],但成本較高。新興的ARM Cortex系列具有低功耗、低成本、高性能和開發環境優秀的特點,不僅在功能上能夠滿足工控領域對速度及功能的要求,更具有很好的成本優勢。本文采用ARM Cortxe-M3處理器為運動控制器設計開放式運動控制系統[2-3],并在此硬件平臺上研究運動控制策略與關鍵算法,實現運動控制處理功能。
1 控制系統
1.1 控制系統硬件結構

 系統采用“運動控制器+PC機”的開放式結構,如圖1所示。系統以ARM Cortex-M3微處理器作為核心處理芯片的運動控制器,與PC機構成的多處理器結構,實現多軸步進電機的控制。

 運動控制器主要由ARM Cortex-M3微處理器、存儲芯片、接口芯片以及外圍接口等構成,如圖2所示。處理器芯片選用ST公司的STM32F103VCT6,其具有高性能、低成本、低功耗的特點,時鐘頻率最高能夠達到72 MHz,并擁有豐富的外圍設備和功能強大的定時器[4]。

 ARM Cortex-M3處理器主要實現數據處理、系統控制及中斷處理等。數據處理:對PC機下載的加工數據進行進一步處理,主要是如何將微小線段的端點坐標、速度等信息通過特定算法轉變為驅動步進電機驅動器的脈沖信號和方向信號。系統控制:按照要求完成模塊功能的分配與處理。中斷處理:完成定時器中斷、串口通信中斷、急停中斷、位置控制等。
1.2 控制系統軟件
    運動控制系統軟件程序主要有兩大部分,一是用于人機交互的界面程序,包括系統初始化模塊、參數設置模塊、模板選擇模塊以及顯示模塊等;二是為實現運動控制輸出的算法處理程序,主要包括速度前瞻性處理算法、坐標變換與主軸判斷、脈沖分配以及兩軸聯動算法。
2 主要算法設計
 運動控制系統需要通過運動控制算法來獲得控制量的輸出,以達到對機械運動部件的控制[5]。本系統通過微小線段來擬合要加工的曲線,在PC機上進行前端預處理得到加工圖形的坐標位置、端點數、端點速度等數據,并在運動控制器中進一步處理[6-7]。系統的關鍵算法設計有:兩軸聯動的實現、速度前瞻性處理算法以及脈沖分配規劃。
2.1 兩軸聯動
 首先,根據X、Y軸的脈沖數來確定主從軸,脈沖數多的為主軸。為了實現聯動,則必須在同一時間內將X、Y軸的脈沖數目發送完。
 兩軸聯動主要是靠3個定時器級聯來實現,如圖3所示。其中,定時器2作為總線時鐘的分頻器,實現一個動態的“主時鐘”;定時器3和定時器4分別作為“主時鐘”的計數器,對定時器2產生的“主時鐘”進行計數,以產生符合系統所需脈寬的脈沖。

2.2 速度前瞻性處理[1,7]
 系統要加工的圓弧是由大量的微小線段來逼近的,為了保證這些微小線段在高速運行時能夠連續執行,不出現停頓現象,系統在上位機的內存中開辟一個空間,預先將加工的弧線數據讀出,存儲到該空間中,再根據設計好的步進電機升降頻曲線對速度進行預先規劃處理。預先規劃包括:相鄰直線段拐角速度優化、減速點預測以及連續微小線段始末速度確定。
 在高速運動時,如果兩個微小線段的拐角處速度差很大,則會使得拐角處產生很大的加速度,有可能導致過沖甚至堵轉現象。因此在加工過程中,為使得連續微小線段的曲線加工流暢,必須保證微小線段間的速度過渡是連續的,不能發生突變。為保證軌跡精度并避免產生突變,兩個運動軸的速度變化率不能超過該軸電機的驅動能力。在該約束條件下需要對減速點進行提前預測,從而保證每條小線段在運動到線段終點的時候能夠達到預定所能達到的最高速度,并且不會過沖。
 結合線段主軸的脈沖數目和升降頻曲線表,推算出到達該小線段末端能達到的最高速度和最低速度及該線段終點的速度范圍。再在這個范圍從最高速度開始檢查滿足速度不突變條件的速度作為該線段的末點速度,并將這個速度或者這個速度在升降頻曲線表中的相鄰速度作為下一條小線段的起始速度。通過該方式可以規劃出構成整條曲線的微小線段的端點速度。而后再利用規劃好始末點速度來進行主軸的加減速脈沖分配,確定減速點的位置就可以避免電機運動過程中出現的過沖。
2.3 脈沖分配規劃

 


 以X軸為主軸為例,根據主軸的起點速度(line1.begin)、終點速度(line1.end)、主軸脈沖數(line1.Xlength)以及設定好的升降頻曲線來規劃加速、勻速、減速的脈沖數[6]。具體算法如下:
如果起點速度和終點速度均為最大速度時,則加速和減速脈沖均為零,勻速脈沖數為整個主軸脈沖:line1.speed_yunsu=line1.Xlength。
 如果起點速度等于最大速度,終點速度小于最大速度時,則:
 line1.speed_up=0;
 line1.speed_down=Max_down2_VA(line1.end); (最高速度到終點速度需要的脈沖數)
 line1.speed_yunsu=line1.Xlength-Max_down2_VA(line1.end);
 如果起點速度小于最大速度,終點速度等于最大速度時,則:
 line1.speed_up=VA_up2_Max(line1.begin);(從起始速度到最高速度需要的脈沖數)
 line1.speed_down=0;            
 line1.speed_yunsu=line1.Xlength-VA_up2_Max(line1.begin);
 如果兩端的速度均小于最大速度時:
 當主軸脈沖數大于等于起點加速到終點速度需要的脈沖數加上從最大速度降到終點速度脈沖數,則運動脈沖的分配如下:
 line1.speed_up=VA_up2_Max(line1.begin);
 line1.speed_down=Max_down2_VA(line1.end);         

 line1.speed_yunsu=line1.Xlength- VA_up2_Max(line1.begin)-Max_down2_VA(line1.end);
 當主軸脈沖數小于起點加速到終點的速度需要的脈沖數加上從最高速度降到結束點速度脈沖數:若開始的速度小于末端速度則只有加速脈沖(等于主軸脈沖);若開始的速度大于末端速度則只有減速脈沖;若開始的速度等于于末端速度則只有勻速脈沖。
 以ARM Cortex-M3運動控制器替代傳統運動控制卡的運動控制系統,降低了控制系統的成本,同時開闊了ARM Cortex-M3在運動控制領域的應用。本文提供的方法已經成功應用于數控沖孔機的運動控制,實現了數控沖孔機的預定功能,充分證明了ARM Cortex-M3實現優秀運動控制器的可行性。
參考文獻
[1] 鄭魁敬,高建設.運動控制技術及工程實踐[M].北京:中國電力出版社,2009.
[2] 黃陽明,鄭力新.基于LPC2294和MCX314AS的經濟型數控系統[J].微型機與應用,2010,29(8):83-85.
[3] 金振林,黃大貴.基于ARM的高精高速運動控制[J].制造技術與機床,2007(5):42-44.
[4] 彭剛,秦志強.基于ARM Cortex-M3的STM32系列嵌入式微控制器應用實踐[M].北京:電子工業出版社,2011.
[5] 龐牧野.嵌入式數控系統連續軌跡控制算法的研究與實現[D].成都:電子科技大學,2011.
[6] 鄭灼,李興根.單片機控制的步進電機升降頻規律與實現[J].微電機,1999(4).
[7] 劉青山,高霖.基于運動控制卡的PC數控進給速度前瞻控制[J].機械科學與技術,2009(9).

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美激情一级欧美精品 | 悟空影视大全免费高清 | 亚洲国产精品一区二区九九 | 国产成人精品亚洲日本语音 | 欧美亚洲国产人成aaa | 免费国产成人 | 精品无码久久久久国产 | 久久精品午夜视频 | 六月丁香久久丫 | 欧美性aaa | 91b站| 日韩成人在线观看视频 | 久久99国产亚洲精品观看 | 国产特一级毛片 | 国产在线步兵一区二区三区 | 精品久久久久久中文字幕一区 | 欧美成年人网站 | 精品国产乱码久久久久久一区二区 | 手机在线免费看毛片 | 一级黄色毛片免费看 | 国产亚洲精品一区二区三区 | 精品欧美一区二区在线观看欧美熟 | 久久精品免视看国产明星 | 国产亚洲欧美日韩在线观看一区二区 | 国产不卡在线观看视频 | 欧美成人影院 在线播放 | 久久99国产精品视频 | 美女视频很黄很a免费国产 美女视频黄.免费网址 | 亚洲免费一级片 | 亚洲 欧美 在线观看 | 九九99久久精品国产 | 怡红院免费的全部视频国产a | 欧美经典成人在观看线视频 | 免费一级毛片在线播放 | 99视频在线观看免费 | 亚洲综合91社区精品福利 | 日本中文字幕不卡免费视频 | 久久久久久久亚洲精品一区 | 久久精品成人一区二区三区 | 欧美一级在线观看播放 | 我要看欧美精品一级毛片 |