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