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