版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 PID 調(diào)節(jié)控制做電機速度控制 V1.1 Jan 23, 200619, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 E-mail: mcu PID 調(diào)節(jié)控制做電機速度控制版權(quán)聲明凌陽科技股份有限公司保留對此文件修改之權(quán)利且不另行通知。凌陽科技股份有限公司所提供之信息相信為正確且可靠之信息,但并不保證本文件中絕無錯誤。請于向凌陽科技股份有限公司提出訂單前,自行確定所使用之相關(guān)技術(shù)文件及規(guī)格為最新之版本。若因貴公司使用本公司之文件或產(chǎn)品
2、,而涉及第三人之專利或著作權(quán)等智能財產(chǎn)權(quán)之應(yīng)用及配合時,則應(yīng)由貴公司負責(zé)取得同意及授權(quán),本公司僅單純販售產(chǎn)品,上述關(guān)于同意及授權(quán),非屬本公司應(yīng)為保證之責(zé)任。又未經(jīng)凌陽科技股份有限公司之正式書面許可,本公司之所有產(chǎn)品不得使用于醫(yī)療器材,維持生命系統(tǒng)及飛航等相關(guān)設(shè)備。 目錄1模擬PID 控制. 1 1.1 模擬PID 控制原理. 12數(shù)字PID 控制. 3 2.1 位置式PID 算法. 3 2.2 增量式PID 算法. 4 2.3 控制器參數(shù)整定. 42.3.1 湊試法. 5 2.3.2 臨界比例法. 5 2.3.3 經(jīng)驗法. 5 2.3.4 采樣周期的選擇. 6 2.4 參數(shù)調(diào)整規(guī)則的探索. 6
3、 2.5 自校正PID 控制器. 73軟件說明. 8 3.1 軟件說明. 8 3.2 檔案構(gòu)成. 8 3.3 DMC 界面. 8 3.4 子程序說明. 94程序范例. 16 4.1 DEMO 程序. 16 4.2 程序流程與說明. 19 4.3 中斷子流程與說明. 205MCU 使用資源. 21 5.1 MCU 硬件使用資源說明. 216實驗測試. 22 6.1 響應(yīng)曲線. 227參考文獻. 26 修訂記錄日期版本編寫及修訂者初版 錯誤校正編寫及修訂說明 4、微分作用可改善系統(tǒng)的動態(tài)特性,阻止偏差的變化,有助于減小超調(diào)量,消除振蕩,縮短調(diào)節(jié)時間t s ,允許加大 Kp ,使系統(tǒng)穩(wěn)態(tài)誤差減小,提
4、高控制精度,達到滿意的控制效果。所以,在e k 比較大時,Kd 取零,實際為PI 控制;在e k 比較小時,Kd 取一正值,實行PID 控制。2.5自校正PID 控制器對于一個特定的被控對象,在純比例控制的作用下改變比例系數(shù)可以求出產(chǎn)生臨界振蕩的振蕩根據(jù)Z N 條件,有周期Tu 和臨界比例系數(shù)Ku 。T =0. 1Tu Ti =0. 5Tu Td =0. 125Tu代入(式25)則有:u k Kp (2. 45e k 3. 5e k 1+1. 25e k 2 (式27)很顯然,采用上式可以十分容易的實現(xiàn)常數(shù)Kp 的校正。 3 軟件說明3.1 軟件說明AN_SPMC75_0012在微處理器SPM
5、C75F2413A 上實現(xiàn)數(shù)字PID 對BLDC 速度的調(diào)節(jié),重點將是對PID 參數(shù)的整定,使系統(tǒng)的動靜態(tài)性能達到“滿意”的效果。3.2 檔案構(gòu)成文件名稱 Main Chap2 Initial ISRDigitalPID_V100.lib功能BLDC 驅(qū)動相關(guān)參數(shù)初始化,DMC 服務(wù) BLDC 驅(qū)動相關(guān)函數(shù) 系統(tǒng)所有相關(guān)初始化程序 驅(qū)動中相應(yīng)的中斷服務(wù)PID 設(shè)置,初始化和PID 計算函數(shù)庫函數(shù)類型C C C C lib libSpmc75_dmc_lib_V100.lib DMC 通信程序3.3 DMC界面Speed1_Cmd:設(shè)置電機運轉(zhuǎn)的速度 Speed1_Now:電機當(dāng)前反饋速度Spe
6、ed1_Kp:2.5節(jié) 自校正PID 控制器中提到的Kp 值 User_R0:當(dāng)前P_TMR3_TGRA寄存器的值 User_R1:設(shè)置速度與電機實際轉(zhuǎn)速的差值 Motor 1 Start 和 Motor 1 Stop 控制啟停 PID 調(diào)節(jié)控制做電機速度控制3.4 子程序說明 PIDInit ( 原 形 描 述 輸入?yún)?shù) 輸出參數(shù) 頭 文 件 庫 文 件 注意事項 例 子void PIDInit (voidPID 所用到的RAM 清零 無 無Spmc75_PID.h DigitalPID_V100 請在設(shè)置參數(shù)前使用。 PIDInit (; PIDSetPoint ( 原 形 描 述 輸入?yún)?/p>
7、數(shù) 輸出參數(shù) 頭 文 件 庫 文 件 注意事項 例 子void PIDSetPoint(int 設(shè)置PID 調(diào)節(jié)的目標值 期望值 無Spmc75_PID.h DigitalPID_V100PIDSetPoint (2000; /期望電動機的轉(zhuǎn)速為2000rpmPIDGetSetpoint ( 原 形 描 述 輸入?yún)?shù) 輸出參數(shù) 頭 文 件 庫 文 件 注意事項 例 子int PIDGetSetpoint(void 讀取PID 調(diào)節(jié)設(shè)置的目標值 無所設(shè)置的期望值 Spmc75_PID.h DigitalPID_V100得到的期望值將和數(shù)值的是同一個數(shù)值uiSpeed PIDSetPoint (;
8、 /讀取所設(shè)置的期望電動機轉(zhuǎn)速 IncPIDCalc ( 原 形 描 述 輸入?yún)?shù) 輸出參數(shù) 頭 文 件 庫 文 件 注意事項 例 子int IncPIDCalc(int 增量式PID 計算 PID 調(diào)節(jié)當(dāng)前采樣值 計算增量 Spmc75_PID.h DigitalPID_V100(式25)增量式PID 算法的實現(xiàn)。uiGoalvalue IncPIDCalc (1998; /位置式PID 控制算法通過增量式控制算法遞推實現(xiàn),當(dāng)前采樣得到轉(zhuǎn)速1998rpm 。 LocPIDCalc ( 原 形 描 述 輸入?yún)?shù) 輸出參數(shù) 頭 文 件 庫 文 件 注意事項 例 子其它應(yīng)用函數(shù)式對BLDC 驅(qū)動的
9、實現(xiàn),不再一一贅述,可以參考【AN_SPMC75_0003】應(yīng)用例的介紹。unsigned int LocPIDCalc(int 位置式PID 計算 PID 調(diào)節(jié)當(dāng)前采樣值位置式PID 計算出的絕對位置值 Spmc75_PID.h DigitalPID_V100(式24)位置式式PID 算法的實現(xiàn)。uiGoalvalue LocPIDCalc (1998; /位置式PID 控制算法,當(dāng)前采樣得到轉(zhuǎn)速1998rpm 。 PID 調(diào)節(jié)控制做電機速度控制4 程序范例4.1 DEMO程序/*=*/ /應(yīng)用范例/*=*/ #include "Spmc75_regs.h" #inclu
10、de "Spmc_typedef.h" #include "unspmacro.h" #include "Spmc75_BLDC.h"main( P_IOA_SPE->W = 0x0000; P_IOB_SPE->W = 0x0000; P_IOC_SPE->W = 0x0000;Spmc75_System_Init(; /Spmc75系統(tǒng)初始化while(1 BLDC_Run_Service(; /啟停監(jiān)控 NOP(; /= / Description: IRQ0 interrupt source is XXX,u
11、sed to XXX / Notes:錯誤保護/= void IRQ0(void _attribute_ (ISR; void IRQ0(void IPM_Fault_Protect(; /= / Description: IRQ1 interrupt source is XXX,used to XXX / Notes:BLDC啟動及正常運行服務(wù)/= void IRQ1(void _attribute_ (ISR; PID 調(diào)節(jié)控制做電機速度控制void IRQ1(void /*=*/ /*Position detection change interrupt/*=*/ if(P_TMR0_S
12、tatus->B.PDCIF && P_TMR0_INT->B.PDCIE BLDC_Motor_Normalrun(; /*=*/ /*Timer Counter Overflow/*=*/ if(P_TMR0_Status->B.TCVIF && P_TMR0_INT->B.TCVIE BLDC_Motor_Startup(; P_TMR0_Status->W = P_TMR0_Status->W; /= / Description: IRQ6 interrupt source is XXX,used to XXX / N
13、otes:DMC接收中斷服務(wù)函數(shù)/= void IRQ6(void _attribute_ (ISR; void IRQ6(void if(P_INT_Status->B.UARTIF if(P_UART_Status->B.RXIF MC75_DMC_RcvStream(; if(P_UART_Status->B.TXIF && P_UART_Ctrl->B.TXIE; /= / Description: IRQ7 interrupt source is XXX,used to XXX / Notes:512Hz定時中斷完成PID 調(diào)節(jié)速度/= voi
14、d IRQ7(void _attribute_ (ISR; void IRQ7(void if(P_INT_Status->B.CMTIF if(PCMT Ctrl->B.CM0IF && PCMT Ctrl->B.CM0IE BLDC_Motor_Actiyator(; P_CMT_Ctrl->W = P_CMT_Ctrl->W; PID 計算子函數(shù):PID 調(diào)節(jié)控制做電機速度控制/數(shù)據(jù)結(jié)構(gòu)typedef struct PID int SetPoint; /設(shè)定目標 Desired Value long SumError; /誤差累計double
15、 Proportion; /比例常數(shù) Proportional Const double Integral; /積分常數(shù) Integral Const double Derivative; /微分常數(shù) Derivative Constint LastError; /Error-1 int PrevError; /Error-2 PID;static PID sPID; static PID *sptr = &sPID;/PID參數(shù)初始化void IncPIDInit(void sptr->SumError = 0; sptr->LastError = 0; /Error-1
16、 sptr->PrevError = 0; /Error-2sptr->Proportion = 0; /比例常數(shù) Proportional Const sptr->Integral = 0; /積分常數(shù)Integral Const sptr->Derivative = 0; /微分常數(shù) Derivative Const sptr->SetPoint = 0; PID 調(diào)節(jié)控制做電機速度控制6 實驗測試測試主要是針對120度上相PWM 方波驅(qū)動帶霍爾位置傳感的直流無刷電動機并應(yīng)用PID 控制來進行對電動機的速度調(diào)節(jié)。硬件原理圖及關(guān)于BLDC 驅(qū)動請參照【AN_SP
17、MC75_0003】。Kp 參數(shù)的調(diào)整,在源程序中是可以用預(yù)編譯定義的。如果定義的話就可以在DMC 下對Kp 參數(shù)調(diào)整,但請注意,DMC 下的參數(shù)需要是擴大一千倍的。例如:Kp 0.105,DMC 參數(shù)就應(yīng)該是105。這樣Kp 的范圍就可以在(400,10),對于這個范圍的參數(shù)只能說是能正常的工作。如果說最適合,那么還請您根據(jù)系統(tǒng)的需要,按照各種整定方法對其進行全面的評估?!咀⒁狻?1、在這里PID 參數(shù)的選擇和PWM 的載波頻率也有一定的關(guān)系,載波頻率越高則【P_TMRx_TGRA】所設(shè)置的范圍就越小,調(diào)節(jié)就比較的快。這種種因數(shù)希望到能考慮在內(nèi),得到最適合的PID 參數(shù)?!咀⒁狻?2、如果選
18、擇使用DMC 來調(diào)整PID 的Kp 參數(shù),請先設(shè)置轉(zhuǎn)速(Speed1_Cmd)和Kp (Speed1_Kp)的數(shù)值再啟動Motor1;若是使用固定的PID 的Kp 參數(shù)(在程序中固定),請先設(shè)置轉(zhuǎn)速(Speed1_Cmd)再啟動Motor1?!咀⒁狻?3、在DMC 下PID 參數(shù)的時候Speed1_Kp與Kp 的關(guān)系是Speed1_Kp1000Kp ,就是說如果要設(shè)置Kp 為0.125,DMC 的Speed1_Kp應(yīng)該給出125。6.1響應(yīng)曲線 所有測試都是在空載,PWM 載波為6KHz 的情況下進行:1、 Speed1_Kp10,即Kp 0.01。在轉(zhuǎn)速從0rpm 升至2000rpm 的響應(yīng)曲線,如圖 6.1。 PID 調(diào)節(jié)控制做電機速度控制圖 6.1 Kp 0.01響應(yīng)曲線2、 Speed1_Kp105,即Kp 0.105。在轉(zhuǎn)速從0rpm 升至2000rpm 的響應(yīng)曲線,如圖 6.2。圖 6.2 Kp0.105響應(yīng)曲線 PID 調(diào)節(jié)控制做電機速度控制3、 Speed1_Kp180,即Kp 0.180。在轉(zhuǎn)速從0rp
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能安防系統(tǒng)設(shè)備維修與升級合同3篇
- 二零二五年度鄉(xiāng)村旅游開發(fā)農(nóng)村房屋買賣合同協(xié)議書2篇
- 2025年度企業(yè)公務(wù)車借用與車輛保險理賠協(xié)議范本3篇
- 二零二五年度農(nóng)機維修配件進出口貿(mào)易合同模板3篇
- 二零二五年度農(nóng)村宅基地房屋買賣及農(nóng)村社會保障體系建設(shè)合同
- 2025年度農(nóng)村農(nóng)業(yè)勞務(wù)用工合同范本(含勞動爭議調(diào)解)
- 二零二五年度新能源實驗室儲能技術(shù)研究合同3篇
- 二零二五年度汽車維修兼職技師雇傭合同3篇
- 2025年度XX能源公司二零二五年度綠色貸款合同3篇
- 2025年度商業(yè)綜合體寫字樓租賃管理服務(wù)協(xié)議3篇
- 2024-2030年中國毫米波行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- HG+20231-2014化學(xué)工業(yè)建設(shè)項目試車規(guī)范
- 2024年全國初中數(shù)學(xué)競賽試題含答案
- 軟裝公司運營計劃書
- 中醫(yī)臨床基礎(chǔ)研究設(shè)計方法與進展智慧樹知到期末考試答案2024年
- 手術(shù)室急救設(shè)備
- 投標技術(shù)服務(wù)和質(zhì)保期服務(wù)計劃
- 重慶市江津區(qū)2023年數(shù)學(xué)九年級上冊期末考試試題含解析
- 輪胎返點協(xié)議
- 互聯(lián)網(wǎng)金融(同濟大學(xué))智慧樹知到期末考試答案2024年
- 國家開放大學(xué)管理英語4形考任務(wù)1-8
評論
0/150
提交評論