



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于fpga的數(shù)字pid控制器設(shè)計(jì)
0基于matlab的pid控制器硬件仿真pid控制算法是一種簡單有效的控制算法。由于其良好的魯棒性和高可靠性,已被廣泛使用。實(shí)現(xiàn)PID控制算法有很多種方法,本文分析了PID控制算法的特點(diǎn),采用Xilinx的FPGA來實(shí)現(xiàn)PID控制算法。在PID控制器硬件架構(gòu)的設(shè)計(jì)中,綜合考慮了運(yùn)算速度和資源占用兩方面的因素,使二者達(dá)到了較好的平衡。Matlab是一個功能強(qiáng)大、應(yīng)用廣泛的數(shù)學(xué)工具軟件。本文主要利用了了它的一個全新組件LinkforModelsim來進(jìn)行軟硬件協(xié)同仿真。仿真時,PID控制系統(tǒng)的其他部分則使用Simulink中的其他模型來實(shí)現(xiàn)。1pid控制原理PID是Proportional(比例)、Integral(積分)、Diffe-rential(微分)三者的縮寫,PID控制是連續(xù)系統(tǒng)中技術(shù)最成熟、應(yīng)用最廣泛的一種控制方式。PID控制實(shí)質(zhì)上就是根據(jù)輸入的偏差值,按比例、積分、微分的函數(shù)關(guān)系進(jìn)行乘、加運(yùn)算,把運(yùn)算結(jié)果用以輸出控制。1.1分方程的變分原理在模擬系統(tǒng)中,PID算法的表達(dá)式為:P(t)=KP[e(t)+1TI∫e(t)dt+TDde(t)dt](1)Ρ(t)=ΚΡ[e(t)+1ΤΙ∫e(t)dt+ΤDde(t)dt](1)其中P(t)為控制器的輸出信號;e(t)為輸入的偏差信號,它等于測量值和給定值之差;KP為比例系數(shù);TI為積分時間;TD為微分時間。對FPGA這樣的數(shù)字IC來說,它只能對各采樣時刻的偏差值來計(jì)算輸出的控制量。因此,首先必須對式(1)進(jìn)行離散化處理,用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程:∫n0e(t)dt=∑j=0nE(j)Δt=T∑j=0nE(j)(2)de(t)dt≈E(k)?E(k?1)Δt=E(k)?E(k?1)T(3)∫0ne(t)dt=∑j=0nE(j)Δt=Τ∑j=0nE(j)(2)de(t)dt≈E(k)-E(k-1)Δt=E(k)-E(k-1)Τ(3)將式(2)、(3)代入式(1)可以得到:P(k)=KP{E(k)+TTI∑I=0kE(j)+TDT[E(k)?E(k?1)]}(4)Ρ(k)=ΚΡ{E(k)+ΤΤΙ∑Ι=0kE(j)+ΤDΤ[E(k)-E(k-1)]}(4)其中Δt=T為采樣周期;E(k)為第k次采樣時的偏差值;E(k-1)為第k-1次采樣時的偏差值;P(k)為第k次采樣時調(diào)節(jié)器的輸出。如果按照式(4)做運(yùn)算,每次計(jì)算新的輸出量要做很多次的加法,而且需要很大的RAM空間來存取歷次的偏差信號值。在正確完成運(yùn)算的前提下,為了節(jié)約資源,可以做如下的推導(dǎo):P(k?1)=KP{E(k?1)+TTI∑j=0k?1E(j)+TDT[E(k?1)?E(k?2)]}(5)Ρ(k-1)=ΚΡ{E(k-1)+ΤΤΙ∑j=0k-1E(j)+ΤDΤ[E(k-1)-E(k-2)]}(5)用式(4)減去式(5)可以得到:P(k)=P(k-1)+(KP+KI+KD)E(k)+(-KP-2KD)E(k-1)+KDE(k-2)(6)從式(6)可以看到,計(jì)算第k次的輸出值只需要知道P(k-1),E(k),E(k-1),E(k-2),相對于式(5)計(jì)算和存儲量大大地減少了。1.2pid控制系統(tǒng)為了驗(yàn)證PID控制器的功能,必須將其放在一個系統(tǒng)中測試。典型的PID控制系統(tǒng)如圖1所示。在圖中的控制系統(tǒng)中,給定值和在測量的輸出值相減,作為ADC的輸入。ADC輸出的數(shù)字信號,經(jīng)過PID運(yùn)算以后,輸出到DAC。DAC輸出的模擬信號就是被控對象的輸入信號。2硬件結(jié)構(gòu)的設(shè)計(jì)和算法的實(shí)現(xiàn)2.1pid控制器設(shè)計(jì)從式(6)可以看出,算法主要涉及到加、減法和乘法,每做一次運(yùn)算需要做3次乘法和7次加、減法。這一算法的實(shí)現(xiàn)有很多種方法,其中最極端的兩種方法是:(1)并行方法:使用3個乘法器和7個加減法器。這種方法速度最快,但是所占用的資源也最大;(2)串行方法:只使用1個加減法器和1個乘法器,各運(yùn)算操作的時序通過狀態(tài)機(jī)控制。這種方法占用的資源最少,但是速度卻最慢。由于乘法器所占的資源大大超過加法器,為了達(dá)到速度和占用資源的平衡,筆者采用了2個加減法器、1個累加器和1個乘法器。PID控制器的電路架構(gòu)如圖2所示。為了提高電路運(yùn)行的時鐘頻率,在乘法器的輸入、輸出端和累加器的輸出端插入了寄存器,這樣相當(dāng)于3級流水線。本次設(shè)計(jì)中,輸入的數(shù)字量KP,KI,KD和E(k)都設(shè)置為12bit。圖2中的加減法器、累加器、乘法器都可以用XilinxISE中的COREGenerator來生成。而加減法器是帶bypass(即不做加或減運(yùn)算,直接把一個輸入值輸出)輸入端的。圖2中的寄存器組一共有3個寄存器,分別存放E(k),E(k-1),E(k-2)的值。每次計(jì)算出新的P(k)后,E(k-2)載入E(k-1)的值,E(k-1)載入E(k)的值,E(k)寄存器則載入輸入的新E(k)值。在每次計(jì)算P(k)的過程中,寄存器組通過選擇器輸出其中的一個寄存器數(shù)值到乘法器的輸入端。以KD為輸入的預(yù)處理單元,其主要功能是對KD乘以2并選擇輸出。2.2加減法器次加載狀態(tài)機(jī)是電路的控制核心,算法中各種運(yùn)算的時序都是通過狀態(tài)機(jī)控制的。圖3是PID控制器的狀態(tài)機(jī),它是一個簡單的Moore狀態(tài)機(jī),每個狀態(tài)的輸出只和狀態(tài)本身有關(guān)。每個時鐘的上升沿,狀態(tài)機(jī)都會從一個狀態(tài)跳到下一個狀態(tài)。S0:系統(tǒng)reset以后進(jìn)入該狀態(tài),將系統(tǒng)的一些控制信號線初始化。S1:加減法器2輸出KD,選擇器從寄存器組中選擇輸出E(k-2)。累加器做第三次累加。S2:加減法器2輸出(-KP-2KD),選擇器從寄存器組中選擇輸出E(k-1)。乘法器作第一次乘法KDE(k-2)。S3:加減法器2輸出(KP+KI+KD),選擇器從寄存器組中選擇輸出E(k)。乘法器作第二次乘法(-KP-2KD)E(k-1)。累加器做第一次累加。S4:加減法器2輸出置0,選擇器輸出置0。乘法器做第三次乘法(KP+KI+KD)E(k)。累加器做第二次累加。實(shí)際上在系統(tǒng)處于S2狀態(tài)的時鐘周期內(nèi),累加器也做了一次累加。由于S4狀態(tài)中選擇器輸出置0,所以在S1狀態(tài)中乘法器有一個輸入為0。因此,在S2狀態(tài)時,累加器輸入為0,該次累加并不影響結(jié)果的正確性。同樣,在reset以后,系統(tǒng)從S0狀態(tài)進(jìn)入S1狀態(tài)時,累加器的輸入也為0,該次累加也不影響累加結(jié)果。3仿真實(shí)驗(yàn)和結(jié)果分析在FPGA設(shè)計(jì)中,仿真驗(yàn)證是非常重要的一個環(huán)節(jié),也往往是耗費(fèi)時間最多的一個環(huán)節(jié)。在這里,筆者使用了Matlab中的LinkforModelsim組件來協(xié)助仿真。LinkforModelsim是Matlab的最新版本R14中的新組件。它提供了Matlab,Simulink與FPGA或ASIC硬件設(shè)計(jì)工具進(jìn)行協(xié)同仿真的接口。用戶可以很方便的將Simulink中的軟件模型和自己的硬件設(shè)計(jì)代碼連接起來,協(xié)同仿真。這使得用戶可以在完整地搭建硬件系統(tǒng)之前,對自己的硬件設(shè)計(jì)做全面的驗(yàn)證。圖4是Simulink中的仿真平臺模型,其中被控系統(tǒng)的傳遞函數(shù)設(shè)定為1/(2s2+s+1)。而ADC和DAC則是用Simulink中的S函數(shù)來實(shí)現(xiàn)的。在Matlab的主窗口中使用vsim命令,啟動Modelsim。然后在Modelsim窗口中調(diào)用vsimulink命令就可以將Modelsim和Simulink連接起來。在仿真調(diào)試時,可以同時看到圖4中最右邊Scope中的輸出波形和Modelsim中的仿真數(shù)據(jù)情況。仿真運(yùn)行完成后,從圖4中Scope中可以看到PID控制輸出波形。筆者將該波形與Simulink中純軟件仿真的波形對比,證明了硬件PID控制器完全正確地實(shí)現(xiàn)了功能。最后,筆者使用Simplify對設(shè)計(jì)進(jìn)行了綜合,并再XilinxISE環(huán)境下進(jìn)行了布局布線。選擇的目標(biāo)器件是XilinxSpartan-IIXC2S30,結(jié)果顯示本設(shè)計(jì)共使用了410個LUT。目前,此設(shè)計(jì)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年網(wǎng)紅直播合作協(xié)議書
- 11 趙州橋 教學(xué)設(shè)計(jì)-2023-2024學(xué)年語文三年級下冊統(tǒng)編版
- 10《牛郎織女(一)》教學(xué)設(shè)計(jì)-2024-2025學(xué)年語文五年級上冊統(tǒng)編版
- 第6課《被壓扁的沙子》教學(xué)設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版語文八年級下冊
- 第11課 音樂盒之二 防空警報(bào)-高中信息技術(shù)Arduino開源硬件系列課程教學(xué)設(shè)計(jì)
- 川教版(2019)小學(xué)信息技術(shù)四年級下冊 第二單元第3節(jié)《圖文并茂》教學(xué)設(shè)計(jì)及反思
- 6《我們神圣的國土》(教學(xué)設(shè)計(jì))統(tǒng)編版道德與法治五年級上冊
- 2025年直線馬達(dá)試驗(yàn)臺項(xiàng)目發(fā)展計(jì)劃
- 第三單元第二課 電腦的網(wǎng)絡(luò)設(shè)置 教學(xué)設(shè)計(jì) 2024-2025學(xué)年學(xué)年新世紀(jì)版(2018)初中信息技術(shù)七年級上冊
- Unit 6 Meet my family PA let's learn(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版英語四年級上冊
- 腫瘤科放射防護(hù)課件
- 《無創(chuàng)dna產(chǎn)前檢測》課件
- GB/T 17758-2023單元式空氣調(diào)節(jié)機(jī)
- 應(yīng)急救援隊(duì)伍的建設(shè)與管理
- 2023新能源場站一次調(diào)頻控制系統(tǒng)技術(shù)規(guī)范
- 醫(yī)院布草洗滌服務(wù)方案(技術(shù)方案)
- 林業(yè)遙感技術(shù)及典型應(yīng)用
- 公司部門職能及崗位說明書(匯編13)
- 銷售代理商申請表
- 北京匯文中學(xué)新初一均衡分班語文試卷
- 主管護(hù)師-護(hù)理學(xué)專業(yè)知識-外科護(hù)理學(xué)-第四十五章骨與關(guān)節(jié)損傷病人的護(hù)理
評論
0/150
提交評論