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