《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于CAN 總線的網(wǎng)絡(luò)化運動控制系統(tǒng)的研究
基于CAN 總線的網(wǎng)絡(luò)化運動控制系統(tǒng)的研究
機械設(shè)計與制造
舒志兵 張杰
摘要: 運動控制系統(tǒng)是以機械運動的驅(qū)動設(shè)備—電動機為控制對象, 以控制器為核心, 以電力電子、功率變換裝置為執(zhí)行機構(gòu), 在自動控制理論指導(dǎo)下組成的電氣傳動控制系統(tǒng)。在電氣時代, 電動機一直在現(xiàn)代化的生產(chǎn)和生活中起著十分重要的作用。
Abstract:
Key words :

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í)行位置控制指令和同時采樣當前位置, 發(fā)送給控制單元。

3 CAN 總線運動控制系統(tǒng)總體設(shè)計

      CAN 總線( Controller Area Network 控制局域網(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)。當需要更多軸運動控制時, 只需要簡單的再增加新運動控制節(jié)點, 把新的運動控制節(jié)點作為新的CAN 總線節(jié)點掛接到CAN 總線上就可以形成一個分布式多軸運動控制系統(tǒng), 而且無需在硬件上對原有的運動控制節(jié)點做任何的修改。也可通過互聯(lián)網(wǎng)關(guān)與IE( Industry Ethernet) 或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.1 SJA1000 的初始化程序

      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.2 SJA1000 的報文發(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ǔ)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。