新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)控制步進(jìn)電機(jī)1步10步100步正反轉(zhuǎn)

        單片機(jī)控制步進(jìn)電機(jī)1步10步100步正反轉(zhuǎn)

        作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
        一,程序設(shè)計方案的構(gòu)想:

        1) 步進(jìn)電機(jī)的控制原理

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

        步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件.在非超載的情況下,電機(jī)的轉(zhuǎn)速,停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響.即給電機(jī)加一個信號,電機(jī)則轉(zhuǎn)過一個步距角.這一線形關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無積累誤差等特點(diǎn),使得在線速度,位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡單.

        2) 分析設(shè)計

        使用單片機(jī)以軟件方式驅(qū)動步進(jìn)電機(jī)通過編輯方法,對步進(jìn)電機(jī)的轉(zhuǎn)速,往返轉(zhuǎn)動的角度以及轉(zhuǎn)動次數(shù)等進(jìn)行控制使其在一定的范圍下進(jìn)行,還可以方便靈活的控制步進(jìn)電機(jī)的運(yùn)行狀態(tài):

        3)原理圖:

        4)連接圖:

        輸出端

        輸入端

        A

        C1

        P2.0

        KM1

        P1.0

        1B

        B

        C2

        P2.1

        KM2

        P1.1

        2B

        C

        C3

        P2.2

        KM3

        P1.2

        3B

        D

        C4

        P2.3

        KM4

        P1.3

        4B

        P2.4

        KM5

        5)運(yùn)用元件及電路圖

        元件名稱

        型號

        件數(shù)

        單片機(jī)

        AT89C51

        1

        晶振

        CRYSTAL

        1

        電容

        CAP 22PF 47UF

        2

        電阻

        RES 0.6W 10K

        1

        步進(jìn)電機(jī)

        STEPER 4相

        1

        步進(jìn)電機(jī)芯片

        ULN2003A

        1

        按鈕

        BUTTON

        6

        二、 實(shí)驗(yàn)程序

        org 0000H

        start:

        jnb p2.0,step

        jnb p2.1,step

        sjmp start

        step:

        jnb p2.2,one

        jnb p2.3,ten

        jnb p2.4,hundred

        ljmp start

        one:

        mov r0,#2

        jnb p2.0,zh1

        jnb p2.1,fan1

        ljmp start

        ten:

        mov r0,#10

        jnb p2.0,zh1

        jnb p2.1,fan1

        ljmp start

        hundred:

        mov r0,#100

        jnb p2.0,zh1

        jnb p2.1,fan1

        ljmp start

        zh1:

        mov p1,#03H

        lcall delay

        jnb p2.7,stop

        djnz r0,zh2

        ljmp stop

        zh2:

        mov p1,#06H

        lcall delay

        jnb p2.7,stop

        djnz r0,zh3

        ljmp stop

        zh3:

        mov p1,#0cH

        lcall delay

        jnb p2.7,stop

        djnz r0,zh4

        ljmp stop

        zh4:

        mov p1,#09H

        lcall delay

        jnb p2.7,stop

        djnz r0,zh1

        sjmp stop

        fan1:

        mov p1,#09H

        lcall delay

        jnb p2.7,stop

        djnz r0,fan2

        ljmp stop

        fan2:

        mov p1,#0cH

        lcall delay

        jnb p2.7,stop

        djnz r0,fan3

        ljmp stop

        fan3:

        mov p1,#06H

        lcall delay

        jnb p2.7,stop

        djnz r0,fan4

        ljmp stop

        fan4:

        mov p1,#03H

        lcall delay

        jnb p2.7,stop

        djnz r0,fan1

        sjmp stop

        stop:

        mov p1,#00H

        ljmp start

        delay:

        mov r2,#200

        d1:mov r1,#200

        djnz r1,$

        djnz r2,d1

        ret

        end

        三、調(diào)試記錄:

        當(dāng)程序編譯完成后,下載到單片機(jī)中后,在運(yùn)行過程當(dāng)中時發(fā)現(xiàn)按下10步按鈕無法運(yùn)行,其他都正常運(yùn)行,回到程序檢查時發(fā)現(xiàn)10步程序編寫出現(xiàn)錯誤,經(jīng)過改正后,可以運(yùn)行.



        評論


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

        關(guān)閉
        主站蜘蛛池模板: 贵定县| 石河子市| 双牌县| 敦化市| 高陵县| 上饶市| 大新县| 恭城| 四子王旗| 湛江市| 资兴市| 合山市| 桐柏县| 华池县| 延庆县| 礼泉县| 英德市| 上蔡县| 柘荣县| 西丰县| 图木舒克市| 佳木斯市| 秦皇岛市| 通渭县| 阜南县| 长武县| 平阴县| 怀仁县| 吉安市| 那曲县| 长子县| 曲阜市| 扶绥县| 桃园市| 鄂托克前旗| 凌海市| 苏州市| 嵊泗县| 余江县| 沛县| 双城市|