步進電機一體化控制系統探究論文

時間:2022-03-04 10:43:00

導語:步進電機一體化控制系統探究論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

步進電機一體化控制系統探究論文

1圓弧插補改進算法

逐點比較插補算法因其算法簡單、易實現且最大誤差不超過一個脈沖當量,在步進電機的位置控制中應用的相當廣泛[1]。圓弧插補中,為了確定一條圓弧的軌跡,可采用:給出圓心坐標、起點坐標和終點坐標;給出半徑、起點和終點坐標;給出圓弧的三點坐標等。在算法實現時這些參數若要存放在單片機內部資源有限的數據存儲器(RAM)中,如果要經過復雜的運算才能確定一段圓弧,不但給微處理器帶來負擔,而且要經過多步運算,往往會影響到算法的精確度。因此選取一種簡單且精確度高的插補算法是非常必要的。本文提出了一種改進算法:在圓弧插補中,無論圓弧在任何位置,是順圓或是逆圓,都以此圓弧的圓心作為原點來確定其他坐標。因此只須給出圓弧的起點坐標和圓弧角度就可以確定該圓弧。如果一個軸坐標用4個字節存儲(如12.36),而角度用2個字節存儲(如45°),則只需要10個字節即可確定一段二維的圓弧。較之起其他方法,最多可節省14個存儲單元。現以第I象限逆圓弧為例,計算其終點坐標。如圖1所示,(X0,Y0)為圓弧的起點坐標,(Xe,Ye)為圓弧的終點坐標,θ為圓弧的角度。

圖1圓弧軌跡示意圖

圓弧半徑:,

終點坐標:

終點坐標相對X軸的角度:

本系統要求輸入的角度精確到1度,輸入坐標的分辨率是0.01,單片機C語言的浮點運算能精確到0.000001,按照上面的公式算出的終點坐標,雖存在誤差,但這個誤差小于1%,能夠滿足所要求的精確度。

2步進電機的變頻調速

雖然步進電機具有快速啟停能力強、精度高、轉速容易控制的特點,但是在實際運行過程中由于啟動和停止控制不當,步進電機仍會出現啟動時抖動和停止時過沖的現象,從面影響系統的控制精度。尤其是步進電機工作在頻繁啟動和停止時,這種現象就更為明顯[2]。為此本文提出了一種基于單片機控制的步進電機加減速離散控制方法。加減速曲線如圖2所示,縱坐標是頻率f,單位為脈沖/秒或步/秒。橫坐標時間t,單位為秒。步進電機以f0啟動后加速至t1時刻達到最高運行頻率f,然后勻速運行,至t2時刻開始減速,在t5時刻電機停轉,總的步數為N。其中電機從靜止加速至最高運行頻率和從最高運行頻率至停止至是步進電機控制的關鍵,通常采用勻加速和勻減速方式。

圖2時間與頻率的函數圖

圖3離散化的時間變頻圖

采用單片機對步進電機進行加減速控制,實際上就是改變輸出脈沖的時間間隔,可采用軟件和硬件兩種方法。軟件方法依靠延時程序來改變脈沖輸出的頻率,其中延時的長短是動態的,該方法因為要不停地產生控制脈沖,占用了大量的CPU時間;硬件方法是依靠單片機內部的定時器來實現的,在每次進入定時中斷后,改變定時常數(定時器裝載值),從而升速時使脈沖頻率逐漸增大,減速時使脈沖頻率逐漸減小。這種方法占用CPU時間較少,是一種效率比較高的步進電機調速方法。考慮到單片機資源(字長)和編程的方便,不需要每步都計算定時器裝載值。如圖3所示,采用離散方法將加減速曲線離散化。離散化后速度是分臺階上升的,而且每上升一個臺階都要在該臺階保持一段時間,以克服由于步進電機轉子轉動慣量所引起的速度滯后。只有當實際運行速度達到預設值后才能急速加速,實際上也是局部速度誤差的自動糾正。

對于51系列單片機的軟件開發,傳統的方法是在PC機上采用Keil等開發工具進行程序設計、編譯、調試,待程序調試通過之后生成目標文件下載至單片機硬件電路再進行硬件調試[3]。這種方法只有硬件電路完成之后才能進行系統功能測試,若此時發現硬件電路存在設計問題且必須進行修改時就會顯著影響系統開發的成本和周期。為此,本文采用了系統軟硬件協同仿真的開發方法,使得硬件電路實現前的功能測試成為可能。同時硬件電路的軟件化仿真為硬件電路的設計與實現提供了有力的保障。其中在KeiluVision2集成開發環境下,實現步進電機控制系統的程序設計、編譯、調試,并最終生成目標文件*.hex,而由英國ProteusLabcenterelectronics公司所提供的EDA工具Proteus則利用該目標文件*.hex實現對步進電機控制系統硬件電路功能的測試。

圖4步進電機控制系統硬件電路仿真

如圖4所示,單片機AT89C55司職步進電機控制器,通過運行在KeiluVision2環境下所開發的程序來控制兩個步進電機驅動芯片L298,從而實現對AXIS_X/AXIS_Y兩軸步進電機的聯動控制。L298驅動芯片的步進脈沖輸入信號來自AT89C55P0端口,使能信號ENABLEA與ENABLEB并聯接到AT89C55的P3.0、P3.1口,由程序控制實現步進電機的使能,從而避免電機線圈處于短路狀態而燒壞驅動芯片。4x4鍵盤陣列接AT89C55的P1端口,通過程序設計定義每個按鍵的具體功能。LCD的數據端口DB0~DB7接AT89C55的P2端口,控制端口RS,RW,E分別接單片機的P3.5,P3.6,P3.7口。相關的參數值、X/Y軸坐標值可以通過LCD以文本方式顯示。本文采用軟硬件協同仿真的方法經過設計à測試à修正à再測試一次次迭代開發,在制作控制系統硬件電路之前即可實現對系統整機功能的測試。待系統程序和硬件電路設計方案最終完善之后便可以實際制作如圖5所示的硬件電路。顯然該種方法可以顯著提高系統軟硬件開發的成功率,從而有效降低系統的開發周期和開發成本。

3應用實例

圖5即是根據圖4進行硬件電路仿真的最終結果所制作的步進電機控制系統電路板。該電路驅動X/Y軸步進電機通過滾珠絲桿帶動二維工作臺作聯動,并由一只鉛筆模擬加工刀具將所要加工的二維軌跡描繪出來。

圖5步進電機控制系統硬件電路

圖6二維模擬工作平臺運動軌跡

4結束語

本文在分析了傳統的逐點比較插補原理的基礎上提出了一種以最少的參數確定一條圓弧軌跡的插補方法。實現了一種有效的步進電機變頻調速的方法。采用系統軟硬件協同仿真的開發方法,使硬件電路實現前的功能測試成為現實,從而顯著改善系統開發的成本和周期。該種方法同樣也可以應用于其它類型控制系統的開發。

參考文獻

[1]廖效果,朱啟逑.數字控制機床.武漢:華中理工大學出版社.1999.3

[2]黃詩涌,王曉初等.一種高性能的步進電機運動控制系統設計.微計算機信息.2006(6-1).pp38-39

[3]馬忠梅等.單片機的C語言應用程序設計.北京:北京航空航天出版社.2003.

摘要:本文應用單片機、步進電機驅動芯片、字符型LCD和鍵盤陣列,構建了集步進電機控制器和驅動器為一體的步進電機控制系統。二維工作臺作為被控對象通過步進電機驅動滾珠絲桿在X/Y軸方向聯動。文中討論了一種以最少參數確定一條圓弧軌跡的插補方法和步進電機變頻調速的方法。步進電機控制系統的開發采用了軟硬件協同仿真的方法,可以有效地減少系統開發的周期和成本。最后給出了步進電機控制系統的應用實例。

關鍵詞:步進電機控制系統,插補算法,變頻調速,軟硬件協同仿真