?

基于FPGA的溫度模糊控制器的實現

2013-09-25 14:12彭成功劉艷萍朱紫嫄
電子設計工程 2013年4期
關鍵詞:模糊控制偏差控制器

彭成功,劉艷萍,朱紫嫄

(河北工業大學 信息工程學院,天津 300401)

自1965年L.A.Zadeh教授發表了關于模糊集的開創性論文一來,模糊理論的應用,特別是在工業控制中的應用,得到了迅速的發展。與此同時,隨著現代集成電路工藝技術的改進,使得在一個芯片上集成千萬個器件成為可能,電子行業必將向著SOPC方向發展。20年前這個趨勢已經十分明確,現在已經變成現實,15年前國內聽說過Verilog硬件描述語言的不會超過幾百人,更別提設計復雜數字系統了?;诂F在的這個發展狀況,文中基于FPGA平臺使用verilog編寫了一個溫度二維模糊控制系統。

1 模糊控制原理

模糊控制器[1]是一種對系統控制的宏觀方法,其核心是用語言描述的控制規則。語言控制規則通常用 “如果…,則…”的方式來表達在實際控制中的專家知識和經驗。模糊控制的最大特點是將專家的控制經驗、知識表示成語言控制規則,然后用這些規則去控制系統。其控制原理如圖1所示。

圖1 模糊控制器原理示意圖Fig.1 Schematic diagram of the fuzzy controller

首先通過傳感器(下文用的是DS18B20)把檢測到的物理信號變成精確的數字信號,精確的輸入信號輸入控制器后,把精確的輸入量轉換成為模糊集合的隸屬函數,這就是所謂的模糊化,模糊化的目的是把傳感器的輸入轉化成知識庫可以理解和操作的變量格式;然后,根據專家的經驗制定出模糊控制規則,并進行模糊推理,得到一個模糊輸出集合;最后,根據模糊推理得到輸出模糊集合隸屬函數,用恰當的方法找一個具有代表性的精準值作為控制量,去控制被控對象。

2 模糊控制器的設計

2.1 模糊控制器的設計思想

模糊控制器有一維,二維和多維,維數越多精準度越高。但隨著維數的增加,模糊規則的確定會更加困難,控制算法會趨于復雜化[2]?;谶@些原因,我們設計使用最廣的二維模糊控制器。

設計分為3部分:

1)語言控制規則

2)隸屬函數

3)控制器輸入輸出規范化的比例因子

在設計一套語言規則時,必須要考慮它的完整性、交叉性和一致性[1]。

2.2 模糊控制器的設計過程

下面來具體設計一個用于控制溫度的模糊控制器,系統頂層模塊如圖2所示。ROM輸入端口的地址信號。溫度偏差(error)=設定溫度-測量溫度,溫度偏差變化率(rate)=(此刻測量溫度-上一時刻的測量溫度)/時間間隔,取時間間隔為1 s,即 rate可由此刻測量溫度-前一秒的測量溫度來衡量。設置溫度區間為40~45°C,測量溫度范圍為 25~45 °C,即 error的論域 E 位-5~20 °C,把E論域劃分為10個模糊子集,分別用模糊言語表示N(負)、ZO(零)、P0(正 0)、PVS(正很?。?、PS(正?。?、PMS(正中?。?、PM(正中)、PMB(正中大)、PB(正大),PVB(正很大),他們的對應關系見表1;把rate的論域RT劃分為9個模糊子集,同樣也用模糊語言表示 NMS(負中?。?、NS(負?。?、NVS(負很?。?、N(負)、ZO(零)、P0(正 0)、PVS(正很?。?、PS(正?。?、PMS(正中?。┧麄儗P系如表2所示。

圖2 模糊控制器系統頂層框圖Fig.2 Top-level block diagram of the fuzzy controller system

表1溫度偏差模糊化表Tab.1 Temperature deviation fuzzification table

表2溫度偏差變化率模糊表Tab.2 Fuzzy table of the rate of change of temperature deviation

由于DS18B20提供的溫度測量精度是9到12位,在這里設定的溫度范圍中只用到10位就可以表示 (具體可參看DS18B20手冊),該模糊算法子模塊的設計程序和仿真結果(如圖3所示)如下:

PWM波生成子模塊的2個輸入分別是頻率為10Khz的時鐘信號和控制占空比的信號,2個輸出分別是幾何對稱的PWM波[8],他們之間有一定的死區(最大的占空比為40%),這是為了避免功率放大電路MOS管的全部導通。

圖3 模糊算法子模塊仿真圖Fig.3 Simulation result of the fuzzy algorithm sub-module

該模糊算法子模塊的設計程序和仿真結果如圖4所示。

圖4 PWM波生成子模塊仿真圖Fig.4 Simulation result of the PWM waves sub-module

ROM宏模塊的2個輸入分別是1 MHz的時鐘信號和模糊控制算法子模塊中的e_r_ctrl信號,輸出是控制占空比的信號。

下面來分析一下ROM存儲器初始化 (.MIF)文件的設計,首先,把占空比ratio的論域 RT[0,40%]劃分成 9個模糊子集,它們的應用關系如表3所示;然后,我們設計出溫度偏差(E)、溫度偏差變化率(RT)和占空比控制信號(R)之間的模糊語言控制規程,如表 4所示(表中內容為 R);最后,以error(高4位)和rate(低四位)為ROM的輸入地址信號。

該ROM的初始化文件程序和仿真結果如圖5所示。

表3 Ratio的模糊規則表Tab.3 Ratio fuzzy rule table

表4 模糊語言控制規則Tab.4 Fuzzy linguistic control rules

圖5 ROM模塊的仿真圖Fig.5 ROM module simulation figure

加減法模塊有3個輸入分別是cin、dataa、datab,輸出為溫度偏差或溫度偏差變化率(這里用到了2個加減法子模塊)。

加減法子模塊的在cin為0和1情況下的仿真圖,如圖6、7 所示。

圖6 cin=1的仿真圖Fig.6 Simulation of the cin=1

圖7 cin=0的仿真圖Fig.7 Simulation of the cin=0

數據寄存器宏模塊有2個輸入分別是1 Hz的時鐘信號(在前面溫度偏差變化率計算值,時間間隔為1 s)和測量溫度信號,輸出為延時了一個時鐘周期的測量溫度信號。

模糊控制器頂層模塊仿真結果如圖8所示。

對仿真結果的分析如下:

當前的測量溫度為1001000000(36°C),前一時刻測量溫度為 1000111100(35.75 °C),溫度偏差變化率為 0.25 °C,設置的溫度為1010100000(42°C),根據模糊規則表可知,對應的R域為PS,也就是15%,實驗結果正好為15%。

模糊數的隸屬函數可以取各種不同的形狀,如梯形、三角形、鐘形、棒形。其中棒形最為簡單,是其它隸屬函數幅寬為零時的特例。三角形的隸屬函數,形狀簡單,容易計算,并且和其它較復雜的隸屬函數得到的控制結構差別很小,故別廣泛應用。棒形的隸屬函數,可以省去計算較為復雜的求重心的部分,這樣整個控制器的計算就非常簡單,因而在實際應用中,便于計算的實現。

圖8 模糊控制器頂層模塊仿真結果Fig.8 Simulation results of the fuzzy controller top-level module

在這個設計中,使用三角形的隸屬函數來表示控制規則條件部分的模糊數,用棒形的隸屬函數來表示結論部分的模糊數。

3 結束語

基于FPGA平臺設計的溫度二維模糊控制器,充分利用了FPGA的優勢,設計結果可行,能夠應用到溫度監控系統中。

[1]趙振宇,徐用懋.模糊理論和神經網絡的基礎與應用[M].北京:清華大學出版社,1996.

[2]諸靜.模糊控制理論與系統原理[M].北京:機械工業出版社,2005.

[3]夏宇聞.Verilog數字系統設計教程[M].北京:北京航天航空大學出版社,2008.

[4]周景潤,圖雅,張麗敏.基于Quartus II的FPGA/CPLD數字系統設計實例[M].北京:電子工業出版社,2007.

[5]Cyclone II Device Halldbook[S].AlteraCorporation,2008.

[6]EDA先鋒工作室.Altera FPGA/CPLD設計(基礎篇)[M].北京:人民郵電出版社,2005.

[7]EDA先鋒工作室.Altera FPGA/CPLD設計(高級篇)[M].北京:人民郵電出版社,2005.

[8]秦艷平,李斌,梁俊龍,等.[J].火箭推進 ,2012(5):7-12.

QIN Yan-ping,LI Bin,LIANG Jun-long,et al.Control-oriented research on dynamic characteristics of fuel regulator[J].Journal of Rocket Propulsion,2012(5):7-12.

猜你喜歡
模糊控制偏差控制器
工商業IC卡控制器改造為物聯網控制器實踐
如何走出文章立意偏差的誤區
兩矩形上的全偏差
T-S模糊控制綜述與展望
基于模糊控制的PLC在溫度控制中的應用
基于模糊控制的恒壓供水系統的研究
關于均數與偏差
用于光伏MPPT中的模糊控制占空比擾動法
模糊PID控制器設計及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合