《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于CANopen協(xié)議的機(jī)械手的實(shí)現(xiàn)
基于CANopen協(xié)議的機(jī)械手的實(shí)現(xiàn)
2015年微型機(jī)與應(yīng)用第13期
李向如,俞建定,汪 沁
寧波大學(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)了對多電機(jī)系統(tǒng)的實(shí)時控制。文中提供的以CAN總線控制多個伺服電機(jī)的設(shè)計(jì)方法,使得硬件電路的設(shè)計(jì)得到很大簡化,同時也使得通信效率和可靠性得到大幅提升。本方案在實(shí)際運(yùn)行中已經(jīng)得到充分的驗(yàn)證,對工業(yè)控制領(lǐng)域有著實(shí)際的應(yīng)用指導(dǎo)意義。
Abstract:
Key words :

摘  要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)了對多電機(jī)系統(tǒng)的實(shí)時控制。文中提供的以CAN總線控制多個伺服電機(jī)的設(shè)計(jì)方法,使得硬件電路的設(shè)計(jì)得到很大簡化,同時也使得通信效率和可靠性得到大幅提升。本方案在實(shí)際運(yùn)行中已經(jīng)得到充分的驗(yàn)證,對工業(yè)控制領(lǐng)域有著實(shí)際的應(yīng)用指導(dǎo)意義。

關(guān)鍵詞: CAN;CANopen;多電機(jī)系統(tǒng)控制;現(xiàn)場總線

0 引言

  CAN(Controller Area Network,控制器局域網(wǎng))總線是由德國Bosch公司設(shè)計(jì)的,是一種技術(shù)先進(jìn)、可靠性高、成本低的網(wǎng)絡(luò)通信控制方式。它在離散控制領(lǐng)域得到了廣泛應(yīng)用,是唯一成為國際標(biāo)準(zhǔn)的現(xiàn)場總線[1]。由于CAN只定義了OSI網(wǎng)絡(luò)模型中的第一層(物理層)和第二層(數(shù)據(jù)鏈路層),沒有應(yīng)用層,所以需要高層協(xié)議來具體定義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是針對驅(qū)動裝置和運(yùn)動控制裝置的設(shè)備規(guī)范。本文就是根據(jù)CANopen協(xié)議在伺服驅(qū)動設(shè)備上的應(yīng)用進(jìn)行展開討論的。

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

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

Image 001.png

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

Image 002.png

  CANopen對象字典(Object Dictionary,OD)是CANopen協(xié)議最為核心的概念。對象字典就是通過網(wǎng)絡(luò)讀取一組提前定義好的對象,相當(dāng)于一個參數(shù)列表,每一個對象是用一個16位的索引和8位的子索引來定位。為了允許訪問數(shù)據(jù)結(jié)構(gòu)中的單個元素,同時也定義了一個8位的子索引。對象字典是所有數(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é)議描述對象字典中的每個對象的功能、名字、索引、子索引、數(shù)據(jù)類型、讀寫屬性,以及這個對象是否必須等待,從而保證不同制造商的同類設(shè)備能夠相互兼容。根據(jù)這些協(xié)議生產(chǎn)CANopen設(shè)備能夠?qū)崿F(xiàn)不同廠商產(chǎn)品之間的互操作,大大降低了系統(tǒng)通信的開發(fā)難度[4-6]。

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

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

  隨著現(xiàn)場總線在工業(yè)控制領(lǐng)域中越來越廣泛的應(yīng)用,以及控制系統(tǒng)向著網(wǎng)絡(luò)化、開放性的方向發(fā)展,所以本文也采用總線的方式進(jìn)行設(shè)計(jì)。控制系統(tǒng)與外部設(shè)備的通信分別采用以太網(wǎng)總線和CAN總線。本文設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)如圖3所示。

Image 003.png

  由圖3可以看出,該系統(tǒng)主要由4部分組成:手持器、控制電路、電機(jī)驅(qū)動器及電機(jī)。其運(yùn)行過程大致是手持器通過以太網(wǎng)接口把相應(yīng)的動作指令發(fā)給控制電路,該過程采用LWIP協(xié)議;然后控制電路在接收到指令之后,開始解析指令,再通過CAN接口給伺服電機(jī)驅(qū)動器發(fā)送指令,該過程采用CANopen協(xié)議;伺服驅(qū)動器在得到指令后開始驅(qū)動電機(jī),在電機(jī)到達(dá)指定位置后停止。整個系統(tǒng)運(yùn)行過程中,如何實(shí)現(xiàn)對5個電機(jī)的實(shí)時控制是整個系統(tǒng)的關(guān)鍵。為保證數(shù)據(jù)在傳輸過程中的可靠性和實(shí)時性,系統(tǒng)在設(shè)計(jì)時采用了CAN接口和以太網(wǎng)接口[7]。

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

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

  由圖3可以看出,CANopen通信是在控制電路和電機(jī)驅(qū)動器之間實(shí)現(xiàn)的。CANopen只是一個應(yīng)用層的規(guī)范協(xié)議,與具體總線的物理實(shí)現(xiàn)無關(guān)。由圖1 CANopen的參考模型可以看出,CANopen是以CAN為基礎(chǔ)的,所以CANopen的硬件實(shí)現(xiàn)實(shí)際是CAN總線的設(shè)計(jì)實(shí)現(xiàn)。電機(jī)驅(qū)動器自身支持CANopen協(xié)議,所以硬件實(shí)現(xiàn)的關(guān)鍵是控制電路能符合CANopen協(xié)議。CAN的硬件實(shí)現(xiàn)包括兩個部分:與OSI模型中數(shù)據(jù)鏈路層和物理層分別對應(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總線的差分電平,同時具有隔離功能機(jī)ESD保護(hù)作用。CAN通信硬件結(jié)構(gòu)如圖4所示[8]。

Image 004.png

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

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

Image 005.png

4 結(jié)束語

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

參考文獻(xiàn)

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

  [2] 李澄,趙輝,聶保錢.基于CANopen協(xié)議實(shí)現(xiàn)多電機(jī)系統(tǒng)實(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].電氣自動化,2014,36(1):57-59.

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

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


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产女人精品视频| 亚洲精品久久久一区二区三区| 欧美成年人网站| 欧美在线视频在线播放完整版免费观看| a91a精品视频在线观看| 亚洲欧洲精品一区二区三区| 久久av老司机精品网站导航| 欧美中文在线观看国产| 午夜欧美精品| 欧美在线91| 欧美在线综合| 亚洲国产欧美一区二区三区久久 | 亚洲午夜电影网| 一区二区日韩欧美| 这里只有精品视频| 亚洲一区二区三区高清不卡| 亚洲欧美日韩高清| 久久www免费人成看片高清| 欧美在线亚洲综合一区| 久久精品72免费观看| 久久视频在线免费观看| 美女脱光内衣内裤视频久久网站| 老司机一区二区| 欧美黑人在线观看| 欧美日韩午夜视频在线观看| 国产精品九九久久久久久久| 国产精品日韩在线观看| 国产一区二区三区在线免费观看| 狠狠色2019综合网| 亚洲欧洲日韩综合二区| 一片黄亚洲嫩模| 亚洲欧美999| 久久精品人人| 99视频在线观看一区三区| 亚洲一二三区精品| 久久不射网站| 欧美大片在线看| 欧美吻胸吃奶大尺度电影| 国产农村妇女精品| 欲香欲色天天天综合和网| 亚洲欧洲精品一区二区| 亚洲一区二区高清视频| 久久精品国产99国产精品澳门 | 亚洲欧美另类综合偷拍| 国产日韩欧美不卡在线| 好吊日精品视频| 亚洲精品乱码久久久久久| 亚洲在线视频一区| 久久精品亚洲国产奇米99| 中文亚洲免费| 久久久久国产一区二区三区四区 | 欧美韩日一区| 国产精品麻豆成人av电影艾秋 | 亚洲特色特黄| 久久国产日韩欧美| 亚洲色图自拍| 久久久久看片| 欧美三级在线| 狠狠色综合一区二区| 日韩视频免费| 亚洲国产一区二区在线| 在线不卡中文字幕播放| 在线亚洲精品| 亚洲国产精品综合| 亚洲综合国产| 欧美成人一区二区| 国产欧美日韩一区二区三区| 亚洲缚视频在线观看| 亚洲一区二区成人| 亚洲精品一二三| 欧美诱惑福利视频| 欧美日韩免费观看一区=区三区| 国产在线视频欧美一区二区三区| 亚洲精品久久7777| 久久激情中文| 亚洲欧美日韩综合国产aⅴ| 欧美成人高清| 国产亚洲高清视频| 亚洲视频成人| 99精品99| 久久亚洲国产精品日日av夜夜| 国产精品福利在线观看网址| 在线观看视频一区二区| 亚洲欧美日韩在线综合| 99一区二区| 免费成人性网站| 国产一区二区0| 亚洲免费视频观看| 一区二区三区成人精品| 欧美 日韩 国产在线| 国产日韩欧美二区| 亚洲特级毛片| 在线视频欧美一区| 欧美jizz19性欧美| 激情久久综合| 性做久久久久久| 午夜国产精品视频| 欧美三级电影大全| 欧美日韩aaaaa| 在线观看国产欧美| 久久福利资源站| 久久av最新网址| 国产精品女人久久久久久| 99xxxx成人网| 一区二区精品在线| 欧美精品在线免费观看| 亚洲第一天堂无码专区| 久久精品视频免费| 久久裸体艺术| 国产日韩欧美综合精品| 亚洲综合色丁香婷婷六月图片| 亚洲视频观看| 欧美日韩中文字幕| 日韩天堂在线观看| 日韩一级在线观看| 欧美激情视频一区二区三区免费 | 亚洲影院色在线观看免费| 欧美精品乱人伦久久久久久 | 亚洲视频精选在线| 中文精品一区二区三区| 欧美久久在线| 亚洲麻豆av| 亚洲少妇一区| 欧美性猛交视频| 亚洲午夜小视频| 亚洲欧美日本在线| 国产精品日韩| 亚洲欧美综合精品久久成人| 久久福利毛片| 黄色av日韩| 亚洲狠狠婷婷| 欧美福利电影在线观看| 亚洲国产精品女人久久久| 亚洲精品偷拍| 欧美日韩少妇| 亚洲午夜在线视频| 欧美一区在线看| 国产综合网站| 亚洲三级影片| 欧美日韩免费| 亚洲专区在线| 夜夜嗨av一区二区三区中文字幕| 欧美三日本三级三级在线播放| 亚洲国产欧美日韩另类综合| 一本一本久久a久久精品综合麻豆| 欧美午夜片欧美片在线观看| 在线中文字幕一区| 久久精品亚洲| 亚洲成人在线视频网站| 在线视频精品一区| 国产精品一区二区三区乱码| 久久精品国产免费看久久精品| 欧美α欧美αv大片| 日韩视频在线一区二区| 欧美一级专区| 在线观看国产精品淫| 亚洲午夜一区| 国内欧美视频一区二区| 99re6热只有精品免费观看| 国产精品区一区二区三区| 久久国产综合精品| 欧美日韩免费观看一区二区三区| 亚洲在线日韩| 欧美福利电影在线观看| 亚洲一级高清| 免播放器亚洲一区| 亚洲视频在线一区| 老牛嫩草一区二区三区日本| 亚洲日本免费| 久久精品国产2020观看福利| 亚洲日本中文字幕| 性伦欧美刺激片在线观看| 在线观看一区二区精品视频| 亚洲一区二区三区四区五区午夜| 国产曰批免费观看久久久| 一区二区欧美视频| 国产一区二区三区奇米久涩| 夜夜嗨av一区二区三区网站四季av | 欧美视频在线观看| 久久精品亚洲热| 国产精品久久久久aaaa| 亚洲黄页一区| 国产精品一区2区| 999亚洲国产精| 国内精品久久久久伊人av| 在线一区二区三区做爰视频网站 | 亚洲第一精品电影| 性做久久久久久| 亚洲三级电影全部在线观看高清| 久久国产一区二区三区| 99re成人精品视频| 免费人成精品欧美精品| 性欧美18~19sex高清播放| 欧美在线啊v| 永久免费精品影视网站| 香蕉成人久久| 99精品视频免费| 欧美大片免费观看| 久久国产福利国产秒拍| 国产精品丝袜白浆摸在线|