siemens x
傳感器

基于CAN 總線的網(wǎng)絡(luò)化運(yùn)動(dòng)控制系統(tǒng)的研究

2025China.cn   2009年11月05日
  摘 要:隨著計(jì)算機(jī)技術(shù)的發(fā)展, 運(yùn)動(dòng)控制系統(tǒng)在經(jīng)過(guò)廣泛運(yùn)用的前景下正向著網(wǎng)絡(luò)化控制方向發(fā)展。主要討論了傳統(tǒng)的運(yùn)動(dòng)控制系統(tǒng)的局限性, 分析了現(xiàn)場(chǎng)總線運(yùn)動(dòng)控制系統(tǒng)通信特性, 提出了一種基于CAN 總線的多軸運(yùn)動(dòng)控制系統(tǒng)方案, 最后設(shè)計(jì)了基于SJA1000 的CAN 總線通信的軟硬件系統(tǒng)。實(shí)驗(yàn)結(jié)果表明, 該系統(tǒng)具有連接簡(jiǎn)單、通訊可靠、實(shí)時(shí)性好和易于實(shí)現(xiàn)等優(yōu)點(diǎn)。

關(guān)鍵詞:運(yùn)動(dòng)控制; CAN 總線; 總線通訊; SJA1000

Research of networked movement- sys tem based on CANbus
SHU Zhi- bing, ZHANG Jie

Abstract:With developments of the computer technology, motion control system is wisely usedand the system based on network is deeply researched. It‘ s discussed that conventional motion controlsystem has drawback,analysed communication characteristic of fieldbus control system, and designed amotion control system based on last, It presents the hardware and the communication softwaredesign of CANbus based on SJA1000. The system is proved to be simpler to connect,more reliable andeasier to realize on experiment .

Key words: Motion control; CANbus; Communication; SJA1000

1 引言

  運(yùn)動(dòng)控制系統(tǒng)是以機(jī)械運(yùn)動(dòng)的驅(qū)動(dòng)設(shè)備—電動(dòng)機(jī)為控制對(duì)象, 以控制器為核心, 以電力電子、功率變換裝置為執(zhí)行機(jī)構(gòu), 在自動(dòng)控制理論指導(dǎo)下組成的電氣傳動(dòng)控制系統(tǒng)。在電氣時(shí)代, 電動(dòng)機(jī)一直在現(xiàn)代化的生產(chǎn)和生活中起著十分重要的作用。在近年來(lái), 由于半導(dǎo)體制造設(shè)備等相關(guān)的電子制造設(shè)備市場(chǎng)大幅成長(zhǎng), 而使得機(jī)器設(shè)備上的運(yùn)動(dòng)控制系統(tǒng)出現(xiàn)了以下幾點(diǎn)技術(shù)需求:
( 1) 多軸運(yùn)動(dòng)控制。機(jī)器設(shè)備因自動(dòng)化程度提高而使得單一機(jī)器上所需要的軸數(shù)增多, 一臺(tái)設(shè)備上十幾軸是常見(jiàn)的事情。在軸數(shù)變多后, 如何協(xié)調(diào)各軸動(dòng)作就是一個(gè)重要的課題。
( 2) 體積要小。由于廠房空間的限制, 機(jī)器的體積要求越小越好, 機(jī)器內(nèi)控制器的體積也就被要求愈來(lái)愈小, 相對(duì)的走線空間也愈來(lái)愈小。
( 3) 要更精確。隨著半導(dǎo)體制程已經(jīng)精密到100nm 一下, 在制程及檢測(cè)相關(guān)設(shè)備所要求的運(yùn)動(dòng)精度也要更精確, 其它如LCD 設(shè)備, SMD 制程設(shè)備也有相同要求。
( 4) 要更穩(wěn)定。因?yàn)樗性O(shè)備的投資經(jīng)費(fèi)龐大, 系統(tǒng)停機(jī)的成本就更顯的突出, 因此所有機(jī)器設(shè)備制造商都必須追求系統(tǒng)的穩(wěn)定性。同時(shí)也必須考慮在組件損壞要維修時(shí), 必須能快速替換且不出差錯(cuò)。
  綜合以上幾點(diǎn)的需求分析可以看到, 既要在一個(gè)控制器內(nèi)進(jìn)行多軸運(yùn)動(dòng)控制, 又要控制器的體積更小, 配線和維修要更容易, 這些條件看來(lái)是相沖突的??梢赃@樣說(shuō), 現(xiàn)場(chǎng)總線技術(shù)便是應(yīng)這些新機(jī)器設(shè)備的需求而產(chǎn)生的。

2 現(xiàn)場(chǎng)總線運(yùn)動(dòng)控制系統(tǒng)通信特性

  用于運(yùn)動(dòng)控制的現(xiàn)場(chǎng)總線有兩種通信控制策略: 事件觸發(fā)和時(shí)間觸發(fā)。事件觸發(fā)中, 控制單元檢測(cè)到事件發(fā)生后, 根據(jù)預(yù)定的算法計(jì)算出正確的應(yīng)答, 然后將應(yīng)答信息發(fā)送給數(shù)字伺服驅(qū)動(dòng)器。從事件發(fā)生到應(yīng)答信息的接收之間的延時(shí)必須是有限的, 也就是最大值必須是可知的, 它的值就是通信協(xié)議的實(shí)時(shí)性指標(biāo)。但是, 事件觸發(fā)中的事件是隨機(jī)的、不可預(yù)知的, 所以導(dǎo)致現(xiàn)場(chǎng)總線通信的不確定性, 系統(tǒng)中的各個(gè)站點(diǎn)會(huì)爭(zhēng)用傳輸介質(zhì),導(dǎo)致通信的沖突和不可靠, 很難保證高的實(shí)時(shí)性。事件觸發(fā)通常是非周期性的, 使用非周期性數(shù)據(jù)傳輸實(shí)現(xiàn)最為簡(jiǎn)單, 但是也可以用周期性數(shù)據(jù)傳輸實(shí)現(xiàn), 此時(shí), 就必須標(biāo)識(shí)哪個(gè)周期的數(shù)據(jù)為有效數(shù)據(jù)。
時(shí)間觸發(fā)通常是周期性地進(jìn)行的, 控制單元周期性地計(jì)算出控制數(shù)據(jù), 然后及時(shí)發(fā)送控制數(shù)據(jù)給伺服驅(qū)動(dòng)器??刂坪屯ㄐ攀峭ㄟ^(guò)一個(gè)全局時(shí)鐘進(jìn)行驅(qū)動(dòng)的, 系統(tǒng)的行為不僅在功能上得到確定, 而且在時(shí)間上也是確定的, 各站點(diǎn)不會(huì)爭(zhēng)用傳輸媒介,整個(gè)系統(tǒng)是可靠的。時(shí)間觸發(fā)控制中的通信周期時(shí)間應(yīng)該等于控制周期時(shí)間, 或者通信周期時(shí)間能夠被控制周期時(shí)間整除。周期性的時(shí)間觸發(fā)中, 通信周期時(shí)間必須固定, 不能有明顯的波動(dòng), 即數(shù)據(jù)傳輸必須有確定性, 也稱為實(shí)時(shí)性。
總體而言, 用于運(yùn)動(dòng)控制的現(xiàn)場(chǎng)總線通信協(xié)議的性能要求有三點(diǎn):
( 1) 可靠的通信, 以適合工業(yè)現(xiàn)場(chǎng)惡劣的環(huán)境;
( 2) 數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。周期性數(shù)據(jù)傳輸和非周期性數(shù)據(jù)傳輸都必須有很高的實(shí)時(shí)性, 響應(yīng)時(shí)間通常為( 1~10) ms。
( 3)命令執(zhí)行和狀態(tài)反饋的同步性。為了達(dá)到各坐標(biāo)軸的同步運(yùn)動(dòng)精度, 需要各軸在收到命令值之后必須在同一時(shí)刻同時(shí)執(zhí)行位置控制指令和同時(shí)采樣當(dāng)前位置, 發(fā)送給控制單元。

3 CAN 總線運(yùn)動(dòng)控制系統(tǒng)總體設(shè)計(jì)

  CAN 總線( Controller Area Network 控制局域網(wǎng)絡(luò)) , 是一種普遍的應(yīng)用。通過(guò)CAN 總線進(jìn)行數(shù)據(jù)傳輸與控制, 使伺服電機(jī)的性能更加穩(wěn)定, 能更好更靈活地地應(yīng)用于運(yùn)動(dòng)控制系統(tǒng)中。


  如圖1 所示, 基于CAN 總線的運(yùn)動(dòng)控制系統(tǒng)與控制系統(tǒng)典型結(jié)構(gòu)相比, 有兩個(gè)顯著的特點(diǎn)。第一是其控制對(duì)象為伺服運(yùn)動(dòng)控制對(duì)象, 第二是其網(wǎng)絡(luò)化控制器包括CAN 總線通信媒介和CAN 控制器節(jié)點(diǎn)兩部分。多個(gè)CAN 控制器節(jié)點(diǎn)通過(guò)CAN 總線通信媒介平行互聯(lián)為一個(gè)單層結(jié)構(gòu)的基于 CAN 總線的伺服運(yùn)動(dòng)控制系統(tǒng)。當(dāng)需要更多軸運(yùn)動(dòng)控制時(shí), 只需要簡(jiǎn)單的再增加新運(yùn)動(dòng)控制節(jié)點(diǎn), 把新的運(yùn)動(dòng)控制節(jié)點(diǎn)作為新的CAN 總線節(jié)點(diǎn)掛接到 CAN 總線上就可以形成一個(gè)分布式多軸運(yùn)動(dòng)控制系統(tǒng), 而且無(wú)需在硬件上對(duì)原有的運(yùn)動(dòng)控制節(jié)點(diǎn)做任何的修改。也可通過(guò)互聯(lián)網(wǎng)關(guān)與 IE( Industry Ethernet) 或Intranet/Internet 上下互聯(lián)為一個(gè)多層結(jié)構(gòu)的網(wǎng)絡(luò)化伺服運(yùn)動(dòng)控制系統(tǒng)。
  基于CAN 總線運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì), 主要工作在于對(duì)CAN 控制器節(jié)點(diǎn)的設(shè)計(jì), 包括硬件和軟件兩部分。硬件設(shè)計(jì), 主要在于選擇合適的芯片和硬件電路分別設(shè)計(jì)圖1 所示CAN 控制器節(jié)點(diǎn)的5 個(gè)基本組成部分, 即主控制器、主控制器與傳感器/ 執(zhí)行器的接口模塊、主控制器與CAN 總線控制器的接口模塊、CAN 總線控制器和CAN 總線收發(fā)器。軟件設(shè)計(jì), 主要工作在于選擇合適的系統(tǒng)軟件和應(yīng)用開發(fā)軟件分別設(shè)計(jì)各種接口驅(qū)動(dòng)軟件、系統(tǒng)管理軟件和控制功能軟件。

4 系統(tǒng)硬件設(shè)計(jì)

  主控制器筆者采用AT89C51 單片機(jī)作為處理核心, 采用PCA82C250 作為CAN 總線收發(fā)器, 圖2 給出了基于 SJA1000的CAN 總線系統(tǒng)電路圖。為了增強(qiáng)抗干擾能力, SJA1000 的TX0 和RX0 引腳并沒(méi)有直接和PCA82C250 的 TXD, RXD 相連接, 而是通過(guò)高速光耦6N137 后與PCA82C250 相連, 這樣可以實(shí)現(xiàn)總線上各CAN 節(jié)點(diǎn)之間的電氣隔離, 光耦 6N137 的兩側(cè)使用完全獨(dú)立的兩組電源VCC 和+5V。


  SJA1000 與單片機(jī)的接口比較簡(jiǎn)單, AD0~AD7 直接連接到AT89C51 的P0 端口, RD、WR 和ALE 信號(hào)也直接和AT89C51的相應(yīng)引腳進(jìn)行連接, MODE 接+5V 設(shè)置SJA100 控制器為Interl模式。SJA1000 的片選信號(hào)CS 由 AT89C51 的P2.0 決定, 因此系統(tǒng)中SJA1000 的尋址空間從地址0 開始, 可以使用此地址加上SJA1000 內(nèi)部寄存器地址的偏移量來(lái)訪問(wèn)SJA1000 內(nèi)部RAM空間。SJA1000 的中斷輸出信號(hào)INT 與AT89C51 的INT0引腳相連, 以便AT89C51 以中斷方式或查詢方式對(duì)報(bào)文收發(fā)作出響應(yīng)。

5 系統(tǒng)程序設(shè)計(jì)

  基于SJA1000 的CAN 總線建立通信的過(guò)程包括系統(tǒng)初始化、接收和發(fā)送。

5.1 SJA1000 的初始化程序

  AT89C51 在上電后首先運(yùn)行其自身的復(fù)位程序, 并在此后調(diào)用SJA1000 的配置程序。配置程序在設(shè)置SJA1000 的寄存器前, 必須通過(guò)讀復(fù)位模式/ 請(qǐng)求標(biāo)志來(lái)檢查SJA1000 是否已處于復(fù)位模式, 因?yàn)橐獙懭肱渲眯畔⒌募拇嫫鲀H在復(fù)位模式下可以被寫入。初始化程序中, 首先將SJA1000 設(shè)為復(fù)位狀態(tài), 隨后定SJA1000 使用PeliCAN 模式, CLKOUT 引腳輸出頻率為外接晶振頻率的 1/2, 為單驗(yàn)收濾波器模式。
SJA1000 的初始化流程( 圖略) 。
  在清除SJA1000 的復(fù)位模式/ 請(qǐng)求標(biāo)志進(jìn)入工作模式時(shí),必須先檢查標(biāo)志是否確實(shí)被清除、是否進(jìn)入了工作模式后, 才能進(jìn)行下一步的操作。在進(jìn)入工作模式后, CAN 控制器的中斷可被使能, 并開始正常的發(fā)送或接收?qǐng)?bào)文。

5.2 SJA1000 的報(bào)文發(fā)送接收

  根據(jù)CAN 協(xié)議規(guī)范, 報(bào)文的傳輸由CAN 控制器SJA1000獨(dú)立完成。在報(bào)文的發(fā)送過(guò)程中, 單片機(jī)AT89C51 必須將要發(fā)送的報(bào)文送入系統(tǒng)發(fā)送緩沖區(qū), 在將系統(tǒng)發(fā)送緩沖區(qū)中的數(shù)據(jù)移至CAN 控制器發(fā)送緩沖器之前, 必須判斷發(fā)送緩沖器是否被釋放。
  報(bào)文的接收由CAN 控制器SJA1000 獨(dú)立完成, 收到的報(bào)文在接收緩沖器內(nèi), 同時(shí)將狀態(tài)寄存器的接收緩沖器狀態(tài)標(biāo)志RBS 和接收中斷標(biāo)志RI 置位。如果報(bào)文接收被使能, 單片機(jī)可以將接收緩沖器內(nèi)的新報(bào)文讀出, 并存儲(chǔ)到單片機(jī)的內(nèi)存單元或外部數(shù)據(jù)存儲(chǔ)器中, 然后釋放接收緩沖器。SJA1000 報(bào)文接收過(guò)程可以由SJA1000 的中斷請(qǐng)求或查詢SJA1000 的控制段狀態(tài)標(biāo)志來(lái)控制。

6 小結(jié)

  分析傳統(tǒng)的運(yùn)動(dòng)控制系統(tǒng)已不滿足電子制造設(shè)備的要求和現(xiàn)場(chǎng)總線運(yùn)動(dòng)控制系統(tǒng)通信特性, 提出了基于SJA1000 的CAN總線的網(wǎng)絡(luò)化運(yùn)動(dòng)控制系統(tǒng)方案, 為交流伺服的網(wǎng)絡(luò)化研究和應(yīng)用作出了一次有益的新探索。CAN 總線可以很好地滿足現(xiàn)場(chǎng)總線運(yùn)動(dòng)控制系統(tǒng)對(duì)實(shí)時(shí)響應(yīng)的較高要求, 同時(shí)使用CAN 總線還使得系統(tǒng)具有很好的擴(kuò)展性能。這樣為向多軸或多點(diǎn)的分布式運(yùn)動(dòng)控制網(wǎng)絡(luò)發(fā)展打下堅(jiān)實(shí)的基礎(chǔ)。

參考文獻(xiàn)

1 饒運(yùn)濤, 鄒繼軍, 鄭勇蕓. 現(xiàn)場(chǎng)總線CAN 原理與應(yīng)用技術(shù)[M]. 北京: 北京航空航天大學(xué)出版社, 2003.
2 舒志兵等. 交流伺服運(yùn)動(dòng)控制系統(tǒng)[M]. 北京: 清華大學(xué)出版社, 2006.
3 楊金巖, 鄭應(yīng)強(qiáng), 張振仁. 數(shù)據(jù)傳輸擴(kuò)展技術(shù)與應(yīng)用實(shí)例[M]. 北京: 人民郵電出版社, 2005.

(轉(zhuǎn)載)

標(biāo)簽:運(yùn)動(dòng)控制 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道