交流電動(dòng)機(jī)是一個(gè)多變量、高階、強(qiáng)耦合的非線(xiàn)性系統(tǒng),不象直流電機(jī)那樣易于控制轉(zhuǎn)矩,采用矢量控制技術(shù)可解決傳統(tǒng)交流調(diào)速的難題,使交流電機(jī)可以按直流電機(jī)的控制規(guī)律來(lái)進(jìn)行控制,而無(wú)傳感器矢量控制技術(shù)由于可以省去速度傳感器,使相應(yīng)的交流調(diào)速系統(tǒng)變得簡(jiǎn)便、廉價(jià)和可靠,所以成為當(dāng)前研究的熱點(diǎn),本論文工作就是這方面的一個(gè)嘗試。 論文首先介紹了矢量控制技術(shù)的基本理論。對(duì)感應(yīng)電動(dòng)機(jī)在三相靜止坐標(biāo)系下強(qiáng)耦合和互感變參數(shù)的數(shù)學(xué)模型,通過(guò)坐標(biāo)變換,導(dǎo)出感應(yīng)電機(jī)在兩相同步旋轉(zhuǎn)坐標(biāo)系下的數(shù)學(xué)模型,然后將同步坐標(biāo)系按轉(zhuǎn)子磁場(chǎng)定向,實(shí)現(xiàn)了對(duì)轉(zhuǎn)子磁鏈和轉(zhuǎn)矩的分別控制,從而可以按直流電機(jī)的控制規(guī)律來(lái)控制交流電機(jī)。 其次,論文基于同步軸系下的感應(yīng)電動(dòng)機(jī)電壓磁鏈方程式,提出了一種感應(yīng)電動(dòng)機(jī)按轉(zhuǎn)子磁場(chǎng)定向的矢量控制方法,利用在同步軸系中T軸電流的誤差信號(hào)實(shí)現(xiàn)對(duì)電機(jī)速度的估算,這種速度估算方法結(jié)構(gòu)簡(jiǎn)單,有一定的自適應(yīng)能力。同時(shí)在該無(wú)傳感器矢量控制系統(tǒng)中,由于采用了經(jīng)典的PI調(diào)節(jié)器,使得控制系統(tǒng)更為簡(jiǎn)單易行。 論文利用MATLAB建立了該無(wú)傳感器矢量控制系統(tǒng)的仿真模型。為提高系統(tǒng)的適應(yīng)性和仿真結(jié)果的準(zhǔn)確性,仿真模型采用了標(biāo)么值系統(tǒng),并考慮了控制周期和采樣信號(hào)周期對(duì)仿真結(jié)果的影響。討論了離散控制引起的相位補(bǔ)償問(wèn)題,使仿真結(jié)果更接近實(shí)際工程系統(tǒng)。 最后,通過(guò)仿真進(jìn)一步驗(yàn)證了本文提出的無(wú)傳感器矢量控制系統(tǒng)的正確性和可行性,也證明了速度估計(jì)模型對(duì)速度估計(jì)準(zhǔn)確,且對(duì)參數(shù)的變化有較強(qiáng)的魯棒性。
標(biāo)簽: 無(wú)傳感器 矢量控制系統(tǒng) 速度
上傳時(shí)間: 2013-06-02
上傳用戶(hù):libinxny
/* * EULER S ALGORITHM 5.1 * * TO APPROXIMATE THE SOLUTION OF THE INITIAL VALUE PROBLEM: * Y = F(T,Y), A<=T<=B, Y(A) = ALPHA, * AT N+1 EQUALLY SPACED POINTS IN THE INTERVAL [A,B]. * * INPUT: ENDPOINTS A,B INITIAL CONDITION ALPHA INTEGER N. * * OUTPUT: APPROXIMATION W TO Y AT THE (N+1) VALUES OF T. */
標(biāo)簽: APPROXIMATE ALGORITHM THE SOLUTION
上傳時(shí)間: 2015-08-20
上傳用戶(hù):zhangliming420
26.編寫(xiě)一個(gè)具有如下樣式的類(lèi)模板tmplt,用于實(shí)現(xiàn)所謂的反序輸出問(wèn)題,其中使用了類(lèi)型參數(shù)T(使所處理的元素類(lèi)型可變化)以及普通參數(shù)n(元素個(gè)數(shù)也可變化): template <class T, int n> class tmplt { T arr[n] // n個(gè)T類(lèi)型的數(shù)據(jù)存放于數(shù)組arr之中 public: void dataIn() //從鍵盤(pán)輸入n個(gè)T類(lèi)型數(shù)據(jù)放入arr數(shù)組中 void reverseOut() //將arr數(shù)組中的數(shù)據(jù)按輸入的相反順序輸出 } 而后編制主函數(shù),將類(lèi)模板實(shí)例化為某個(gè)具體的類(lèi)并說(shuō)明類(lèi)對(duì)象,之后通過(guò)對(duì)象調(diào)用其負(fù)責(zé)輸入數(shù)據(jù)的成員函數(shù),再通過(guò)對(duì)象調(diào)用另一成員函數(shù)按反序輸出那些輸入數(shù)據(jù)。
上傳時(shí)間: 2014-01-07
上傳用戶(hù):xiaoxiang
Trie樹(shù)既可用于一般的字典搜索,也可用于索引查找。對(duì)于給定的一個(gè)字符串a(chǎn)1,a2,a3,...,an.則采用TRIE樹(shù)搜索經(jīng)過(guò)n次搜索即可完成一次查找。不過(guò)好像還是沒(méi)有B樹(shù)的搜索效率高,B樹(shù)搜索算法復(fù)雜度為logt(n+1/2).當(dāng)t趨向大,搜索效率變得高效。怪不得DB2的訪(fǎng)問(wèn)內(nèi)存設(shè)置為虛擬內(nèi)存的一個(gè)PAGE大小,而且?guī)袚Q頻率降低,無(wú)需經(jīng)常的PAGE切換。
上傳時(shí)間: 2016-07-06
上傳用戶(hù):sk5201314
#include <malloc.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define NULL 0 #define MaxSize 30 typedef struct athletestruct /*運(yùn)動(dòng)員*/ { char name[20]; int score; /*分?jǐn)?shù)*/ int range; /**/ int item; /*項(xiàng)目*/ }ATH; typedef struct schoolstruct /*學(xué)校*/ { int count; /*編號(hào)*/ int serial; /**/ int menscore; /*男選手分?jǐn)?shù)*/ int womenscore; /*女選手分?jǐn)?shù)*/ int totalscore; /*總分*/ ATH athlete[MaxSize]; /**/ struct schoolstruct *next; }SCH; int nsc,msp,wsp; int ntsp; int i,j; int overgame; int serial,range; int n; SCH *head,*pfirst,*psecond; int *phead=NULL,*pafirst=NULL,*pasecond=NULL; void create(); void input () { char answer; head = (SCH *)malloc(sizeof(SCH)); /**/ head->next = NULL; pfirst = head; answer = 'y'; while ( answer == 'y' ) { Is_Game_DoMain: printf("\nGET Top 5 when odd\nGET Top 3 when even"); printf("\n輸入運(yùn)動(dòng)項(xiàng)目序號(hào) (x<=%d):",ntsp); scanf("%d",pafirst); overgame = *pafirst; if ( pafirst != phead ) { for ( pasecond = phead ; pasecond < pafirst ; pasecond ++ ) { if ( overgame == *pasecond ) { printf("\n這個(gè)項(xiàng)目已經(jīng)存在請(qǐng)選擇其他的數(shù)字\n"); goto Is_Game_DoMain; } } } pafirst = pafirst + 1; if ( overgame > ntsp ) { printf("\n項(xiàng)目不存在"); printf("\n請(qǐng)重新輸入"); goto Is_Game_DoMain; } switch ( overgame%2 ) { case 0: n = 3;break; case 1: n = 5;break; } for ( i = 1 ; i <= n ; i++ ) { Is_Serial_DoMain: printf("\n輸入序號(hào) of the NO.%d (0<x<=%d): ",i,nsc); scanf("%d",&serial); if ( serial > nsc ) { printf("\n超過(guò)學(xué)校數(shù)目,請(qǐng)重新輸入"); goto Is_Serial_DoMain; } if ( head->next == NULL ) { create(); } psecond = head->next ; while ( psecond != NULL ) { if ( psecond->serial == serial ) { pfirst = psecond; pfirst->count = pfirst->count + 1; goto Store_Data; } else { psecond = psecond->next; } } create(); Store_Data: pfirst->athlete[pfirst->count].item = overgame; pfirst->athlete[pfirst->count].range = i; pfirst->serial = serial; printf("Input name:) : "); scanf("%s",pfirst->athlete[pfirst->count].name); } printf("\n繼續(xù)輸入運(yùn)動(dòng)項(xiàng)目(y&n)?"); answer = getchar(); printf("\n"); } } void calculate() /**/ { pfirst = head->next; while ( pfirst->next != NULL ) { for (i=1;i<=pfirst->count;i++) { if ( pfirst->athlete[i].item % 2 == 0 ) { switch (pfirst->athlete[i].range) { case 1:pfirst->athlete[i].score = 5;break; case 2:pfirst->athlete[i].score = 3;break; case 3:pfirst->athlete[i].score = 2;break; } } else { switch (pfirst->athlete[i].range) { case 1:pfirst->athlete[i].score = 7;break; case 2:pfirst->athlete[i].score = 5;break; case 3:pfirst->athlete[i].score = 3;break; case 4:pfirst->athlete[i].score = 2;break; case 5:pfirst->athlete[i].score = 1;break; } } if ( pfirst->athlete[i].item <=msp ) { pfirst->menscore = pfirst->menscore + pfirst->athlete[i].score; } else { pfirst->womenscore = pfirst->womenscore + pfirst->athlete[i].score; } } pfirst->totalscore = pfirst->menscore + pfirst->womenscore; pfirst = pfirst->next; } } void output() { pfirst = head->next; psecond = head->next; while ( pfirst->next != NULL ) { // clrscr(); printf("\n第%d號(hào)學(xué)校的結(jié)果成績(jī):",pfirst->serial); printf("\n\n項(xiàng)目的數(shù)目\t學(xué)校的名字\t分?jǐn)?shù)"); for (i=1;i<=ntsp;i++) { for (j=1;j<=pfirst->count;j++) { if ( pfirst->athlete[j].item == i ) { printf("\n %d\t\t\t\t\t\t%s\n %d",i,pfirst->athlete[j].name,pfirst->athlete[j].score);break; } } } printf("\n\n\n\t\t\t\t\t\t按任意建 進(jìn)入下一頁(yè)"); getchar(); pfirst = pfirst->next; } // clrscr(); printf("\n運(yùn)動(dòng)會(huì)結(jié)果:\n\n學(xué)校編號(hào)\t男運(yùn)動(dòng)員成績(jī)\t女運(yùn)動(dòng)員成績(jī)\t總分"); pfirst = head->next; while ( pfirst->next != NULL ) { printf("\n %d\t\t %d\t\t %d\t\t %d",pfirst->serial,pfirst->menscore,pfirst->womenscore,pfirst->totalscore); pfirst = pfirst->next; } printf("\n\n\n\t\t\t\t\t\t\t按任意建結(jié)束"); getchar(); } void create() { pfirst = (struct schoolstruct *)malloc(sizeof(struct schoolstruct)); pfirst->next = head->next ; head->next = pfirst ; pfirst->count = 1; pfirst->menscore = 0; pfirst->womenscore = 0; pfirst->totalscore = 0; } void Save() {FILE *fp; if((fp = fopen("school.dat","wb"))==NULL) {printf("can't open school.dat\n"); fclose(fp); return; } fwrite(pfirst,sizeof(SCH),10,fp); fclose(fp); printf("文件已經(jīng)成功保存\n"); } void main() { system("cls"); printf("\n\t\t\t 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)\n"); printf("輸入學(xué)校數(shù)目 (x>= 5):"); scanf("%d",&nsc); printf("輸入男選手的項(xiàng)目(x<=20):"); scanf("%d",&msp); printf("輸入女選手項(xiàng)目(<=20):"); scanf("%d",&wsp); ntsp = msp + wsp; phead = (int *)calloc(ntsp,sizeof(int)); pafirst = phead; pasecond = phead; input(); calculate(); output(); Save(); }
標(biāo)簽: 源代碼
上傳時(shí)間: 2016-12-28
上傳用戶(hù):150501
ASP.net用于IE的控件,包括treeView等,覺(jué)好的東東,讓你的web頁(yè)面像CS的一樣,聲明:是微軟的.
標(biāo)簽: treeView ASP net web
上傳時(shí)間: 2014-01-10
上傳用戶(hù):D&L37
網(wǎng)絡(luò)監(jiān)控工具服務(wù)器端
標(biāo)簽:
上傳時(shí)間: 2015-01-19
上傳用戶(hù):xcy122677
採(cǎi)用ROM監(jiān)控器的調(diào)試技巧分析
上傳時(shí)間: 2015-02-23
上傳用戶(hù):wfl_yy
利用msp430作網(wǎng)路資料傳輸,可監(jiān)控溫度..,的源碼
上傳時(shí)間: 2013-12-10
上傳用戶(hù):冇尾飛鉈
本章講解微軟Visual Basic Wi n s o c k控件的問(wèn)題。這是一種非常新的控件,用于將Wi n s o c k 接口簡(jiǎn)化成易于使用的Visual Basic內(nèi)部接口
上傳時(shí)間: 2013-12-19
上傳用戶(hù):Thuan
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1