



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、typedefstructint16ElecTheta;int16MechTheta;Uint16DirectionQep;Uint16QepCountIndex;Uint16RawTheta;Uint32MechScaler;Uint16LineEncoder;Uint16PolePairs;int16CalibratedAngle;Uint16IndexSyncFlag;void(*init)();void(*calc)();void(*isr)();1.位置檢測,計算過程中的變量的定義/*DefinethestructureoftheQEP(QuadratureEncoder)Drive
2、rObject*/Output:MotorElectricalangle(Q15)/(輸出的電角度?)/Output:MotorMechanicalAngle(Q15)/(輸出的機械角度?)/Output:Motorrotationdirection(Q0)/(電機轉向?)/Variable:Encodercounterindex(Q0)/(編碼器輸出的脈沖數(shù)?)/Variable:RawanglefromTimer2(Q0)/(某一時刻轉子對于定子A相的絕對角度?)/Parameter:0.9999/totalcount(Q30)/(每個脈沖所轉過的機械角度?)/Parameter:Numb
3、eroflineencoder(Q0)/(編碼器每轉輸出的脈沖個數(shù)?)/Parameter:Numberofpolepairs(Q0)/(極對數(shù))/Parameter:Rawangularoffsetbetweenencoder/indexandphasea(Q0)翻譯過來是編碼器與定子A相之間的角度偏量,但不知道到底這個偏移量是指什么,請教高人/Output:Indexsyncstatus(Q0)(?)/Pointertotheinitfunction/(初始化函數(shù))/Pointertothecalcfunction/(位置測量,計算函數(shù))/Pointertotheisrfunction/(
4、Z信號的捕獲中斷)QEP;上面的漢語解釋不知道對不對,請高人過目,指出問題。2、變量的初始化#defineQEP_DEFAULTS0x0,0x0,0x0,0x0,0x0,0x00020c4A,0x0,4,-1250,0x0,(void(*)(Uint32)F281X_EV1_QEP_Init,(void(*)(Uint32)F281X_EV1_QEP_Calc,(void(*)(Uint32)F281X_EV1_QEP_IsrQEPqep1=QEP_DEFAULTS;/Applied-motionPMSMmotor:24-v,8-pole,2000lineencoder,CalibratedA
5、ngle=-1250/MechScaler=1/8000=0X00020C4A(Q30)主程序里還有QEP模塊的初始化,與上面的初始化有一點點重復的地方。/InitializeQEPmoduleqep1.LineEncoder=2000;qep1.MechScaler=_IQ30(0.25/qep1.LineEncoder);qep1.PolePairs=P/2;qep1.CalibratedAngle=-1250;qep1.init(&qep1);此處要請教高手指導的問題就是:CalibratedAngle到底是什么東西?3、功能模塊程序3、1在進行正交編碼,捕獲Z之前對2812的寄
6、存器進行初始化,設置定時器2為QEP電路提供基準時鐘voidF281X_EV1_QEP_Init(QEP*p)EvaRegs.CAPCONA.all=0X9004;/SetupcaptureunitsEvaRegs.T2CON.all=0X9870;/SetupcapturetimerEvaRegs.T2PR=4*p->LineEncoder;/InitTimer1periodRegisterEvaRegs.EVAIFRC.bit.CAP3INT=1;/ClearCAP3flagEvaRegs.EVAIMRC.bit.CAP3INT=1;/EnableCAP3InterruptEALLO
7、W;/EnableEALLOWGpioMuxRegs.GPAMUX.all|=0x0700;/SetupthecapturepinstoprimaryfunctionsEDIS;/DisableEALLOW此處要請教高手問題就是:EvaRegs.T2PR=4*p->LineEncoder,根據(jù)上面初始化的定義,4*2000=8000個脈沖對應的就應該是一個360度的機械角度,也就該是一個定時周期,此時一個周期計算完畢,超過360度的角度就從新開始?假如此時的角度是200度,是不是對應的脈沖數(shù)就該是8000*200/360=4444個脈沖?3、2voidF281X_EV1_QEP_Calc
8、(QEP*p)int32Tmp;/Checktherotationaldirectionp->DirectionQep=0x4000&EvaRegs.GPTCONA.all;/(GPTCONA的第14位為定時器2的狀態(tài),只讀,如果是遞增記數(shù)就是電機正轉,遞減就是電機反轉?和4000相與就是為了只保留第14位信號?)p->DirectionQep=p->DirectionQep>>14;/得到電機的車t向,是0是1就知道是正轉還是反轉?/Checkthetimer2counterforQEPp->RawTheta=EvaRegs.T2CNT+p->
9、;CalibratedAngle;/按照定義RawTheta為轉子即時的位置對應的脈沖,那就應該是轉子對應定子A相的初始位置的角度+轉過的相對角度,在TI的例程里定義的轉子對應定子A相的初始位置的角度為0嗎?如果是那此處就應該是p->RawTheta=EvaRegs.T2CNT+0。為何有CalibratedAngle?/ComputethemechanicalangleinQ15Tmp=_qmpy32by16(p->MechScaler,p->RawTheta,31);/Q15=Q30*Q0p->MechTheta=(int16)(Tmp);/Q15->Q15p
10、->MechTheta&=0x7FFF;/Wraparound0X07FFF/_qmpy32by16()我好象沒找到是什么含義,理解起來應該是p->MechScaler*p->RawTheta,再轉換格式對吧?能否請高人說下/p->MechTheta為何要和0X7FFF相與?按我的理解,TMP已經(jīng)計算得到了即時的機械角/度,消除第0到11位,保留高位的15為,這樣不僅對整個角度的大小沒有大的影響,并/且轉換成了Q15格式,而Q15格式里,7FFF最大,代表360度,也代表的是1,相與是是為了將大于360度的角度轉換過來。此處我還是不大清楚。煩請高人解釋下下。/C
11、omputetheelectricalangleinQ15p->ElecTheta=p->PolePairs*p->MechTheta;計算電角度,電角度=極對數(shù)*機械角度p->ElecTheta&=0x7FFF;)/Q0*Q15=Q15/Wraparound0x07FFFvoidF281X_EV1_QEP_Isr(QEP*p)(p->QepCountIndex=EvaRegs.T2CNT;revolution/Getthetimer2counterforonemechanical/Resetthetimer2counter/Settheindexflag
12、EvaRegs.T2CNT=0;p->IndexSyncFlag=0x00F0;/p->IndexSyncFlag是個什么信號?按照道理,PMSM應該有個初始定位的過程,采用最簡單的6個區(qū)的定位,也就是針對編碼器發(fā)出的UVW信號判斷在哪個60度的區(qū),然后再給定角度完事,這段程序應該放在主程序里系統(tǒng)初始化之后吧?假設此時UVW信號為101,這時候轉子在第一個區(qū),也就是0-60度范圍之內,那么就設定轉子在相對于定子A相30度的地方,這樣做有最大30度的誤差,會導致電機可能不會以最大轉矩啟動,但啟動是沒問題。此時是不是應該把這些角度轉換為脈沖個數(shù),送給EvaRegs.T2CNT做為初始角
13、度去計算?轉子初始定位if(GpioDataRegs.GPADAT.bit.GPIOA8=1&&GpioDataRegs.GPADAT.bit.GPIOA9=0&&GpioDataRegs.GPADAT.bit.GPIOA10=1)InitAngle=30度;if(GpioDataRegs.GPADAT.bit.GPIOA8=1&&GpioDataRegs.GPADAT.bit.GPIOA9=0&&GpioDataRegs.GPADAT.bit.GPIOA10=0)InitAngle=90;if(GpioDataRegs.GPADAT.bit.GPIOA8=1&&GpioDataRegs.GPADAT.bit.GPIOA9=1&&GpioDataRegs.GPADAT.bit.GPIOA10=0)InitAngle=150;if(GpioDataRegs.GPADAT.bit.GPIOA8=0&&GpioDataRegs.GPADAT.bit.GPIOA9=1&&GpioDataRegs.GPADAT.bit.GPIOA10=0)InitAngle=210;if(GpioDataRegs.GPADAT.bit.GPIOA8=0&&Gpio
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024廣西交投科技有限公司招聘18人筆試參考題庫附帶答案詳解
- 2024廣東湛江環(huán)北部灣水資源管理有限公司招聘4人筆試參考題庫附帶答案詳解
- 2024年泉州升華實業(yè)有限公司招聘3人筆試參考題庫附帶答案詳解
- 第10課《阿長與山海經(jīng)》教學設計 2024-2025學年統(tǒng)編版語文七年級下冊標簽標題
- 2025年智能投顧項目建議書
- 國家開放大學漢語言本科《古代漢語專題》期末紙質考試第二大題多項選擇題庫2025春期考試版
- 《復活(節(jié)選)》教學設計 2024-2025學年統(tǒng)編版高中語文選擇性必修上冊
- 第一章第二節(jié)人口教學設計2023-2024學年人教版地理八年級上冊
- 第二單元第五課《計算機的資源管理》教學設計-2023-2024學年粵教版(2019)初中信息技術七年級上冊
- 2024年12月浙江舟山市檔案館編外人員公開招聘1人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 煤礦提升機作業(yè)理論考試參考題庫(200題)
- 新人教版七至九年級英語單詞表 漢譯英(含音標)
- 侯馬北車輛段2023年運用機考復習題-曲沃作業(yè)場
- 手術室停電和突然停電應急預案PPT演示課件
- 職業(yè)病危害告知卡(油漆)
- 抗震支吊架安裝檢驗批
- 橋梁各部位加固及橋梁維修技術總結
- GB/T 40336-2021無損檢測泄漏檢測氣體參考漏孔的校準
- 馬工程教材《公共財政概論》PPT-第十一章 政府預算
- FZ/T 01085-2009熱熔粘合襯剝離強力試驗方法
- 麻風病科普知識培訓課件
評論
0/150
提交評論