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

    EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)控制步進(jìn)電機(jī)驅(qū)動(dòng)器工作原理

    單片機(jī)控制步進(jìn)電機(jī)驅(qū)動(dòng)器工作原理

    ——
    作者: 時(shí)間:2007-11-16 來源:電子開發(fā)網(wǎng) 收藏

      在控制系統(tǒng)中具有廣泛的應(yīng)用。它可以把脈沖信號(hào)轉(zhuǎn)換成角位移,并且可用作電磁制動(dòng)輪、電磁差分器、或角位移發(fā)生器等。

      有時(shí)從一些舊設(shè)備上拆下的(這種電機(jī)一般沒有損壞)要改作它用,一般需自己設(shè)計(jì)。本文介紹的就是為從一日本產(chǎn)舊式打印機(jī)上拆下的而設(shè)計(jì)的

      本文先介紹該步進(jìn)電機(jī)的工作原理,然后介紹了其的軟、硬件設(shè)計(jì)。

      1. 步進(jìn)電機(jī)的工作原理

      該步進(jìn)電機(jī)為一四相步進(jìn)電機(jī),采用單極性直流供電。只要對(duì)步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動(dòng)。圖1是該四相反應(yīng)式步進(jìn)電機(jī)工作原理示意圖。

      

    四相步進(jìn)電機(jī)步進(jìn)示意圖

      圖1 四相步進(jìn)電機(jī)步進(jìn)示意圖

      開始時(shí),開關(guān)SB接通,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號(hào)齒對(duì)齊,同時(shí),轉(zhuǎn)子的1、4號(hào)齒就和C、D相繞組磁極產(chǎn)生錯(cuò)齒,2、5號(hào)齒就和D、A相繞組磁極產(chǎn)生錯(cuò)齒。

      當(dāng)開關(guān)SC接通,SB、SA、SD斷開時(shí),由于C相繞組的磁力線和1、4號(hào)齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動(dòng),1、4號(hào)齒和C相繞組的磁極對(duì)齊。而0、3號(hào)齒和A、B相繞組產(chǎn)生錯(cuò)齒,2、5號(hào)齒就和A、D相繞組磁極產(chǎn)生錯(cuò)齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會(huì)沿著A、B、C、D方向轉(zhuǎn)動(dòng)。

      四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動(dòng)力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動(dòng)力矩又可以提高控制精度。

      單四拍、雙四拍與八拍工作方式的電源通電時(shí)序與波形分別如圖2.a、b、c所示:

      

    步進(jìn)電機(jī)工作時(shí)序波形圖

      a. 單四拍 b. 雙四拍 c八拍

      圖2.步進(jìn)電機(jī)工作時(shí)序波形圖

      2.基于AT89C2051的步進(jìn)電機(jī)驅(qū)動(dòng)器系統(tǒng)電路原理

      步進(jìn)電機(jī)驅(qū)動(dòng)器系統(tǒng)電路原理如圖3:

      

    步進(jìn)電機(jī)驅(qū)動(dòng)器系統(tǒng)電路原理圖

      圖3 步進(jìn)電機(jī)驅(qū)動(dòng)器系統(tǒng)電路原理圖

      AT89C2051將控制脈沖從P1口的P1.4~P1.7輸出,經(jīng)74LS14反相后進(jìn)入9014,經(jīng)9014放大后控制光電開關(guān),光電隔離后,由功率管TIP122將脈沖信號(hào)進(jìn)行電壓和電流放大,驅(qū)動(dòng)步進(jìn)電機(jī)的各相繞組。使步進(jìn)電機(jī)隨著不同的脈沖信號(hào)分別作正轉(zhuǎn)、反轉(zhuǎn)、加速、減速和停止等動(dòng)作。圖中L1為步進(jìn)電機(jī)的一相繞組。AT89C2051選用頻率22MHz的晶振,選用較高晶振的目的是為了在方式2下盡量減小AT89C2051對(duì)上位機(jī)脈沖信號(hào)周期的影響。

      圖3中的RL1~RL4為繞組內(nèi)阻,50Ω電阻是一外接電阻,起限流作用,也是一個(gè)改善回路時(shí)間常數(shù)的元件。D1~D4為續(xù)流二極管,使電機(jī)繞組產(chǎn)生的反電動(dòng)勢(shì)通過續(xù)流二極管(D1~D4)而衰減掉,從而保護(hù)了功率管TIP122不受損壞。

      在50Ω外接電阻上并聯(lián)一個(gè)200μF電容,可以改善注入步進(jìn)電機(jī)繞組的電流脈沖前沿,提高了步進(jìn)電機(jī)的高頻性能。與續(xù)流二極管串聯(lián)的200Ω電阻可減小回路的放電時(shí)間常數(shù),使繞組中電流脈沖的后沿變陡,電流下降時(shí)間變小,也起到提高高頻工作性能的作用。

      3.軟件設(shè)計(jì)

      該驅(qū)動(dòng)器根據(jù)撥碼開關(guān)KX、KY的不同組合有三種工作方式供選擇:

      方式1為中斷方式:P3.5(INT1)為步進(jìn)脈沖輸入端,P3.7為正反轉(zhuǎn)脈沖輸入端。上位機(jī)(PC機(jī)或單片機(jī))與驅(qū)動(dòng)器僅以2條線相連。

      方式2為串行通訊方式:上位機(jī)(PC機(jī)或單片機(jī))將控制命令發(fā)送給驅(qū)動(dòng)器,驅(qū)動(dòng)器根據(jù)控制命令自行完成有關(guān)控制過程。

      方式3為撥碼開關(guān)控制方式:通過K1~K5的不同組合,直接控制步進(jìn)電機(jī)。

      當(dāng)上電或按下復(fù)位鍵KR后,AT89C2051先檢測(cè)撥碼開關(guān)KX、KY的狀態(tài),根據(jù)KX、KY 的不同組合,進(jìn)入不同的工作方式。以下給出方式1的程序流程框圖與源程序。

      在程序的編制中,要特別注意步進(jìn)電機(jī)在換向時(shí)的處理。為使步進(jìn)電機(jī)在換向時(shí)能平滑過渡,不至于產(chǎn)生錯(cuò)步,應(yīng)在每一步中設(shè)置標(biāo)志位。其中20H單元的各位為步進(jìn)電機(jī)正轉(zhuǎn)標(biāo)志位;21H單元各位為反轉(zhuǎn)標(biāo)志位。在正轉(zhuǎn)時(shí),不僅給正轉(zhuǎn)標(biāo)志位賦值,也同時(shí)給反轉(zhuǎn)標(biāo)志位賦值;在反轉(zhuǎn)時(shí)也如此。這樣,當(dāng)步進(jìn)電機(jī)換向時(shí),就可以上一次的位置作為起點(diǎn)反向運(yùn)動(dòng),避免了電機(jī)換向時(shí)產(chǎn)生錯(cuò)步。

      

    方式1程序框圖

      圖4 方式1程序框圖

      方式1源程序:

      MOV 20H,#00H ;20H單元置初值,電機(jī)正轉(zhuǎn)位置指針

      MOV 21H,#00H ;21H單元置初值,電機(jī)反轉(zhuǎn)位置指針

      MOV   P1,#0C0H ;P1口置初值,防止電機(jī)上電短路

      MOV TMOD,#60H ;T1計(jì)數(shù)器置初值,開中斷

      MOV TL1,#0FFH

      MOV TH1,#0FFH

      SETB ET1

      SETB EA

      SETB TR1

      SJMP $

      ;***********計(jì)數(shù)器1中斷程序************

      IT1P: JB P3.7,FAN ;電機(jī)正、反轉(zhuǎn)指針

      ;*************電機(jī)正轉(zhuǎn)*****************

      JB 00H,LOOP0

      JB 01H,LOOP1

      JB 02H,LOOP2

      JB 03H,LOOP3

      JB 04H,LOOP4

      JB 05H,LOOP5

      JB 06H,LOOP6

      JB 07H,LOOP7

      LOOP0: MOV P1,#0D0H

      MOV 20H,#02H

      MOV 21H,#40H

      AJMP QUIT

      LOOP1: MOV P1,#090H

      MOV 20H,#04H

      MOV 21H,#20H

      AJMP QUIT

      LOOP2: MOV P1,#0B0H

      MOV 20H,#08H

      MOV 21H,#10H

      AJMP QUIT

      LOOP3: MOV P1,#030H

      MOV 20H,#10H

      MOV 21H,#08H

      AJMP QUIT

      LOOP4: MOV P1,#070H

      MOV 20H,#20H

      MOV 21H,#04H

      AJMP QUIT

      LOOP5: MOV P1,#060H

      MOV 20H,#40H

      MOV 21H,#02H

      AJMP QUIT

      LOOP6: MOV P1,#0E0H

      MOV 20H,#80H

      MOV 21H,#01H

      AJMP QUIT

      LOOP7: MOV P1,#0C0H

      MOV ; 20H,#01H

      MOV 21H,#80H

      AJMP QUIT

      ;***************電機(jī)反轉(zhuǎn)*****************

      FAN: JB 08H,LOOQ0

      JB 09H,LOOQ1

      JB 0AH,LOOQ2

      JB 0BH,LOOQ3

      JB 0CH,LOOQ4

      JB 0DH,LOOQ5

      JB 0EH,LOOQ6

      JB 0FH,LOOQ7

      LOOQ0: MOV P1,#0A0H

      MOV 21H,#02H

      MOV 20H,#40H

      AJMP QUIT

      LOOQ1: MOV P1,#0E0H

      MOV 21H,#04H

      MOV 20H,#20H

      AJMP QUIT

      LOOQ2: MOV P1,#0C0H

      MOV 21H,#08H

      MOV 20H,#10H

      AJMP QUIT

      LOOQ3: MOV P1,#0D0H

      MOV 21H,#10H

      MOV 20H,#08H

      AJMP QUIT

      LOOQ4: MOV P1,#050H

      MOV 21H,#20H

      MOV 20H,#04H

      AJMP QUIT

      LOOQ5: MOV P1,#070H

      MOV 21H,#40H

      MOV 20H,#02H

      AJMP QUIT

      LOOQ6: MOV P1,#030H

      MOV 21H,#80H

      MOV 20H,#01H

      AJMP QUIT

      LOOQ7: MOV P1,#0B0H

      MOV 21H,#01H

      MOV 20H,#80H

      QUIT: RETI

      END

      4.結(jié)論

      該驅(qū)動(dòng)器經(jīng)實(shí)驗(yàn)驗(yàn)證能驅(qū)動(dòng)0.5N.m的步進(jìn)電機(jī)。將驅(qū)動(dòng)部分的電阻、電容及續(xù)流二極管的有關(guān)參數(shù)加以調(diào)整,可驅(qū)動(dòng)1.2N.m的步進(jìn)電機(jī)。該驅(qū)動(dòng)器電路簡(jiǎn)單可靠,結(jié)構(gòu)緊湊,對(duì)于I/O口線與單片機(jī)資源緊張的系統(tǒng)來說特別適用。

    光電開關(guān)相關(guān)文章:光電開關(guān)原理
    脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理


    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 綦江县| 宜宾市| 上栗县| 襄樊市| 榆树市| 铜鼓县| 寻甸| 呼伦贝尔市| 庆城县| 淮安市| 安乡县| 沙洋县| 洪雅县| 博兴县| 喀喇沁旗| 阿克苏市| 天长市| 张掖市| 瑞安市| 同仁县| 漳浦县| 浦北县| 皮山县| 凤台县| 电白县| 敦煌市| 永善县| 六枝特区| 綦江县| 焦作市| 夏津县| 金寨县| 芜湖县| 阿克苏市| 永年县| 保靖县| 普兰店市| 南雄市| 三江| 东乡县| 林芝县|