《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于DeviceNet 協(xié)議的伺服系統(tǒng)設計
基于DeviceNet 協(xié)議的伺服系統(tǒng)設計
摘要: 隨著電力電子技術、控制技術、網(wǎng)絡技術、計算機技術的發(fā)展,伺服系統(tǒng)也獲得了前所未有的發(fā)展機遇。伺服系統(tǒng)滲透在國民經(jīng)濟中的各個領域,如數(shù)控機床,激光加工,機器人,大規(guī)模集成電路制造,辦公自動化設備以及軍用武器隨動系統(tǒng)等等。伺服技術本身的發(fā)展趨勢是開放化、網(wǎng)絡化、智能化伺服系統(tǒng)。
Abstract:
Key words :

隨著電力電子技術、控制技術、網(wǎng)絡技術、計算機技術的發(fā)展,伺服系統(tǒng)也獲得了前所未有的發(fā)展機遇。伺服系統(tǒng)滲透在國民經(jīng)濟中的各個領域,如數(shù)控機床,激光加工,機器人,大規(guī)模集成電路制造,辦公自動化設備以及軍用武器隨動系統(tǒng)等等。伺服技術本身的發(fā)展趨勢是開放化、網(wǎng)絡化、智能化伺服系統(tǒng)。 

 

    DeviceNet作為基于現(xiàn)場總線技術的工業(yè)標準開放網(wǎng)絡,為簡單的底層工業(yè)裝置和高層如計算機、PLC等設備之間提供連接。 DeviceNet應用國際標準的控制局域網(wǎng)(CAN)協(xié)議,具有公開的技術規(guī)范和價廉的通信部件,使得其具有比其他現(xiàn)場總線低得多的開發(fā)費用。設備網(wǎng)采用總線供電方式,提供本質安全技術,廣泛適用于各種高可靠性應用場合。 

    本文主要研究基于DeviceNet的伺服系統(tǒng)的軟硬件設計。通過CAN總線、單片機和高性能電機控制器ADMC401進行數(shù)據(jù)傳輸與控制,使伺服電機的性能更加穩(wěn)定,能更好更靈活地地應用于數(shù)控系統(tǒng)中。 

    CAN總線和DeviceNet協(xié)議的實現(xiàn) 

    CAN總線協(xié)議及特點 

    控制器局域網(wǎng)CAN為串行通信協(xié)議,能有效地支持具有很高安全等級的分布實時控制。CAN的應用范圍很廣,從高速的網(wǎng)絡到低價位的多路配線都可以使用CAN。在汽車電子行業(yè)中,使用CAN連接發(fā)動機控制單元、傳感器、防滑系統(tǒng)等,其傳輸速度可達1Mbps。同時,可以將CAN安裝在卡車本體的電子控制系統(tǒng)里,諸如車燈組、電氣車窗等,用以代替接線配線裝置。由于采用了許多新技術及獨特的設計,CAN總線與一般的通信總線相比,它的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性。其特點概括如下[1]: 

    l CAN為多主方式工作,網(wǎng)絡上任一節(jié)點可在任意時刻主動地向網(wǎng)絡上其他節(jié)點發(fā)送信息,而不分主從; 

    l 在報文標識符上,CAN上的節(jié)點分成不同的優(yōu)先級,可滿足不同的實時要求,優(yōu)先級高的數(shù)據(jù)最快可在134us內(nèi)得到傳輸; 

    l CAN采用非破壞總線仲裁技術。當多個節(jié)點同時向總線發(fā)出信息出現(xiàn)沖突時,優(yōu)先級較低的節(jié)點主動退出發(fā)送,而最高優(yōu)先級的節(jié)點可不受影響地繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總線沖突仲裁時間。尤其在網(wǎng)絡負載很重的情況下,不會出現(xiàn)網(wǎng)絡癱瘓情況(以太網(wǎng)則可能)。 
    
    DeviceNet協(xié)議及特點 

    DeviceNet是在1994年由美國的Allen Bredly公司開發(fā)的是基于CAN的一種現(xiàn)場總線,實現(xiàn)低成本高性能的工業(yè)設備的網(wǎng)絡互連。DeviceNet協(xié)議特別為工廠自動控制而定制,它在美國和亞洲扮演了非常重要的角色。在歐洲,越來越多的系統(tǒng)方案使用DeviceNet來實現(xiàn)。 

    DeviceNet規(guī)范在2002年12月被國家標準化管理委員會批準為中國的國家標準,于2003年4月開始實施。DeviceNet協(xié)議適用于最低層的現(xiàn)場總線,例如:過程傳感器、執(zhí)行器、閥組、電動機起動器、條形碼讀取器、變頻驅動器、面板顯示器、操作員接口和其他控制單元的網(wǎng)絡。可通過 DeviceNet連接的設備包括從簡單的擋光板到復雜的真空泵各種半導體產(chǎn)品。DeviceNet也是一種串行通信鏈接,可以減少昂貴的硬接線。 DeviceNet所提供的直接互連性不僅改善了設備間的通信,而且同時提供了相當重要的設備級診斷功能,這是通過硬接線I/O接口很難實現(xiàn)的。 DeviceNet具有多種特點[2]: 

    l DeviceNet基于CAN技術用于PLC與現(xiàn)場設備之間的通信網(wǎng)絡。它可連接開關、變頻調速設備、固態(tài)過載保護裝置、條形碼閱讀器、I/O和人機界面等,傳輸速率為125~500kbps; 

    l DeviceNet使用的通信模式是:消息產(chǎn)生者(Producer)和消息使用者(Consumer)。傳統(tǒng)的通信在消息傳送上采用的技術式指定數(shù)據(jù)源和目標地址。DeviceNet使用的模型更為有效,它可使控制數(shù)據(jù)同時到達控制的每一個單元,可以更有效地利用網(wǎng)絡的頻帶寬度。消息產(chǎn)生者一次發(fā)送的數(shù)據(jù)可被多個消息使用者使用,從而更有效的傳送數(shù)據(jù); 

    l DeviceNet使用的通信協(xié)議為11位標識符,即所有的I/O消息都有自己的11位標識符ID,標識符ID分成四個消息組,各有不同用途ID中同時提供了多重優(yōu)先權。工作時,總線上的設備監(jiān)聽網(wǎng)絡上消息,當設備辨識出正確的標識符后,將接受該消息; 

    l DeviceNet上的每一個設備可以隨時連接或斷開,而不會影響其他設備的正常運行。真正的開放性使系統(tǒng)擴充和改型非常方便。 

    控制系統(tǒng)的構成 

    為了實現(xiàn)伺服系統(tǒng)的快速實時控制,系統(tǒng)在設計上采用了單片機+DSP雙CPU結構。在設計時將系統(tǒng)控制任務進行了劃分:DSP完成實時性要求高的伺服控制任務,FLASH結構的8位單片機89C51完成實時性要求比較低的管理任務,單片機和DSP之間的通訊采用并行數(shù)據(jù)方式,由FPGA實現(xiàn)。同時 FPGA還要完成外部I/O信號管理、位置脈沖指令信號處理及計數(shù)、故障信號處理等功能。伺服控制系統(tǒng)的結構如圖1所示。由圖1可以看出,系統(tǒng)主要有以下幾部分:伺服控制中心ADMC401;外設接口FPGA+單片機89C51;主電路以及開關電源電路[3]。下面分別說明。

    

    DeviceNet通信接口部分 

    本文所設計的DeviceNet接口電路中,采用AT89C51ED2作為節(jié)點的微處理器,在CAN總線通信接口中,CAN通信控制器采用SJA1000,CAN總線驅動器采用82C250。 

    圖2為DeviceNet接口電路原理圖。從圖2中可以看出,電路主要由4部分構成:微控制器89C51、獨立CAN通信控制器SJA1000、 CAN總線收發(fā)器82C250和高速光電耦合器6N137。微處理器89C51負責SJA1000的初始化,通過控制SJA1000實現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務。

    

    為了增強CAN總線節(jié)點的抗干擾能力,SJA1000的TX0和RXO并不是直接與82C250的TXD和RXD相連,而是通過高速光耦 6N137后與82C250相連,這樣就很好的實現(xiàn)了總線上各CAN節(jié)點間的電氣隔離,從而保護了系統(tǒng)電路以及總線的信號傳輸。從整體性能來說,系統(tǒng)設計具有很好的通用性和實用性。 

    微控制器AT89C51ED2用來實現(xiàn)通訊的應用層協(xié)議。它具有豐富的內(nèi)存資源,4個8位I/O端口、3個16位定時/計數(shù)器、256字節(jié)暫存 RAM、9個中斷源、4個優(yōu)先級,此外還有2K EEPROM空間,系統(tǒng)不需要擴展外部程序存儲器便可滿足DeviceNet協(xié)議程序的容量要求。并且能夠在×2模式(6個時鐘/機器周期)下工作運行,本文中的設計即是在×2模式下。單片機通過訪問SJA1000的寄存器來實現(xiàn)和上位機的通信。CAN控制器SJA1000的接收寄存器和發(fā)送寄存器用于暫時存放接收和發(fā)送的數(shù)據(jù)。單片機發(fā)送數(shù)據(jù)則通過設置SJA1000的命令寄存器發(fā)送命令位,接收數(shù)據(jù)是通過中斷方式實現(xiàn),SJA1000的INT引腳與AT89C51ED2的INT1引腳相連,使單片機能夠實時響應CAN的中斷請求。采樣周期2ms由 AT89C51ED2的定時器中斷產(chǎn)生。 

    電機控制部分 

    伺服電機控制電路部分采用高性能電機控制器ADMC401,它是美國模擬器件公司(ADI)推出DSP芯片中的高檔產(chǎn)品。ADMC401是面向電機控制的高性能數(shù)字信號處理器,它以ADSP-2171為內(nèi)核,輔以完備的電機控制外設。其中包括8路12位A/D轉換系統(tǒng)、三相16位PWM產(chǎn)生單元、兩路輔助PWM輸出及用于位置反饋的增量式碼盤接口。另外ADMC401還包括12路數(shù)字I/O口、事件捕獲單元及內(nèi)部定時器等設施,為開發(fā)快速、高精度的電機控制系統(tǒng)提供了完善的硬件設施。 

    ADMC401內(nèi)部提供了2K×24位的內(nèi)部程序RAM、2K×24位的內(nèi)部程序ROM和1K×16位的內(nèi)部數(shù)據(jù)RAM;程序及數(shù)據(jù)RAM的內(nèi)容可由其串口從外部ROM中以同步或異步方式調入。為了滿足實際工程的需要,ADMC401還提供了外部存儲器的擴展能力,用戶最多可以直接尋址片外 14K×24位的程序存儲器和13K×16位的數(shù)據(jù)存儲器[4]。ADMC401是整個伺服系統(tǒng)的核心,具有高速的運算能力、較高的采樣精度,外設配置性能和功能較強,能勝任實時性要求高的伺服控制任務。本系統(tǒng)用它來實現(xiàn)矢量變換、電流環(huán)、速度環(huán)、位置環(huán)控制以及PWM信號發(fā)生、各種故障保護處理等。 

    系統(tǒng)軟件設計 

    上位機軟件設計 

    上位機主控計算機是整個系統(tǒng)的核心,通過CAN接口卡與CAN總線相連,負責系統(tǒng)的管理、運動規(guī)劃以及通訊功能。其上位PC機軟件設計包括網(wǎng)絡管理,參數(shù)管理,狀態(tài)管理三個部分。 

    l 網(wǎng)絡管理 設置CAN接口卡工作波特率和本機節(jié)點地址,同時初始化CAN控制器SJA1000,以及DeviceNet各個對象類,并且檢查此網(wǎng)絡中是否設置重復的節(jié)點地址。因為PC機的CAN卡初始化要涉及CAN卡與PC機的聯(lián)系工作,所以要對CAN通訊適配卡的各個寄存器進行配置,設置中斷向量、通信波特率和濾波接收碼以及中斷屏蔽字等參數(shù),為正常通訊做好準備工作。另外此部分還要完成掃描網(wǎng)絡中的節(jié)點,并與從機節(jié)點建立連接的功能。 DeviceNet是面向連接的網(wǎng)絡,兩個節(jié)點之間首先建立連接然后才能夠通訊,本設計中只采用僅限組2的從設備建立連接,其建立連接是通過“分配預定義主/從連接組”來完成的。 

    l 參數(shù)管理 完成伺服系統(tǒng)的各個參數(shù)字或者控制字的讀取修改工作,這些參數(shù)包括伺服電機的內(nèi)部參數(shù)Kp、Ki、Kd等以及針對雷達系統(tǒng)的參數(shù): 雷達扇掃中心角度、扇掃范圍、扇掃速度、手輪方式中的手輪與天線的轉速比、運行模式選擇(第26號參數(shù),其中0—手輪方式,1—勻速掃描方式,2—扇掃方式,4—接收停方式)。一般情況下,對各個控制字參數(shù)的讀寫操作類似于對各個參數(shù)的讀寫操作。在本設計中為了簡化軟件設計,我們可以對31號參數(shù)的讀寫操作來完成對16個控制字的讀寫操作,實現(xiàn)過程如下:第31號參數(shù)為控制字參數(shù),是由16個控制字按照STA-15至STA-0順序組合而成的一個整型數(shù),這樣對控制字參數(shù)的讀寫操作的同時也就完成了對16個控制字的讀寫操作。 

    l 狀態(tài)管理 能夠反應伺服電機當前的運動狀態(tài),如實際位置,速度指令,力矩反饋,速度反饋,指令偏差等。這樣給我們觀察伺服電機當前狀態(tài)提供了一個直觀方便的平臺。 

    下位機軟件設計 

    下位機通信部分的單片機完成I/O數(shù)據(jù)過程的自動控制作業(yè),包括輸入輸出數(shù)據(jù)的解包下發(fā)、打包上傳,以及故障事件記錄、報警等工作。通信卡采用定時中斷方式與CAN總線的控制卡節(jié)點頻繁地交換各自通信緩沖區(qū)的數(shù)據(jù),以確保系統(tǒng)I/O數(shù)據(jù)的實時性,同時縮短了整個系統(tǒng)響應時間。圖3示出程序框圖。

    

    下位機初始化完成后,則進入等待中斷狀態(tài)。下位機的通訊過程是通過單片機訪問CAN控制器寄存器來實現(xiàn)的,單片機對CAN控制器的寄存器訪問是作為單片機的外部存儲器訪問的,每個寄存器的地址為SJA1000的首地址與SJA1000內(nèi)部相對地址之和。單片機采用中斷方式接收數(shù)據(jù)。CAN控制器 SJA1000接收到上位機的數(shù)據(jù)并且當接收緩沖區(qū)有空余空間時,接收的數(shù)據(jù)被依次放在SJA1000的接收緩沖區(qū)中,這是有硬件自動完成的。當調用清除命令清除接收寄存器中的數(shù)據(jù)后,F(xiàn)IFO接收緩沖區(qū)會把數(shù)據(jù)填充到已清空的接收寄存器中,同時回答一個中斷信號。單片機把這個中斷信號作為單片機的外部接收中斷,單片機響應接收中斷后讀出CAN控制器中的接收緩沖區(qū)數(shù)據(jù)并保存,再清空CAN控制器的接收寄存器。 

    在設計本系統(tǒng)軟件時, 開發(fā)工具使用Borland C++語言 。因Borland C++是一種可視化、面向對象的C++程序設計語言快速開發(fā)工具,具有簡單直觀和功能強大的特點。在Borland C ++集成開發(fā)環(huán)境下,可以方便的編寫PC機的通訊程序。 

    以PC機A作為主機,伺服驅動器和PC機B作為網(wǎng)絡中的2個節(jié)點,設置主機節(jié)點地址和通訊波特率后,對網(wǎng)絡進行掃描建立連接,可以正確掃描到兩個在線節(jié)點,如圖4是讀取伺服驅動器各個參數(shù)值。

    

    結語 

    從CAN總線以及DeviceNet總線特點可以看出,它較傳統(tǒng)的串行通信,在硬件上可減少走線、易于系統(tǒng)擴充或改型,在軟件上通信更加靈活、實時性更好、糾錯能力更強。這表明基于DeviceNet總線的運動控制系統(tǒng)有廣闊的應用前景。 

    本文所設計的運動控制系統(tǒng)將DeviceNet總線與伺服電機驅動技術結合起來,實現(xiàn)了控制系統(tǒng)的全數(shù)字化。實際運行結果表明:本系統(tǒng)具有可靠性高、實時性好、易于維護等特點,達到了設計所需的要求。 

    參考文獻 
    [1] 饒運濤.現(xiàn)場總線CAN原理與應用技術.北京:北京航空航天大學出版社,2003 
    [2] DeviceNet網(wǎng)絡結構,廣州周立功單片機發(fā)展有限公司,www.zlgmcu.com 
    [3] 李葉松等.全數(shù)字交流永磁同步電機伺服系統(tǒng)設計.電力電子技術,2002,(6) 
    [4] ADI. Single-Chip ,DSP-Based High Performance Motor Controller ADMC401. Analog Devices ,1999.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。