国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DSP和PowerPC的開(kāi)放式伺服控制系統(tǒng)設(shè)計(jì)

2016-12-19 11:41黎劍華張仁杰李夏青
電子科技 2016年11期
關(guān)鍵詞:框圖控制算法命令

黎劍華,張仁杰,劉 虎,李夏青

(上海理工大學(xué) 光電與計(jì)算機(jī)工程學(xué)院,上海 200093)

?

基于DSP和PowerPC的開(kāi)放式伺服控制系統(tǒng)設(shè)計(jì)

黎劍華,張仁杰,劉 虎,李夏青

(上海理工大學(xué) 光電與計(jì)算機(jī)工程學(xué)院,上海 200093)

設(shè)計(jì)了一種基于DSP和PowerPC的開(kāi)放式伺服控制系統(tǒng),該系統(tǒng)主要采用TMS320C6713微控制器實(shí)現(xiàn)通信及控制算法的運(yùn)算。硬件部分介紹了雙端口RAM電路、電源電路及復(fù)位電路,并提出了PowerPC端和DSP端基于雙端口RAM芯片進(jìn)行通信的方法。軟件部分每400us進(jìn)行一次伺服采樣運(yùn)算并通過(guò)PID調(diào)節(jié)進(jìn)行誤差補(bǔ)償。通過(guò)實(shí)驗(yàn)對(duì)PID算法部分進(jìn)行參數(shù)整定及誤差分析,結(jié)果證明,該伺服運(yùn)動(dòng)控制系統(tǒng)可達(dá)到良好的控制精度。

開(kāi)放式數(shù)控系統(tǒng);伺服運(yùn)動(dòng)控制器;DSP;PID

運(yùn)動(dòng)控制技術(shù)是基于高性能微處理器,對(duì)運(yùn)動(dòng)軌跡規(guī)劃進(jìn)行計(jì)算使機(jī)械系統(tǒng)按照預(yù)期進(jìn)行運(yùn)動(dòng),當(dāng)出現(xiàn)偏差時(shí)能實(shí)現(xiàn)高速的實(shí)時(shí)運(yùn)動(dòng)誤差補(bǔ)償,保證系統(tǒng)的高的控制精度和伺服電機(jī)高的運(yùn)動(dòng)速度[1-3]。

本文基于開(kāi)放式數(shù)控系統(tǒng)提出了一種基于PowerPC上位機(jī),以DSP作為主控單元完成伺服運(yùn)算的伺服運(yùn)動(dòng)控制系統(tǒng)。控制器向伺服驅(qū)動(dòng)器下發(fā)電壓變化范圍為(-Ui-Ui)的速度指令信號(hào)[4-6],并通過(guò)采集編碼器的反饋信號(hào)以實(shí)現(xiàn)電機(jī)控制。本文實(shí)現(xiàn)了數(shù)字式PID伺服控制算法,控制算法的引入減小了伺服控制誤差,達(dá)到了設(shè)計(jì)的預(yù)期效果和要求,具有較高的實(shí)用價(jià)值。

1 系統(tǒng)的總體設(shè)計(jì)

運(yùn)動(dòng)控制時(shí)DSP與PowerPC兩者之間需要大量的數(shù)據(jù)傳輸。為提高DSP與PowerPC機(jī)之間數(shù)據(jù)傳輸?shù)乃俣?,本文使用VME協(xié)議作為數(shù)據(jù)傳輸?shù)目偩€協(xié)議。系統(tǒng)硬件架構(gòu)框圖如圖1所示。雙口RAM集成了兩個(gè)不同的硬件存儲(chǔ)訪問(wèn)接口,這兩部分各自有不同的讀寫(xiě)控制總線,DSP和PowerPC兩端可對(duì)雙端口RAM的地址空間進(jìn)行互不影響的讀寫(xiě)訪問(wèn);DSP主要完成的工作是接收PowerPC上位機(jī)指令,處理運(yùn)動(dòng)控制算法,實(shí)時(shí)向伺服驅(qū)動(dòng)器下發(fā)變化的電壓量,并通過(guò)檢測(cè)運(yùn)動(dòng)的位置,完成位置誤差的補(bǔ)償。

圖1 系統(tǒng)硬件架構(gòu)框圖

2 硬件設(shè)計(jì)

2.1 TMS320C6713微處理器

DSP是運(yùn)動(dòng)控制器的控制芯片,其性能決定著電機(jī)的運(yùn)行速度和精度。本文選擇DSP的型號(hào)為TMS320C6713,芯片框圖如圖2所示,其內(nèi)部包括中央處理單元、內(nèi)部存儲(chǔ)器、寄儲(chǔ)器和外設(shè)4部分。其中,中央處理單元其組成包括:程序取指、指令分配、指令譯碼3個(gè)單元、2個(gè)數(shù)據(jù)通路、以及控制寄存器和邏輯、測(cè)試和仿真單元、中斷選擇控制器等。DSP內(nèi)部存儲(chǔ)采用哈佛結(jié)構(gòu),分為獨(dú)立的數(shù)據(jù)空間和程序空間數(shù)據(jù)處理速度較快。另外片內(nèi)功能外設(shè)較多,需包括:(1)高性能的DMA控制器,可完成與外部存儲(chǔ)器SDRAM等的數(shù)據(jù)交換,無(wú)需CPU的直接參與;(2)HPI主機(jī)接口、EMIF外部存儲(chǔ)器接口,通過(guò)芯片內(nèi)部這些接口,DSP可與多種外設(shè)交換數(shù)據(jù)信息;(3)兩個(gè)32位通用定時(shí)器,作為事件定時(shí)、事件計(jì)數(shù)、產(chǎn)生脈沖,還可向DMA/EDMA控制器發(fā)送同步事件;(4)多通道緩沖串口,為了提高通訊時(shí)數(shù)據(jù)的傳輸速度,其可在DMA/EDMA控制器的幫助下,在存儲(chǔ)器中自動(dòng)緩沖串行數(shù)據(jù)。

圖2 TMS320C6713框圖

2.2 雙端口RAM電路設(shè)計(jì)

本文使用雙端口RAM作為DSP與PowerPC數(shù)據(jù)通信的介質(zhì)。芯片型號(hào)為CY7C1061AV33,其電路如圖3所示。此芯片為高性能的CMOS雙端口RAM(Dural Ported Random Access Memory,DPRAM),內(nèi)存大小為1 MB。設(shè)置RAM芯片的數(shù)據(jù)總線為16位的位寬,可滿足設(shè)計(jì)對(duì)數(shù)據(jù)傳輸寬度的要求。

圖3 雙端口RAM接口電路圖

CY7C1061AV33內(nèi)部集成了兩個(gè)不同的硬件存儲(chǔ)訪問(wèn)接口,這兩部分各自有不同的讀寫(xiě)控制總線,DSP和PowerPC兩端可對(duì)雙端口RAM的地址空間進(jìn)行獨(dú)立的讀寫(xiě)訪問(wèn);另外芯片內(nèi)部集成了優(yōu)秀的仲裁邏輯,芯片內(nèi)部設(shè)計(jì)的忙邏輯和中斷邏輯等電路可判斷出DSP和PowerPC兩側(cè)端口的使用狀況,避免數(shù)據(jù)訪問(wèn)沖突,保證了DSP和PowerPC兩側(cè)可以對(duì)同一地址空間進(jìn)行異步操作。

2.3 電源管理及復(fù)位模塊

TMS320C6713芯片采用低功耗的設(shè)計(jì)模式,芯片IO引腳部分和CPU內(nèi)核所需的供電電壓分別為3.3 V和1.8 V。為得到穩(wěn)定的電源電壓,本文電源模塊的電路設(shè)計(jì)使用TI的電源管理芯片TPS70302。TPS703xx系列的電源管理芯片在進(jìn)行電源設(shè)計(jì)時(shí)所需外圍電路簡(jiǎn)單,抗干擾能力強(qiáng),可為DSP芯片提供穩(wěn)定的電源電壓。TPS70302支持兩路電壓輸出時(shí),最大輸出電流為2 A,輸入電壓范圍為2.7~6 V,兩路輸出電壓范圍為1.2~5.5 V。另外DSP系統(tǒng)的工作頻率較高,在系統(tǒng)上電時(shí),易發(fā)生高頻干擾導(dǎo)致程序跑飛,所以根據(jù)需要設(shè)計(jì)了上電復(fù)位電路。電源管理及復(fù)位電路的電路設(shè)計(jì)如圖4所示。

圖4 電源管理模塊

3 軟件設(shè)計(jì)

3.1 控制軟件架構(gòu)

在進(jìn)行DSP軟件設(shè)計(jì)時(shí),遵循模塊化和層次化的設(shè)計(jì)思路[8],為使程序結(jié)構(gòu)清晰,將軟件按功能劃分3個(gè)層次:(1)主控層。負(fù)責(zé)上位機(jī)命令的接收以及任務(wù)調(diào)度,在完成相應(yīng)的中斷設(shè)置、硬件初始化、就進(jìn)入while循環(huán)中,程序輪詢外部存儲(chǔ)器接口接收命令;(2)通訊接口層。負(fù)責(zé)與硬件的接口,所有與雙端口RAM有關(guān)的操作都在該層進(jìn)行處理;(3)算法層。是數(shù)字伺服控制軟件設(shè)計(jì)的核心,系統(tǒng)的主要功能均在這一層實(shí)現(xiàn),算法層實(shí)現(xiàn)了伺服運(yùn)動(dòng)控制的控制算法。其是通過(guò)定時(shí)器定時(shí)400 μs,CPU進(jìn)入中斷函數(shù)調(diào)用算法層的函數(shù)來(lái)實(shí)現(xiàn)的,DSP程序流程圖如圖5所示。

圖5 DSP程序架構(gòu)框圖

3.2 雙端口RAM通訊機(jī)制

DSP軟件將DPRAM劃分為命令接受區(qū),應(yīng)答發(fā)送區(qū)和錯(cuò)誤返回區(qū)3個(gè)部分,圖6為DPRAM各段的劃分情況。在3個(gè)區(qū)域里定義了讀寫(xiě)DPRAM的讀寫(xiě)標(biāo)志控制區(qū),以實(shí)現(xiàn)PowerPC和DSP芯片對(duì)DPRAM的3個(gè)區(qū)域數(shù)據(jù)的讀寫(xiě)控制。程序定義了3個(gè)區(qū)域的基地址,標(biāo)志控制結(jié)構(gòu)體的成員變量包括數(shù)據(jù)塊類型、目標(biāo)運(yùn)動(dòng)控制板卡的狀態(tài)、當(dāng)前下發(fā)的命令I(lǐng)D、當(dāng)前下發(fā)的命令子ID、本條命令的超時(shí)值、傳送的數(shù)據(jù)包的總長(zhǎng)度、當(dāng)次的數(shù)據(jù)包長(zhǎng)度、RAM寫(xiě)權(quán)限所有者。

#define COM_DPRAM_BASE 0xA0000100

#define RPL_DPRAM_BASE 0xA0000200

#define ERR_DPRAM_BASE 0xA0003000

typedef struct

{

SMEE_BOOL is_rpy_buf; //F8數(shù)據(jù)塊類型

unsigned int channel_id //FC標(biāo)示當(dāng)前通道ID

vme_dpram_status_enum Status;//100運(yùn)動(dòng)控制板卡的狀態(tài)

unsigned int CmdID; //104當(dāng)前下發(fā)的命令I(lǐng)D

unsigned int filler; //108當(dāng)前下發(fā)的命令子ID

unsigned int timeout_or_rtn_val; //10C本條命令的超時(shí)值

unsigned int TotalLength; //110傳送的數(shù)據(jù)包的總長(zhǎng)度

unsigned int CurLength; //118當(dāng)次的數(shù)據(jù)包長(zhǎng)度

unsigned int Owner; //11C DPRAM寫(xiě)權(quán)限所有者

}dpram_flag_struct;

圖6 DPRAM區(qū)域劃分

PowerPC端和DSP端對(duì)DPRAM數(shù)據(jù)讀寫(xiě)是否擁有讀寫(xiě)權(quán)利是通過(guò)區(qū)分DPRAM標(biāo)志寄存器中的Owner標(biāo)記來(lái)實(shí)現(xiàn)的。Owner標(biāo)志為0表示DPRAM讀寫(xiě)權(quán)在DSP端。由于PowerPC端可首先對(duì)命令接收區(qū)進(jìn)行下發(fā)命令,而DSP軟件可以首先對(duì)命令接受區(qū)、錯(cuò)誤返回區(qū)進(jìn)行下發(fā)命令。所以,系統(tǒng)上電時(shí)軟件對(duì)3個(gè)區(qū)域的標(biāo)志位初始化的值不同。0xA000 011C為接收通道Owner的內(nèi)存地址,默認(rèn)設(shè)置接收區(qū)的標(biāo)志位為1。0xA000 031C為發(fā)送通道Owner的內(nèi)存地址,默認(rèn)設(shè)置接受區(qū)的標(biāo)志位為0;0xA000 311C為錯(cuò)誤返回區(qū)Owner的內(nèi)存地址,默認(rèn)設(shè)置接收區(qū)的標(biāo)志位為0。圖7為DPRAM不同區(qū)域標(biāo)志位的初始化值。

圖7 DPRAM不同區(qū)域標(biāo)志位初始化值

3.3 PID控制算法

本文在伺服電機(jī)算法控制中采用PID算法,PID算法具有魯棒性能好、可靠性能高、參數(shù)易于調(diào)節(jié)等特點(diǎn)。PID算法內(nèi)部由比例、積分、微分3個(gè)環(huán)節(jié)構(gòu)成,比例能夠快速成倍地反應(yīng)偏差量并通過(guò)調(diào)節(jié)作用來(lái)減小偏差量。積分環(huán)節(jié)的作用是減小控制位置或控制速度的穩(wěn)態(tài)誤差。微分項(xiàng)則體現(xiàn)了控制位置或控制速度的偏差的變化形勢(shì),通過(guò)相位超前加入一個(gè)修正量來(lái)防止偏差量變的過(guò)大,因此微分環(huán)節(jié)有利于縮小誤差調(diào)節(jié)周期、提高動(dòng)態(tài)響應(yīng)。如圖8所示為Matlab Simulink下PID環(huán)節(jié)的仿真框圖。

圖8 數(shù)子PID控制框圖

對(duì)于連續(xù)系統(tǒng)的數(shù)字PID控制器,其控制方程可表示為

(1)

其中,u(t)是控制器的輸出信號(hào);e(t)是控制的軌跡規(guī)劃的目標(biāo)位置與測(cè)量系統(tǒng)測(cè)量得到的反饋位置的距離差。Kp是比例放大倍數(shù),Ki是積分放大倍數(shù),Kd是微分放大倍數(shù)。通過(guò)拉氏變換寫(xiě)成傳遞函數(shù)形式為

(2)

在進(jìn)行程序設(shè)計(jì)時(shí),需要對(duì)連續(xù)的時(shí)域信號(hào)做離散化處理,離散的PID控制有基于有增量式的離散表達(dá)式

Δu(k)=kp(e(k)-e(k-1))+kie(k)+kd(e(k)-2e(k-1)+e(k-2))

(3)

得到離散化的表達(dá)式后,程序編寫(xiě)變得方便。

4 控制誤差分析

在調(diào)試伺服系統(tǒng)時(shí),要考慮控制誤差這一參數(shù),其決定了系統(tǒng)的控制精度。其是指位置指令與位置檢測(cè)單元反饋的差值,將這差值繪成曲線即稱為誤差曲線。為獲得良好的控制性能,PID算法需要有匹配的參數(shù)。在進(jìn)行比例調(diào)節(jié)時(shí),Kp參數(shù)跟伺服帶寬、超調(diào)量直接相關(guān)、影響伺服穩(wěn)定時(shí)間即響應(yīng)速度;控制回路高增益可改善指令信號(hào)的響應(yīng),同時(shí)改善對(duì)擾動(dòng)的響應(yīng)[9]。圖9為單獨(dú)調(diào)節(jié)Kp參數(shù)時(shí),伺服系統(tǒng)的控制誤差,圖4每400 μs采樣一次,共2 048個(gè)誤差采樣點(diǎn)。

圖9 不同Kp值時(shí)伺服位置誤差

由圖9可看出,Kp=300時(shí),伺服系統(tǒng)的誤差在5 μm范圍內(nèi)變化,數(shù)據(jù)的前半部分,電機(jī)處于加速狀態(tài),伺服誤差會(huì)有超過(guò)10 μm的情況。相比Kp=300時(shí),當(dāng)設(shè)置在Kp為400時(shí)伺服誤差平均值較大,并出現(xiàn)了一些超調(diào)的現(xiàn)象。參考表1中不同Kp參數(shù)下的控制誤差值分析??傻贸鯧p=300是較好的參數(shù)選擇。

圖10為單獨(dú)調(diào)節(jié)Ki參數(shù)時(shí),伺服系統(tǒng)的控制誤差。參考表2中不同Ki參數(shù)下的控制誤差值??芍狵i參數(shù)為1時(shí),平均控制誤差最小,是較好的參數(shù)選擇。另外在進(jìn)行參數(shù)整定調(diào)試時(shí)需要注意,回路噪聲、非線性隨機(jī)噪聲也會(huì)在增益下放大,必須滿足伺服控制環(huán)路處于穩(wěn)定狀態(tài)。

圖10 不同Ki值時(shí)伺服位置誤差

表1 不同Kp參數(shù)下的控制誤差值分析

表2 不同Ki參數(shù)下的控制誤差值分析

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

在開(kāi)放式數(shù)控系統(tǒng)的基礎(chǔ)上,主要研究了PowerPC+伺服運(yùn)動(dòng)控制器,介紹了硬件電路的設(shè)計(jì)方法以及DSP和PowerPC之間共享雙口RAM進(jìn)行數(shù)據(jù)通信的實(shí)現(xiàn)機(jī)制,以滿足伺服控制系統(tǒng)對(duì)數(shù)據(jù)傳輸實(shí)時(shí)性、穩(wěn)定性的要求。并對(duì)DSP軟件進(jìn)行層次化設(shè)計(jì),控制算法的引入減小了伺服控制誤差。本設(shè)計(jì)方案簡(jiǎn)潔并具有良好的控制精度,在工業(yè)運(yùn)動(dòng)控制領(lǐng)域中,可為伺服運(yùn)動(dòng)控制系統(tǒng)的研究提供參考。

[1] 劉秀玲.基于共享RAM的DSP與PC機(jī)之間通訊接口技術(shù)[J].山西師范大學(xué)學(xué)報(bào):自然科學(xué)版,2012,16(2):20-23.

[2] 張清明.基于DSP 的開(kāi)放式運(yùn)動(dòng)控制器的研究及應(yīng)用[D].武漢:華中科技大學(xué),2002.

[3] 謝萬(wàn)德.基于DSP的多軸運(yùn)動(dòng)控制器的研究[D].杭州:浙江大學(xué),2002.

[4] Chassaing R, Reay D. Digital signal processing and applications with the TMS320C6713 and TMS320C6416 DSK[M].New York:Willy Press,2005.

[5] 吳宏,蔣仕龍,龔小云,等.運(yùn)動(dòng)控制器的現(xiàn)狀與發(fā)展[J].制造技術(shù)與機(jī)床,2004(1):24-27.

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

[7] 田宇.伺服與運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)[M].北京:人民郵電出版社,2010.

[8] 馮娟.基于DSP的運(yùn)動(dòng)控制卡的軟件設(shè)計(jì)[D].廣州:廣東工業(yè)大學(xué),2008.

[9] Gunter Pritsehow. A self-tuning controlller for digitally controlled electronmechanical servo drivers in machine tools[J].Annals of the CIRP,2009,48(9):307-312.

[10] 韓鈞,康怡.雙口RAM在DSP與單片機(jī)數(shù)據(jù)通信中的應(yīng)用[J].電力系統(tǒng)通信,2006,27(8):56-58.

The Design of Open Servo Control System Based on DSP and PowerPC

LI Jianhua,ZHANG Renjie,LIU Hu,LI Xiaqing

(School of Optical-Electrical and Computer Engineering ,University of Shanghai for Science and Technology,Shanghai 200093, China)

This paper introduces the design of open servo control system based on DSP and PowerPC. This system mainly uses TMS320C6713 micro controller to realize communication and control algorithm. The hardware part introduces the design method of dual port RAM circuit, power circuit and reset circuit, and puts forward a communication method based on dual port RAM chip for PowerPC and DSP ports. In the software part, once a servo sampling operation is performed on each 400us and the error compensation by PID adjustment. Finally, the experiment on the part of the PID algorithm is carried out parameter tuning and the error analysis. And the results show that the servo motion control system can achieve good control accuracy.

open CNC system; servo motion controller; DSP; PID

2016- 01- 25

黎劍華(1990-),女,碩士研究生。研究方向:儀器儀表工程。張仁杰(1956-),男,博士,教授。研究方向:在線檢測(cè),信號(hào)處理等。

10.16180/j.cnki.issn1007-7820.2016.11.009

TN

A

猜你喜歡
框圖控制算法命令
只聽(tīng)主人的命令
紡織機(jī)械手專利瞄準(zhǔn)控制算法
捷豹I-PACE純電動(dòng)汽車高壓蓄電池充電系統(tǒng)(三)
電路圖2017年凱迪拉克XT5
移防命令下達(dá)后
基于ARM+FPGA的模塊化同步控制算法研究
算法框圖的補(bǔ)全
這是人民的命令
基于航跡差和航向差的航跡自動(dòng)控制算法
基于圖表法構(gòu)建《萬(wàn)有引力定律與航天》知識(shí)網(wǎng)絡(luò)
历史| 勃利县| 蒲城县| 河南省| 嵊泗县| 新绛县| 自治县| 东乌珠穆沁旗| 嘉义县| 吉水县| 孟村| 新绛县| 永新县| 贞丰县| 乌拉特前旗| 咸丰县| 赤水市| 玉林市| 阳谷县| 台前县| 琼海市| 兴仁县| 临高县| 沁阳市| 永安市| 宁德市| 长海县| 台江县| 舒城县| 阿拉尔市| 涿鹿县| 大姚县| 静安区| 平利县| 萝北县| 观塘区| 新巴尔虎左旗| 延津县| 无棣县| 公安县| 河南省|