• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種數(shù)字伺服驅(qū)動(dòng)的多元電機(jī)控制系統(tǒng)設(shè)計(jì)

      2013-09-10 08:33:36王廣龍陳建輝喬中濤
      自動(dòng)化儀表 2013年2期
      關(guān)鍵詞:驅(qū)動(dòng)程序驅(qū)動(dòng)器控制算法

      董 宇 王廣龍 陳建輝 喬中濤

      (軍械工程學(xué)院導(dǎo)彈工程系,河北 石家莊 050003)

      0 引言

      伺服系統(tǒng)也稱(chēng)隨動(dòng)系統(tǒng),屬于自動(dòng)控制系統(tǒng)中的一種。伺服控制技術(shù)應(yīng)用廣泛,其不僅能完成轉(zhuǎn)動(dòng)控制、直線運(yùn)動(dòng)控制,而且能依靠多套伺服系統(tǒng)的配合完成復(fù)雜的空間曲線運(yùn)動(dòng)的控制[1-2]。

      早期的伺服驅(qū)動(dòng)器多屬于模擬伺服,處理器運(yùn)算速度的增長(zhǎng)為數(shù)字伺服驅(qū)動(dòng)器的出現(xiàn)奠定了基礎(chǔ)。具有數(shù)字輸入與輸出接口的數(shù)字伺服驅(qū)動(dòng)器具有體積小、質(zhì)量輕等特點(diǎn)。采用數(shù)字伺服驅(qū)動(dòng)器進(jìn)行編程,僅需設(shè)計(jì)上層軟件就能實(shí)現(xiàn)復(fù)雜功能,體現(xiàn)出極大的優(yōu)越性[3-4]。目前,國(guó)內(nèi)大多數(shù)電機(jī)控制系統(tǒng)采用嵌入式系統(tǒng)進(jìn)行設(shè)計(jì),成本相對(duì)較低,但運(yùn)算能力較弱,無(wú)法實(shí)現(xiàn)多元(自由度)大運(yùn)算量計(jì)算及復(fù)雜算法[5-6]。

      本控制系統(tǒng)采用高性能的工控機(jī)作為核心控制模塊,并基于Linux操作系統(tǒng)進(jìn)行控制軟件的開(kāi)發(fā),軟件編程更靈活,魯棒性更好,控制算法優(yōu)化易于實(shí)現(xiàn),系統(tǒng)性能得到大大改善。

      1 控制系統(tǒng)硬件結(jié)構(gòu)

      本控制系統(tǒng)包括核心控制、USBcan和伺服驅(qū)動(dòng)三個(gè)模塊,如圖1所示。其中核心控制模塊包括工控機(jī)及其外部I/O設(shè)備;USBcan模塊的核心部分為USBcan轉(zhuǎn)換器;伺服驅(qū)動(dòng)模塊包括數(shù)字伺服驅(qū)動(dòng)器和執(zhí)行電機(jī)。

      圖1 系統(tǒng)硬件結(jié)構(gòu)Fig.1 Hardware structure of the system

      1.1 核心控制模塊

      核心控制模塊以工控機(jī)PCM9362D為核心。PCM9362D工控機(jī)采用+12 V電源供電,功耗只有10 W左右,其集成了USB、CF存儲(chǔ)器接口等外部接口,具有很高的集成度。該工控機(jī)支持Windows、Linux等多種操作系統(tǒng),系統(tǒng)可安裝在CF卡中,無(wú)需硬盤(pán)的支持,這有效提高了系統(tǒng)的可靠性和穩(wěn)定性。PCM9362D工控機(jī)采用的雙核Intel微功耗處理器,能有效保證其高速運(yùn)算的能力,可運(yùn)行復(fù)雜的控制算法,為控制系統(tǒng)軟件開(kāi)發(fā)提供了高性能的硬件平臺(tái)。

      1.2 USBcan 模塊

      USBcan模塊采用Kvaser公司的USBcan Professional轉(zhuǎn)換器,實(shí)現(xiàn)USB到雙端口CAN的數(shù)據(jù)接口和數(shù)據(jù)交換。該模塊可通過(guò)USB中的電源供電,無(wú)需外加電源;支持Linux下的驅(qū)動(dòng)模塊自動(dòng)加載,可同時(shí)支持CAN2.0A、CAN2.0B協(xié)議。其工作過(guò)程為:內(nèi)部處理器接收核心控制模塊發(fā)送的控制指令,并將接收到的數(shù)據(jù)根據(jù)CAN協(xié)議封裝打包,經(jīng)CAN總線發(fā)送給伺服驅(qū)動(dòng)模塊,以驅(qū)動(dòng)執(zhí)行電機(jī);同時(shí)接收來(lái)自電機(jī)的反饋信息,并上傳給核心控制模塊。

      USBcan模塊的驅(qū)動(dòng)程序中包含通道設(shè)置、波特率設(shè)置、初始化、數(shù)據(jù)讀寫(xiě)等多個(gè)API函數(shù),可在應(yīng)用程序中直接調(diào)用,為軟件開(kāi)發(fā)提供了方便,提高了軟件的可移植性。該模塊通過(guò)CAN接口可擴(kuò)展多路CAN總線終端設(shè)備,為編程控制多元執(zhí)行電機(jī)創(chuàng)造了條件。

      1.3 伺服驅(qū)動(dòng)模塊

      伺服驅(qū)動(dòng)模塊的核心部分為Elmo公司的WHI系列數(shù)字伺服驅(qū)動(dòng)器,其結(jié)構(gòu)如圖2所示。WHI伺服驅(qū)動(dòng)器同時(shí)支持CAN總線及RS-232通信接口,可在角度、位置、速度和力矩控制多模式之間任意切換。該伺服驅(qū)動(dòng)器的微處理器具有內(nèi)置的驅(qū)動(dòng)程序,能執(zhí)行內(nèi)置的腳本;可以根據(jù)電機(jī)狀態(tài)自動(dòng)調(diào)整伺服電機(jī)的工作參數(shù);根據(jù)控制指令運(yùn)行相應(yīng)的操作,直到核心控制模塊發(fā)送改變其運(yùn)行狀態(tài)的指令。

      圖2 數(shù)字伺服驅(qū)動(dòng)器結(jié)構(gòu)圖Fig.2 Structure of the digital servo driver

      2 控制系統(tǒng)算法設(shè)計(jì)

      WHI數(shù)字伺服驅(qū)動(dòng)器中封裝了SP(速度設(shè)置)、MP[N](運(yùn)動(dòng)參數(shù)設(shè)置)、LD(程序加載)等完整的硬件控制命令。在優(yōu)化底層硬件驅(qū)動(dòng)程序的基礎(chǔ)上,本系統(tǒng)的軟件設(shè)計(jì)著重于上層控制系統(tǒng)軟件的實(shí)現(xiàn),其中控制算法的設(shè)計(jì)是上層控制系統(tǒng)設(shè)計(jì)的關(guān)鍵部分。

      2.1 變速積分PID控制算法

      PID控制是一種線性控制方法,其在連續(xù)時(shí)間域中的表達(dá)式如下[7]:

      式中:Kp、Ti、Td分別為模擬控制器的比例增益、積分時(shí)間和微分時(shí)間常數(shù);e(t)為控制偏差;u0為系統(tǒng)穩(wěn)態(tài)工作時(shí)的控制器輸出,即偏差e=0時(shí)的輸出。

      對(duì)式(1)進(jìn)行離散化處理之后,得到PID控制器的數(shù)字算法如式(2)所示:

      式中:u(k)為采樣時(shí)刻t=kT時(shí)的計(jì)算機(jī)輸出;Ki為積分常數(shù);Kd為微分系數(shù)[8-9]。

      系統(tǒng)對(duì)積分項(xiàng)的要求是:系統(tǒng)偏差大時(shí),積分作用減弱以至全無(wú);而在小偏差時(shí)則應(yīng)加強(qiáng)。因此,引入變速積分PID控制算法。其基本思想為:設(shè)法改變積分項(xiàng)的累加速度,使其與偏差大小相對(duì)應(yīng),偏差越大,積分越慢,反之則越快。為此,設(shè)置系數(shù)f[e(k)],它是e(k)的函數(shù)。當(dāng)|e(k)|增大時(shí),f減小,反之增大,則得到變速積分PID積分項(xiàng)表達(dá)式如下:

      將式(3)代入式(2),最終得到變速積分PID算法的完整形式,即:

      變速積分PID控制算法可以完全消除積分飽和現(xiàn)象,大大減少了超調(diào)量,從而使得系統(tǒng)更加穩(wěn)定[10]。另外,本系統(tǒng)在設(shè)計(jì)時(shí)對(duì)PID輸出設(shè)置了上下限幅值,避免了因輸出過(guò)大造成的系統(tǒng)不穩(wěn)定,進(jìn)一步增強(qiáng)了系統(tǒng)的魯棒性。

      2.2 電機(jī)速度控制算法

      本控制系統(tǒng)所采用的數(shù)字伺服驅(qū)動(dòng)器提供了對(duì)電機(jī)加速度和最大速度等參數(shù)的編程控制,其內(nèi)部的控制機(jī)制能保證其在頻繁啟停、頻率發(fā)生突變的高速運(yùn)轉(zhuǎn)過(guò)程中不會(huì)發(fā)生堵轉(zhuǎn)和失步現(xiàn)象。

      在控制軟件中,需要保證通過(guò)軟件設(shè)置的速度值與電機(jī)實(shí)際轉(zhuǎn)速保持一致[11],這就需要設(shè)計(jì)速度控制算法進(jìn)行速度控制。電機(jī)速度控制算法流程如圖3所示。

      圖3 速度控制算法流程圖Fig.3 Flowchart of the speed control algorithm

      2.3 電機(jī)角度控制算法

      在數(shù)字伺服驅(qū)動(dòng)器中,對(duì)電機(jī)轉(zhuǎn)動(dòng)位置的設(shè)定是采用設(shè)定下一運(yùn)動(dòng)將到達(dá)的相對(duì)位置的方式進(jìn)行的,這使得對(duì)電機(jī)的轉(zhuǎn)動(dòng)控制不夠直觀明了。因此,在上層軟件中,將電機(jī)下一運(yùn)動(dòng)將到達(dá)的相對(duì)位置換算成電機(jī)將轉(zhuǎn)動(dòng)的角度值,其換算關(guān)系為:

      式中:Pr為電機(jī)下一運(yùn)動(dòng)將到達(dá)的相對(duì)位置;Pa為電機(jī)轉(zhuǎn)動(dòng)的角度值;Gr為齒輪齒數(shù)比;Ec為編碼器轉(zhuǎn)數(shù)。在軟件控制時(shí),只需設(shè)置角度值Pa即可使電機(jī)轉(zhuǎn)過(guò)相應(yīng)角度。

      3 控制系統(tǒng)軟件實(shí)現(xiàn)

      控制系統(tǒng)軟件采用Linux Ubuntu10.04+Kedit程序編輯器作為其開(kāi)發(fā)環(huán)境,根據(jù)面向?qū)ο笏枷脒M(jìn)行編程,以命令行的方式運(yùn)行。在系統(tǒng)軟件運(yùn)行前需首先加載硬件驅(qū)動(dòng)程序,然后通過(guò)CAN總線控制器使能CAN總線。在初始化電機(jī)和WHI伺服驅(qū)動(dòng)器之后,即可驅(qū)動(dòng)多元電機(jī)運(yùn)行。

      3.1 硬件驅(qū)動(dòng)程序加載

      在進(jìn)行系統(tǒng)軟件編程之前,首先需要保證硬件正常工作。Linux系統(tǒng)本身對(duì)一些使用較為普遍的硬件提供了相應(yīng)的驅(qū)動(dòng)程序,本部分的主要工作為驅(qū)動(dòng)USBcan轉(zhuǎn)換器。

      USBcan轉(zhuǎn)換器針對(duì)Linux系統(tǒng)定制了驅(qū)動(dòng)程序,可通過(guò) make、make install命令編譯、安裝,但由于Ubuntu對(duì)Linux內(nèi)核做了修改,在對(duì)USB設(shè)備進(jìn)行識(shí)別時(shí),導(dǎo)致驅(qū)動(dòng)程序無(wú)法加載,因此需要修改USBcan驅(qū)動(dòng)中的ProductID。驅(qū)動(dòng)程序安裝完成后,即可啟動(dòng)加載驅(qū)動(dòng)程序。

      3.2 CAN 總線控制

      本系統(tǒng)采用單獨(dú)的子程序?qū)AN總線控制器進(jìn)行操作,其程序流程如圖4所示。

      圖4 CAN總線控制流程圖Fig.4 Control flowchart of CAN bus

      首先,調(diào)用canInitializeLibrary()方法初始化CAN總線控制器驅(qū)動(dòng)程序;然后讀取當(dāng)前處于活動(dòng)狀態(tài)的CAN通道號(hào)。對(duì)應(yīng)每一個(gè)處于活動(dòng)狀態(tài)的CAN通道都對(duì)應(yīng)一個(gè)句柄handle,該值若小于0,則說(shuō)明打開(kāi)失敗,進(jìn)入錯(cuò)誤處理程序;否則開(kāi)啟操作人員選擇的CAN通道。使用canSetBusParams()方法設(shè)置好CAN通道的相關(guān)參數(shù),即可打開(kāi)CAN總線進(jìn)行讀寫(xiě)操作[12]。

      3.3 伺服驅(qū)動(dòng)器/電機(jī)初始化

      本文在初始化數(shù)字伺服驅(qū)動(dòng)器時(shí),首先通過(guò)InitialDriverMode()方法設(shè)置數(shù)字伺服驅(qū)動(dòng)器的采樣時(shí)間,并設(shè)置驅(qū)動(dòng)電機(jī)的相關(guān)運(yùn)動(dòng)參數(shù),如位置參考點(diǎn)、位置控制器的采樣次數(shù)以及定時(shí)數(shù)據(jù)等。然后調(diào)用FillInMotionBuffer()方法清空數(shù)字伺服驅(qū)動(dòng)器的數(shù)據(jù)存儲(chǔ)器,這其中包括用于存儲(chǔ)時(shí)間、位置、速度陣列的QTⅠ、QPⅠ、QVⅠ數(shù)組。最后調(diào)用 ResetDriverWithData()方法啟動(dòng)歸位進(jìn)程,重置數(shù)字伺服驅(qū)動(dòng)器的位置寄存器。

      對(duì)電機(jī)的初始化操作主要是為電機(jī)的相關(guān)數(shù)據(jù)賦初值,包括對(duì)各個(gè)電機(jī)所對(duì)應(yīng)的CAN節(jié)點(diǎn)號(hào)的設(shè)置、各個(gè)電機(jī)的齒輪齒數(shù)比和編碼器轉(zhuǎn)數(shù)的設(shè)置等。

      3.4 驅(qū)動(dòng)多元電機(jī)

      對(duì)于多元電機(jī)的控制,本文采用循環(huán)控制的方法,其流程如圖5所示。所有電機(jī)既可以根據(jù)程序預(yù)先設(shè)定好的自動(dòng)運(yùn)行模式運(yùn)動(dòng),也可以通過(guò)人工輸入運(yùn)動(dòng)控制參數(shù)的方式運(yùn)動(dòng)。

      目前,本控制系統(tǒng)實(shí)現(xiàn)的自動(dòng)運(yùn)行模式包括兩種方式,即按默認(rèn)速度連續(xù)運(yùn)動(dòng)和按預(yù)先設(shè)定好的時(shí)間、速度、位置陣列運(yùn)動(dòng)。程序中對(duì)電機(jī)的控制方式包括旋轉(zhuǎn)角度控制、轉(zhuǎn)速控制、運(yùn)動(dòng)模式切換等。在電機(jī)運(yùn)動(dòng)的過(guò)程中,采用變速積分PID控制算法實(shí)時(shí)檢測(cè)運(yùn)動(dòng)誤差并進(jìn)行誤差補(bǔ)償[13-16]。

      圖5 多元電機(jī)控制流程圖Fig.5 Flowchart of the multi-motor control

      4 控制系統(tǒng)數(shù)據(jù)分析

      根據(jù)數(shù)字伺服驅(qū)動(dòng)器的要求,輸入20組角度值,通過(guò)對(duì)數(shù)字伺服驅(qū)動(dòng)器的PX指令加載,得到電機(jī)的實(shí)際轉(zhuǎn)動(dòng)角度反饋數(shù)據(jù)如表1所示。根據(jù)表1繪制得到的數(shù)據(jù)分析曲線如圖6所示。

      表1 角度測(cè)試試驗(yàn)數(shù)據(jù)Tab.1 Experimental data of angle test

      圖6 數(shù)據(jù)分析曲線Fig.6 Curve of data analysis

      由表1可見(jiàn),單個(gè)電機(jī)的控制誤差不超過(guò)1°。由圖6可以看出,該曲線具有良好的線性度,控制系統(tǒng)運(yùn)轉(zhuǎn)穩(wěn)定。

      5 結(jié)束語(yǔ)

      本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于數(shù)字伺服驅(qū)動(dòng)器的多元電機(jī)控制系統(tǒng)。該系統(tǒng)采用面向?qū)ο蟮乃枷刖幊蹋哂辛己玫娜藱C(jī)交互性,相關(guān)控制算法的設(shè)計(jì)使得本系統(tǒng)的電機(jī)控制高效穩(wěn)定。經(jīng)試驗(yàn)驗(yàn)證,系統(tǒng)魯棒性較好、可靠性較高、靈敏度高、誤差小,CAN總線可掛接多個(gè)總線設(shè)備。本控制系統(tǒng)可用于機(jī)器人、數(shù)控機(jī)床等多種應(yīng)用環(huán)境,具有較高的實(shí)用價(jià)值和良好的擴(kuò)展性。

      [1]黃會(huì)生,樊利民.基于Elmo數(shù)字伺服控制器的機(jī)載吊艙陀螺穩(wěn)定平臺(tái)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2010,10(18):64 -66.

      [2] Yang Wenlei,Jang Tingbiao.Hardware design of digital AC servo system based on DSP2812[C]//2010 International Conference on Intelligent Computing and Integrated Systems,2010:337 -340.

      [3]林青松,姚玉菲,王軍曉.新型伺服控制系統(tǒng)的建模仿真與分析[J].電子技術(shù)應(yīng)用,2010,36(12):135 -140.

      [4] Chen Nanhu,Li Zexiang.A sensorless speed control strategy for a lowcost full-closed-loop servo driver system[C]//7th World Congress on Intelligent Control and Automation,2008:5616 -5621.

      [5]吳紅星,錢(qián)海榮,劉瑩,等.永磁直線同步電機(jī)控制技術(shù)綜述[J].微電機(jī),2011,44(7):76 -80.

      [6]高梅,王忠慶.基于DSP的交流伺服電機(jī)控制系統(tǒng)的研究[J].機(jī)械工程與自動(dòng)化,2009(5):149-150.

      [7]于曉敏,于曉坤,耿蕊.PID控制器參數(shù)優(yōu)化算法的仿真研究[J].計(jì)算機(jī)仿真,2011,28(7):212 -215.

      [8]王秀君,胡協(xié)和.一種改進(jìn)的單神經(jīng)元PID控制策略[J].浙江大學(xué)學(xué)報(bào),2011,45(8):1498 -1501.

      [9]黃友銳,曲立國(guó).PID控制器參數(shù)整定與實(shí)現(xiàn)[M].北京:科學(xué)出版社,2010:10-12.

      [10]盧志剛,吳杰.數(shù)字伺服控制系統(tǒng)與設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2007:312-315.

      [11]Boussak M.Implementation and experimental investigation of sensorless speed control with initial rotor position estimation for interior PM synchronous motor drive[J].IEEE Transactions on Power Electronics,2005,20(6):1413 -1422.

      [12]劉宇,張義民.CAN總線數(shù)據(jù)傳輸可靠性分析[J].機(jī)械科學(xué)與技術(shù),2011,30(6):888 -891.

      [13]王維平,張磊,李同華.基于DSP無(wú)軸承永磁同步電機(jī)控制系統(tǒng)設(shè)計(jì)[J].電力電子技術(shù),2011,45(6):55 -57.

      [14]阮見(jiàn).多功能智能移動(dòng)機(jī)器人控制系統(tǒng)設(shè)計(jì)與分析[D].南京:南京理工大學(xué),2008.

      [15]鐘新華,蔡自興,鄒小兵.移動(dòng)機(jī)器人運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)及控制算法研究[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2004(s1).

      [16]邱寄帆,王海春,唐斌,等.通用智能機(jī)器人分布式控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2006(8):71-73.

      猜你喜歡
      驅(qū)動(dòng)程序驅(qū)動(dòng)器控制算法
      藏起驅(qū)動(dòng)器號(hào)確保數(shù)據(jù)安全
      基于ARM+FPGA的模塊化同步控制算法研究
      壓電陶瓷驅(qū)動(dòng)器的遲滯特性
      一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應(yīng)用
      SiC基和Si基永磁同步電動(dòng)機(jī)驅(qū)動(dòng)器的比較
      新型低電壓大變形微驅(qū)動(dòng)器數(shù)值求解及仿真
      一種非圓旋轉(zhuǎn)工件支撐裝置控制算法
      DI材橫向厚差自動(dòng)控制算法及其應(yīng)用
      上海金屬(2013年4期)2013-12-20 07:57:17
      驅(qū)動(dòng)程序更新與推薦
      驅(qū)動(dòng)程序更新與推薦
      德化县| 邢台县| 奈曼旗| 永和县| 那坡县| 永州市| 抚松县| 喀喇沁旗| 盐山县| 太康县| 淮阳县| 宜宾县| 冕宁县| 长顺县| 福鼎市| 镇赉县| 汕尾市| 北宁市| 和龙市| 开阳县| 乐平市| 田林县| 泸水县| 张家口市| 宣城市| 四川省| 巫溪县| 泰兴市| 竹溪县| 鄂尔多斯市| 玉山县| 乡宁县| 恭城| 尖扎县| 宁城县| 新丰县| 朔州市| 白水县| 沧州市| 电白县| 顺昌县|