四相步進電機的設計
發(fā)布時間:2008/10/6 0:00:00 訪問次數(shù):731
該驅動器根據(jù)撥碼開關kx、ky的不同組合有三種工作方式供選擇:
方式1為中斷方式:p3.5(int1)為步進脈沖輸入端,p3.7為正反轉脈沖輸入端。上位機(pc機或單片機)與驅動器僅以2條線相連。
方式2為串行通訊方式:上位機(pc機或單片機)將控制命令發(fā)送給驅動器,驅動器根據(jù)控制命令自行完成有關控制過程。
方式3為撥碼開關控制方式:通過k1~k5的不同組合,直接控制步進電機。
當上電或按下復位鍵kr后,at89c2051先檢測撥碼開關kx、ky的狀態(tài),根據(jù)kx、ky 的不同組合,進入不同的工作方式。以下給出方式1的程序流程框圖與源程序。
在程序的編制中,要特別注意步進電機在換向時的處理。為使步進電機在換向時能平滑過渡,不至于產(chǎn)生錯步,應在每一步中設置標志位。其中20h單元的各位為步進電機正轉標志位;21h單元各位為反轉標志位。在正轉時,不僅給正轉標志位賦值,也同時給反轉標志位賦值;在反轉時也如此。這樣,當步進電機換向時,就可以上一次的位置作為起點反向運動,避免了電機換向時產(chǎn)生錯步。
圖1 方式1程序框圖
方式1源程序:
mov 20h,#00h ;20h單元置初值,電機正轉位置指針
mov 21h,#00h ;21h單元置初值,電機反轉位置指針
mov p1,#0c0h ;p1口置初值,防止電機上電短路
mov tmod,#60h ;t1計數(shù)器置初值,開中斷
mov tl1,#0ffh
mov th1,#0ffh
setb et1
setb ea
setb tr1
sjmp $
;***********計數(shù)器1中斷程序************
it1p: jb p3.7,fan ;電機正、反轉指針
;*************電機正轉*****************
jb 00h,loop0
jb 01h,loop1
jb 02h,loop2
jb 03h,loop3
jb 04h,loop4
jb 05h,loop5
jb 06h,loop6
jb 07h,loop7
loop0: mov p1,#0d0h
mov 20h,#02h
mov 21h,#40h
ajmp quit
loop1: mov p1,#090h
mov 20h,#04h
mov 21h,#20h
ajmp quit
loop2: mov p1,#0b0h
mov 20h,#08h
mov 21h,#10h
ajmp quit
loop3: mov p1,#030h
mov 20h,#10h
mov 21h,#08h
ajmp quit
loop4: mov p1,#070h
mov 20h,#20h
mov 21h,#04h
ajmp quit
loop5: mov p1,#060h
mov 20h,#40h
mov 21h,#02h
ajmp quit
loop6: mov p1,#0e0h
mov 20h,#80h
mov 21h,#01h
ajmp quit
loop7: mov p1,#0c0h
mov ; 20h,#01h
mov 21h,#80h
ajmp quit
;***************電機反轉*****************
fan: jb 08h,looq0
jb 09h,looq1
jb 0ah,looq2
jb 0bh,looq3
jb 0ch,looq4
jb 0dh,looq5
jb 0eh,looq6
jb 0fh,looq7
looq0: mov p1,#0a0h
mov 21h,#02h
mov 20h,#40h
ajmp quit
looq1: mov p1,#0e0h
mov 21h,#04h
mov 20h,#20h
ajmp quit
looq2: mov p1,#0c0h
mov 21h,#08h
mov 20h,#10h
ajmp quit
looq3: mov p1,#0d0h
mov 21h,#10h
mov 20h,#08h
ajmp quit
looq4: mov p1,#050h
mov 21h,#20h
mov 20h,#04h
ajmp quit
looq5: mov p1,#070h
mov 21h,#40h
mov 20h,#02h
ajmp quit
looq6: mov p1,#030h
mov 21h,#80h
mov 20h,#01h
ajmp quit
looq7: mov p1,#0b0h
mov 21h,#01h
mov 20h,#80h
quit: reti
end
4.結論
該驅動器經(jīng)實驗驗證能驅動0.5n.m的步進電機。將驅動部分的電阻、電容及續(xù)流二極管的有關參數(shù)加以調整,可驅動1.2n.m的步進電機。該驅動器電路簡單可靠,結構緊湊,對于i/o口線與單片機資源緊張的系統(tǒng)來說特別適用。
方式1為中斷方式:p3.5(int1)為步進脈沖輸入端,p3.7為正反轉脈沖輸入端。上位機(pc機或單片機)與驅動器僅以2條線相連。
方式2為串行通訊方式:上位機(pc機或單片機)將控制命令發(fā)送給驅動器,驅動器根據(jù)控制命令自行完成有關控制過程。
方式3為撥碼開關控制方式:通過k1~k5的不同組合,直接控制步進電機。
當上電或按下復位鍵kr后,at89c2051先檢測撥碼開關kx、ky的狀態(tài),根據(jù)kx、ky 的不同組合,進入不同的工作方式。以下給出方式1的程序流程框圖與源程序。
在程序的編制中,要特別注意步進電機在換向時的處理。為使步進電機在換向時能平滑過渡,不至于產(chǎn)生錯步,應在每一步中設置標志位。其中20h單元的各位為步進電機正轉標志位;21h單元各位為反轉標志位。在正轉時,不僅給正轉標志位賦值,也同時給反轉標志位賦值;在反轉時也如此。這樣,當步進電機換向時,就可以上一次的位置作為起點反向運動,避免了電機換向時產(chǎn)生錯步。
圖1 方式1程序框圖
方式1源程序:
mov 20h,#00h ;20h單元置初值,電機正轉位置指針
mov 21h,#00h ;21h單元置初值,電機反轉位置指針
mov p1,#0c0h ;p1口置初值,防止電機上電短路
mov tmod,#60h ;t1計數(shù)器置初值,開中斷
mov tl1,#0ffh
mov th1,#0ffh
setb et1
setb ea
setb tr1
sjmp $
;***********計數(shù)器1中斷程序************
it1p: jb p3.7,fan ;電機正、反轉指針
;*************電機正轉*****************
jb 00h,loop0
jb 01h,loop1
jb 02h,loop2
jb 03h,loop3
jb 04h,loop4
jb 05h,loop5
jb 06h,loop6
jb 07h,loop7
loop0: mov p1,#0d0h
mov 20h,#02h
mov 21h,#40h
ajmp quit
loop1: mov p1,#090h
mov 20h,#04h
mov 21h,#20h
ajmp quit
loop2: mov p1,#0b0h
mov 20h,#08h
mov 21h,#10h
ajmp quit
loop3: mov p1,#030h
mov 20h,#10h
mov 21h,#08h
ajmp quit
loop4: mov p1,#070h
mov 20h,#20h
mov 21h,#04h
ajmp quit
loop5: mov p1,#060h
mov 20h,#40h
mov 21h,#02h
ajmp quit
loop6: mov p1,#0e0h
mov 20h,#80h
mov 21h,#01h
ajmp quit
loop7: mov p1,#0c0h
mov ; 20h,#01h
mov 21h,#80h
ajmp quit
;***************電機反轉*****************
fan: jb 08h,looq0
jb 09h,looq1
jb 0ah,looq2
jb 0bh,looq3
jb 0ch,looq4
jb 0dh,looq5
jb 0eh,looq6
jb 0fh,looq7
looq0: mov p1,#0a0h
mov 21h,#02h
mov 20h,#40h
ajmp quit
looq1: mov p1,#0e0h
mov 21h,#04h
mov 20h,#20h
ajmp quit
looq2: mov p1,#0c0h
mov 21h,#08h
mov 20h,#10h
ajmp quit
looq3: mov p1,#0d0h
mov 21h,#10h
mov 20h,#08h
ajmp quit
looq4: mov p1,#050h
mov 21h,#20h
mov 20h,#04h
ajmp quit
looq5: mov p1,#070h
mov 21h,#40h
mov 20h,#02h
ajmp quit
looq6: mov p1,#030h
mov 21h,#80h
mov 20h,#01h
ajmp quit
looq7: mov p1,#0b0h
mov 21h,#01h
mov 20h,#80h
quit: reti
end
4.結論
該驅動器經(jīng)實驗驗證能驅動0.5n.m的步進電機。將驅動部分的電阻、電容及續(xù)流二極管的有關參數(shù)加以調整,可驅動1.2n.m的步進電機。該驅動器電路簡單可靠,結構緊湊,對于i/o口線與單片機資源緊張的系統(tǒng)來說特別適用。
該驅動器根據(jù)撥碼開關kx、ky的不同組合有三種工作方式供選擇:
方式1為中斷方式:p3.5(int1)為步進脈沖輸入端,p3.7為正反轉脈沖輸入端。上位機(pc機或單片機)與驅動器僅以2條線相連。
方式2為串行通訊方式:上位機(pc機或單片機)將控制命令發(fā)送給驅動器,驅動器根據(jù)控制命令自行完成有關控制過程。
方式3為撥碼開關控制方式:通過k1~k5的不同組合,直接控制步進電機。
當上電或按下復位鍵kr后,at89c2051先檢測撥碼開關kx、ky的狀態(tài),根據(jù)kx、ky 的不同組合,進入不同的工作方式。以下給出方式1的程序流程框圖與源程序。
在程序的編制中,要特別注意步進電機在換向時的處理。為使步進電機在換向時能平滑過渡,不至于產(chǎn)生錯步,應在每一步中設置標志位。其中20h單元的各位為步進電機正轉標志位;21h單元各位為反轉標志位。在正轉時,不僅給正轉標志位賦值,也同時給反轉標志位賦值;在反轉時也如此。這樣,當步進電機換向時,就可以上一次的位置作為起點反向運動,避免了電機換向時產(chǎn)生錯步。
圖1 方式1程序框圖
方式1源程序:
mov 20h,#00h ;20h單元置初值,電機正轉位置指針
mov 21h,#00h ;21h單元置初值,電機反轉位置指針
mov p1,#0c0h ;p1口置初值,防止電機上電短路
mov tmod,#60h ;t1計數(shù)器置初值,開中斷
mov tl1,#0ffh
mov th1,#0ffh
setb et1
setb ea
setb tr1
sjmp $
;***********計數(shù)器1中斷程序************
it1p: jb p3.7,fan ;電機正、反轉指針
;*************電機正轉*****************
jb 00h,loop0
jb 01h,loop1
jb 02h,loop2
jb 03h,loop3
jb 04h,loop4
jb 05h,loop5
jb 06h,loop6
jb 07h,loop7
loop0: mov p1,#0d0h
mov 20h,#02h
mov 21h,#40h
ajmp quit
loop1: mov p1,#090h
mov 20h,#04h
mov 21h,#20h
ajmp quit
loop2: mov p1,#0b0h
mov 20h,#08h
mov 21h,#10h
ajmp quit
loop3: mov p1,#030h
mov 20h,#10h
mov 21h,#08h
ajmp quit
loop4: mov p1,#070h
mov 20h,#20h
mov 21h,#04h
ajmp quit
loop5: mov p1,#060h
mov 20h,#40h
mov 21h,#02h
ajmp quit
loop6: mov p1,#0e0h
mov 20h,#80h
mov 21h,#01h
ajmp quit
loop7: mov p1,#0c0h
mov ; 20h,#01h
mov 21h,#80h
ajmp quit
;***************電機反轉*****************
fan: jb 08h,looq0
jb 09h,looq1
jb 0ah,looq2
jb 0bh,looq3
jb 0ch,looq4
jb 0dh,looq5
jb 0eh,looq6
jb 0fh,looq7
looq0: mov p1,#0a0h
mov 21h,#02h
mov 20h,#40h
ajmp quit
looq1: mov p1,#0e0h
mov 21h,#04h
mov 20h,#20h
ajmp quit
looq2: mov p1,#0c0h
mov 21h,#08h
mov 20h,#10h
ajmp quit
looq3: mov p1,#0d0h
mov 21h,#10h
mov 20h,#08h
ajmp quit
looq4: mov p1,#050h
mov 21h,#20h
mov 20h,#04h
ajmp quit
looq5: mov p1,#070h
mov 21h,#40h
mov 20h,#02h
ajmp quit
looq6: mov p1,#030h
mov 21h,#80h
mov 20h,#01h
ajmp quit
looq7: mov p1,#0b0h
mov 21h,#01h
mov 20h,#80h
quit: reti
end
4.結論
該驅動器經(jīng)實驗驗證能驅動0.5n.m的步進電機。將驅動部分的電阻、電容及續(xù)流二極管的有關參數(shù)加以調整,可驅動1.2n.m的步進電機。該驅動器電路簡單可靠,結構緊湊,對于i/o口線與單片機資源緊張的系統(tǒng)來說特別適用。
方式1為中斷方式:p3.5(int1)為步進脈沖輸入端,p3.7為正反轉脈沖輸入端。上位機(pc機或單片機)與驅動器僅以2條線相連。
方式2為串行通訊方式:上位機(pc機或單片機)將控制命令發(fā)送給驅動器,驅動器根據(jù)控制命令自行完成有關控制過程。
方式3為撥碼開關控制方式:通過k1~k5的不同組合,直接控制步進電機。
當上電或按下復位鍵kr后,at89c2051先檢測撥碼開關kx、ky的狀態(tài),根據(jù)kx、ky 的不同組合,進入不同的工作方式。以下給出方式1的程序流程框圖與源程序。
在程序的編制中,要特別注意步進電機在換向時的處理。為使步進電機在換向時能平滑過渡,不至于產(chǎn)生錯步,應在每一步中設置標志位。其中20h單元的各位為步進電機正轉標志位;21h單元各位為反轉標志位。在正轉時,不僅給正轉標志位賦值,也同時給反轉標志位賦值;在反轉時也如此。這樣,當步進電機換向時,就可以上一次的位置作為起點反向運動,避免了電機換向時產(chǎn)生錯步。
圖1 方式1程序框圖
方式1源程序:
mov 20h,#00h ;20h單元置初值,電機正轉位置指針
mov 21h,#00h ;21h單元置初值,電機反轉位置指針
mov p1,#0c0h ;p1口置初值,防止電機上電短路
mov tmod,#60h ;t1計數(shù)器置初值,開中斷
mov tl1,#0ffh
mov th1,#0ffh
setb et1
setb ea
setb tr1
sjmp $
;***********計數(shù)器1中斷程序************
it1p: jb p3.7,fan ;電機正、反轉指針
;*************電機正轉*****************
jb 00h,loop0
jb 01h,loop1
jb 02h,loop2
jb 03h,loop3
jb 04h,loop4
jb 05h,loop5
jb 06h,loop6
jb 07h,loop7
loop0: mov p1,#0d0h
mov 20h,#02h
mov 21h,#40h
ajmp quit
loop1: mov p1,#090h
mov 20h,#04h
mov 21h,#20h
ajmp quit
loop2: mov p1,#0b0h
mov 20h,#08h
mov 21h,#10h
ajmp quit
loop3: mov p1,#030h
mov 20h,#10h
mov 21h,#08h
ajmp quit
loop4: mov p1,#070h
mov 20h,#20h
mov 21h,#04h
ajmp quit
loop5: mov p1,#060h
mov 20h,#40h
mov 21h,#02h
ajmp quit
loop6: mov p1,#0e0h
mov 20h,#80h
mov 21h,#01h
ajmp quit
loop7: mov p1,#0c0h
mov ; 20h,#01h
mov 21h,#80h
ajmp quit
;***************電機反轉*****************
fan: jb 08h,looq0
jb 09h,looq1
jb 0ah,looq2
jb 0bh,looq3
jb 0ch,looq4
jb 0dh,looq5
jb 0eh,looq6
jb 0fh,looq7
looq0: mov p1,#0a0h
mov 21h,#02h
mov 20h,#40h
ajmp quit
looq1: mov p1,#0e0h
mov 21h,#04h
mov 20h,#20h
ajmp quit
looq2: mov p1,#0c0h
mov 21h,#08h
mov 20h,#10h
ajmp quit
looq3: mov p1,#0d0h
mov 21h,#10h
mov 20h,#08h
ajmp quit
looq4: mov p1,#050h
mov 21h,#20h
mov 20h,#04h
ajmp quit
looq5: mov p1,#070h
mov 21h,#40h
mov 20h,#02h
ajmp quit
looq6: mov p1,#030h
mov 21h,#80h
mov 20h,#01h
ajmp quit
looq7: mov p1,#0b0h
mov 21h,#01h
mov 20h,#80h
quit: reti
end
4.結論
該驅動器經(jīng)實驗驗證能驅動0.5n.m的步進電機。將驅動部分的電阻、電容及續(xù)流二極管的有關參數(shù)加以調整,可驅動1.2n.m的步進電機。該驅動器電路簡單可靠,結構緊湊,對于i/o口線與單片機資源緊張的系統(tǒng)來說特別適用。
上一篇:開關調節(jié)器主要電流波形
上一篇:風力發(fā)電機原理的解說
熱門點擊
- 三相異步電動機的啟動(起動)
- CoolRunner-Ⅱ I2C控制器寄存器
- 四相步進電機的設計
- 關于三相異步電動機的制動
- 三相異步電動機的調速解說
- Coo1Runner-Ⅱ器件實現(xiàn)SPI控制狀
- CoolRunner-II器件的功能描述
- Coo1Runner-Ⅱ器件實現(xiàn)IDE功能模
- CoolRunner-II I2C控制器CP
- Coo1Runner-Ⅱ器件實現(xiàn)SPI控制器
推薦技術資料
- 自制經(jīng)典的1875功放
- 平時我也經(jīng)常逛一些音響DIY論壇,發(fā)現(xiàn)有很多人喜歡LM... [詳細]