找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2953|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

請(qǐng)教如下程序哪里寫錯(cuò)了

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:50952 發(fā)表于 2013-6-14 22:16 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
寫了個(gè)步進(jìn)電機(jī)小程序, 不知道哪里出問題了,請(qǐng)教各位大神。
說(shuō)明: P0.0正轉(zhuǎn)按鍵, P0.1反轉(zhuǎn)按鍵。  步進(jìn)電機(jī)接P1引腳的高4位。
癥狀: 當(dāng)按下反轉(zhuǎn)鍵時(shí), 電機(jī)正常反轉(zhuǎn), 但是如果按下正轉(zhuǎn), 電機(jī)內(nèi)部在運(yùn)行,但是不轉(zhuǎn),可以感覺到震動(dòng)。
于是就把P1的高4位連接到LED上看脈沖時(shí)序。
結(jié)果發(fā)現(xiàn), 當(dāng)按下反轉(zhuǎn)時(shí), 電機(jī)是按照P2.7-P2.6-P2.5-P2.4    -P2.7-P2.6-P2.5-P2.4.......這樣的順序發(fā)出脈沖,電機(jī)是正常在反轉(zhuǎn)。
但是按下正轉(zhuǎn)鍵時(shí), 電機(jī)是按照P2.7-P2.6-P2.5-P2.4-P2.5-P2.6-P2.7-P2.6-P2.5-P2.4-P2.5..........是迂回的順序,所以電機(jī)雖然震動(dòng),內(nèi)部轉(zhuǎn)自在轉(zhuǎn),卻是幾步在往復(fù)運(yùn)動(dòng),所以不轉(zhuǎn)。

請(qǐng)各位看看, 我哪里寫錯(cuò)了。謝謝了。

ORG 0000H
    LJMP START
    ORG 0100H
START:   MOV R2,#00H
    MOV R3,#00H
    MOV R4,#00H
    MOV P0,#00H
    MOV P1,#00H
SCAN:   MOV P0,#03H
    JNB P0.0, ZZ
    JNB P0.1, FZ
    SJMP SCAN
ZZ:    MOV R2,#00H
LOOP1:   MOV A,R2
    MOV DPTR,#TAB1
    MOVC A,@A+DPTR
    JZ ZZ
    MOV P1,A
    LCALL DELAY
    INC R2
    LCALL SCN
    LJMP LOOP1
FZ:    MOV R2,#00H
LOOP2:   MOV A,R2
    MOV DPTR,#TAB2
    MOVC A,@A+DPTR
    JZ FZ
    MOV P1,A
    LCALL DELAY
    INC R2
    LCALL SCN
    LJMP LOOP2
SCN:   JNB P0.0,LOOP1
    JNB P0.1,LOOP2
    RET
DELAY:    MOV R3,#60H
M1:    MOV R4,#60H
    DJNZ R4,$
    DJNZ R3,M1
    RET
TAB1:   DB 80H,40H,20H,10H
TAB2:   DB 10H,20H,40H,80H
    END
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:7485 發(fā)表于 2013-6-15 08:49 | 只看該作者
本帖最后由 ahshmj 于 2013-6-15 08:51 編輯

可能是失步了。
引用:“步進(jìn)電機(jī)有一個(gè)技術(shù)參數(shù):空載啟動(dòng)頻率,即步進(jìn)電機(jī)在空載情況下能夠正常啟動(dòng)的脈沖頻率,如果脈沖頻率高于該值,電機(jī)不能正常啟動(dòng),可能發(fā)生丟步或堵轉(zhuǎn)。在有負(fù)載的情況下,啟動(dòng)頻率應(yīng)更低。如果要使電機(jī)達(dá)到高速轉(zhuǎn)動(dòng),脈沖頻率應(yīng)該有加速過(guò)程,即啟動(dòng)頻率較低,然后按一定加速度升到所希望的高頻(電機(jī)轉(zhuǎn)速?gòu)牡退偕礁咚伲!?br />
步進(jìn)電機(jī)從正傳突然轉(zhuǎn)入反轉(zhuǎn),比一般的負(fù)荷都重,所以會(huì)這樣。
你可以在轉(zhuǎn)入反轉(zhuǎn)時(shí),加一點(diǎn)延時(shí)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:50952 發(fā)表于 2013-6-15 12:44 | 只看該作者
謝謝回復(fù)。
我程序中LOOP1和LOOP2兩段是完全一樣的程序。
如果說(shuō)是轉(zhuǎn)向的時(shí)候阻力大導(dǎo)致失步可能性不大,因?yàn)榧词刮疑蟻?lái)第一次按的就是正轉(zhuǎn), 電機(jī)也不轉(zhuǎn)。
相反, 反轉(zhuǎn)鍵隨時(shí)按都可以正常運(yùn)作。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表