一種直接采用計算機串行口控制步進(jìn)電機的新方法
由圖4所示的電機運行過(guò)程可知,在電機運行過(guò)程中,控制脈沖的頻率f應隨時(shí)變化以滿(mǎn)足電機低速起停及高速運行的需要。脈沖頻率由發(fā)送數據的波特率(B)決定,每發(fā)出一個(gè)脈沖需用兩個(gè)二進(jìn)制位1和0來(lái)構成其高、低電平,所以f=B/2,通過(guò)調整發(fā)送數據的波特率可改變所發(fā)出的控制脈沖的頻率。按常規則波特率系列發(fā)送數據時(shí)所產(chǎn)生的控制脈沖頻率變化較大,不能滿(mǎn)足電機正常起停及調速的要求,為此計算機需按非標準的濾特率發(fā)送數據以產(chǎn)生任意頻率的控制脈沖。一般在電機起動(dòng)及停止階段(Ⅰ、Ⅲ)每發(fā)送一個(gè)字節調整一次波特率,以使電機起停得盡量平滑。
Ⅰ、Ⅲ階段頻率的調整量Δf1、Δf2分別為:
Δf1=(FH-FL)/n1 (1)
Δf2=(FH-FL)/n3+1 (2)
相應的波特率的調整量ΔB1、ΔB2分別為:
ΔB1=(BH-BL)/n1=(2FH-2FL)/n1 (3)
ΔB2=(BH-BL)/(n3+1)=(2FH-2FL)/(n3+1) (4)
發(fā)送第i個(gè)字節的波特率Bi為:
用串行口直接控制步進(jìn)電機的控制軟件流程圖如圖5所示。
4 高級控制功能
對步進(jìn)電機的高級控制,主要是指自動(dòng)找零及多機聯(lián)動(dòng)差補。
找零功能是指控制步進(jìn)電機驅動(dòng)運行機構,完成定位的過(guò)程。在找零時(shí),電機一般以低速運行,當測到ORG信號進(jìn)電機停止。由于運行速度低,為簡(jiǎn)化程序設計,每發(fā)送一個(gè)字節,在TXD端可以只輸出一個(gè)脈沖,測到ORG信號則停止發(fā)送。為保證輸出脈沖的占空比為50%,發(fā)送字節定為16#F0。找零程序的設計可參照圖5所示。
差補是指控制兩臺或兩臺以上電機按規定的速比運行,進(jìn)而控制執行機構沿規定的軌跡運行。由于一般計算機只有兩個(gè)串行口,這種方法只適用于二維差補控制。通常兩個(gè)串行口用相同的波特率進(jìn)行發(fā)送,通過(guò)調整發(fā)送的字節數及發(fā)送每個(gè)字節所產(chǎn)生的脈沖個(gè)數的不同來(lái)調整兩個(gè)電機的運行速度和位置。
實(shí)際運行證明,用串行口設備的步進(jìn)電機控制器具有使用方便、性能穩定、成本低、可移植性好、不需安裝硬件設備驅動(dòng)程序等優(yōu)點(diǎn)。
直接采用計算機串行口設計的步進(jìn)電機控制器適用于對全數字式伺服電機進(jìn)行控制。
本文對計算機串行口、并行口資源的二次開(kāi)發(fā)應用起到了一定的借鑒應用。
評論