版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
使用TMS320C2812控制異步電機的程序,采用SVPWM空間矢量控制算法,運行正常,加減速,正反轉(zhuǎn)等.首先,初始化設(shè)備,/*初始化系統(tǒng)*/InitSysCtrl();/*關(guān)中斷*/DINT;IER=0x0000;IFR=0x0000;/*初始化PIE控制寄存器*/InitPieCtrl();/*初始化PIE矢量表*/InitPieVectTable();/*初始化SCIb寄存器*/InitSci();/*設(shè)置CPU定時器*/InitCpuTimers();ConfigCpuTimer(&CpuTimer2,150,20000);StartCpuTimer2();/*初始化Ica*/InitGpio();/*初始化EV*/eva. Init(&eva);evb. Init(&evb);下步,(個人習(xí)慣寫個顯示程序)voidShowDisp(void) //顯示{staticunsignedinti=0;switch(i){case0:i++;ScibRegs.SCITXBUF=(ku&0xf)+(3<<5);break;case1:if(RunFlag)ScibRegs.SCITXBUF=23+(2<<5);elseScibRegs.SCITXBUF=24+(2<<5);i++;break;case2:if(RunFlag) ScibRegs.SCITXBUF=f_now/10+(1<<5);else ScibRegs.SCITXBUF=f_given_disp/10+(1<<5);i++;break;case3:
if(RunFlag)ScibRegs.SCITXBUF=f_now%10;else ScibRegs.SCITXBUF=f_given_disp%10;i=0;break;default:i=0;break;}下面再寫,各功能模塊:1、矢量計算和PWM生成以下給出步驟1中的控制參數(shù)及其調(diào)節(jié)范圍EnableFlag:0、1;啟??刂莆籗peedRef:(0?0.99);速度給定值VdTesting:(0?0.9);D軸電流給定VqTesting:(0?0.9);Q軸電流給定Ttfli-hbuLiIpussfiltercircuit。Ttfli-hbuLivoidrampgen_calc(RAMPGEN*v){ 一//Computetheangleratev->Angle+=_IQmpy(v->StepAngleMax,v->Freq);//Saturatetheangleratewithin(-1,1)if(v->Angle>_IQ(1.0))v->Angle-=_IQ(1.0);elseif(v->Angle<_IQ(-1.0))v->Angle+=_IQ(1.0);//Computetherampoutputv->Out=_IQmpy(v->Angle,v->Gain)+v->Offset;//Saturatetherampoutputwithin(-1,1)if(v->Out>_IQ(1.0))v->Out-=_IQ(1.0);elseif(v->Out<_IQ(-1.0))v->Out+=_IQ(1.0);}voidRotateVecotr_calc(RotateVecotr_Handlev){ - 一_iqUa,Ub;//Usinglook-upIQsinetableUb =_IQsinPU(v->Angle);Ua =_IQcosPU(v->Angle);v->Ualpha=_IQmpy(v->k,Ua);v->Ubeta=_IQmpy(v->k,Ub);} 一voidscope(void){longtl,tm,t0;tl=svpwm.tl;tm=svpwm.tm;t0=((long)1<<19)-tl-tm;switch(svpwm.vect){case2:ua=t0+tm;ub=t0;break;case3:ua=0;ub=tl;break;case1:ua=t0;ub=((long)1<<19);break;case5:ua=tl;ub=tl+tm;break;case4:ua=((long)1<<19);ub=tm+t0;break;case6:ua=tl+tm;ub=0;break;default: break;}uab=ua-ub;}2、這就是傳說中的精華所在:電流、直流胃線電壓、速度測試voidsvgendq_calc(SVGENDQ*v){ 一_iqVa,Vb,Vc,t1,t2;unsignedlongSector=0;//SectoristreatedasQ0-independentlywithglobalQ//InverseclarketransformationVa=v->Ubeta;Vb=_IQmpy(_IQ(-0.5),v->Ubeta)+_IQmpy(_IQ(0.8660254),v->Ualpha);//0.8660254=sqrt(3)/2Vc=_IQmpy(_IQ(-0.5),v->Ubeta)-_IQmpy(_IQ(0.8660254),v->Ualpha);//0.8660254=sqrt(3)/2//60degreeSectordeterminationif(Va>_IQ(0))Sector=1;if(Vb>_IQ(0))Sector=Sector+2;if(Vc>_IQ(0))Sector=Sector+4;//X,Y,Z(Va,Vb,Vc)calculationsVa=v->Ubeta; //X=VaVb=_IQmpy(_IQ(0.5),v->Ubeta)+_IQmpy(_IQ(0.8660254),v->Ualpha); //Y=VbVc=_IQmpy(_IQ(0.5),v->Ubeta)-_IQmpy(_IQ(0.8660254),v->Ualpha); //Z=Vcif(Sector==0)//Sector0:thisisspecialcasefor(Ualpha.Ubeta)=(0,0){v->Ta=_IQ(0.5);v->Tb=_IQ(0.5);
v->Tc=_IQ(0.5);}if(Sector==1)//Sector1:t1=Zandt2=Y(abc——>Th,Ta,T£_){t1=Vc;t2=Vb;//tbon//tbon=(1-t1-t2)/2//taon=tbon+t1v->Ta=v->Tb+t1;v->Tc=v->Ta+t2; //tcon=taon+t2}elseif(Sector==2)//Sector2:t1=Yandt2=-X(abc——>Ta,Tc,Tb){t1=Vb;t2=-Va;v->Ta=_IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); //taon=(1-t1-t2)/2v->Tc=v->Ta+t1; //tcon=taon+t1v->Tb=v->Tc+t2; //tbon=tcon+t2}elseif(Sector==3)//Sector3:t1=-Zandt2=X(abc——>Ta,Tb,T£_){t1=-Vc;t2=Va;v->Ta=_IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); //taon=(1-t1-t2)/2v->Tb=v->Ta+t1; //tbon=taon+t1v->Tc=v->Tb+t2; //tcon=tbon+t2}elseif(Sector==4)//Sector4:t1=-Xandt2=Z(abc——>Tc,Th,Ta){t1=-Va;t2=Vc;v->Tc=_IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); //tcon=(1-t1-t2)/2v->Tb=v->Tc+t1; //tbon=tcon+t1v->Ta=v->Tb+t2; //taon=tbon+t2}elseif(Sector==5)//Sector5:t1=Xandt2=-Y(abc——>Tb,Tc,Ta){t1=Va;t2=-Vb;v->Tb=_IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); //tbon=(1-t1-t2)/2v->Tc=v->Tb+t1; //tcon=tbon+t1v->Ta=v->Tc+t2; //taon=tcon+t2}elseif(Sector==6)//Sector6:t1=-Yandt2=-Z(abc——>Tc_,Ta,Tb){t1=-Vb;t2=-Vc;v->Tc=_IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); //tcon=(1-t1-t2)/2v->Ta=v->Tc+t1; //taon=tcon+t1v->Tb=v->Ta+t2; //tbon=taon+t2}3、 這個工程還沒做完,先上這么多。4、 這塊是上面初始化部分的,模塊化程序,湊個字數(shù),嘻嘻!!voidInitXintf(void)#ifF2812//ExampleofchaningthetimingofXINTFZones.//Noteacutalvaluesshouldbebasedonthehardware//attachedtothezone-timingspresentedhereare//forexamplepurposes.//AllZones://TimingforallzonesbasedonXTIMCLK=SYSCLKOUTXintfRegs.XINTCNF2.bit.XTIMCLK=0x0000;//Zone0://Changewriteaccessleadactivetrailtiming//Whenusingready,ACTIVEmustbe1orgreater//Leadmustalwaysbe1orgreater//UsetimingsbasedonSYSCLKOUT=XTIMCLKXintfRegs.XTIMING0.bit.XWRTRAIL=3;XintfRegs.XTIMING0.bit.XWRACTIVE=7;XintfRegs.XTIMING0.bit.XWRLEAD=3;//Donotdoublelead/active/trailforZone0XintfRegs.XTIMING0.bit.X2TIMING=0;//Zone2//IgnoreXREADYforZone2accesses//Changereadaccesslead/active/trailtimingXintfRegs.XTIMING2.bit.USEREADY=0;XintfRegs.XTIMING2.bit.XRDLEAD=3;XintfRegs.XTIMING2.bit.XWRACTIVE=7;XintfRegs.XTIMING2.bit.XRDTRAIL=3;//Doublelead/activ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型環(huán)保建材采購沙石工程合同5篇
- 電子商務(wù)平臺信用評價體系建立服務(wù)合同
- 2024智能穿戴設(shè)備制造商與運動品牌之間合作開發(fā)合同
- 2025年度物流服務(wù)合同:電商企業(yè)與物流公司之間的物流配送及售后服務(wù)協(xié)議3篇
- 智能制造生產(chǎn)線合同
- 2024年道路交通事故處理協(xié)議書3篇
- 2024版酒店式辦公室保潔協(xié)議3篇
- 2024年酒店租賃協(xié)議:標準版及條款詳解版
- 旅游業(yè)服務(wù)提供合作協(xié)議
- 寵物醫(yī)療行業(yè)診療風(fēng)險告知協(xié)議書
- 曝氣機安裝方案
- 機電傳動單向數(shù)控平臺(礦大)
- 全國職業(yè)院校技能大賽中職組電子電路裝調(diào)與應(yīng)用賽項評分表
- 2024年西藏初中學(xué)業(yè)水平考試生物試題(原卷版)
- 北外丁往道《英語寫作手冊》教案
- 履帶吊和汽車吊荷載表
- MOOC 電機與拖動-北京信息科技大學(xué) 中國大學(xué)慕課答案
- 壓縮空氣氣體管道吹掃試壓專項方案
- 2021年海南省公務(wù)員考試《行測》真題和答案解析
- 《中醫(yī)基礎(chǔ)理論講座》課件
- 制氮機操作安全規(guī)程
評論
0/150
提交評論