PID控制超詳細(xì)教程_圖文_第1頁
PID控制超詳細(xì)教程_圖文_第2頁
PID控制超詳細(xì)教程_圖文_第3頁
PID控制超詳細(xì)教程_圖文_第4頁
PID控制超詳細(xì)教程_圖文_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 PID調(diào)節(jié)控制做電機(jī)速度控制V1.1 Jan 23, 2006中文版 版權(quán)聲明凌陽科技股份有限公司保留對此文件修改之權(quán)利且不另行通知。凌陽科技股份有限公司所提供之信息相信為正確且可靠之信息,但并不保證本文件中絕無錯(cuò)誤。請于向凌陽科技股份有限公司提出訂單前,自行確定所使用之相關(guān)技術(shù)文件及規(guī)格為最新之版本。若因貴公司使用本公司之文件或產(chǎn)品,而涉及第三人之專利或著作權(quán)等智能財(cái)產(chǎn)權(quán)之應(yīng)用及配合時(shí),則應(yīng)由貴公司負(fù)責(zé)取得同意及授權(quán),本公司僅單純販?zhǔn)郛a(chǎn)品,上述關(guān)于同意及授權(quán),非屬本公司應(yīng)為保證之責(zé)任。又未經(jīng)凌陽科技股份有限公司之正式書面許可,本公司之所有產(chǎn)品不得使用于醫(yī)療器材,維持生命系統(tǒng)及飛航等相關(guān)設(shè)備

2、。 目錄頁1模擬PID控制 (11.1 模擬PID控制原理 (12數(shù)字PID控制 (32.1 位置式PID算法 (32.2 增量式PID算法 (42.3 控制器參數(shù)整定 (42.4 參數(shù)調(diào)整規(guī)則的探索 (62.5 自校正PID控制器 (73軟件說明 (83.1 軟件說明 (83.2 檔案構(gòu)成 (83.3 DMC界面 (83.4 子程序說明 (94程序范例 (164.1 DEMO程序 (164.2 程序流程與說明 (194.3 中斷子流程與說明 (205MCU使用資源 (215.1 MCU硬件使用資源說明 (216實(shí)驗(yàn)測試 (226.1 響應(yīng)曲線 (227參考文獻(xiàn) (26 修訂記錄日期版本編寫及

3、修訂者編寫及修訂說明2004/11/26 1.0 初版2006/1/23 1.1 錯(cuò)誤校正 據(jù)Z -N 提供的經(jīng)驗(yàn)公式,就可以由這兩個(gè)基準(zhǔn)參數(shù)得到不同類型控制器的參數(shù),如表2-1所示。 表2-1 臨界比例法確定的模擬控制器參數(shù) 控制器類型 Kp Ti TdP 0.5 KuPI 0.45 Ku 0.85TuPID0.6 Ku 0.5Tu 0.12Tu 這種臨界比例法使針對模擬PID 控制器,對于數(shù)字PID 控制器,只要采樣周期取的較小,原則上也同樣使用。在電動(dòng)機(jī)的控制中,可以先采用臨界比例法,然后在采用臨界比例法求得結(jié)果的基礎(chǔ)上,用湊試法進(jìn)一步完善。表2-1的控制參數(shù),實(shí)際上是按衰減度為1/4時(shí)

4、得到的。通常認(rèn)為1/4的衰減度能兼顧到穩(wěn)定性和快速性。如果要求更大的衰減,則必須用湊試法對參數(shù)作進(jìn)一步的調(diào)整。采樣周期的選擇 香農(nóng)(Shannon 采樣定律 :為不失真地復(fù)現(xiàn)信號的變化,采樣頻率至少應(yīng)大于或等于連續(xù)信號最高頻率分量的二倍。根據(jù)采樣定律可以確定采樣周期的上限值。實(shí)際采樣周期的選擇還要受到多方面因素的影響,不同的系統(tǒng)采樣周期應(yīng)根據(jù)具體情況來選擇。采樣周期的選擇,通常按照過程特性與干擾大小適當(dāng)來選取采樣周期:即對于響應(yīng)快、(如流量、壓力波動(dòng)大、易受干擾的過程,應(yīng)選取較短的采樣周期;反之,當(dāng)過程響應(yīng)慢(如溫度、成份、滯后大時(shí),可選取較長的采樣周期。采樣周期的選取應(yīng)與PID 參數(shù)的整定進(jìn)

5、行綜合考慮,采樣周期應(yīng)遠(yuǎn)小于過程的擾動(dòng)信號的周期,在執(zhí)行器的響應(yīng)速度比較慢時(shí),過小的采樣周期將失去意義,因此可適當(dāng)選大一點(diǎn);在計(jì)算機(jī)運(yùn)算速度允許的條件下,采樣周期短,則控制品質(zhì)好;當(dāng)過程的純滯后時(shí)間較長時(shí),一般選取采樣周期為純滯后時(shí)間的1/41/8。2.4參數(shù)調(diào)整規(guī)則的探索人們通過對PID 控制理論的認(rèn)識和長期人工操作經(jīng)驗(yàn)的總結(jié),可知PID 參數(shù)應(yīng)依據(jù)以下幾點(diǎn)來適應(yīng)系統(tǒng)的動(dòng)態(tài)過程。 1、在偏差比較大時(shí),為使盡快消除偏差,提高響應(yīng)速度,同時(shí)為了避免系統(tǒng)響應(yīng)出現(xiàn)超調(diào),Kp 取大值,取零;在偏差比較小時(shí),為繼續(xù)減小偏差,并防止超調(diào)過大、產(chǎn)生振蕩、穩(wěn)定性變壞,值要減小,取小值;在偏差很小時(shí),為消除靜差

6、,克服超調(diào),使系統(tǒng)盡快穩(wěn)定,值繼續(xù)減小,值不變或稍取大。Ki Kp Ki Kp Ki 2、當(dāng)偏差與偏差變化率同號時(shí),被控量是朝偏離既定值方向變化。因此,當(dāng)被控量接近定值時(shí),反號的比列作用阻礙積分作用,避免積分超調(diào)及隨之而來的振蕩,有利于控制;而當(dāng)被控量遠(yuǎn)未接近各定值并向定值變化時(shí),則由于這兩項(xiàng)反向,將會(huì)減慢控制過程。在偏差比較大時(shí),偏差變化率與偏差異號時(shí),值取零或負(fù)值,以加快控制的動(dòng)態(tài)過程。Kp 3、偏差變化率的大小表明偏差變化的速率,越大,取值越小,取值越大,反之亦然。同時(shí),要結(jié)合偏差大小來考慮。1k k e e -Kp Ki 3 軟件說明3.1 軟件說明AN_SPMC75_0012在微處理

7、器SPMC75F2413A上實(shí)現(xiàn)數(shù)字PID對BLDC速度的調(diào)節(jié),重點(diǎn)將是對PID參數(shù)的整定,使系統(tǒng)的動(dòng)靜態(tài)性能達(dá)到“滿意”的效果。3.2 檔案構(gòu)成文件名稱功能類型Main BLDC驅(qū)動(dòng)相關(guān)參數(shù)初始化,DMC服務(wù) CChap2 BLDC驅(qū)動(dòng)相關(guān)函數(shù) CInitial 系統(tǒng)所有相關(guān)初始化程序 CISR 驅(qū)動(dòng)中相應(yīng)的中斷服務(wù) C DigitalPID_V100.lib PID設(shè)置,初始化和PID計(jì)算函數(shù)庫函數(shù)lib Spmc75_dmc_lib_V100.lib DMC通信程序lib3.3 DMC界面Speed1_Cmd:設(shè)置電機(jī)運(yùn)轉(zhuǎn)的速度Speed1_Now:電機(jī)當(dāng)前反饋速度Speed1_Kp:2

8、.5節(jié)自校正PID控制器中提到的Kp值User_R0:當(dāng)前P_TMR3_TGRA寄存器的值User_R1:設(shè)置速度與電機(jī)實(shí)際轉(zhuǎn)速的差值Motor 1 Start 和Motor 1 Stop 控制啟停 3.4 子程序說明PIDInit ( 原形void PIDInit (void描述PID所用到的RAM清零輸入?yún)?shù)無輸出參數(shù)無頭文件Spmc75_PID.h庫文件DigitalPID_V100注意事項(xiàng)請?jiān)谠O(shè)置參數(shù)前使用。例子PIDInit (; PIDSetPoint ( 原形void PIDSetPoint(int描述設(shè)置PID調(diào)節(jié)的目標(biāo)值輸入?yún)?shù)期望值輸出參數(shù)無頭文件Spmc75_PID.h庫

9、文件DigitalPID_V100注意事項(xiàng)例子PIDSetPoint (2000; /期望電動(dòng)機(jī)的轉(zhuǎn)速為2000rpmPIDGetSetpoint ( 原形int PIDGetSetpoint(void描述讀取PID調(diào)節(jié)設(shè)置的目標(biāo)值輸入?yún)?shù)無輸出參數(shù)所設(shè)置的期望值頭文件Spmc75_PID.h庫文件DigitalPID_V100注意事項(xiàng)得到的期望值將和數(shù)值的是同一個(gè)數(shù)值例子uiSpeed =PIDSetPoint (; /讀取所設(shè)置的期望電動(dòng)機(jī)轉(zhuǎn)速 IncPIDCalc ( 原形int IncPIDCalc(int描述增量式PID計(jì)算輸入?yún)?shù)PID調(diào)節(jié)當(dāng)前采樣值輸出參數(shù)計(jì)算增量頭文件Spmc7

10、5_PID.h庫文件DigitalPID_V100注意事項(xiàng)(式2-5增量式PID算法的實(shí)現(xiàn)。例子uiGoalvalue += IncPIDCalc (1998; /位置式PID控制算法通過增量式控制算法遞推實(shí)現(xiàn),當(dāng)前采樣得到轉(zhuǎn)速1998rpm。 LocPIDCalc ( 原形unsigned int LocPIDCalc(int描述位置式PID計(jì)算輸入?yún)?shù)PID調(diào)節(jié)當(dāng)前采樣值輸出參數(shù)位置式PID計(jì)算出的絕對位置值頭文件Spmc75_PID.h庫文件DigitalPID_V100注意事項(xiàng)(式2-4位置式式PID算法的實(shí)現(xiàn)。例子uiGoalvalue = LocPIDCalc (1998; /位置

11、式PID控制算法,當(dāng)前采樣得到轉(zhuǎn)速1998rpm。其它應(yīng)用函數(shù)式對BLDC驅(qū)動(dòng)的實(shí)現(xiàn),不再一一贅述,可以參考【AN_SPMC75_0003】應(yīng)用例的介紹。 4 程序范例4.1 DEMO程序/*=*/應(yīng)用范例/*=*/#include "Spmc75_regs.h"#include "Spmc_typedef.h"#include "unspmacro.h"#include "Spmc75_BLDC.h"main(P_IOA_SPE->W = 0x0000;P_IOB_SPE->W = 0x0000;P_

12、IOC_SPE->W = 0x0000;Spmc75_System_Init(; /Spmc75系統(tǒng)初始化while(1BLDC_Run_Service(; /啟停監(jiān)控NOP(;/= / Description: IRQ0 interrupt source is XXX,used to XXX/ Notes:錯(cuò)誤保護(hù)/= void IRQ0(void _attribute_ (ISR;void IRQ0(voidIPM_Fault_Protect(;/= / Description: IRQ1 interrupt source is XXX,used to XXX/ Notes:BLDC

13、啟動(dòng)及正常運(yùn)行服務(wù)/= void IRQ1(void _attribute_ (ISR; void IRQ1(void/*=*/ /*Position detection change interrupt/*=*/ if(P_TMR0_Status->B.PDCIF && P_TMR0_INT->B.PDCIEBLDC_Motor_Normalrun(;/*=*/ /*Timer Counter Overflow/*=*/ if(P_TMR0_Status->B.TCVIF && P_TMR0_INT->B.TCVIEBLDC_Motor

14、_Startup(;P_TMR0_Status->W = P_TMR0_Status->W;/=/ Description: IRQ6 interrupt source is XXX,used to XXX/ Notes:DMC接收中斷服務(wù)函數(shù)/= void IRQ6(void _attribute_ (ISR;void IRQ6(voidif(P_INT_Status->B.UARTIFif(P_UART_Status->B.RXIF MC75_DMC_RcvStream(;if(P_UART_Status->B.TXIF && P_UART_C

15、trl->B.TXIE;/=/ Description: IRQ7 interrupt source is XXX,used to XXX/ Notes:512Hz定時(shí)中斷完成PID調(diào)節(jié)速度/= void IRQ7(void _attribute_ (ISR;void IRQ7(voidif(P_INT_Status->B.CMTIFif(P CMT Ctrl->B.CM0IF && P CMT Ctrl->B.CM0IE BLDC_Motor_Actiyator(;P_CMT_Ctrl->W = P_CMT_Ctrl->W;PID計(jì)算子函數(shù)

16、:/數(shù)據(jù)結(jié)構(gòu)typedef struct PIDint SetPoint; /設(shè)定目標(biāo) Desired Valuelong SumError; /誤差累計(jì)double Proportion; /比例常數(shù) Proportional Const double Integral; /積分常數(shù) Integral Constdouble Derivative; /微分常數(shù) Derivative Constint LastError; /Error-1int PrevError; /Error-2 PID;static PID sPID;static PID *sptr = &sPID;/PID參

17、數(shù)初始化void IncPIDInit(voidsptr->SumError = 0;sptr->LastError = 0; /Error-1sptr->PrevError = 0; /Error-2sptr->Proportion = 0; /比例常數(shù) Proportional Const sptr->Integral = 0; /積分常數(shù)Integral Constsptr->Derivative = 0; /微分常數(shù) Derivative Constsptr->SetPoint = 0; /增量式PID控制設(shè)計(jì)int IncPIDCalc(in

18、t NextPointregister int iError, iIncpid;/當(dāng)前誤差iError = sptr->SetPoint - NextPoint;/增量計(jì)算iIncpid = sptr->Proportion * iError /Ek項(xiàng)- sptr->Integral * sptr->LastError /Ek-1項(xiàng)+ sptr->Derivative * sptr->PrevError; /Ek-2項(xiàng)/存儲(chǔ)誤差,用于下次計(jì)算sptr->PrevError = sptr->LastError;sptr->LastError

19、= iError;/返回增量值return(iIncpid;/位置式PID控制設(shè)計(jì)unsigned int LocPIDCalc(int NextPointregister int iError,dError;iError = sptr->SetPoint - NextPoint; /偏差/積分iError;+=sptr->SumErrordError = iError - sptr->LastError; /微分sptr->LastError = iError;return(sptr->Proportion * iError /比例項(xiàng)+ sptr->Int

20、egral * sptr->SumError /積分項(xiàng)+ sptr->Derivative * dError; /微分項(xiàng)4.2 程序流程與說明主程序主要完成系統(tǒng)必要的初始化,而對電動(dòng)機(jī)的實(shí)時(shí)處理基本上是在中斷中完成的,其中涉及到的中斷主要有:IRQ0的錯(cuò)誤輸入和輸出中斷、IRQ1的PDC和TCV中斷、IRQ6的UART RXD 中斷及CMT0的定時(shí)中斷。如圖5-1所示主程序設(shè)計(jì)流程圖。 6 實(shí)驗(yàn)測試測試主要是針對120度上相PWM方波驅(qū)動(dòng)帶霍爾位置傳感的直流無刷電動(dòng)機(jī)并應(yīng)用PID控制來進(jìn)行對電動(dòng)機(jī)的速度調(diào)節(jié)。硬件原理圖及關(guān)于BLDC驅(qū)動(dòng)請參照【AN_SPMC75_0003】。Kp參數(shù)的調(diào)整,在源程序中是可以用預(yù)編譯定義的。如果定義的話就可以在DMC下對Kp參數(shù)調(diào)整,但請注意,DMC下的參數(shù)需要是擴(kuò)大一千倍的。例如:Kp=0.105,DMC參數(shù)就應(yīng)該是105。這樣Kp的范圍就可以在(400,10,對于這個(gè)范圍的參數(shù)只能說是能正常的工作。如果說最適合,那么還請您根據(jù)系統(tǒng)的需要,按照各種整定方法對其進(jìn)行全面的評估?!咀⒁狻?、在這里PID參數(shù)的選擇和PWM的載波頻率也有一定的關(guān)系,載波頻率越高則【P_TMRx_TGRA】所設(shè)置的范圍就越小,調(diào)節(jié)就比較的快。這種種因數(shù)希望到能考慮在內(nèi),得到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論