步進電機控制
編程提示:
(1) 步進電機驅動原理是通過對每相線圈中的電流的順序切換來使電機做步進式旋轉。調節輸入脈衝的頻率可改變步進電機的轉速。
(2) 編寫程序使步進電機按正轉10圈,反轉5圈,再正轉10圈,再反轉5圈的規律旋轉。
(3) 調整延時參數,使步進電機的轉動速度為每秒5轉。
最佳答案
(一)1步進電機驅動原理:
是通過對每相線圈中的電流的順序切換來使電機機作步進式旋轉,切換是通過單片機輸出脈衝信號來實現的。所以調節脈衝信號的頻率便可以改變步進機的轉速,改變各相輸入脈衝先後順序,可以改變電機的旋轉方向。
2轉速控制:
調節脈衝信號的頻率便可以改變步進機的轉速
3位置控制:
改變脈衝信號的個數便可以改變步進機的位置
4方向控制:
改變各相脈衝的先後順序,便可以改變步進機的轉向
(二)8255可編程并行介面芯的連接方法
1用8255APB0-PB3輸出脈衝信號,驅動步進電機轉動
2硬體線路原理圖如圖
3將步進電機插頭連到DVCC-8086H中間5芯插座J1( 步進電機驅動輸出插座)上
4將8255CS 連到060H
(三)設計程序清單及註釋
CODE SEGMENT
ASSUME CS:CODE
IOCONPT EQU 0063H ;8255控制埠地址
IOBPT EQU 0061H ;B口埠地址
START: MOV AL,80H ;初始化8255控制埠,A、B、C口輸出,工作方
MOV DX,IOCONPT ;式0
OUT DX,AL
NOP
NOP
NOP
IOLED1: MOV DX,IOBPT
MOV AL,03H ; 步進電機初始化勵磁數據03H(BA相)
OUT DX,AL
CALL DELAY ;調用延時子程序DELAY
MOV AL,06H ;步進電機勵磁數據左移一位後為06H(BB相)
OUT DX,AL
CALL DELAY
MOV AL,0CH ;步進電機勵磁數據左移一位後為0CH(BC相)
OUT DX,AL
CALL DELAY
MOV AL,09H ;步進電機勵磁數據左移一位後為09H(BD相)
OUT DX,AL
CALL DELAY
JMP IOLED1 ;無條件轉移,死循環以上程序,步進機不停轉動
DELAY:MOV CX,03FFFH ;延時子程序(改變步進機轉速時修改該參數)
DELA: LOOP DELA
RET
CODE ENDS
END START
(四)正轉、反轉則通過改變相位順序來實現,轉速則通過修改CX的參數值就能實現對轉速的控制。