本文針對(duì)伺服電機(jī)遠(yuǎn)程控制接線復(fù)雜性、單一性、不穩(wěn)定性等問(wèn)題,提出采用開(kāi)放式通信協(xié)議DS301、驅(qū)動(dòng)子協(xié)議DSP402實(shí)現(xiàn)伺服電機(jī)控制的新方法。
前 言 CANopen是一種架構(gòu)在控制局域網(wǎng)路(CAN)上的高層通訊協(xié)定,包括通訊子協(xié)定及設(shè)備子協(xié)定常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種現(xiàn)場(chǎng)總線。CANopen實(shí)現(xiàn)了OSI模型中的網(wǎng)絡(luò)層以上(包括網(wǎng)絡(luò)層)的協(xié)定。CANopen標(biāo)準(zhǔn)包括尋址方案、數(shù)個(gè)小的通訊子協(xié)定及由設(shè)備子協(xié)定所定義的應(yīng)用層。CANopen支援網(wǎng)絡(luò)管理、設(shè)備監(jiān)控及節(jié)點(diǎn)間的通訊,其中包括一個(gè)簡(jiǎn)易的傳輸層,可處理資料的分段傳送及其組合。一般而言數(shù)據(jù)鏈結(jié)層及物理層會(huì)用CAN來(lái)實(shí)作。除了CANopen外,也有其他的通訊協(xié)定(如EtherCAT)實(shí)作CANopen的設(shè)備子協(xié)定。
CANopen由非營(yíng)利組織CiA進(jìn)行標(biāo)準(zhǔn)的起草及審核工作,基本的CANopen設(shè)備及通訊子協(xié)定定義在CiA301中。針對(duì)個(gè)別設(shè)備的子協(xié)定以CiA301為基礎(chǔ)再進(jìn)行擴(kuò)充。如針對(duì)I/O模組的CiA401及針對(duì)運(yùn)動(dòng)控制的CiA402。
針對(duì)伺服電機(jī)遠(yuǎn)程控制接線復(fù)雜、控制單一、可靠性不高等問(wèn)題,提出利用CANopen通信協(xié)議、驅(qū)動(dòng)子協(xié)議實(shí)現(xiàn)伺服電機(jī)控制的新方法。分析CANopen協(xié)議的對(duì)象字典和報(bào)文格式,詳細(xì)介紹了CANopen伺服控制狀態(tài)機(jī)各步驟的轉(zhuǎn)換以及實(shí)現(xiàn)CANopen協(xié)議下PP、PV、HM3鐘伺服控制模式的報(bào)文設(shè)置。利用CAN卡和伺服驅(qū)動(dòng)設(shè)備以及伺服驅(qū)動(dòng)設(shè)備以及PC機(jī)構(gòu)建了實(shí)驗(yàn)平臺(tái),在上位機(jī)界面通過(guò)報(bào)文設(shè)置成功實(shí)現(xiàn)了基于CANopen協(xié)議的伺服電機(jī)的PP、PV、HM的三種模式的控制。實(shí)臉結(jié)果表明利用協(xié)議的報(bào)文設(shè)置控制電機(jī)簡(jiǎn)單易操作,通訊數(shù)據(jù)快速、可靠,用戶通過(guò)上位機(jī)可以很好的實(shí)現(xiàn)對(duì)伺服電機(jī)的監(jiān)控。
系統(tǒng)架構(gòu)搭建 整個(gè)控制系統(tǒng)由PC機(jī)、CANopen上位機(jī)、USBCAN適配器、伺服驅(qū)動(dòng)設(shè)備構(gòu)成。CANopen通訊部分由DS301協(xié)議實(shí)現(xiàn),伺服控制部分由DSP402協(xié)議實(shí)現(xiàn)伺服驅(qū)動(dòng)設(shè)備作為的從節(jié)點(diǎn),具有CANopen通訊功能,負(fù)責(zé)電機(jī)的電流、轉(zhuǎn)速、位置等控制對(duì)象,它通過(guò)通信接口與總線相連,將信息傳送給計(jì)算機(jī)的上位機(jī)界面;上位機(jī)界面則根據(jù)從站的反饋信息通過(guò)USBCAN適配器對(duì)伺服驅(qū)動(dòng)設(shè)備實(shí)現(xiàn)控制。如圖1所示為開(kāi)放式通訊協(xié)議的伺服控制系統(tǒng)總體架構(gòu)圖。
圖1 開(kāi)放式通訊協(xié)議伺服控制系統(tǒng)總體架構(gòu)圖
開(kāi)放式通訊協(xié)議伺服控制原理 1 CANopen通訊設(shè)備模型 CANopen的設(shè)備模型分為以下3個(gè)部分:通信單元、對(duì)象字典、應(yīng)用過(guò)程。用戶可以通過(guò)該模型對(duì)功能完全不同的設(shè)備進(jìn)行描述。
CANopen的核心概念是對(duì)象字典,對(duì)象字典包含描述這個(gè)設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù),應(yīng)用單元和通信單元都可以問(wèn)這個(gè)參數(shù)列表。對(duì)象字典中的參數(shù)通過(guò)一個(gè)16位索引和位子索引進(jìn)行識(shí)別和定位。
通信部分由CAN收發(fā)器、CAN控制器和CANopen協(xié)議棧組成協(xié)議棧中定義了實(shí)現(xiàn)通訊的通訊對(duì)象:NMT(網(wǎng)絡(luò)管理報(bào)文)、PDO(過(guò)程數(shù)據(jù))SDO(服務(wù)數(shù)據(jù)對(duì)象)預(yù)定義報(bào)文或者特殊能對(duì)象(含同步報(bào)文、緊急報(bào)文、時(shí)間標(biāo)記對(duì)象等)通信的所有內(nèi)容和功能由這些通信對(duì)象描述,所有設(shè)備之間通信也通過(guò)這些通信對(duì)象完成。其中NMT用于主站對(duì)從站進(jìn)行狀態(tài)管理以及從站應(yīng)答自身所處的通信狀態(tài),SDO用于主站對(duì)從站的對(duì)象字典進(jìn)行配置和監(jiān)控。PDO用來(lái)傳輸高速、小型數(shù)據(jù)。而特殊功能對(duì)象則用于同步網(wǎng)絡(luò)中的通信對(duì)象(通常為PDO)的方法。應(yīng)用部分是對(duì)設(shè)備的基本功能的定義和描述,它是連接設(shè)備與主站上位機(jī)的紐帶,其核心功能是通過(guò)訪問(wèn)設(shè)備的對(duì)象字典對(duì)設(shè)備進(jìn)行參數(shù)配置、狀態(tài)控制和監(jiān)控,并高速傳輸設(shè)備的過(guò)程數(shù)據(jù)信息。
2 伺服控制模式 CANopen驅(qū)動(dòng)及運(yùn)動(dòng)控制設(shè)備子協(xié)議DSP402對(duì)特性的描述要求非常準(zhǔn)確,它不僅定義了驅(qū)動(dòng)器的運(yùn)行模式,還定義了用于控制驅(qū)動(dòng)器的狀態(tài)機(jī)。驅(qū)動(dòng)器狀態(tài)機(jī)通過(guò)對(duì)象字典中的控制字6040來(lái)控制,并通過(guò)狀態(tài)字6041來(lái)讀取驅(qū)動(dòng)器的狀態(tài)??刂茽顟B(tài)機(jī)如圖2所示。
圖2 控制狀態(tài)機(jī)圖
狀態(tài)機(jī)可以分成以下3個(gè)部分:PowerDisabled(主電關(guān)閉)、PowerEbabled(主電打開(kāi))和Fault。所有狀態(tài)在發(fā)生報(bào)警后均進(jìn)入“Fault”在上電后,驅(qū)動(dòng)器完成初始化,然后再進(jìn)入SWUTCH_ON_DISABLED狀態(tài),在該狀態(tài),可以進(jìn)行CAN通訊,可以對(duì)驅(qū)動(dòng)器進(jìn)行配置。此主電仍然關(guān)閉,電機(jī)沒(méi)有被勵(lì)磁。經(jīng)過(guò)StateTransition(狀態(tài)傳輸)2,3,4后,進(jìn)入OPERATIONENABle此時(shí),主電已開(kāi)啟,驅(qū)動(dòng)器根據(jù)配置的工作模式控制電機(jī)。StateTransition(狀態(tài)傳輸)9完成關(guān)閉電路主電。一旦驅(qū)動(dòng)器發(fā)生報(bào)警,驅(qū)動(dòng)器的狀態(tài)都進(jìn)入FAULT。
PP模式(簡(jiǎn)表位置模式)是典型的定位模式,可通過(guò)單步設(shè)定與連續(xù)設(shè)定兩種方式控制電機(jī)運(yùn)行到目標(biāo)位置。PV模式(簡(jiǎn)表速度模式)是速度控制模式,HM(回零模式)提供多種達(dá)到起始位置的方法。
系統(tǒng)軟硬件設(shè)計(jì) 1系統(tǒng)硬件設(shè)計(jì) 本文設(shè)計(jì)采用USBCAN和伺服驅(qū)動(dòng)設(shè)備和PC機(jī)來(lái)搭建硬件平臺(tái)。伺服驅(qū)動(dòng)控制芯片采用的是DSP的芯片。
系統(tǒng)硬件搭建按以下步驟進(jìn)行。首先在TI的開(kāi)發(fā)環(huán)境中配置好的相關(guān)參數(shù),并建立DS301工程項(xiàng)目,完成CANopen協(xié)議通信程序的調(diào)試運(yùn)行。項(xiàng)目調(diào)試成功之后下載到驅(qū)動(dòng)器中,在上位機(jī)界面中設(shè)置報(bào)文,測(cè)試SDO、PDO、NMT等通訊對(duì)象。測(cè)試結(jié)果正確則系統(tǒng)硬件搭建完成。
2系統(tǒng)軟件設(shè)計(jì) 整個(gè)伺服控制的軟件設(shè)計(jì)在CCS中建立,主要包括永磁同步電機(jī)的閉環(huán)控制程序和CANopen協(xié)議找的實(shí)現(xiàn)兩大部分。如圖3所示為軟件設(shè)計(jì)流程圖。
圖3 軟件設(shè)計(jì)流程圖
初始化部分程序主要完成DSP系統(tǒng)的初始化以及CANopen通訊的初始化。
初始化主要完成的工作如下:
初始化相關(guān)變量,使能全局中斷,進(jìn)人伺服電機(jī)編碼器霍爾傳感器反饋UVW三路信號(hào)來(lái)判斷電機(jī)初始電角度位置。
初始化通訊的主要完成的工作如下:
設(shè)置從站節(jié)點(diǎn)地址和CAN通信波特率,初始化各通對(duì)象,完成各路的預(yù)定義映射,最后進(jìn)入通信處理程序。
3伺服控制報(bào)文設(shè)置 CANopen報(bào)文結(jié)構(gòu)由11位的COB-ID以及最多8字節(jié)的數(shù)據(jù)域構(gòu)成。在上位機(jī)界面中通過(guò)NMT報(bào)文設(shè)置控制從站進(jìn)入預(yù)作狀態(tài)或者運(yùn)行狀態(tài),再通過(guò)SDO報(bào)文設(shè)置伺服控制的各個(gè)參數(shù)(速度、位置等)以及狀態(tài)機(jī)的各個(gè)狀態(tài)可以使電機(jī)按照不同控制模式運(yùn)轉(zhuǎn)起來(lái),最后通過(guò)將電機(jī)的當(dāng)前參數(shù)映射到PDO中,讀取PDO報(bào)文的值得到電機(jī)當(dāng)前值,將其與設(shè)置值對(duì)比得到控制結(jié)果的正確性。控制報(bào)文全部由SDO實(shí)現(xiàn)。
以下為PP模式控制、PV模式控制和HM模式控制報(bào)文列表: 1.PP模式控制報(bào)文列表
2.PV模式控制報(bào)文列表
3.HM模式報(bào)文列表
以上三種控制模式報(bào)文操作都是首先設(shè)置伺服控制模式,然后根據(jù)當(dāng)前模式依次輸入相關(guān)的目標(biāo)控制值(如位置、速度、回零方式等),最后按照狀態(tài)機(jī)步驟使用6040h控制電機(jī)啟動(dòng)與停止。
仿真實(shí)驗(yàn) 本系統(tǒng)的上位機(jī)界面由USBCAN的上位機(jī)界面及電機(jī)的監(jiān)控界面兩部分構(gòu)成,其中USBCAN的上位機(jī)界面作為CANopen報(bào)文數(shù)據(jù)監(jiān)控界面,電機(jī)的監(jiān)控界面用VB2008開(kāi)發(fā)。在上位機(jī)界面中通信波特率選用1Mbps伺服電機(jī)Node-ID設(shè)置為1,心跳周期為1s,TPDO發(fā)送周期為100ms,同時(shí)設(shè)置好電機(jī)電流環(huán)、位置環(huán)、速度環(huán)的參數(shù),將設(shè)置的報(bào)文依次輸入上位機(jī)界面的SDO控制,電機(jī)啟動(dòng)并運(yùn)行到報(bào)文中的設(shè)定值,電機(jī)手動(dòng)遙控器顯示值與設(shè)定值一致,同時(shí)上位機(jī)界面中報(bào)文顯示值也與設(shè)定值一致,成功實(shí)現(xiàn)了伺服控制的控制。
1PP模式 電機(jī)監(jiān)控界面中位置控制曲線如下圖4所示:
圖4 電機(jī)位置控制曲線
在上位機(jī)界面中設(shè)置好報(bào)文值,電機(jī)啟動(dòng)。電機(jī)先加速運(yùn)行,達(dá)到設(shè)定的目標(biāo)速度值后開(kāi)始勻速運(yùn)行,直至達(dá)到設(shè)定的目標(biāo)位置值就不再變化。上位機(jī)過(guò)程數(shù)據(jù)與電機(jī)監(jiān)控曲線變化一致。如果需要改變電機(jī)的位置值,在上位機(jī)界面中依次輸人新的控制報(bào)文,電機(jī)會(huì)根據(jù)設(shè)定值正轉(zhuǎn)或者反轉(zhuǎn),繼續(xù)運(yùn)行到新的位置。
2PV模式 電機(jī)首先加速到設(shè)定的目標(biāo)速度值,然后按照設(shè)疋值勾速運(yùn)打。如果需要改變運(yùn)行的速度,同樣可在上位機(jī)界面中輸人新的速度值,加速時(shí)的變化如上所述。減速控制時(shí),電機(jī)減速直至速度為則停止。如圖5所示為上位機(jī)數(shù)據(jù)變化與電機(jī)監(jiān)控曲線變化一致速度控制曲線。
圖5 電機(jī)速度控制曲線圖
3HM模式 電機(jī)先加速到設(shè)定速度,然后尋找原點(diǎn)位置,找到原點(diǎn)后,電機(jī)回零,減速直至這時(shí)分別在上位機(jī)界面以及電機(jī)的手動(dòng)遙控器伺服電機(jī)中査看電機(jī)的當(dāng)前位置值,都可以看到電機(jī)的當(dāng)前設(shè)為說(shuō)明電機(jī)回零操作完成。如圖6所示為位置控制曲線圖。
圖6 位置控制曲線圖
結(jié) 論 在實(shí)際應(yīng)用應(yīng)用過(guò)程中,本文所設(shè)計(jì)的系統(tǒng)運(yùn)行可靠,數(shù)據(jù)準(zhǔn)確易分析,機(jī)先加速運(yùn)行,達(dá)到設(shè)定的目標(biāo)速度值后開(kāi)始勻速實(shí)時(shí)性好,協(xié)議棧程序易植入。該方法可以擴(kuò)展適用于多電機(jī)控制系統(tǒng),而且的CANopen通信協(xié)議棧適用于所有設(shè)備,在工程應(yīng)用應(yīng)用領(lǐng)域非常廣泛。
|