單片機(jī)與伺服控制器之間 CANopen 協(xié)議的應(yīng)用設(shè)計(jì)

文:青島荏原環(huán)境設(shè)備有限公司 蔡大偉2022年第二期

  伺服電機(jī)控制器在自動控制領(lǐng)域里有著廣泛的應(yīng)用,如紡織機(jī)械和印刷機(jī)等。為了得到理想的速控效果, 伺服電機(jī)模塊除了要在分辨率、線性程度以及轉(zhuǎn)換速率上達(dá)到一定的要求外,還應(yīng)具有良好的在線可控性和實(shí)時(shí)在線狀態(tài)檢測功能。為此,利用CAN總線高層通信協(xié)議CANopen,結(jié)合陜西省教育廳“并條機(jī)自調(diào)勻整” 項(xiàng)目對伺服電機(jī)控制模塊參數(shù)的要求,開發(fā)了一個(gè)具有硬件可重用性、軟件可重配置特點(diǎn)的伺服電機(jī)控制模塊。

  CAN現(xiàn)場總線是20世紀(jì)80年代末由德國Bosch公司為公共汽車系統(tǒng)設(shè)計(jì)的現(xiàn)場總線,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信局域網(wǎng),由于其高性能,高可靠性、實(shí)時(shí)性好以及獨(dú)特的設(shè)計(jì),已廣泛應(yīng)用于控制系統(tǒng)中的各檢測和執(zhí)行機(jī)構(gòu)之間的數(shù)據(jù)通信,是迄今為止唯一成為國際標(biāo)準(zhǔn)的現(xiàn)場總線,也是公認(rèn)的全球范圍內(nèi)最具前途的現(xiàn)場總線之一。由于CAN 總線系統(tǒng)的特性, 后來CAN總線廣泛地應(yīng)用于過程工業(yè)、機(jī)械工業(yè)、紡織工業(yè)、農(nóng)用機(jī)器、機(jī)器人、數(shù)控機(jī)床、醫(yī)療器械及傳感器等領(lǐng)域。基于現(xiàn)場總線的網(wǎng)絡(luò)技術(shù)的研究是自動化領(lǐng)域發(fā)展的一個(gè)熱點(diǎn)。CANopen協(xié)議是目前流行于歐洲的基于CAN總線應(yīng)用層的標(biāo)準(zhǔn)協(xié)議。對工程設(shè)計(jì)者來說,研究現(xiàn)場總線的核心任務(wù)就是對控制節(jié)點(diǎn)進(jìn)行開發(fā)。本文就是通過實(shí)現(xiàn)伺服電機(jī)控制模塊的CANopen協(xié)議,說明一個(gè)基于CANopen協(xié)議的控制網(wǎng)絡(luò)的組態(tài)。

  CANopen協(xié)議是由CiA協(xié)會針對CAN協(xié)議的不完整性而定義出的一個(gè)更高層次的協(xié)議——應(yīng)用層協(xié)議。一個(gè)CANopen 設(shè)備模塊可分為3部分,如圖1所示。通信接口和協(xié)議軟件用于提供在總線上收發(fā)通信對象的服務(wù);不同CANopen 設(shè)備間的通信都是通過交換通信對象來完成的,這一部分直接面向CAN 控制器進(jìn)行操作。對象字典描述了設(shè)備使用的所有數(shù)據(jù)類型、通信對象和應(yīng)用對象;對象字典位于通信程序和應(yīng)用程序之間,用于向應(yīng)用程序提供接口。

  應(yīng)用程序?qū)ο笞值溥M(jìn)行操作,即可實(shí)現(xiàn)CANopen通信。它包括功能部分和通信部分,通信部分通過對對象字典進(jìn)

  行操作實(shí)現(xiàn)CANopen 通信;而功能部分則根據(jù)應(yīng)用要求來實(shí)現(xiàn)。

伺服

圖 1 基于 CAN 總線伺服運(yùn)動控制系統(tǒng)結(jié)構(gòu)

  1 CAN總線控制系統(tǒng)設(shè)計(jì)

  CAN具有技術(shù)先進(jìn)、可靠性高、成本合理的特點(diǎn),但CAN協(xié)議本身并不完整。其定義了數(shù)據(jù)鏈路層和部分物理層,為網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)提供了一種廣播式報(bào)文分幀傳輸通道,其流量控制、節(jié)點(diǎn)地址分配、通訊建立等具體內(nèi)容需

  要使用者自己實(shí)現(xiàn),因而需要建立應(yīng)用層協(xié)議。當(dāng)前國外流行的CAN總線分布式運(yùn)動控制系統(tǒng)應(yīng)用層協(xié)議主要標(biāo)準(zhǔn)有:CANopen協(xié)議,DeviceNet和SDS。國內(nèi)主要標(biāo)準(zhǔn)有iCAN 等,在國內(nèi)已實(shí)現(xiàn)400萬個(gè)節(jié)點(diǎn)。按照CAN總線協(xié)議,CAN總線可以是任意拓?fù)浣Y(jié)構(gòu)的,但一般來說,CAN 總線主要采用:總線型、環(huán)型、星型和網(wǎng)狀型4種拓?fù)浣Y(jié)構(gòu)。

  基于CAN總線的運(yùn)動控制系統(tǒng)如圖1 所示,有兩個(gè)顯著的特點(diǎn),第一是其控制對象為伺服運(yùn)動控制對象,第二是

  其網(wǎng)絡(luò)化控制器包括CAN總線通信媒介和CAN控制器節(jié)點(diǎn)兩部分。

  作為專門應(yīng)用于工業(yè)自動化領(lǐng)域的網(wǎng)絡(luò), CAN 總線具有如下優(yōu)點(diǎn):使用簡單方便、高效可靠、系統(tǒng)可擴(kuò)充好。

  CAN 總線是面向消息的編碼,而不是面向設(shè)備的編碼,故增添或刪減CAN 上的節(jié)點(diǎn)非常方便和靈活,易于系統(tǒng)的擴(kuò)充。

  在CANopen網(wǎng)絡(luò)系統(tǒng)中每個(gè)節(jié)點(diǎn)都有唯一的一個(gè)對象字典,而且每個(gè)節(jié)點(diǎn)的對象字典都具有相同的結(jié)構(gòu),但具體的內(nèi)容要根據(jù)不同的設(shè)備而定,包含了描述該設(shè)備及其網(wǎng)絡(luò)行為的所有參數(shù)。CANopen協(xié)議還定義了4種報(bào)文(通信對象),用于對不同作用的信息進(jìn)行處理,分別為管理報(bào)文(NMT)、服務(wù)數(shù)據(jù)對象(SDO)、過程數(shù)據(jù)對象(PDO)和預(yù)定義報(bào)文或特殊功能對象。

  2 CANopen通訊設(shè)備模型介紹

  CANopen的設(shè)備模型分為以下3個(gè)部分:通信單元、對象字典、應(yīng)用過程。用戶可以通過該模型對功能完全不同的設(shè)備進(jìn)行描述。

  CANopen的核心概念是對象字典,對象字典包含描述這個(gè)設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù), 應(yīng)用單元和通信單元都可以問這個(gè)參數(shù)列表。對象字典中的參數(shù)通過一個(gè)16位索引和位子索引進(jìn)行識別和定位。

  通信部分由CAN收發(fā)器、CAN控制器和CANopen協(xié)議棧組成協(xié)議棧中定義了實(shí)現(xiàn)通訊的通訊對象: NMT(網(wǎng)絡(luò)管理報(bào)文) 、PDO(過程數(shù)據(jù))SDO(服務(wù)數(shù)據(jù)對象)預(yù)定義報(bào)文或者特殊能對象( 含同步報(bào)文、緊急報(bào)文、時(shí)間標(biāo)記對象等)通信的所有內(nèi)容和功能由這些通信對象描述, 所有設(shè)備之間通信也通過這些通信對象完成。其中NMT用于主站對從站進(jìn)行狀態(tài)管理以及從站應(yīng)答自身所處的通信狀態(tài),SDO用于主站對從站的對象字典進(jìn)行配置和監(jiān)

  控。PDO用來傳輸高速、小型數(shù)據(jù)。而特殊功能對象則用于同步網(wǎng)絡(luò)中的通信對象(通常為PDO)的方法。

  應(yīng)用部分是對設(shè)備的基本功能的定義和描述,它是連接設(shè)備與主站上位機(jī)的紐帶, 其核心功能是通過訪問設(shè)備的對象字典對設(shè)備進(jìn)行參數(shù)配置、狀態(tài)控制和監(jiān)控, 并高速傳輸設(shè)備的過程數(shù)據(jù)信息。

  3 硬件設(shè)計(jì)

  伺服電機(jī)模塊使用帶有CAN總線功能模塊的PIC18F258單片機(jī)進(jìn)行控制。根據(jù)并條機(jī)自調(diào)勻整系統(tǒng)對伺服電機(jī)的要求(9 V—3 000 r/min,即3 mV—1 r/min),以及從總線上以1 ms為周期發(fā)送來的D/A轉(zhuǎn)速控制數(shù)據(jù),使用12位AD7243芯片進(jìn)行D/A轉(zhuǎn)換。它具有300 kHz的轉(zhuǎn)換速率,3種可選擇的輸出電壓,分別是0~+10 V、0~+5 V和-5~+5 V,采用串行端口通信。

  根據(jù)系統(tǒng)需求,設(shè)置AD7243電壓輸出為±5 V,將AD7243芯片的ROFS引腳與REFIN引腳相連實(shí)現(xiàn)。在AD7243的輸出端接有OP07運(yùn)算放大器,用于調(diào)整輸出電壓到±10 V, 以控制電機(jī)正反方向和調(diào)節(jié)轉(zhuǎn)速。 采用繼電器FDLL4148用于控制電機(jī)的啟動和停止;光耦TL521用于對伺服電機(jī)狀態(tài)采集時(shí)的隔離器;為實(shí)時(shí)了解伺服電機(jī)運(yùn)行狀態(tài)。根據(jù)CANopen協(xié)議分別設(shè)計(jì)了用于指示系統(tǒng)當(dāng)前狀態(tài)和錯(cuò)誤的LED(綠色和紅色)指示燈。

  在OP07上接有調(diào)節(jié)零輸出偏置電壓的可調(diào)電位器R3;用ADuM1100高速數(shù)字隔離器替代傳統(tǒng)的光電耦合器,以降低功耗,提供精確的信號;采用MCP2551可容錯(cuò)的高速CAN收發(fā)器,具有差分發(fā)射和接收能力,可將許多節(jié)點(diǎn)與同一網(wǎng)絡(luò)相連接并采用非屏蔽線部署網(wǎng)絡(luò),從而降低系統(tǒng)成本。

  4 軟件設(shè)計(jì)

  整個(gè)伺服控制的軟件設(shè)計(jì)在CCS中建立,主要包括伺服電機(jī)的閉環(huán)控制程序和CANopen協(xié)議中的實(shí)現(xiàn)兩大部分。

  初始化相關(guān)變量,使能全局中斷,進(jìn)入伺服電機(jī)編碼器霍爾傳感器反饋UVW三路信號來判斷電機(jī)初始電角度位置。

伺服

  設(shè)置從站節(jié)點(diǎn)地址和CAN通信波特率,初始化各通對象,完成各路的預(yù)定義映射,最后進(jìn)入通信處理程序。CANopen報(bào)文結(jié)構(gòu)由11位的COB-ID以及最多8字節(jié)的數(shù)據(jù)域構(gòu)成。在上位機(jī)界面中通過NMT報(bào)文設(shè)置控制從站進(jìn)入預(yù)作狀態(tài)或者運(yùn)行狀態(tài),再通過SDO報(bào)文設(shè)置伺服控制的各個(gè)參數(shù)( 速度、位置等)以及狀態(tài)機(jī)的各個(gè)狀態(tài)可以使電機(jī)按照不同控制模式運(yùn)轉(zhuǎn)起來,最后通過將電機(jī)的當(dāng)前參數(shù)映射到PDO中,讀取PDO報(bào)文的值得到電機(jī)當(dāng)前值,將其與設(shè)置值對比得到控制結(jié)果的正確性,控制報(bào)文全部由SDO實(shí)現(xiàn)。

  5 結(jié)論

  以CAN現(xiàn)場總線實(shí)現(xiàn)在控制器和伺服之間的通信,不僅克服了傳統(tǒng)機(jī)械長軸控制方案的各種機(jī)械元件帶來的缺點(diǎn),而且還具有同步性能好、各伺服單元不互相干擾、控制精度高、維護(hù)方便等優(yōu)點(diǎn)。通過對并條機(jī)自調(diào)勻整系統(tǒng)的其他控制節(jié)點(diǎn)采用相同的方法進(jìn)行CANopen協(xié)議開發(fā),實(shí)現(xiàn)了網(wǎng)絡(luò)化的控制系統(tǒng)。每個(gè)節(jié)點(diǎn)都有各自的節(jié)點(diǎn)ID,所接收和發(fā)射的數(shù)據(jù)在總線上進(jìn)行交流,通過改變伺服電機(jī)控制的電機(jī)轉(zhuǎn)速調(diào)節(jié),從而達(dá)到自調(diào)勻整的目的。本文通過將伺服電機(jī)控制模塊做成符合CANopen協(xié)議的標(biāo)準(zhǔn)化裝置,并應(yīng)用于并條機(jī)自調(diào)勻整系統(tǒng)中,使其具有了即插即用和在線監(jiān)控特性,增強(qiáng)了設(shè)備的可擴(kuò)展性,提高了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

中傳動網(wǎng)版權(quán)與免責(zé)聲明:

凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

伺服與運(yùn)動控制

關(guān)注伺服與運(yùn)動控制公眾號獲取更多資訊

直驅(qū)與傳動

關(guān)注直驅(qū)與傳動公眾號獲取更多資訊

中國傳動網(wǎng)

關(guān)注中國傳動網(wǎng)公眾號獲取更多資訊

2022年第二期

2022年第二期

圖片閱讀

掃碼關(guān)注小程序

時(shí)刻關(guān)注行業(yè)動態(tài)

雜志訂閱

填寫郵件地址,訂閱更多資訊:

撥打電話咨詢:13751143319 余女士
郵箱:chuandong@chuandong.cn

熱搜詞
  • 運(yùn)動控制
  • 伺服系統(tǒng)
  • 機(jī)器視覺
  • 機(jī)械傳動
  • 編碼器
  • 直驅(qū)系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機(jī)界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機(jī)器人
  • 低壓電器
  • 機(jī)柜
回頂部
點(diǎn)贊 0
取消 0
往期雜志
  • 2025年第一期

    2025年第一期

    伺服與運(yùn)動控制

    2025年第一期

  • 2024年第六期

    2024年第六期

    伺服與運(yùn)動控制

    2024年第六期

  • 2024年第五期

    2024年第五期

    伺服與運(yùn)動控制

    2024年第五期

  • 2024年第四期

    2024年第四期

    伺服與運(yùn)動控制

    2024年第四期

  • 2024年第三期

    2024年第三期

    伺服與運(yùn)動控制

    2024年第三期