關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 步進電機一體化控制系統的設計

        步進電機一體化控制系統的設計

        作者: 時間:2016-10-25 來源:網絡 收藏

          1 引言

        本文引用地址:http://www.104case.com/article/201610/311791.htm

          作為一種數字伺服執行元件,具有結構簡單、運行可靠、控制方便、控制性能好等優點,廣泛應用在數控機床、機器人、自動化儀表等領域。為了實現的簡易運動控制,一般以單片機作為控制系統的微處理器,通過專用驅動芯片實現步進電機的速度和位置定位控制。

          2 圓弧插補改進算法

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

          

         

          圖1 圓弧軌跡示意圖

          圓弧半徑:

         

          終點坐標:

         

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

         

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

          3 步進電機的變頻調速

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

          

         

          圖2 時間與頻率的函數圖

          

         

          圖3 離散化的時間變頻圖

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

          4 系統軟硬件協同設計

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

          

         

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

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

          5 應用實例

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

          

         

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

          

         

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



        關鍵詞: 步進電機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 额尔古纳市| 长垣县| 连南| 孟村| 昌吉市| 嘉善县| 大姚县| 隆子县| 平湖市| 偃师市| 泾源县| 漳平市| 永仁县| 苍溪县| 特克斯县| 莒南县| 诸城市| 宣恩县| 新丰县| 福清市| 绍兴县| 山西省| 张家川| 都匀市| 高淳县| 抚顺县| 宾川县| 龙海市| 普兰县| 连江县| 宁南县| 来凤县| 常山县| 衡南县| 称多县| SHOW| 沅陵县| 南丹县| 科技| 瑞昌市| 恩平市|