高 聰
(黃河水利職業技術學院,河南 開封 475004)
傳統的運動控制系統大多數都是封閉式結構,其控制軟件的兼容性差、容錯性弱、可靠性低[1]。 伴隨著科學技術的進步, 這些運動控制系統已難以滿足當今機械加工行業的發展要求[2]。因此,研究和開發高性能運動控制系統具有重要意義。
隨著計算機技術和集成電路技術的快速發展,開放式結構廣泛普及并強勁發展。 而開放式結構的發展為運動控制系統積累了經驗, 創造了良好的前提條件。 智能化的運動控制系統成為運動控制系統的發展方向[3]。由于目前單片機的廣泛普及,采用運動控制器的數控系統將成為數控技術的發展趨勢。運動控制器直接發出運動控制指令, 驅動設備接收指令,并且根據指令向主軸發出運動控制信號。這種開放式運動控制器已占據運動控制系統設計方案的主導地位[4]。 為了解決實際工程問題,筆者采用PIC24FJ256DA210 單片機和MCX314AL 運動控制芯片設計了一套四軸伺服控制器[5-6]。
該控制器通過PIC 單片機對MCX314AL 的WR0-7 模式寄存器進行讀寫操作,以控制MCX314的輸出狀態,從而實現2/3 軸插補、圓弧插補、直線加減速、S 曲線加減速、外部脈沖驅動、限位原點檢測、急停檢測等功能。 它還可將輸出脈沖送至松下脈沖型伺服驅動器,帶動伺服電機完成控制系統功能[7]。 運動控制系統結構圖如圖1 所示。

圖1 運動控制系統結構圖Fig.1 Structure of motion control system
微控制器PIC 單片機與專用運動控制芯片MCX314AL 的接口設計是運動控制器設計的關鍵。MCX314AL 和PIC24FJ256DA210 兩個芯片之間的16 根數據線須對應相接。 由于專用運動控制芯片內部沒有用電阻拉高,所以在相接時,需要先用高阻抗將數據線拉高到+3.3V, 再將MCX314AL 芯片的H16L8 引腳、TESTN 引腳置高。 MCX314 采用16 位數據總線的模式,所以地址線只用到A0、A1、A2,將它們分別與單片機的地址線PMA0、PMA1、PMA2 連接。 PIC 單片機的讀寫操作與MCX314AL 的RDN和WRN 連接。 另外, 為了設計MCX314AL 硬件中斷,將MCX314AL 的中斷引腳INTN 置于高位后,與PIC 單片機的中斷信號INT0 連接。 PMCS1 與MCX314AL 片選 CSN 相連。 PIC 單片機與MCX314AL 的總線接口設計如圖2 所示。

圖2 PIC 單片機與MCX314AL 的總線接口設計圖Fig.2 Design of bus interface of PIC MCU and MCX314AL
MCX314AL 實現四軸控制 (X 軸、Y 軸、Z 軸、U軸),其信號驅動接口電路設計如圖3 所示。

圖3 MCX314AL 信號驅動接口電路設計框圖Fig.3 Design of MCX314AL signal driver interface circuit
MCX314AL 芯片各個軸模塊中均有2 個脈沖輸出引腳, 與X 軸相對應的引腳為XPP/PLS 和XPM/DIR,其輸出脈沖有CW/CCW、Pulse/DIR2 種模式。 在CW/CCW 模式下,正方向驅動時,驅動脈沖從XPP輸出; 負方向驅動時, 驅動脈沖從XPM 輸出。 在Pulse/DIR 模式下,XPP 輸出驅動脈沖,XPM 輸出方向信號。 輸出脈沖模式的選擇可以通過內部寄存器WR2 的D6 位來完成。
2 個軸的脈沖輸出信號XPP、XPM 和YPP、YPM通過數字隔離器ADUM1412 隔離,而后由差分驅動芯片AM26LS31 輸出差分信號XPP+/XPP-、XPM+/XPM-和YPP+/YPP-、YPM+/YPM-。 在差分輸出的信號接口上,都并聯一個壓敏電阻,用于防止外部高壓脈沖引起輸出電路的損壞,保護敏感的電子組件。輸出的差分信號被送到伺服驅動器,經過功率放大,驅動伺服電機運動。MCX314AL 中部X、Y 軸脈沖輸出接口電路設計如圖4 所示。

圖4 脈沖輸出接口電路設計圖Fig.4 Design of pulse output interface circuit
當左右限位開關中的某一個發生動作時, 相應的XLMT+或XLMT-信號為有效低電平, 經光電耦合器TLP121 后, 進入到運動控制芯片的硬件限位信號(XLMTP、XLMTM)輸入引腳,停止脈沖的輸出。采用光電耦合器可以有效地防止干擾從過程通道進入運動控制卡。 光電耦合器TLP121 的主要優點是,能有效抑制尖脈沖及各種噪音干擾, 從而使過程通道上的信噪比大大提高。 超程限位開關信號接口電路設計如圖5 所示。

圖5 超程限位開關信號接口電路設計圖Fig.5 Design of interface circuit of over-travel limit switch signal
在閉環控制中, 當控制電路向電機發出理論控制脈沖后, 前端編碼器能夠將實際脈沖數反饋給控制電路。 反饋的編碼器信號將nECAP、nECAN、nECBP、nECBN、nIN0P、nIN0N 分別對應連接到編碼器A、/A、B、/B、Z、/Z 信號輸出端。 同時,在信號的輸入端,增添了高速光電耦合器PC9D10,進行電氣隔離。 編碼器接口電路設計如圖6 所示。

圖6 編碼器接口電路設計圖Fig.6 Design of encoder interface circuit
軟件設計可以分為PIC24FJ256DA210 與PC 機之間的通信和PIC24FJ256DA210 對MCX314AL 的控制2 部分。
在系統通電之后, 開發板上固有的初始化程序開始執行(比如存儲器空間的定義和中斷的初始化等),接著要執行C 語言編制的主程序。 如果主程序運行中斷,可判斷是否調用驅動程序。 如果不調用,程序再次等待, 直到調用開始, 給驅動器發出電信號。電機運轉之后,位置檢測裝置立刻開始檢測電機是否正常運轉。如果電機不能夠正常運轉,就讓信號返回驅動器,而后進行差補處理;如果電機能夠正常工作,則直接由電機帶動執行機構做下一步工作,繼而開始執行結構工作的判斷。如不能正常工作,就返回到主程序進行異端處理;如能正常工作,則返回驅動器進行下一次的循環。系統工作流程如圖7 所示。

圖7 系統工作流程Fig.7 System work flow
MCX314AL 可以按S 形曲線和梯形曲線進行加/減速設置。 用戶根據電機性能和負載情況,在人機界面的參數設置中,進行加/減速參數設置。 在進行直線插補之前, 系統軟件根據參數判斷是否需要進行反向間隙補償。在執行直線插補時,系統軟件根據給定的速度和位移量,在MCX314AL 相應寄存器中寫入控制命令。 直線插補程序流程如圖8 所示。

圖8 直線插補程序流程圖Fig.8 Linear interpolation program flow
MCX314AL 提供了圓弧插補功能。 系統根據指令的位置和速度,向MCX314AL 寫入相應的控制命令。 MCX314AL 對圓弧插補提供了自動加速功能,但減速點需要根據MCX314AL 的性能在軟件中進行專門的處理。由于設計者的算法不同,補償效果也不同,因此圓弧插補要比直線插補復雜得多。圓弧插補程序流程如圖9 所示。

圖9 圓弧插補程序流程圖Fig.9 Circular interpolation program flow
連續插補是執行一系列插補的過程, 例如直線插補、圓弧插補、直線插補……,且在此過程中,沒有停頓,連續地輸出脈沖。 要執行連續插補,微處理器必須在上一條插補命令執行完之前,向MCX314AL中寫入下一條插補命令。 連續插補流程如圖10 所示。
在進行連續插補時,如果主狀態寄存器RR0 的D9 位是1,MCX314AL 將準備就緒接收下一個指令; 如果D9=0, 單片機將不能把插補指令送到MCX314AL 中。所謂的標準的連續插補過程應該是,寫入插補參數和命令后,檢查主狀態寄存器RR0 的D9 位是1 還是0,若D9 位是1,執行寫入的命令;若D9 位不是1,則重復寫入命令,并檢查D9。

圖10 連續插補程序流程圖Fig.10 Continuous interpolation program flow
本文設計的獨立運動控制器以PIC 單片機為信息處理平臺,對MCX314 專用運動控制芯片進行讀寫操作。MCX314 具有高精度的復雜運動控制算法,程序易于實現,工作性能可靠,接口相對簡單,給運動控制系統設計帶來極大的方便。 通過PIC 單片機對MCX314 的WR0-7 模式寄存器進行寫操作,控制運動控制芯片MCX314 的輸出狀態,其控制信號可輸送至松下伺服電機, 進而實現四軸伺服運動控制。 該伺服控制器具有運動軌跡控制準確、信息處理能力強、開放程度高、通用性好的特點,可廣泛應用于機器人、數控機床加工等領域的復雜運動控制系統。