版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 PID 調(diào)節(jié)控制做電機(jī)速度控制 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é)控制做電機(jī)速度控制版權(quán)聲明凌陽科技股份有限公司保留對(duì)此文件修改之權(quán)利且不另行通知。凌陽科技股份有限公司所提供之信息相信為正確且可靠之信息,但并不保證本文件中絕無錯(cuò)誤。請(qǐng)于向凌陽科技股份有限公司提出訂單前,自行確定所使用之相關(guān)技術(shù)文件及規(guī)格為最新之版本。若因貴公司使用本公司之文件或產(chǎn)品
2、,而涉及第三人之專利或著作權(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è)備。 目錄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)驗(yàn)法. 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實(shí)驗(yàn)測試. 22 6.1 響應(yīng)曲線. 227參考文獻(xiàn). 26 修訂記錄日期版本編寫及修訂者初版 錯(cuò)誤校正編寫及修訂說明 4、微分作用可改善系統(tǒng)的動(dòng)態(tài)特性,阻止偏差的變化,有助于減小超調(diào)量,消除振蕩,縮短調(diào)節(jié)時(shí)間t s ,允許加大 Kp ,使系統(tǒng)穩(wěn)態(tài)誤差減小,提
4、高控制精度,達(dá)到滿意的控制效果。所以,在e k 比較大時(shí),Kd 取零,實(shí)際為PI 控制;在e k 比較小時(shí),Kd 取一正值,實(shí)行PID 控制。2.5自校正PID 控制器對(duì)于一個(gè)特定的被控對(duì)象,在純比例控制的作用下改變比例系數(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)很顯然,采用上式可以十分容易的實(shí)現(xiàn)常數(shù)Kp 的校正。 3 軟件說明3.1 軟件說明AN_SPMC75_0012在微處理器SPM
5、C75F2413A 上實(shí)現(xiàn)數(shù)字PID 對(duì)BLDC 速度的調(diào)節(jié),重點(diǎn)將是對(duì)PID 參數(shù)的整定,使系統(tǒng)的動(dòng)靜態(tài)性能達(dá)到“滿意”的效果。3.2 檔案構(gòu)成文件名稱 Main Chap2 Initial ISRDigitalPID_V100.lib功能BLDC 驅(qū)動(dòng)相關(guān)參數(shù)初始化,DMC 服務(wù) BLDC 驅(qū)動(dòng)相關(guān)函數(shù) 系統(tǒng)所有相關(guān)初始化程序 驅(qū)動(dòng)中相應(yīng)的中斷服務(wù)PID 設(shè)置,初始化和PID 計(jì)算函數(shù)庫函數(shù)類型C C C C lib libSpmc75_dmc_lib_V100.lib DMC 通信程序3.3 DMC界面Speed1_Cmd:設(shè)置電機(jī)運(yùn)轉(zhuǎn)的速度 Speed1_Now:電機(jī)當(dāng)前反饋速度Spe
6、ed1_Kp:2.5節(jié) 自校正PID 控制器中提到的Kp 值 User_R0:當(dāng)前P_TMR3_TGRA寄存器的值 User_R1:設(shè)置速度與電機(jī)實(shí)際轉(zhuǎn)速的差值 Motor 1 Start 和 Motor 1 Stop 控制啟停 PID 調(diào)節(jié)控制做電機(jī)速度控制3.4 子程序說明 PIDInit ( 原 形 描 述 輸入?yún)?shù) 輸出參數(shù) 頭 文 件 庫 文 件 注意事項(xiàng) 例 子void PIDInit (voidPID 所用到的RAM 清零 無 無Spmc75_PID.h DigitalPID_V100 請(qǐng)?jiān)谠O(shè)置參數(shù)前使用。 PIDInit (; PIDSetPoint ( 原 形 描 述 輸入?yún)?/p>
7、數(shù) 輸出參數(shù) 頭 文 件 庫 文 件 注意事項(xiàng) 例 子void PIDSetPoint(int 設(shè)置PID 調(diào)節(jié)的目標(biāo)值 期望值 無Spmc75_PID.h DigitalPID_V100PIDSetPoint (2000; /期望電動(dòng)機(jī)的轉(zhuǎn)速為2000rpmPIDGetSetpoint ( 原 形 描 述 輸入?yún)?shù) 輸出參數(shù) 頭 文 件 庫 文 件 注意事項(xiàng) 例 子int PIDGetSetpoint(void 讀取PID 調(diào)節(jié)設(shè)置的目標(biāo)值 無所設(shè)置的期望值 Spmc75_PID.h DigitalPID_V100得到的期望值將和數(shù)值的是同一個(gè)數(shù)值uiSpeed PIDSetPoint (;
8、 /讀取所設(shè)置的期望電動(dòng)機(jī)轉(zhuǎn)速 IncPIDCalc ( 原 形 描 述 輸入?yún)?shù) 輸出參數(shù) 頭 文 件 庫 文 件 注意事項(xiàng) 例 子int IncPIDCalc(int 增量式PID 計(jì)算 PID 調(diào)節(jié)當(dāng)前采樣值 計(jì)算增量 Spmc75_PID.h DigitalPID_V100(式25)增量式PID 算法的實(shí)現(xiàn)。uiGoalvalue IncPIDCalc (1998; /位置式PID 控制算法通過增量式控制算法遞推實(shí)現(xiàn),當(dāng)前采樣得到轉(zhuǎn)速1998rpm 。 LocPIDCalc ( 原 形 描 述 輸入?yún)?shù) 輸出參數(shù) 頭 文 件 庫 文 件 注意事項(xiàng) 例 子其它應(yīng)用函數(shù)式對(duì)BLDC 驅(qū)動(dòng)的
9、實(shí)現(xiàn),不再一一贅述,可以參考【AN_SPMC75_0003】應(yīng)用例的介紹。unsigned int LocPIDCalc(int 位置式PID 計(jì)算 PID 調(diào)節(jié)當(dāng)前采樣值位置式PID 計(jì)算出的絕對(duì)位置值 Spmc75_PID.h DigitalPID_V100(式24)位置式式PID 算法的實(shí)現(xiàn)。uiGoalvalue LocPIDCalc (1998; /位置式PID 控制算法,當(dāng)前采樣得到轉(zhuǎn)速1998rpm 。 PID 調(diào)節(jié)控制做電機(jī)速度控制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:錯(cuò)誤保護(hù)/= void IRQ0(void _attribute_ (ISR; void IRQ0(void IPM_Fault_Protect(; /= / Description: IRQ1 interrupt source is XXX,used to XXX / Notes:BLDC啟動(dòng)及正常運(yùn)行服務(wù)/= void IRQ1(void _attribute_ (ISR; PID 調(diào)節(jié)控制做電機(jī)速度控制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定時(shí)中斷完成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 計(jì)算子函數(shù):PID 調(diào)節(jié)控制做電機(jī)速度控制/數(shù)據(jù)結(jié)構(gòu)typedef struct PID int SetPoint; /設(shè)定目標(biāo) Desired Value long SumError; /誤差累計(jì)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é)控制做電機(jī)速度控制6 實(shí)驗(yàn)測試測試主要是針對(duì)120度上相PWM 方波驅(qū)動(dòng)帶霍爾位置傳感的直流無刷電動(dòng)機(jī)并應(yīng)用PID 控制來進(jìn)行對(duì)電動(dòng)機(jī)的速度調(diào)節(jié)。硬件原理圖及關(guān)于BLDC 驅(qū)動(dòng)請(qǐng)參照【AN_SP
17、MC75_0003】。Kp 參數(shù)的調(diào)整,在源程序中是可以用預(yù)編譯定義的。如果定義的話就可以在DMC 下對(duì)Kp 參數(shù)調(diào)整,但請(qǐng)注意,DMC 下的參數(shù)需要是擴(kuò)大一千倍的。例如:Kp 0.105,DMC 參數(shù)就應(yīng)該是105。這樣Kp 的范圍就可以在(400,10),對(duì)于這個(gè)范圍的參數(shù)只能說是能正常的工作。如果說最適合,那么還請(qǐng)您根據(jù)系統(tǒng)的需要,按照各種整定方法對(duì)其進(jìn)行全面的評(pí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ù),請(qǐng)先設(shè)置轉(zhuǎn)速(Speed1_Cmd)和Kp (Speed1_Kp)的數(shù)值再啟動(dòng)Motor1;若是使用固定的PID 的Kp 參數(shù)(在程序中固定),請(qǐng)先設(shè)置轉(zhuǎn)速(Speed1_Cmd)再啟動(dòng)Motor1。【注意】 3、在DMC 下PID 參數(shù)的時(shí)候Speed1_Kp與Kp 的關(guān)系是Speed1_Kp1000Kp ,就是說如果要設(shè)置Kp 為0.125,DMC 的Speed1_Kp應(yīng)該給出125。6.1響應(yīng)曲線 所有測試都是在空載,PWM 載波為6KHz 的情況下進(jìn)行:1、 Speed1_Kp10,即Kp 0.01。在轉(zhuǎn)速從0rpm 升至2000rpm 的響應(yīng)曲線,如圖 6.1。 PID 調(diào)節(jié)控制做電機(jī)速度控制圖 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é)控制做電機(jī)速度控制3、 Speed1_Kp180,即Kp 0.180。在轉(zhuǎn)速從0rp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車租賃管理規(guī)章制度(3篇)
- 2024年離婚合同書:女方放棄財(cái)產(chǎn)分割版一
- 電氣自動(dòng)烙饃機(jī)課程設(shè)計(jì)
- 2024年航空事故死亡賠償金賠償協(xié)議范本3篇
- 用算法如何寫課程設(shè)計(jì)
- 2024年個(gè)人知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓責(zé)任書連帶擔(dān)保合同3篇
- 2024事業(yè)單位臨時(shí)工合同范本:二零二四年度圖書采購與管理工作合同3篇
- 2024-2025學(xué)年人教部編版八年級(jí)上語文寒假作業(yè)(二)
- 2024-2025學(xué)年人教部編版九年級(jí)上語文寒假作業(yè)(十二)
- 2024-2025學(xué)年人教部編版六年級(jí)上語文寒假作業(yè)(五)
- 學(xué)校關(guān)于加強(qiáng)校園防性侵害防欺凌和暴力工作的實(shí)施方案6篇
- 解除合同的補(bǔ)充協(xié)議
- 2023年中醫(yī)養(yǎng)生之藥膳食療考試試題
- 《醫(yī)學(xué)人文課件》
- 四川省成都市龍泉驛區(qū)2023-2024學(xué)年三年級(jí)數(shù)學(xué)第一學(xué)期期末監(jiān)測試題含答案
- 高空除銹刷漆施工方案模板
- 鍋爐控制器modbus協(xié)議支持說明
- 粉末涂料有限公司危廢庫安全風(fēng)險(xiǎn)分級(jí)管控清單
- 安全生產(chǎn)信息管理制度全
- 住宅物業(yè)危險(xiǎn)源辨識(shí)評(píng)價(jià)表
- 世界主要國家洲別、名稱、首都、代碼、區(qū)號(hào)、時(shí)差匯總表
評(píng)論
0/150
提交評(píng)論