新聞中心

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

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

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

1) 步進電機的控制原理

本文引用地址:http://www.butianyuan.cn/article/201611/319603.htm

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

2) 分析設(shè)計

使用單片機以軟件方式驅(qū)動步進電機通過編輯方法,對步進電機的轉(zhuǎn)速,往返轉(zhuǎn)動的角度以及轉(zhuǎn)動次數(shù)等進行控制使其在一定的范圍下進行,還可以方便靈活的控制步進電機的運行狀態(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)運用元件及電路圖

元件名稱

型號

件數(shù)

單片機

AT89C51

1

晶振

CRYSTAL

1

電容

CAP 22PF 47UF

2

電阻

RES 0.6W 10K

1

步進電機

STEPER 4相

1

步進電機芯片

ULN2003A

1

按鈕

BUTTON

6

二、 實驗程序

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



評論


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

關(guān)閉