国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CANopen協(xié)議的機(jī)械手的實(shí)現(xiàn)

2015-06-22 15:05李向如俞建定汪沁
關(guān)鍵詞:控制電路驅(qū)動(dòng)器機(jī)械手

李向如,俞建定,汪沁

(寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江寧波315211)

基于CANopen協(xié)議的機(jī)械手的實(shí)現(xiàn)

李向如,俞建定,汪沁

(寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江寧波315211)

CANopen協(xié)議是由CAN-in-Automation(CiA)定義的標(biāo)準(zhǔn),并且在以CAN為基礎(chǔ)的工業(yè)系統(tǒng)領(lǐng)域中占著主導(dǎo)地位。本文以五軸機(jī)械手的設(shè)計(jì)實(shí)現(xiàn)為背景,結(jié)合CANopen協(xié)議在汽車電子和工業(yè)控制領(lǐng)域中的廣泛應(yīng)用,實(shí)現(xiàn)了對(duì)多電機(jī)系統(tǒng)的實(shí)時(shí)控制。文中提供的以CAN總線控制多個(gè)伺服電機(jī)的設(shè)計(jì)方法,使得硬件電路的設(shè)計(jì)得到很大簡(jiǎn)化,同時(shí)也使得通信效率和可靠性得到大幅提升。本方案在實(shí)際運(yùn)行中已經(jīng)得到充分的驗(yàn)證,對(duì)工業(yè)控制領(lǐng)域有著實(shí)際的應(yīng)用指導(dǎo)意義。

CAN;CANopen;多電機(jī)系統(tǒng)控制;現(xiàn)場(chǎng)總線

0 引言

CAN(Controller Area Network,控制器局域網(wǎng))總線是由德國(guó)Bosch公司設(shè)計(jì)的,是一種技術(shù)先進(jìn)、可靠性高、成本低的網(wǎng)絡(luò)通信控制方式。它在離散控制領(lǐng)域得到了廣泛應(yīng)用,是唯一成為國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線[1]。由于CAN只定義了OSI網(wǎng)絡(luò)模型中的第一層(物理層)和第二層(數(shù)據(jù)鏈路層),沒(méi)有應(yīng)用層,所以需要高層協(xié)議來(lái)具體定義CAN報(bào)文的使用。CANopen協(xié)議是基于CAL協(xié)議的擴(kuò)展,是目前基于CAN的高層通信協(xié)議的一種。CANopen是由CAN-in-Automation(CiA)定義的標(biāo)準(zhǔn),并且在以CAN為基礎(chǔ)的工業(yè)系統(tǒng)領(lǐng)域中占著主導(dǎo)地位[2]。CANopen專門為不同的接口設(shè)備應(yīng)用子協(xié)議定義了行規(guī)(DSP4),其中CiA402是針對(duì)驅(qū)動(dòng)裝置和運(yùn)動(dòng)控制裝置的設(shè)備規(guī)范。本文就是根據(jù)CANopen協(xié)議在伺服驅(qū)動(dòng)設(shè)備上的應(yīng)用進(jìn)行展開(kāi)討論的。

1 CANopen通信協(xié)議簡(jiǎn)析

CANopen的參考模型如圖1所示。由此圖可以看出CANopen是以CAN為基礎(chǔ)的,CAN數(shù)據(jù)鏈路層提供具有標(biāo)示符的報(bào)文的廣播服務(wù),所以報(bào)文不是發(fā)送到某一個(gè)遠(yuǎn)程節(jié)點(diǎn)的特定的應(yīng)用程序。實(shí)際上,每個(gè)應(yīng)用程序只需要根據(jù)報(bào)文的標(biāo)示符決定是否接受通信對(duì)象所攜帶的數(shù)據(jù),這種特性決定了CAN網(wǎng)絡(luò)是一種基于報(bào)文的協(xié)議,而CANopen協(xié)議中的服務(wù)對(duì)象就是CAN網(wǎng)絡(luò)中傳輸?shù)腃AN報(bào)文。

CANopen的設(shè)備模型如圖2所示。從圖中可以看出,一個(gè)CAN設(shè)備主要分為三部分:通信接口、對(duì)象字典、應(yīng)用程序。通信接口主要定義了四種不同種類的通信對(duì)象:服務(wù)數(shù)據(jù)對(duì)象、過(guò)程數(shù)據(jù)對(duì)象、網(wǎng)絡(luò)管理對(duì)象和特殊功能對(duì)象,用來(lái)實(shí)現(xiàn)通信、網(wǎng)絡(luò)管理和緊急情況處理等功能[3]。這四類通信對(duì)象(COB)都是由一個(gè)或多個(gè)報(bào)文實(shí)現(xiàn)的。過(guò)程數(shù)據(jù)對(duì)象(PDO消息)用來(lái)傳輸實(shí)時(shí)的數(shù)據(jù);服務(wù)數(shù)據(jù)對(duì)象(SDO服務(wù)器消息和SDO客戶端消息)用來(lái)配置網(wǎng)絡(luò)參數(shù)和訪問(wèn)節(jié)點(diǎn)的對(duì)象字典,建立兩個(gè)CANopen設(shè)備之間的客戶/服務(wù)器的關(guān)系;網(wǎng)絡(luò)管理對(duì)象(NMT)負(fù)責(zé)網(wǎng)絡(luò)的啟動(dòng)和監(jiān)控設(shè)備;特殊功能對(duì)象是指同步(SYNC)、時(shí)間標(biāo)記對(duì)象、緊急事件、節(jié)點(diǎn)保護(hù)。

圖2 CANopen設(shè)備模型

CANopen對(duì)象字典(Object Dictionary,OD)是CANopen協(xié)議最為核心的概念。對(duì)象字典就是通過(guò)網(wǎng)絡(luò)讀取一組提前定義好的對(duì)象,相當(dāng)于一個(gè)參數(shù)列表,每一個(gè)對(duì)象是用一個(gè)16位的索引和8位的子索引來(lái)定位。為了允許訪問(wèn)數(shù)據(jù)結(jié)構(gòu)中的單個(gè)元素,同時(shí)也定義了一個(gè)8位的子索引。對(duì)象字典是所有數(shù)據(jù)結(jié)構(gòu)的集合,這些數(shù)據(jù)結(jié)構(gòu)涉及設(shè)備的應(yīng)用程序、通信以及狀態(tài)機(jī),也是通信接口與應(yīng)用程序之間的接口。

CANopen由一系列稱為子協(xié)議的文檔組成,這些子協(xié)議主要分為3類,分別是通信子協(xié)議、制造商自定義子協(xié)議和設(shè)備子協(xié)議。子協(xié)議描述對(duì)象字典中的每個(gè)對(duì)象的功能、名字、索引、子索引、數(shù)據(jù)類型、讀寫(xiě)屬性,以及這個(gè)對(duì)象是否必須等待,從而保證不同制造商的同類設(shè)備能夠相互兼容。根據(jù)這些協(xié)議生產(chǎn)CANopen設(shè)備能夠?qū)崿F(xiàn)不同廠商產(chǎn)品之間的互操作,大大降低了系統(tǒng)通信的開(kāi)發(fā)難度[4-6]。

2 機(jī)械手的實(shí)現(xiàn)

機(jī)械手主要有三部分組成:手部、運(yùn)動(dòng)機(jī)構(gòu)、控制系統(tǒng)。手部是指用來(lái)抓取物體的部件;運(yùn)動(dòng)機(jī)構(gòu)使手部完成各種規(guī)定動(dòng)作;控制系統(tǒng)通過(guò)對(duì)各個(gè)電機(jī)的控制來(lái)完成所需要的規(guī)定動(dòng)作,同時(shí)通過(guò)接收反饋的信息形成閉環(huán)控制。控制系統(tǒng)是機(jī)械手實(shí)現(xiàn)的關(guān)鍵部分,本文主要設(shè)計(jì)實(shí)現(xiàn)的是控制系統(tǒng)。

由圖3可以看出,該系統(tǒng)主要由4部分組成:手持

隨著現(xiàn)場(chǎng)總線在工業(yè)控制領(lǐng)域中越來(lái)越廣泛的應(yīng)用,以及控制系統(tǒng)向著網(wǎng)絡(luò)化、開(kāi)放性的方向發(fā)展,所以本文也采用總線的方式進(jìn)行設(shè)計(jì)??刂葡到y(tǒng)與外部設(shè)備的通信分別采用以太網(wǎng)總線和CAN總線。本文設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)如圖3所示。器、控制電路、電機(jī)驅(qū)動(dòng)器及電機(jī)。其運(yùn)行過(guò)程大致是手持器通過(guò)以太網(wǎng)接口把相應(yīng)的動(dòng)作指令發(fā)給控制電路,該過(guò)程采用LWIP協(xié)議;然后控制電路在接收到指令之后,開(kāi)始解析指令,再通過(guò)CAN接口給伺服電機(jī)驅(qū)動(dòng)器發(fā)送指令,該過(guò)程采用CANopen協(xié)議;伺服驅(qū)動(dòng)器在得到指令后開(kāi)始驅(qū)動(dòng)電機(jī),在電機(jī)到達(dá)指定位置后停止。整個(gè)系統(tǒng)運(yùn)行過(guò)程中,如何實(shí)現(xiàn)對(duì)5個(gè)電機(jī)的實(shí)時(shí)控制是整個(gè)系統(tǒng)的關(guān)鍵。為保證數(shù)據(jù)在傳輸過(guò)程中的可靠性和實(shí)時(shí)性,系統(tǒng)在設(shè)計(jì)時(shí)采用了CAN接口和以太網(wǎng)接口[7]。

3 機(jī)械手CANopen通信的設(shè)計(jì)與實(shí)現(xiàn)

3.1 CANopen通信的硬件設(shè)計(jì)

由圖3可以看出,CANopen通信是在控制電路和電機(jī)驅(qū)動(dòng)器之間實(shí)現(xiàn)的。CANopen只是一個(gè)應(yīng)用層的規(guī)范協(xié)議,與具體總線的物理實(shí)現(xiàn)無(wú)關(guān)。由圖1 CANopen的參考模型可以看出,CANopen是以CAN為基礎(chǔ)的,所以CANopen的硬件實(shí)現(xiàn)實(shí)際是CAN總線的設(shè)計(jì)實(shí)現(xiàn)。電機(jī)驅(qū)動(dòng)器自身支持CANopen協(xié)議,所以硬件實(shí)現(xiàn)的關(guān)鍵是控制電路能符合CANopen協(xié)議。CAN的硬件實(shí)現(xiàn)包括兩個(gè)部分:與OSI模型中數(shù)據(jù)鏈路層和物理層分別對(duì)應(yīng)的CAN控制器和CAN收發(fā)器的實(shí)現(xiàn)。本文采用基于Cortex-M4內(nèi)核的STM32系列芯片作為控制電路的MCU,該芯片內(nèi)有CAN控制器,并且完全支持CAN協(xié)議2.0。CAN收發(fā)器選用CTM1050T,其內(nèi)部集成了CAN隔離及收發(fā)器件,將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,同時(shí)具有隔離功能機(jī)ESD保護(hù)作用。CAN通信硬件結(jié)構(gòu)如圖4所示[8]。

圖4 CAN通信硬件結(jié)構(gòu)示意圖

3.2 CANopen通信程序設(shè)計(jì)

CAN通信硬件設(shè)計(jì)完成后能夠?qū)崿F(xiàn)設(shè)備之間的報(bào)文通信,但是仍需對(duì)傳輸?shù)臄?shù)據(jù)內(nèi)容進(jìn)行定義,主要包括數(shù)據(jù)內(nèi)容的傳輸格式以及數(shù)據(jù)讀取規(guī)則。本部分主要介紹控制電路與伺服電機(jī)驅(qū)動(dòng)器之間CAN通信程序的設(shè)計(jì),程序采用CANopen協(xié)議中的服務(wù)數(shù)據(jù)對(duì)象SDO(Service Data Object)數(shù)據(jù)傳輸機(jī)制。采用該機(jī)制是因?yàn)镾DO為每個(gè)消息都生成一個(gè)應(yīng)答,這樣可以保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。同時(shí)通過(guò)每5 ms查詢一次的方式來(lái)確保數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。CANopen通信程序設(shè)計(jì)流程圖如圖5所示。首先對(duì)控制電路的CAN接口進(jìn)行配置,選擇波特率,完成CAN接口的初始化。電機(jī)驅(qū)動(dòng)器節(jié)點(diǎn)的配置是通過(guò)驅(qū)動(dòng)器的面板進(jìn)行設(shè)定,把各節(jié)點(diǎn)配置為可操作模式,然后再根據(jù)傳送過(guò)來(lái)的數(shù)據(jù)對(duì)伺服驅(qū)動(dòng)器進(jìn)行相應(yīng)的配置。在整個(gè)通信過(guò)程中,由于伺服電機(jī)驅(qū)動(dòng)器內(nèi)部集成標(biāo)準(zhǔn)的CANopen協(xié)議,所以控制電路所發(fā)的數(shù)據(jù)要按照CANopen協(xié)議中的規(guī)定發(fā)送才能被伺服電機(jī)驅(qū)動(dòng)器識(shí)別。同時(shí)這也簡(jiǎn)化了控制電路關(guān)于CANopen協(xié)議方面的程序設(shè)計(jì),使得研發(fā)周期大大縮短。

圖5 CANopen通信程序流程圖

4 結(jié)束語(yǔ)

CANopen是一個(gè)應(yīng)用層的規(guī)范協(xié)議,與具體總線的物理實(shí)現(xiàn)無(wú)關(guān)。CANopen已經(jīng)發(fā)展成具有高度靈活性的標(biāo)準(zhǔn)化嵌入式網(wǎng)絡(luò),基于它提出和實(shí)現(xiàn)的對(duì)象字典、設(shè)備規(guī)范等概念對(duì)現(xiàn)場(chǎng)總線技術(shù)的發(fā)展起到了重要作用。本文主要設(shè)計(jì)實(shí)現(xiàn)了基于CANopen協(xié)議的五軸機(jī)械手控制系統(tǒng),為CANopen協(xié)議在多電機(jī)控制系統(tǒng)的設(shè)計(jì)提供了一種方案,對(duì)工業(yè)控制領(lǐng)域具有實(shí)際的應(yīng)用意義。

[1]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.

[2]李澄,趙輝,聶保錢.基于CANopen協(xié)議實(shí)現(xiàn)多電機(jī)系統(tǒng)實(shí)時(shí)控制[J].微電機(jī),2009,42(9):53-56.

[3]呂京建,張宏韜.CAN總線的淺析-CANopen協(xié)議[J].電子產(chǎn)品世界,2002(17):25-27.

[4]CAN in Automation.Application Layer and Communication Profile[S].CiA Draft Standard 301 Version 4.02,2002.

[5]王峰.基于嵌入式系統(tǒng)的CANopen協(xié)議分析研究[D].天津:天津理工大學(xué),2010.

[6]夏勇,葉曉東,趙江海.基于CANopen協(xié)議的數(shù)字伺服控制[J].電氣自動(dòng)化,2014,36(1):57-59.

[7]趙建光,楊建武,孫樹(shù)文.基于CANopen協(xié)議的I/O從站的開(kāi)發(fā)與應(yīng)用[J].微計(jì)算機(jī)信息,2007,23(8):9-11.

[8]史久根,張培仁,陳真勇.CAN現(xiàn)場(chǎng)總線系統(tǒng)設(shè)計(jì)技術(shù)[M].北京:國(guó)防工業(yè)出版社,2004.

The realization of robot based on CANopen protocol

Li Xiangru,Yu Jianding,Wang Qin
(Information Science and Engineering Institute,Ningbo University,Ningbo 315211,China)

CANopen protocol is a standard defined by CAN-in-Automation(CiA),and occupies a leading position in the CAN-based industrial sector.In this paper,based on design and implemention of five-axis robot,combined with the widely applications of CANopen protocol in the field of automotive electronics and industrial control,the real-time control of multi-motor system is achieved.CAN bus design method provided herein controlling multiple servo motors,making the hardware design is greatly simplified,and also making the efficiency and reliability of communication increased dramatically.The provided scheme in the actual operation has been fully validated for industrial control applications with practical guidance.

CAN;CANopen;multi-motor system control;fieldbus

TN919

A

1674-7720(2015)13-0007-02

2015-03-31)

李向如(1989-),男,碩士研究生,主要研究方向:嵌入式系統(tǒng)與應(yīng)用。

俞建定(1968-),男,高級(jí)實(shí)驗(yàn)師,主要研究方向:嵌入式系統(tǒng)與應(yīng)用、通信與通信系統(tǒng)。

猜你喜歡
控制電路驅(qū)動(dòng)器機(jī)械手
藏起驅(qū)動(dòng)器號(hào)確保數(shù)據(jù)安全
2017款本田雅閣車控制電路(二)
TRIZ與情景分解法在換刀機(jī)械手設(shè)計(jì)中的應(yīng)用
2014款雷克薩斯CT200h車控制電路(一)
2018款別克GL8車控制電路(二)
機(jī)械手式自動(dòng)打結(jié)機(jī)
空間大載荷石蠟驅(qū)動(dòng)器研制
2016款邁騰B8L車控制電路(一)
基于粒子群迭代的一種冗余機(jī)械手逆解算法
壓電陶瓷驅(qū)動(dòng)器的遲滯特性