單片機(jī)與伺服控制器之間 CANopen 協(xié)議的應(yīng)用設(shè)計
文:青島荏原環(huán)境設(shè)備有限公司 蔡大偉2022年第二期
伺服電機(jī)控制器在自動控制領(lǐng)域里有著廣泛的應(yīng)用,如紡織機(jī)械和印刷機(jī)等。為了得到理想的速控效果, 伺服電機(jī)模塊除了要在分辨率、線性程度以及轉(zhuǎn)換速率上達(dá)到一定的要求外,還應(yīng)具有良好的在線可控性和實時在線狀態(tài)檢測功能。為此,利用CAN總線高層通信協(xié)議CANopen,結(jié)合陜西省教育廳“并條機(jī)自調(diào)勻整” 項目對伺服電機(jī)控制模塊參數(shù)的要求,開發(fā)了一個具有硬件可重用性、軟件可重配置特點的伺服電機(jī)控制模塊。
CAN現(xiàn)場總線是20世紀(jì)80年代末由德國Bosch公司為公共汽車系統(tǒng)設(shè)計的現(xiàn)場總線,是一種有效支持分布式控制或?qū)崟r控制的串行通信局域網(wǎng),由于其高性能,高可靠性、實時性好以及獨特的設(shè)計,已廣泛應(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)域?;诂F(xiàn)場總線的網(wǎng)絡(luò)技術(shù)的研究是自動化領(lǐng)域發(fā)展的一個熱點。CANopen協(xié)議是目前流行于歐洲的基于CAN總線應(yīng)用層的標(biāo)準(zhǔn)協(xié)議。對工程設(shè)計者來說,研究現(xiàn)場總線的核心任務(wù)就是對控制節(jié)點進(jìn)行開發(fā)。本文就是通過實現(xiàn)伺服電機(jī)控制模塊的CANopen協(xié)議,說明一個基于CANopen協(xié)議的控制網(wǎng)絡(luò)的組態(tài)。
CANopen協(xié)議是由CiA協(xié)會針對CAN協(xié)議的不完整性而定義出的一個更高層次的協(xié)議——應(yīng)用層協(xié)議。一個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)行操作,即可實現(xiàn)CANopen通信。它包括功能部分和通信部分,通信部分通過對對象字典進(jìn)
行操作實現(xiàn)CANopen 通信;而功能部分則根據(jù)應(yīng)用要求來實現(xiàn)。
圖 1 基于 CAN 總線伺服運動控制系統(tǒng)結(jié)構(gòu)
1 CAN總線控制系統(tǒng)設(shè)計
CAN具有技術(shù)先進(jìn)、可靠性高、成本合理的特點,但CAN協(xié)議本身并不完整。其定義了數(shù)據(jù)鏈路層和部分物理層,為網(wǎng)絡(luò)中的CAN節(jié)點提供了一種廣播式報文分幀傳輸通道,其流量控制、節(jié)點地址分配、通訊建立等具體內(nèi)容需
要使用者自己實現(xiàn),因而需要建立應(yīng)用層協(xié)議。當(dāng)前國外流行的CAN總線分布式運動控制系統(tǒng)應(yīng)用層協(xié)議主要標(biāo)準(zhǔn)有:CANopen協(xié)議,DeviceNet和SDS。國內(nèi)主要標(biāo)準(zhǔn)有iCAN 等,在國內(nèi)已實現(xiàn)400萬個節(jié)點。按照CAN總線協(xié)議,CAN總線可以是任意拓?fù)浣Y(jié)構(gòu)的,但一般來說,CAN 總線主要采用:總線型、環(huán)型、星型和網(wǎng)狀型4種拓?fù)浣Y(jié)構(gòu)。
基于CAN總線的運動控制系統(tǒng)如圖1 所示,有兩個顯著的特點,第一是其控制對象為伺服運動控制對象,第二是
其網(wǎng)絡(luò)化控制器包括CAN總線通信媒介和CAN控制器節(jié)點兩部分。
作為專門應(yīng)用于工業(yè)自動化領(lǐng)域的網(wǎng)絡(luò), CAN 總線具有如下優(yōu)點:使用簡單方便、高效可靠、系統(tǒng)可擴(kuò)充好。
CAN 總線是面向消息的編碼,而不是面向設(shè)備的編碼,故增添或刪減CAN 上的節(jié)點非常方便和靈活,易于系統(tǒng)的擴(kuò)充。
在CANopen網(wǎng)絡(luò)系統(tǒng)中每個節(jié)點都有唯一的一個對象字典,而且每個節(jié)點的對象字典都具有相同的結(jié)構(gòu),但具體的內(nèi)容要根據(jù)不同的設(shè)備而定,包含了描述該設(shè)備及其網(wǎng)絡(luò)行為的所有參數(shù)。CANopen協(xié)議還定義了4種報文(通信對象),用于對不同作用的信息進(jìn)行處理,分別為管理報文(NMT)、服務(wù)數(shù)據(jù)對象(SDO)、過程數(shù)據(jù)對象(PDO)和預(yù)定義報文或特殊功能對象。
2 CANopen通訊設(shè)備模型介紹
CANopen的設(shè)備模型分為以下3個部分:通信單元、對象字典、應(yīng)用過程。用戶可以通過該模型對功能完全不同的設(shè)備進(jìn)行描述。
CANopen的核心概念是對象字典,對象字典包含描述這個設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù), 應(yīng)用單元和通信單元都可以問這個參數(shù)列表。對象字典中的參數(shù)通過一個16位索引和位子索引進(jìn)行識別和定位。
通信部分由CAN收發(fā)器、CAN控制器和CANopen協(xié)議棧組成協(xié)議棧中定義了實現(xiàn)通訊的通訊對象: NMT(網(wǎng)絡(luò)管理報文) 、PDO(過程數(shù)據(jù))SDO(服務(wù)數(shù)據(jù)對象)預(yù)定義報文或者特殊能對象( 含同步報文、緊急報文、時間標(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ī)模塊使用帶有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引腳相連實現(xiàn)。在AD7243的輸出端接有OP07運算放大器,用于調(diào)整輸出電壓到±10 V, 以控制電機(jī)正反方向和調(diào)節(jié)轉(zhuǎn)速。 采用繼電器FDLL4148用于控制電機(jī)的啟動和停止;光耦TL521用于對伺服電機(jī)狀態(tài)采集時的隔離器;為實時了解伺服電機(jī)運行狀態(tài)。根據(jù)CANopen協(xié)議分別設(shè)計了用于指示系統(tǒng)當(dāng)前狀態(tài)和錯誤的LED(綠色和紅色)指示燈。
在OP07上接有調(diào)節(jié)零輸出偏置電壓的可調(diào)電位器R3;用ADuM1100高速數(shù)字隔離器替代傳統(tǒng)的光電耦合器,以降低功耗,提供精確的信號;采用MCP2551可容錯的高速CAN收發(fā)器,具有差分發(fā)射和接收能力,可將許多節(jié)點與同一網(wǎng)絡(luò)相連接并采用非屏蔽線部署網(wǎng)絡(luò),從而降低系統(tǒng)成本。
4 軟件設(shè)計
整個伺服控制的軟件設(shè)計在CCS中建立,主要包括伺服電機(jī)的閉環(huán)控制程序和CANopen協(xié)議中的實現(xiàn)兩大部分。
初始化相關(guān)變量,使能全局中斷,進(jìn)入伺服電機(jī)編碼器霍爾傳感器反饋UVW三路信號來判斷電機(jī)初始電角度位置。
設(shè)置從站節(jié)點地址和CAN通信波特率,初始化各通對象,完成各路的預(yù)定義映射,最后進(jìn)入通信處理程序。CANopen報文結(jié)構(gòu)由11位的COB-ID以及最多8字節(jié)的數(shù)據(jù)域構(gòu)成。在上位機(jī)界面中通過NMT報文設(shè)置控制從站進(jìn)入預(yù)作狀態(tài)或者運行狀態(tài),再通過SDO報文設(shè)置伺服控制的各個參數(shù)( 速度、位置等)以及狀態(tài)機(jī)的各個狀態(tài)可以使電機(jī)按照不同控制模式運轉(zhuǎn)起來,最后通過將電機(jī)的當(dāng)前參數(shù)映射到PDO中,讀取PDO報文的值得到電機(jī)當(dāng)前值,將其與設(shè)置值對比得到控制結(jié)果的正確性,控制報文全部由SDO實現(xiàn)。
5 結(jié)論
以CAN現(xiàn)場總線實現(xiàn)在控制器和伺服之間的通信,不僅克服了傳統(tǒng)機(jī)械長軸控制方案的各種機(jī)械元件帶來的缺點,而且還具有同步性能好、各伺服單元不互相干擾、控制精度高、維護(hù)方便等優(yōu)點。通過對并條機(jī)自調(diào)勻整系統(tǒng)的其他控制節(jié)點采用相同的方法進(jìn)行CANopen協(xié)議開發(fā),實現(xiàn)了網(wǎng)絡(luò)化的控制系統(tǒng)。每個節(jié)點都有各自的節(jié)點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.surachana.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(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)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

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

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

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

掃碼關(guān)注小程序
時刻關(guān)注行業(yè)動態(tài)


填寫郵件地址,訂閱更多資訊:
撥打電話咨詢:13751143319 余女士
郵箱:chuandong@chuandong.cn
- 運動控制
- 伺服系統(tǒng)
- 機(jī)器視覺
- 機(jī)械傳動
- 編碼器
- 直驅(qū)系統(tǒng)
- 工業(yè)電源
- 電力電子
- 工業(yè)互聯(lián)
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機(jī)界面
- PLC
- 電氣聯(lián)接
- 工業(yè)機(jī)器人
- 低壓電器
- 機(jī)柜