新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于89C51單片機的步進電動機控制系統設計

        基于89C51單片機的步進電動機控制系統設計

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

        隨著數字化技術的快速發展,數字控制技術在工業控制方面得到了極其廣泛的應用。由組成的控制系統具有結構簡單、功能強大、成本低廉等諸多優點,能滿足工業控制的基本性能需求和大規模商用要求,因此在工業自動化設備等領域得到了廣泛而深入的應用。是一種將電脈沖信號轉變成對應角位移或線位移的電動機,實際上是一個D/A轉換器,也即是一個數字/角度轉換器。步進電機的角位移與控制脈沖間實現精確同步,若將步進電機的角位移的改變轉換為線位移、位置、體積、流量等物理量的變化,便可實現對它們的控制。是數字控制電動機,能將脈沖信號轉換成角位移,電動機的轉速、停止的位置取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,在非超載狀態下,根據上述線性關系,再加上步進電動機只有周期性誤差而無累積誤差,因此步進電機適用于控制。由于步進電動機具有快速啟停,可直接接收計算機輸出的數字信號以及精度高等顯著特點,因此,步進電機現已成為工業過程控制中的重要控制元件之一。

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

        由于技術的成熟發展和成本優勢,使得使用控制的步進電動機系統具有成本低廉、使用靈活等優點,可以廣泛應用在數控機床、機器人,工業自動控制以及各種可控的有定位要求的機械工具等應用領域中。

        1 步進電動機工作原理

        步進電動機按其相位數不同,可以分為二相、三相、四相、五相和六相。本文以三相為例來說明步進電動機的工作原理。電動機的定子上有6個等分的磁極,A——A’、B——B’、C——C’,相對的兩個磁極組成一組,每個磁極上都有5個均勻分布的小齒輪。轉子上由40個小齒輪均勻分布在圓周上,相鄰兩齒輪之間的夾角為3600/40=90。當電流通過某一繞組時,該繞組對應的兩個磁極即可形成N——S極,并產生磁場,寫轉子形成磁路。若定子的小齒輪此時與轉子的小齒輪沒有對齊,則在該磁場的作用下,轉子就會進行一定角度的旋轉,使轉子的小齒輪與定子的小齒輪進行對齊,選擇的角度即為步距角。

        在單三拍控制方式下,當A相通電,B、C相斷電時,在磁場作用下,使轉子小齒輪與A相的定子小齒輪對齊。若假定與A相中心對齊的為0號齒輪,A相所在角度為00。由于三相磁極相差1200,此時轉子13號齒輪與B相的中心相差角度為1 200-90*13=30,轉子27號齒輪與C相的中心相差角度為2 400—90*27=-30,若此時讓B相通電,A、C相斷電,在磁場作用下,要使轉子小齒輪與B相定子齒輪對齊,轉子需順時針旋轉30。若此時讓C相通電,A、B相斷電,在磁場作用下,要使轉子小齒輪與C相定子齒輪對齊,轉子需逆時針旋轉30。若通電順序為:A——B——C——A,轉子則順時針旋轉,若通電順序為:A——C——B——A,轉子則逆時針旋轉,從而實現對電機的正反轉控制。

        2 控制系統設計

        步進電機控制系統主要由單片機、PC上位機、驅動電路、步進電動機、4*4鍵盤和LED顯示等模塊組成,下圖1為步進電機控制系統是總體結構圖。單片機產生脈沖信號并將脈沖信號傳送給步進電動機,完成對步進電動機的步數和圈數的準確計數,從而實現對步進電動機的轉速控制。PC上位機模塊是系統的核心,通過串口向單片機發送控制命令,實現PC機對步進電動機的實時控制,并實時顯示步進電動機的運行狀態。4*4鍵盤模塊實現指令輸入,LED顯示模塊可顯示步進電動機的轉速和轉向等運行狀態。為保護單片機控制系統硬件電路,在單片機和步進電機之間增加過驅動電路。

        基于89C51單片機的步進電動機控制系統設計

        由于步進電動機的驅動電流比較大,步進電動機較大驅動電流的通斷會造成電磁干擾,進而會影響單片機的正常工作。因而單片機與步進電動機之間的驅動電路就顯得尤為重要。本系統采用74LS04非門與有光電隔離的4N29達林頓管組成驅動電路,這樣不僅避免了在驅動電路發生故障,造成高電壓、大電流進入單片機而燒毀器件。同時割斷了驅動電路與單片機控制電路之間的電氣連接。另外步進電動機的啟停和正反轉分別由S1,S2控制。硬件接線圖如圖2所示。

        基于89C51單片機的步進電動機控制系統設計

        3 軟件實現

        單片機程序判斷步進電機是否啟動;若啟動則進一步判斷其旋轉方向;然后按照既定的旋轉方向傳送控制脈沖序列,再加上脈寬延時即可。每走一步步數減1,并判斷步數是否為零,從而決定是否送下一個脈沖序列。其控制狀態如表1所示。

        基于89C51單片機的步進電動機控制系統設計

        由表1可以看出,輸出的不同狀態字,表示不同的勵磁方式。P1=0x06H,表示A相通電,其它兩相斷電:P1=0x05H,表示B相通電,其它兩相斷電;P1=0x03H,表示C相通電,其它兩相斷電。若以次給P1口送0X06H,0X05H,0X03H,則步進電機通電順序為A——B——C——A相。反之若以次給P1口送0X03H,0X05H,0X06H,則步進電機通電順序為C——B——A——C相。從而用軟件實現了步進電機的正反轉控制。步進電機的旋轉速度可以用脈沖寬度,即送出控制狀態字后的延時時間長短來控制。

        軟件設計流程框圖如圖3所示。

        基于89C51單片機的步進電動機控制系統設計

        4 結束語

        本系統通過89C51單片機控制步進電動機,操作方便、高,步進電動機的步距角非常精確,且不受外界環境溫度,濕度等因素的影響。本系統只需要簡單的改變輸出狀態字序列,及狀態字的輸出頻率,便可實現對步進電機的精度及速度控制。由PC上位機程序可以完全控制步進電動機的各種運行方式,使系統能夠應用于惡劣環境中,保證使用人員的安全,且適用范圍較廣,該系統在數控銑床進給伺服機構的驅動電動機進行試用,實用價值較高,因此本系統具有很好的應用前景。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南和县| 霍邱县| 三原县| 莆田市| 博兴县| 长汀县| 车致| 泾川县| 乐都县| 新平| 朔州市| 大关县| 鄂托克旗| 宜阳县| 龙陵县| 鹤庆县| 乌拉特前旗| 个旧市| 盈江县| 古丈县| 福安市| 莆田市| 保德县| 宣威市| 泸州市| 竹溪县| 虹口区| 基隆市| 嘉黎县| 建湖县| 塔城市| 长葛市| 隆林| 松潘县| 宁海县| 那曲县| 长子县| 安庆市| 呈贡县| 融水| 高邑县|