| 用單片機控制步進電機 由頻繁的單片機撰寫
步進電機是機電控制中一種常用的執(zhí)行機構(gòu),它的用途是將電脈沖轉(zhuǎn)化為角位移,通俗地說:當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進角)。通過控制脈沖個數(shù)即可以控制角位移量,從而達到準確定位的目的;同時通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。 一、步進電機常識 常見的步進電機分三種:永磁式(PM),反應(yīng)式(VR)和混合式(HB),永磁式步進一般為兩相,轉(zhuǎn)矩和體積較小,步進角一般為7.5度 或15度;反應(yīng)式步進一般為三相,可實現(xiàn)大轉(zhuǎn)矩輸出,步進角一般為1.5度,但噪聲和振動都很大。在歐美等發(fā)達國家80年代已被淘汰;混合式步進是指混合了永磁式和反應(yīng)式的優(yōu)點。它又分為兩相和五相:兩相步進角一般為1.8度而五相步進角一般為 0.72度。這種步進電機的應(yīng)用最為廣泛。 二、永磁式步進電機的控制 下面以電子愛好者業(yè)余制作中常用的永磁式步進電機為例,來介紹如何用單片機控制步進電機。 圖1是35BY型永磁步進電機的外形圖,圖2是該電機的接線圖,從圖中可以看出,電機共有四組線圈,四組線圈的一個端點連在一起引出,這樣一共有5根引出線。要使用步進電機轉(zhuǎn)動,只要輪流給各引出端通電即可。將COM端標識為C,只要AC、 C、BC、 C,輪流加電就能驅(qū)動步進電機運轉(zhuǎn),加電的方式可以有多種,如果將COM端接正電源,那么只要用開關(guān)元件(如三極管),將A、 、B、 輪流接地。 下表列出了該電機的一些典型參數(shù): 表1 35BY48S03型步機電機參數(shù) 型號 步距角 相數(shù) 電壓 電流 電阻 最大靜轉(zhuǎn)距 定位轉(zhuǎn)距 轉(zhuǎn)動慣量 35BY48S03 7.5 4 12 0.26 47 180 65 2.5 有了這些參數(shù),不難設(shè)計出控制電路,因其工作電壓為12V,最大電流為0.26A,因此用一塊開路輸出達林頓驅(qū)動器(ULN2003)來作為驅(qū)動,通過P1.4~P1.7來控制各線圈的接通與切斷,電路如圖3所示。開機時,P1.4~P1.7均為高電平,依次將P1.4~P1.7切換為低電平即可驅(qū)動步進電機運行,注意在切換之前將前一個輸出引腳變?yōu)楦唠娖健H绻淖冸姍C的轉(zhuǎn)動速度只要改變兩次接通之間的時間,而要改變電機的轉(zhuǎn)動方向,只要改變各線圈接通的順序。  圖1 35BY48S03型步進電機外形圖  圖2 35BY48S03型步進電機的接線圖  圖3 單片機控制35BY48S03型步進電機的電路原理圖 三、步進電機的驅(qū)動實例 要求:控制電路如圖3所示,開機后,電機不轉(zhuǎn),按下啟動鍵,電機旋轉(zhuǎn),速度為25轉(zhuǎn)/分,按下加1鍵,速度增加,按下減1鍵,速度降低,最高速度為100轉(zhuǎn)/分,最低轉(zhuǎn)帶為25轉(zhuǎn)/分,按下停止鍵,電機停轉(zhuǎn)。速度值要求在數(shù)碼管上顯示出來。 1.要求分析 按上面的分析,改變轉(zhuǎn)速,只要改變P1.0~P1.3輪流變低電平的時間即可達到要求,這個時間不應(yīng)采用延時來實現(xiàn),因為會影響到其他功能的實現(xiàn)。這里以定時的方式來實現(xiàn)。下面首先計算一下定時時間。 按要求,最低轉(zhuǎn)速為25轉(zhuǎn)/分,而上述步進電機的步距角為7.5,即每48個脈沖為1周,即在最低轉(zhuǎn)速時,要求為1200脈沖/分,相當于50ms/脈沖。而在最高轉(zhuǎn)速時,要求為100轉(zhuǎn)/分,即48000脈沖/分,相當于12.5ms/脈沖?梢粤谐鱿卤 表1 步進電機轉(zhuǎn)速與定時器定時常數(shù)關(guān)系 速度 單步時間(us) TH1 TL1 實際定時(us) 25 50000 76 0 49996.8 26 48077 82 236 48074.18 27 46296 89 86 46292.61 28 44643 95 73 44640.155 … … … … … 100 12500 211 0 12499.2 表中不僅計算出了TH1和TL1,而且還計算出了在這個定時常數(shù)下,真實的定時時間,可以根據(jù)這個計算值來估算真實速度與理論速度的誤差值。 表中TH1和TL1是根據(jù)定時時間算出來的定時初值,這里用到的晶振是11.0592M。有了上述表格,程序就不難實現(xiàn)了,使用定時/計數(shù)器T1為定時器,定時時間到后切換輸出腳即可。 2.程序?qū)崿F(xiàn) 定義DSB-1A實驗板的S1為啟動鍵,S2為停止鍵,S3為加1鍵,S4為減1鍵,程序如下: StartEnd bit 01H ;起動及停止標志 MinSpd EQU 25 ;起始轉(zhuǎn)動速度 MaxSpd EQU 100 ;最高轉(zhuǎn)動速度 Speed DATA 23H ;流動速度計數(shù) DjCount DATA 24H ;控制電機輸出的一個值,初始為11110 111 Hidden EQU 10H ;消隱碼 |