• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

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

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

    本文引用地址:http://www.czjhyjcfj.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上位機程序可以完全控制步進電動機的各種運行方式,使系統能夠應用于惡劣環境中,保證使用人員的安全,且適用范圍較廣,該系統在數控銑床進給伺服機構的驅動電動機進行試用,實用價值較高,因此本系統具有很好的應用前景。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 巴塘县| 宁化县| 天柱县| 磴口县| 芜湖市| 花莲市| 大余县| 郁南县| 南投县| 启东市| 壤塘县| 天门市| 竹山县| 泽州县| 峨山| 长武县| 甘洛县| 梨树县| 大丰市| 长海县| 辛集市| 桦甸市| 繁昌县| 邵东县| 胶南市| 遂溪县| 大悟县| 茌平县| 普陀区| 根河市| 凭祥市| 新巴尔虎左旗| 丹凤县| 抚顺县| 静海县| 泉州市| 那曲县| 阿瓦提县| 东丽区| 宕昌县| 洛浦县|