?

基于STM 32的二維滑臺不規則軌跡精密控制

2015-01-29 02:58陳炳超莊泉潔劉洪英
電子設計工程 2015年13期
關鍵詞:滑臺圓弧總線

陳炳超,莊泉潔,劉洪英,房 娟

(1.上海市華東師范大學多維度信息處理重點實驗室,上海 200241;2.捷普科技(上海)有限公司 上海 200241)

在現代工業控制中步進電機的控制是滑臺控制的執行機構。區別于其他控制電機的最大特點是,它是通過輸入脈沖信號來進行控制的,即電機的總轉動角度由輸入脈沖數決定,而電機轉速由脈沖信號的頻率決定[1-3]。

在很多情況下需要讓步進電機控制滑臺運動非常精確的距離,且運行軌跡是不規則的,運行時速度需可調。本文首先介紹系統的硬件電路原理;分析了控制滑臺運行不規則軌跡的計算方法;在此基礎上提出了用定時器中斷的方法精確控制PWM數量;介紹了具體的軟件實現方法并分析了系統測試結果。

1 系統硬件設計

本論文基于機車牽引梁數控磨削設備的電控設計,此設備用來磨削一個帶弧線的六邊形物體,因此要求設計兩維滑臺的電控部分,以精密控制磨削頭的運行軌跡,經分析此軌跡呈不規則路線。系統硬件框圖如圖1所示,本系統的主控芯片是STM32F407,該芯片主頻高達168 MHz,PWM定時器的頻率同樣可以達到168 MHz,在頻率要求較高的設計中有較顯著的優勢。同時對于定時器中斷控制PWM數量可以防止中斷嵌套,且可以顯著減少中斷現場保護的開銷,且該芯片支持SPI、CAN、I2C 等多種協議。

主機和從機分別用兩臺兩相步進電機來帶動X軸和Y軸滑臺,步進電機用M860驅動器來驅動。STM32主控板給驅動器發送PWM信號、方向和使能信號,驅動器經過光耦隔離并細分后來驅動步進電機。本系統主機和從機之間用CAN總線來進行通信,CAN總線具有實時性強、傳輸距離較遠、抗電磁干擾能力強、成本低等優點[4]。主機和從機可以單獨運行,只有當需要的時候采用CAN總線來進行同步。主機設置PWM的頻率、滑臺位置等數據以及發送開始運行、停止運行等信號,從機通過CAN總線接收相關數據和指令。當從機結束運行就會發送結束信號給主機。主機和從機之間通過CAN總線進行同步。

圖1 系統硬件框圖Fig.1 The system hardware block diagram

2 系統軟件設計

2.1 二維滑臺的運行模式

以二維滑臺為研究對象,滑臺由步進電機帶動,滑臺的運行模式中包含了二維滑臺的單獨運行和同時運行,假設滑臺的齒距為10 mm(步進電機轉動一圈,滑臺前進10 mm)。假設目標滑臺前進距離為L。驅動器細分倍數為、步進電機總步數、PWM脈沖總個數為別為n、N、P[5]。 則

為了便于計算,此次設計將驅動器細分倍數設為5,則

即當滑臺需要前進距離為L mm時,則步進電機總步數以及PWM脈沖總個數也應該為100 L。

圖2 二維滑臺不規則運動軌跡Fig.2 Irregular track of the two-dimensional ramp

如圖2所示是二維滑臺的不規則運動軌跡,軌跡由直線、斜線、圓弧組成。各種軌跡實現方法如下:

1)斜線軌跡

由圖2可知,二維滑臺有同時運動和結束的過程,對于斜線部分X軸滑臺運距離為n1的過程中Y軸滑臺同時運行距離為n2。有公式2可知X軸滑臺和Y軸滑臺運行n1和n2的距離所需要的PWM的脈沖個數分別為P1、P2則有 P1=100n1,P2=100n2,以 X 軸為基準,則

STM32定時器產生的PWM頻率由系統時鐘f、預分頻值M、計數周期T決定[3],系統時鐘f和和預分頻值M不變,以改變計數周期T來改變PWM的頻率。

以X軸滑臺為基準,Tx、Ty分別為X和Y軸定時器計數周期,Vx、Vy分別為X軸和Y軸定時器頻率,則有

因X軸和Y軸同時運行相同的時間,則有

由公式(4)~(7)可得,Y軸定時器的計數周期Ty為

2)單滑臺運動軌跡

如圖2所示,對于距離為n3的部分,由于只需要在X軸方向上運動,由公式2可知需要的PWM數量為100n3,因此只需要設置X軸定時器的PWM頻率為固定值。并且計數100n3個PWM數量然后停止,軌跡在X軸方向上運動的距離就為n3。

而對于距離為n4的部分,和n3部分唯一不同的地方就是此時只需在Y軸方向運動。因此只需要設置Y軸定時器的PWM頻率為固定值,并且計數100n4個PWM然后停止。

3)圓弧軌跡

而圓弧部分是以直線切割的方式實現的,圓弧角度為90度,D點是圓弧的中心點,圓弧半徑為55 mm。

D點以上以X軸為基準,假設X軸定時器產生的PWM頻率為,每輸出100個PWM時Y軸定時器頻率變換一次。假設A點變換了n-1次PWM,而B點變換了n次PWM,則A點坐標為(100(n-1),Ya),B點坐標為(100n,Yb),圓弧半徑為R,則有

由公式(9)和(10)可得,A點和B點在Y軸上的變化值為△y

由公式(5)~(11)可得Y軸定時器的計數周期Ty為

但是由于圓弧中點對應的X軸的PWM數量往往不是100的倍數,所以假設C點是離中點D最近的點,C點變換了m次PWM,則C點X軸坐標為100m,D點X和Y軸的坐標R都為,則有

以X為基準時最后變換的一步計數周期T為

在D點以下以Y軸為基準,假設Y軸定時器產生的PWM頻率為Vy固定不變,每輸出100個PWM時X軸定時器頻率變換一次。假設E點變換了i-1次PWM,而F點變換了i次PWM,則E點坐標為(X e,Y d-100(i-1)),F點坐標為(X f,Y d-100i),圓弧半徑為 R,則有

由式(16)和(17)可得,E點和F點在X軸上的變化值為

由式(5)、(6)、(7)、(18)可得 X 軸定時器的計數周期 Tx 為

通過式(8)、(1)1、(19),在程序的每一步中設置 Tx、Ty 的值來實現X、Y軸滑臺以所要求的軌跡運動。

2.2 統軟件流程圖

如圖3所示是系統軟件的流程圖,系統在初始化時為了防止意外的碰撞,需要尋找零點,尋找零點結束后進行滑臺轉速、軌跡中每一步PWM數量的設置,并通過CAN總線將設置的數據發送給從機。設置完成后,當主機檢測到物件過來的信號后,將開始運行的信號通過CAN總線發送給從機,使主機與從機同時開始運行,當從機運行完成后發送反饋信號給從機,主從機同時停止運行。當一次運行完成以后看情況確定是否需要重新設置參數,如果需要重新設置則進入滑臺運行軌跡參數設置狂態,否則進入等待運行狀態。

圖3 系統軟件的流程圖Fig.3 Flow chart of system software

在主從機運行過程中,由滑臺運行模式可知,滑臺是以不規則的軌跡運行的。因此根據滑臺的運行模式,在每一步運行之前需要計算滑臺運行的距離及兩個滑臺的PWM頻率。

3 系統測試

將該系統運用到實際的環境中,以垂直于地面放置的二維滑臺為研究對象,使滑臺以圖2中的軌跡運行。在設備運行的起始點做標記,設置滑臺運行在90秒/圈,45秒/圈,30秒/圈三種速度下,并且分別運行10圈,15圈,20圈,25圈得到運行結束時與起始點的距離,如表1所示,同樣轉速時轉動圈數越多誤差越大;轉動相同圈數的情況下,滑臺轉速越高誤差也是越大。

表1 系統誤差Tab.1 System error

經過實際分析得出,這些誤差是由兩方面造成的。一方面,由于滑臺是垂直于地面放置,滑臺在下降過程中難免會因為重力的作用而下降。另一方面,在定時器輸出PWM數量固定的情況下,由于在系統運動過程中需要改變經常需要改變PWM的頻率,而改變一次PWM的頻率會有1個CLOCK的延遲。

4 結束語

本文介紹了用STM32控制滑臺運行不規則軌跡的計算方法,在此基礎上提出了用定時器中斷的方法精確控制PWM數量。通過精密控制X軸和Y軸的滑臺,使磨削頭能以直線、斜線和弧線的軌跡精確運動,達到成功磨削工件的目的。經過實際的測試表明該系統工作穩定,精確度較高。

本次設計是二維的滑臺,但設計的思想和方法也可推廣到三維滑臺的控制設計。要想獲得更精確的步進電機控制,可考慮使用DSP作為主控芯片,從而可以有更高的運算速度和控制精度[8-9]。本論文精確控制兩維滑臺運行軌跡的方法可推廣應用到許多步進電機控制的項目中,比如本實驗室另一個項目---顯微鏡電動載物臺的精密控制。

[1]梁軍龍.基于STM32F407的永磁同步電機伺服控制器設計[J].山西電子技術,2014(1):28-30.LIANG Jun-long.The Design on Servo Controller of Permanent Magnet Synchronous Motor Based on STM32F407[J].Shanxi Electronic Technology,2014(1):28-30.

[2]劉慧英,范寶山.基于STM32的多步進電機控制系統研究[J].測控技術,2010,29(6):54-57.LIU Hui-ying,FAN Bao-shan.Study of Control System of Multiple Step Motors Based on STM32 [J].Measurement&Control Technology,2010,29(6):54-57.

[3]李寧.基于MDK的STM32處理器開發應用[M].北京:北京航空航天出版社,2008.

[4]王永虹,徐煒,郝立平.STM32系列ARM Cortex_M3微控制器原理與實踐[M].北京:北京航空航天大學出版社,2008.

[5]章歡.基于CAN總線的火災報警系統的設計與實現 [D].武漢:武漢理工大學信息工程學院,2008.

[6]宋錦.步進電機的單片機控制方法[J].武漢工程職業技術學院學報,2006,18(3):59-63.SONG Jin.Discussion on control of the step by step motor through single chip computer[J].Journal of University for Staff and Workers of Wuhan Iron and Steel(Group)Corporation,2006,18(3):59-63.

[7]金元郁,李勇,李園園.基于FPGA的步進電機控制器設計[J].單片機與嵌入式系統應用,2007(3):70-71.JIN Yuan-yu,LI Yong,LI Yuan-yuan.Design of step motor controller based on FPGA[J].Microcontrollers&Embedded Systems,2007(3):70-71.

[8]任明巖,孫金英.基于PIC16C621A和A3955的步進電機驅動器設計[J].電子產品世界,2007,3(22):98-101.REN Ming-yan,SUN Jin-ying.Design of stepper motor driver based on PIC16C621A and A3955 [J]. Electronic Engineering&Product World,2007,3(22):98-101.

[9]高琴,劉淑聰,彭宏偉.步進電機控制系統的設計及應用[J].制造業自動化,2012,34(1):150-152.GAO Qin,LIU Shu-cong,PENG Hong-wei.Design and application of control system of stepper motor[J].Manufacturing Automation,2012,34(1):150-152.

猜你喜歡
滑臺圓弧總線
某款汽車復合材料尾門的滑臺分析及優化
淺析圓弧段高大模板支撐體系設計與應用
基于改進PID控制的機床滑臺運動位移跟蹤誤差研究①
外圓弧面銑削刀具
基于PCI Express總線的xHC與FPGA的直接通信
機載飛控1553B總線轉以太網總線設計
基于PLC的噴涂自動滑臺控制設計
基于FPGA的繪圖滑臺設計
六圓弧齒廓螺旋齒輪及其嚙合特性
CAN總線并發通信時下位機應用軟件設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合