0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

h1654155282.3538 ? 來源:網(wǎng)絡(luò)整理 ? 2018-06-01 09:26 ? 次閱讀

FPGA技術(shù)的快速發(fā)展與VHDL(VeryhighspeedintegratedcircuitHardwareDescriptionLanguage)硬件描述語言的支持,使得智能控制策略(模糊邏輯、神經(jīng)網(wǎng)絡(luò)、遺傳算法等)的VHDL描述和FPGA固核實現(xiàn)研究也隨之活躍。在模糊邏輯控制方面,Torralba等人完成了4輸入、12個隸屬度、64條規(guī)則的模糊邏輯控制器的FPGA實現(xiàn),Cirstea等人基于FPGA設(shè)計模糊控制器。本文主要詳解基于FPGA的模糊PID控制器的設(shè)計實現(xiàn),首先介紹了FPGA工作原理、基本特點以及FPGA的優(yōu)勢,其次闡述了使用Altera的FPGA設(shè)計實現(xiàn)的數(shù)字模糊PID控制器,具體的跟隨小編一起來了解一下。

FPGA工作原理

FPGA采用了邏輯單元陣列LCA這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB、輸出輸入模塊IOB和內(nèi)部連線三個部分。FPGA利用小型查找表(16&TImes;1RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動I/O,由此構(gòu)成了即可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實現(xiàn)的功能, 加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。

FPGA的基本特點

1)采用FPGA設(shè)計ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。

3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。

4)FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風險最小的器件之一。

5) FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。

FPGA的優(yōu)勢

優(yōu)勢一:

更大的并行度。這個主要是通過并發(fā)和流水兩種技術(shù)實現(xiàn)。

A:并發(fā)是指重復(fù)分配計算資源,使得多個模塊之間可以同時獨立進行計算。這一點與現(xiàn)在的多核和SIMD技術(shù)相似。但相對與SIMD技術(shù),F(xiàn)PGA的并發(fā)可以在不同邏輯功能之間進行,而不局限于同時執(zhí)行相同的功能。舉個簡單例子說就是使用SIMD 可以同時執(zhí)行多個加法,而FPGA可以同時執(zhí)行多個加法和乘法和任何你能設(shè)計出來的邏輯。

B:流水是通過將任務(wù)分段,段與段之間同時執(zhí)行。其實這一點和CPU相似,只是CPU是指令間的流水而FPGA是任務(wù)間流水或者可以說是線程間流水。

優(yōu)勢二:

可定制。FPGA 內(nèi)部通過Lookup Table實現(xiàn)邏輯,可以簡單理解為是硬件電路??啥ㄖ浦傅氖窃谫Y源允許范圍內(nèi),用戶可實現(xiàn)自己的邏輯電路。通常情況下任務(wù)在硬件電路上跑是比在軟件上快的,比如要比較一個64位數(shù)高32位和低32位的大小,在CPU下需要2條區(qū)數(shù)指令,兩條位與指令,一條移位指令一條比較指令和一條寫回指令,而在FPGA下只要一個比較器就行了。

優(yōu)勢三:

可重構(gòu)??芍貥?gòu)指的是FPGA內(nèi)部的邏輯可根據(jù)需求改變,減少開發(fā)成本。同時,使用FPGA復(fù)用資源比使用多個固定的ASIC模塊為服務(wù)器省下更多的空間

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

一、控制器原理

模糊自整定PID控制器結(jié)構(gòu):是模糊控制器與傳統(tǒng)PID控制器的結(jié)合,利用模糊推理判斷的思想,根據(jù)不同的偏差、偏差變化率對PID的參數(shù)KP、KI、KD進行在線自整定,傳統(tǒng)PID控制器在獲得新的KP、KI、KD后,對控制對象輸出控制量。由此模糊PID控制器的結(jié)構(gòu)框圖如圖1所示。

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

二、控制器的VHDL分層設(shè)計

模糊PID控制器主要由A/D控制器、模糊化模塊、模糊推理模塊、反模糊化模塊、規(guī)則存儲器、數(shù)字PID運算等部分組成,其結(jié)構(gòu)如圖3所示?,F(xiàn)就模糊化模塊、模糊推理模塊、反模糊化模塊等主要模塊的建立來描述VHDL的設(shè)計過程。

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

1、模糊化模塊

模糊化模塊的功能主要包括兩部分:把輸入的精確量進行尺度變換,變換到相應(yīng)的論域范圍;將己變換到論域范圍的輸入量進行模糊化處理,主要是計算各個輸入量的隸屬度。由于變量的隸屬度函數(shù)均取用等腰三角形,則底邊寬度和底邊中點就可以確定隸屬函數(shù)的所有信息。分別用一個字節(jié)表示每個語言變量的底邊寬度(實際寬度的一半),用三個位(bit)表示底邊中點位置,將這部分信息存在兩個表中。根據(jù)兩個表中的信息,可以計算出輸入變量的隸屬度。為實現(xiàn)隸屬度的計算,需要用到一個加法器,一個減法器和一個除法器。計算的結(jié)果肯定是小數(shù)(由隸屬度的性質(zhì)可知)。為了實現(xiàn)方便,將分子的計算結(jié)果左移8位。這樣,分子的計算結(jié)果是16位,分母是8位,計算結(jié)果是8位。對其部分輸入進行模糊化的VHDL描述如下:

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

2、模糊推理模塊

模糊推理模塊是模糊控制器的核心,它將輸入的模糊量經(jīng)過推理,變?yōu)檩敵龅哪:俊D:评聿捎肕amdani推理,也稱為Max一Min推理,即最大一最小推理,因為其中主要包括最大化模塊和最小化模塊。對于兩輸入系統(tǒng),最多輸出四個語言值和四個隸屬度。這樣,對于一個兩輸入系統(tǒng),最多激活四條模糊規(guī)則。上述過程就是規(guī)則匹配的過程。規(guī)則匹配需要最小化運算,即Min運算。規(guī)則合并就是將后件相同的模糊規(guī)則進行合并,規(guī)則合并需要最大化運算,即Max運算。由模糊化模塊計算所得的四個隸屬函數(shù)值在控制信號作用下經(jīng)過多路選擇器輸入到比較器;另外兩個控制信號經(jīng)過譯碼后選中隸屬函數(shù)寄存器中的一個,同時選擇輸出最小值到比較器;比較器的輸出結(jié)果再輸入到隸屬函數(shù)寄存器中。這樣,經(jīng)過4個循環(huán),就完成了一個最小化運算。由于VHDL描述簡單,在這里省略。

3、反模糊化模塊

反模糊化通常采用重心法,由于隸屬度函數(shù)采用8為二進制表示,而所涉及的規(guī)則數(shù)最多為4條,所以分子運算需要四個8位x2位的乘法器,3個10位加法器,分母需要3個8位加法器。此外,還需要一個12位/10位的除法器。除法器的設(shè)計方法與模糊化模塊中的設(shè)計方法相同。而乘法器的設(shè)計也與除法器的設(shè)計方法相似。相應(yīng)的VHDL描述如下:

基于FPGA的模糊PID控制器的設(shè)計實現(xiàn)

4、數(shù)字PID運算模塊

數(shù)字PID運算主要是加、減、乘的運算,運用原碼算法設(shè)計數(shù)字電路無疑增加電路的復(fù)雜度。而采用補碼運算進行設(shè)計就簡單多了。加減法運算都可以用相同的加法電路來實現(xiàn)。設(shè)計乘法電路的方法很多,考慮到節(jié)省FPGA器件資源問題,采用BOOTH算法。主要涉及累加器溢出處理和小數(shù)運算處理等問題。

三、試驗結(jié)果

借助MATLAB的模糊控制工具箱提供的FIS編輯器建立mamdani型的模糊控制器,并結(jié)合Simulink工具箱建立FuzzyPID控制系統(tǒng)仿真模型。仿真得到的系統(tǒng)階躍響應(yīng)如圖2。通過圖可以看出Fuzzy-PID控制調(diào)節(jié)時間短,超調(diào)量小,曲線平滑,具有較強的抗干擾和魯棒性。

各模塊程序經(jīng)過編譯優(yōu)化之后,由QuartusⅡ軟件綜合并生成網(wǎng)表文件,最后下載到Altera公司的Cyclone系列的EP1C6Q240C8芯片上。經(jīng)實際測試顯示,該模糊PID控制器控制效果明顯優(yōu)于普通的PID控制器。

四、結(jié)論

本文使用Altera的FPGA設(shè)計實現(xiàn)了一個數(shù)字模糊PID控制器。其中PID部分采用增量式算法,模糊控制部分采用離線計算、在線查表的方式實現(xiàn),在不增加硬件資源耗費的前提下大大改善了普通PID控制器的控制效果。同時,F(xiàn)PGA作為單一控制器實現(xiàn)模糊自整定PID控制,編程規(guī)范、時序驗證方便、系統(tǒng)修改靈活,且基本無須改動硬件,是實現(xiàn)單片或小系統(tǒng)智能控制策略的一種新的有效途徑。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600454
  • PID控制器
    +關(guān)注

    關(guān)注

    2

    文章

    168

    瀏覽量

    18517
收藏 人收藏

    評論

    相關(guān)推薦

    基于FPGA的溫度模糊自適應(yīng)PID控制器的設(shè)計

    基于FPGA的溫度模糊自適應(yīng)PID控制器的設(shè)計   此外,在FPGA中還集成有Altera公司提供的NIOS II軟核處理
    發(fā)表于 01-22 11:44 ?1516次閱讀
    基于<b class='flag-5'>FPGA</b>的溫度<b class='flag-5'>模糊</b>自適應(yīng)<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>的設(shè)計

    基于FPGA模糊PID控制算法的研究及實現(xiàn)

    基于FPGA模糊PID控制算法的研究及實現(xiàn)
    發(fā)表于 03-18 14:25

    請問如何去設(shè)計模糊PID自整定控制器?

    如何去設(shè)計模糊PID自整定控制器?關(guān)于模糊控制器算法的研究是什么?模糊
    發(fā)表于 04-21 06:08

    怎樣去編寫PID控制器模糊控制器代碼呢

    PID控制的原理是什么?怎樣去編寫PID控制器模糊控制器代碼呢?如何對
    發(fā)表于 11-19 07:47

    簡化的模糊PID控制器研究

    為了克服常規(guī)PID控制器的缺點,提出了一種簡化的模糊PID控制策略。首先利用擴充臨界比例帶法將PID
    發(fā)表于 03-16 09:20 ?38次下載

    一種新型的模糊PID控制器介紹

    文中將PID控制器在工程整定方法的基礎(chǔ)上,對 PID參數(shù)作歸一化處理,然后通過模糊控制規(guī)則和模糊
    發(fā)表于 04-10 10:47 ?27次下載

    基于遺傳算法和模糊PID的勵磁控制器

    隨著電力系統(tǒng)的發(fā)展,常規(guī)PID 勵磁控制器已經(jīng)不能滿足系統(tǒng)運行的動態(tài)和靜態(tài)性能要求,為了克服這一缺點,設(shè)計了一種新型模糊PID 控制器,在常
    發(fā)表于 01-18 14:46 ?23次下載

    參數(shù)自適應(yīng)模糊PID控制器的設(shè)計

    參數(shù)自適應(yīng)模糊PID控制器的設(shè)計 溫度控制系統(tǒng)中,采用了非線性的隸屬度函數(shù),以模糊控制為粗調(diào)、
    發(fā)表于 02-27 09:29 ?2325次閱讀
    參數(shù)自適應(yīng)<b class='flag-5'>模糊</b><b class='flag-5'>PID</b><b class='flag-5'>控制器</b>的設(shè)計

    一種簡化PID模糊控制器的研究與設(shè)計

    在介紹模糊控制基本原理及模糊控制器設(shè)計與分類的基礎(chǔ)上,推導(dǎo)出一種簡化PID模糊
    發(fā)表于 02-21 15:56 ?55次下載
    一種簡化<b class='flag-5'>PID</b><b class='flag-5'>模糊</b><b class='flag-5'>控制器</b>的研究與設(shè)計

    基于FPGA的溫度模糊控制器實現(xiàn)

    FPGA平臺上實現(xiàn)了一種溫度模糊控制器,首先對模糊控制系統(tǒng)的思想和工作原理進行了分析,然后使用
    發(fā)表于 03-15 17:06 ?104次下載
    基于<b class='flag-5'>FPGA</b>的溫度<b class='flag-5'>模糊</b><b class='flag-5'>控制器</b>的<b class='flag-5'>實現(xiàn)</b>

    模糊自適應(yīng)PID控制器設(shè)計

    模糊自適應(yīng)PID控制器設(shè)計,好東西,喜歡的朋友可以下載來學(xué)習(xí)。
    發(fā)表于 01-18 15:41 ?30次下載

    基于FPGA模糊PID控制算法的研究及實現(xiàn)

    基于FPGA模糊PID控制算法的研究及實現(xiàn)-2009。
    發(fā)表于 04-05 10:39 ?20次下載

    基于模糊PID控制的導(dǎo)彈舵機伺服控制器

    基于模糊PID控制的導(dǎo)彈舵機伺服控制器-2011。
    發(fā)表于 04-05 16:32 ?45次下載

    直流調(diào)速系統(tǒng)的模糊PID控制器設(shè)計實現(xiàn)

    直流調(diào)速系統(tǒng)的模糊PID控制器設(shè)計實現(xiàn)-2007。
    發(fā)表于 04-06 14:31 ?23次下載

    快速浮_定點PID控制器FPGA的研究與實現(xiàn)

    快速浮_定點PID控制器FPGA的研究與實現(xiàn)
    發(fā)表于 05-11 11:30 ?20次下載