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