新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于proteus的步進(jìn)電機(jī)控制

基于proteus的步進(jìn)電機(jī)控制

作者: 時(shí)間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
步進(jìn)電機(jī)是機(jī)電控制中一種常用的執(zhí)行機(jī)構(gòu),它的用途是將電脈沖轉(zhuǎn)化為角位移,通俗地說:當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(及步進(jìn)角)。通過控制脈沖個(gè)數(shù)即可以控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。

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

一、步進(jìn)電機(jī)常識(shí)

常見的步進(jìn)電機(jī)分三種:永磁式(PM),反應(yīng)式(VR)和混合式(HB),永磁式步進(jìn)一般為兩相,轉(zhuǎn)矩和體積較小,步進(jìn)角一般為7.5度或15度;反應(yīng)式步進(jìn)一般為三相,可實(shí)現(xiàn)大轉(zhuǎn)矩輸出,步進(jìn)角一般為1.5度,但噪聲和振動(dòng)都很大。在歐美等發(fā)達(dá)國家80年代已被淘汰;混合式步進(jìn)是指混合了永磁式和反應(yīng)式的優(yōu)點(diǎn)。它又分為兩相和五相:兩相步進(jìn)角一般為1.8度而五相步進(jìn)角一般為0.72度。這種步進(jìn)電機(jī)的應(yīng)用最為廣泛。

二、永磁式步進(jìn)電機(jī)的控制

  電子愛好者業(yè)余制作中常用的是永磁式步進(jìn)電機(jī)。

圖1 35BY48S03型步進(jìn)電機(jī)的接線圖

圖1是該電機(jī)的接線圖,從圖中可以看出,電機(jī)共有四組線圈,四組線圈的一個(gè)端點(diǎn)連在一起引出,這樣一共有5根引出線。要使用步進(jìn)電機(jī)轉(zhuǎn)動(dòng),只要輪流給各引出端通電即可。將COM端標(biāo)識(shí)為C,只要AC、/AC、BC、/BC,輪流加電就能驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)轉(zhuǎn),加電的方式可以有多種,如果將COM端接正電源,那么只要用開關(guān)元件(如三極管),將A、/A、B、/B輪流接地。

下表列出了該電機(jī)的一些典型參數(shù):

表1 35BY48S03型步機(jī)電機(jī)參數(shù)

型號(hào)

步距角

相數(shù)

電壓

電流

電阻

最大靜轉(zhuǎn)距

定位轉(zhuǎn)距

轉(zhuǎn)動(dòng)慣量

35BY48S03

7.5

4

12

0.26

47

180

65

2.5

有了這些參數(shù),不難設(shè)計(jì)出控制電路,因其工作電壓為12V,最大電流為0.26A,因此用一塊開路輸出達(dá)林頓驅(qū)動(dòng)器(ULN2003)來作為驅(qū)動(dòng),通過P1.4~P1.7來控制各線圈的接通與切斷,電路如圖所示。

圖2 單片機(jī)控制35BY48S03型步進(jìn)電機(jī)的電路原理圖

開機(jī)時(shí),P1.4~P1.7均為高電平,依次將P1.4~P1.7切換為低電平即可驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)行,注意在切換之前將前一個(gè)輸出引腳變?yōu)楦唠娖?。如果要改變電機(jī)的轉(zhuǎn)動(dòng)速度只要改變兩次接通之間的時(shí)間,而要改變電機(jī)的轉(zhuǎn)動(dòng)方向,只要改變各線圈接通的順序。

三、步進(jìn)電機(jī)的驅(qū)動(dòng)實(shí)例

要求:控制電路如圖2所示,開機(jī)后,電機(jī)不轉(zhuǎn),按下啟動(dòng)鍵,電機(jī)旋轉(zhuǎn),速度為25轉(zhuǎn)/分,按下加1鍵,速度增加,按下減1鍵,速度降低,最高速度為100轉(zhuǎn)/分,最低轉(zhuǎn)帶為25轉(zhuǎn)/分,按下停止鍵,電機(jī)停轉(zhuǎn)。速度值要求在數(shù)碼管上顯示出來。

1、要求分析

按上面的分析,改變轉(zhuǎn)速,只要改變P1.0~P1.3輪流變低電平的時(shí)間即可達(dá)到要求,這個(gè)時(shí)間不應(yīng)采用延時(shí)來實(shí)現(xiàn),因?yàn)闀?huì)影響到其他功能的實(shí)現(xiàn)。這里以定時(shí)的方式來實(shí)現(xiàn)。下面首先計(jì)算一下定時(shí)時(shí)間。

按要求,最低轉(zhuǎn)速為25轉(zhuǎn)/分,而上述步進(jìn)電機(jī)的步距角為7.5,即每48個(gè)脈沖為1周,即在最低轉(zhuǎn)速時(shí),要求為1200脈沖/分,相當(dāng)于50ms/脈沖。而在最高轉(zhuǎn)速時(shí),要求為100轉(zhuǎn)/分,即48000脈沖/分,相當(dāng)于12.5ms/脈沖??梢粤谐鱿卤恚?/p>

表2 步進(jìn)電機(jī)轉(zhuǎn)速與定時(shí)器定時(shí)常數(shù)關(guān)系

速度

單步時(shí)間(us)

TH1

TL1

實(shí)際定時(shí)(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

表中不僅計(jì)算出了TH1和TL1,而且還計(jì)算出了在這個(gè)定時(shí)常數(shù)下,真實(shí)的定時(shí)時(shí)間,可以根據(jù)這個(gè)計(jì)算值來估算真實(shí)速度與理論速度的誤差值。

表中TH1和TL1是根據(jù)定時(shí)時(shí)間算出來的定時(shí)初值,這里用到的晶振是11.0592M。有了上述表格,程序就不難實(shí)現(xiàn)了,使用定時(shí)/計(jì)數(shù)器T1為定時(shí)器,定時(shí)時(shí)間到后切換輸出腳即可。

2、程序?qū)崿F(xiàn)

定義DSB-1A實(shí)驗(yàn)板的S1為啟動(dòng)鍵,S2為停止鍵,S3為加1鍵,S4為減1鍵,程序如下:

StartEndbit01H;起動(dòng)及停止標(biāo)志

MinSpdEQU25;起始轉(zhuǎn)動(dòng)速度

MaxSpdEQU100;最高轉(zhuǎn)動(dòng)速度

SpeedDATA23H;流動(dòng)速度計(jì)數(shù)

DjCountDATA24H;控制電機(jī)輸出的一個(gè)值,初始為11110 111

HiddenEQU10H;消隱碼

CounterDATA57H;顯示計(jì)數(shù)器

DISPBUFDATA58H;顯示緩沖區(qū)

ORG0000H

AJMPMAIN

ORG 000BH

JMP DISP

ORG 001BH

JMP DJZD

ORG30H

MAIN:

MOVSP,#5FH

MOVP1,#0FFH

MOV A,#Hidden

MOV DispBuf,A

MOV DispBuf+1,A

MOV DispBuf+2,A

MOV DjCount,#11110111B

MOVSPEED,#MinSpd;起始轉(zhuǎn)動(dòng)速度送入計(jì)數(shù)器

CLRStartEnd;停轉(zhuǎn)狀態(tài)

MOV TMOD,#00010001B ;

MOV TH0,#HIGH(65536-3000)

MOV TL0,#LOW(65536-3000)

MOV TH1,#0FFH;

MOV TL1,#0FFH

SETB TR0

SETB EA

SETB ET0

SETB ET1

LOOP: ACALLKEY;鍵盤程序

JNBF0,m_NEXT1 ;無鍵繼續(xù)

ACALLKEYPROC ;否則調(diào)用鍵盤處理程序

m_NEXT1:

MOV A,Speed

MOV B,#10

DIV AB

MOV DispBuf+5,B ;最低位

MOV B,#10

DIV AB

MOV DispBuf+4,B

MOV DispBuf+3,A

JB StartEnd,m_Next2

CLR TR1 ;關(guān)閉電機(jī)

ORL P1,#11110000B

JMP LOOP

m_Next2:

SETB TR1 ;啟動(dòng)電機(jī)

AJMPLOOP ;主程序結(jié)束


上一頁 1 2 下一頁

評(píng)論


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

關(guān)閉