1 引言 運動控制系統是以機械運動的驅動設備—電動機為控制對象,以控制器為核心,以電力電子、功率變換裝置為執行機構,在自動控制理論指導下組成的電氣傳動控制系統。在電氣時代,電動機一直在現代化的生產和生活中起著十分重要的作用。在近年來,由于半導體制造設備等相關的電子制造設備市場大幅成長,而使得機器設備上的運動控制系統出現了以下幾點技術需求: (1)多軸運動控制。機器設備因自動化程度提高而使得單一機器上所需要的軸數增多,一臺設備上十幾軸是常見的事情。在軸數變多后,如何協調各軸動作就是一個重要的課題。 (2)體積要小。由于廠房空間的限制,機器的體積要求越小越好,機器內控制器的體積也就被要求愈來愈小,相對的走線空間也愈來愈小。 (3)要更精確。隨著半導體制程已經精密到100nm一下,在制程及檢測相關設備所要求的運動精度也要更精確,其它如LCD設備,SMD制程設備也有相同要求。 (4)要更穩定。因為所有設備的投資經費龐大,系統停機的成本就更顯的突出,因此所有機器設備制造商都必須追求系統的穩定性。同時也必須考慮在組件損壞要維修時,必須能快速替換且不出差錯。 綜合以上幾點的需求分析可以看到,既要在一個控制器內進行多軸運動控制,又要控制器的體積更小,配線和維修要更容易,這些條件看來是相沖突的。可以這樣說,現場總線技術便是應這些新機器設備的需求而產生的。 2 現場總線運動控制系統通信特性 用于運動控制的現場總線有兩種通信控制策略:事件觸發和時間觸發。事件觸發中,控制單元檢測到事件發生后,根據預定的算法計算出正確的應答,然后將應答信息發送給數字伺服驅動器。從事件發生到應答信息的接收之間的延時必須是有限的,也就是最大值必須是可知的,它的值就是通信協議的實時性指標。但是,事件觸發中的事件是隨機的、不可預知的,所以導致現場總線通信的不確定性,系統中的各個站點會爭用傳輸介質,導致通信的沖突和不可靠,很難保證高的實時性。事件觸發通常是非周期性的,使用非周期性數據傳輸實現最為簡單,但是也可以用周期性數據傳輸實現,此時,就必須標識哪個周期的數據為有效數據。 時間觸發通常是周期性地進行的,控制單元周期性地計算出控制數據,然后及時發送控制數據給伺服驅動器。控制和通信是通過一個全局時鐘進行驅動的,系統的行為不僅在功能上得到確定,而且在時間上也是確定的,各站點不會爭用傳輸媒介,整個系統是可靠的。時間觸發控制中的通信周期時間應該等于控制周期時間,或者通信周期時間能夠被控制周期時間整除。周期性的時間觸發中,通信周期時間必須固定,不能有明顯的波動,即數據傳輸必須有確定性,也稱為實時性。 總體而言,用于運動控制的現場總線通信協議的性能要求有三點: (1)可靠的通信,以適合工業現場惡劣的環境; (2)數據傳輸的實時性。周期性數據傳輸和非周期性數據傳輸都必須有很高的實時性,響應時間通常為(1~10)ms。 (3)命令執行和狀態反饋的同步性。為了達到各坐標軸的同步運動精度,需要各軸在收到命令值之后必須在同一時刻同時執行位置控制指令和同時采樣當前位置,發送給控制單元。 3 CAN總線運動控制系統總體設計 CAN總線(ControllerAreaNetwork控制局域網絡),是一種普遍的應用。通過CAN總線進行數據傳輸與控制,使伺服電機的性能更加穩定,能更好更靈活地地應用于運動控制系統中。 如圖1所示,基于CAN總線的運動控制系統與控制系統典型結構相比,有兩個顯著的特點。第一是其控制對象為伺服運動控制對象,第二是其網絡化控制器包括CAN總線通信媒介和CAN控制器節點兩部分。多個CAN控制器節點通過CAN總線通信媒介平行互聯為一個單層結構的基于CAN總線的伺服運動控制系統。當需要更多軸運動控制時,只需要簡單的再增加新運動控制節點,把新的運動控制節點作為新的CAN總線節點掛接到CAN總線上就可以形成一個分布式多軸運動控制系統,而且無需在硬件上對原有的運動控制節點做任何的修改。也可通過互聯網關與IE(IndustryEthernet)或Intranet/Internet上下互聯為一個多層結構的網絡化伺服運動控制系統。 基于CAN總線運動控制系統的設計,主要工作在于對CAN控制器節點的設計,包括硬件和軟件兩部分。硬件設計,主要在于選擇合適的芯片和硬件電路分別設計圖1所示CAN控制器節點的5個基本組成部分,即主控制器、主控制器與傳感器/執行器的接口模塊、主控制器與CAN總線控制器的接口模塊、CAN總線控制器和CAN總線收發器。軟件設計,主要工作在于選擇合適的系統軟件和應用開發軟件分別設計各種接口驅動軟件、系統管理軟件和控制功能軟件。 4 系統硬件設計 主控制器筆者采用AT89C51單片機作為處理核心,采用PCA82C250作為CAN總線收發器,圖2給出了基于SJA1000的CAN總線系統電路圖。為了增強抗干擾能力,SJA1000的TX0和RX0引腳并沒有直接和PCA82C250的TXD,RXD相連接,而是通過高速光耦6N137后與PCA82C250相連,這樣可以實現總線上各CAN節點之間的電氣隔離,光耦6N137的兩側使用完全獨立的兩組電源VCC和+5V。 SJA1000與單片機的接口比較簡單,AD0~AD7直接連接到AT89C51的P0端口,RD、WR和ALE信號也直接和AT89C51的相應引腳進行連接,MODE接+5V設置SJA100控制器為Interl模式。SJA1000的片選信號CS由AT89C51的P2.0決定,因此系統中SJA1000的尋址空間從地址0開始,可以使用此地址加上SJA1000內部寄存器地址的偏移量來訪問SJA1000內部RAM空間。SJA1000的中斷輸出信號INT與AT89C51的INT0引腳相連,以便AT89C51以中斷方式或查詢方式對報文收發作出響應。 5 系統程序設計 基于SJA1000的CAN總線建立通信的過程包括系統初始化、接收和發送。 5.1SJA1000的初始化程序 AT89C51在上電后首先運行其自身的復位程序,并在此后調用SJA1000的配置程序。配置程序在設置SJA1000的寄存器前,必須通過讀復位模式/請求標志來檢查SJA1000是否已處于復位模式,因為要寫入配置信息的寄存器僅在復位模式下可以被寫入。初始化程序中,首先將SJA1000設為復位狀態,隨后定SJA1000使用PeliCAN模式,CLKOUT引腳輸出頻率為外接晶振頻率的1/2,為單驗收濾波器模式。 SJA1000的初始化流程(圖略)。 在清除SJA1000的復位模式/請求標志進入工作模式時,必須先檢查標志是否確實被清除、是否進入了工作模式后,才能進行下一步的操作。在進入工作模式后,CAN控制器的中斷可被使能,并開始正常的發送或接收報文。 5.2SJA1000的報文發送接收 根據CAN協議規范,報文的傳輸由CAN控制器SJA1000獨立完成。在報文的發送過程中,單片機AT89C51必須將要發送的報文送入系統發送緩沖區,在將系統發送緩沖區中的數據移至CAN控制器發送緩沖器之前,必須判斷發送緩沖器是否被釋放。 報文的接收由CAN控制器SJA1000獨立完成,收到的報文在接收緩沖器內,同時將狀態寄存器的接收緩沖器狀態標志RBS和接收中斷標志RI置位。如果報文接收被使能,單片機可以將接收緩沖器內的新報文讀出,并存儲到單片機的內存單元或外部數據存儲器中,然后釋放接收緩沖器。SJA1000報文接收過程可以由SJA1000的中斷請求或查詢SJA1000的控制段狀態標志來控制。 6 小結 分析傳統的運動控制系統已不滿足電子制造設備的要求和現場總線運動控制系統通信特性,提出了基于SJA1000的CAN總線的網絡化運動控制系統方案,為交流伺服的網絡化研究和應用作出了一次有益的新探索。CAN總線可以很好地滿足現場總線運動控制系統對實時響應的較高要求,同時使用CAN總線還使得系統具有很好的擴展性能。這樣為向多軸或多點的分布式運動控制網絡發展打下堅實的基礎。 |