新聞中心

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

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

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

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

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

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

2) 分析設(shè)計(jì)

使用單片機(jī)以軟件方式驅(qū)動(dòng)步進(jìn)電機(jī)通過編輯方法,對(duì)步進(jìn)電機(jī)的轉(zhuǎn)速,往返轉(zhuǎn)動(dòng)的角度以及轉(zhuǎn)動(dòng)次數(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)用元件及電路圖

元件名稱

型號(hào)

件數(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)中時(shí)發(fā)現(xiàn)按下10步按鈕無(wú)法運(yùn)行,其他都正常運(yùn)行,回到程序檢查時(shí)發(fā)現(xiàn)10步程序編寫出現(xiàn)錯(cuò)誤,經(jīng)過改正后,可以運(yùn)行.



評(píng)論


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

關(guān)閉