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