基于FPGA的模糊控制器管理蔗糖提取
作者:Deepali Vyas 在讀碩士研究生 印度拉賈斯坦 Lakshmangarh市Mody科技大學(xué)deepalivyas100@yahoo.com
本文引用地址:http://cafeforensic.com/article/201601/286359.htmYogesh Misra 研究員 印度拉賈斯坦 Chittorgarh 市 Mewar 大學(xué) yogeshmisra@yahoo.com
H. R. Kamath 主任 印度中央邦 Indore 市 Malwa 理工學(xué)院 rskamath272@gmail.com
采用賽靈思 Virtex-6 FPGA 實(shí)現(xiàn)的三輸入模糊控制器可在甘蔗制糖過(guò)程中保持甘蔗水平高度。
食糖是日常生活中廣泛使用的重要食品配料成分。全球一半以上的原糖都從甘蔗中榨取獲得。印度是僅次于巴西的世界第二大食糖生產(chǎn)國(guó),從事甘蔗種植的農(nóng)民及其家屬數(shù)量有 6000 萬(wàn),產(chǎn)值達(dá) 120 億美元。
由于甘蔗汁的提取是非線性過(guò)程,因此我們的團(tuán)隊(duì)將模糊邏輯作為改善流量的方法。Mody 科技大學(xué) (MITS) 研究人員的分析表明,利用賽靈思 FPGA 設(shè)計(jì)和實(shí)現(xiàn)的模糊控制器的性能優(yōu)于傳統(tǒng)控制器。如果每天壓榨 2,500 噸甘蔗,就需要 26.6 kg/s 的流速。
在具體研究如何實(shí)現(xiàn)三輸入模糊控制器之前,我們有必要了解食糖制造的基本知識(shí)。
如何提取甘蔗
圖 1 給出了甘蔗汁提取流程圖。甘蔗坯料是指制糖廠把從甘蔗種植者手中收購(gòu)來(lái)的甘蔗進(jìn)行稱重,并卸在院子內(nèi)。利用起重機(jī)將甘蔗放在傳送帶上。甘蔗傳送帶不斷移動(dòng),負(fù)責(zé)將甘蔗送到食糖生產(chǎn)廠房?jī)?nèi)。
圖 1–甘蔗汁提取流程圖
甘蔗首先通過(guò)兩組旋轉(zhuǎn)切刀。切刀將甘蔗切成小段,然后撕蔗機(jī)將小段甘蔗切成小塊纖維。傾斜傳送帶將這些大約 1-2cm 的甘蔗塊送入Donnelly 榨糖機(jī)。壓榨機(jī)的兩三個(gè)壓輥對(duì)甘蔗塊進(jìn)行壓榨以提取甘蔗汁。該過(guò)程在五六套壓榨機(jī)中重復(fù)進(jìn)行。剩余的殘留物稱為甘蔗渣被送到鍋爐中作為燃料使用;提取的甘蔗汁需要送去凈化,然后送到蒸發(fā)器中做成蔗糖。
待加工的甘蔗非常不均勻,在提取汁液過(guò)程中會(huì)對(duì)壓榨機(jī)效率產(chǎn)生不利影響,可導(dǎo)致壓榨機(jī)故障、停機(jī)和設(shè)備堵塞。為了獲得最佳的甘蔗汁提取效果,有必要使 Donnelly 榨糖機(jī)中的甘蔗水平面保持所需的高度。
我們希望模糊邏輯比傳統(tǒng)控制器更好地改變傾斜傳送帶的速度,以消除甘蔗供給不均的問(wèn)題并保持所需的甘蔗水平高度。這就是為什么我們嘗試將模糊邏輯概念引入制糖領(lǐng)域。
2014 年,我們所做的第一步是設(shè)計(jì)一款雙輸入模糊控制器,用來(lái)精確監(jiān)測(cè)兩個(gè)參數(shù)的變化:傾斜傳送帶上的甘蔗重量以及 Donnelly 榨糖機(jī)中的甘蔗高度。該控制器的作用是保持榨糖機(jī)中的恒定高度,以維持所需的26.6kg/s 的流速。當(dāng)我們將檢測(cè)結(jié)果與傳統(tǒng)控制器的結(jié)果進(jìn)行對(duì)比時(shí),可清楚看到雙輸入模糊控制器的效果要好得多。由于甘蔗在輥?zhàn)娱g被壓碎,因此我們決定在相同算法中導(dǎo)入第三個(gè)參數(shù)——輥速——作為實(shí)驗(yàn)參數(shù)。在加入第三個(gè)參數(shù)輥速后表明,該變量與其他兩個(gè)變量同樣重要。
因此,2014 年我們將輥速作為第三個(gè)參數(shù)。我們利用這個(gè)附加參數(shù)重新設(shè)計(jì)了算法,并使用 MATLAB® 實(shí)現(xiàn)。當(dāng)新型三輸入控制器軟件實(shí)現(xiàn)方案完成后[3],下一步是實(shí)現(xiàn)算法和使用賽靈思 FPGA 開(kāi)發(fā)整個(gè)模糊系統(tǒng)。FPGA 這種可重編程芯片能夠?qū)﹄娮与娐愤M(jìn)行實(shí)時(shí)的硬件實(shí)現(xiàn)。這種芯片非??煽?,性價(jià)比高,而且可在制造之前檢查電路性能。因此,賽靈思 Virtex®-6 FPGA 成為了完美的硬件實(shí)現(xiàn)解決方案。
硬件設(shè)計(jì)
圖 2 給出了三輸入模糊控制器的算法。三輸入模糊控制器的控制原理與雙輸入版本相同,只是根據(jù)三個(gè)輸入進(jìn)行修改,并在 MATLAB 上實(shí)現(xiàn)??刂圃頌椋嚎刂破骺刂浦亓?、高度和輥速的三個(gè)速度等級(jí),即低輥速(RL:12cm/s),中輥速(RM:14.3cm/s)和高輥速(RR:16.6cm/s)。
在 MATLAB 上設(shè)計(jì)控制器后,下一步是設(shè)計(jì)用于測(cè)量輸入?yún)?shù)所需的硬件。稱重傳感器用于測(cè)量?jī)A斜傳送帶上的甘蔗量。為了測(cè)量榨糖機(jī)中的甘蔗水平高度,我們?cè)谠O(shè)計(jì)中添加了高度傳感器。測(cè)速發(fā)電機(jī)用于測(cè)量輥?zhàn)拥男D(zhuǎn)速度。
稱重傳感器、高度傳感器和測(cè)速發(fā)電機(jī)的輸出僅為微伏。為了能在接下來(lái)的步驟中使用這些指標(biāo),我們必須將輸出電壓值放大成可測(cè)量的電平,也就是從微伏變?yōu)楹练?。我們使?nbsp;PSpice 上的信號(hào)調(diào)節(jié)系統(tǒng)來(lái)進(jìn)行放大。接下來(lái),我們利用與調(diào)節(jié)系統(tǒng)串聯(lián)的模數(shù)轉(zhuǎn)換器 (ADC) 將結(jié)果轉(zhuǎn)為數(shù)字值。這樣,放大后的輸入就被送到控制器中。
圖 2:三輸入模糊控制器算法開(kāi)發(fā)
圖 3:由三個(gè)點(diǎn)和兩個(gè)斜率定義的隸屬函數(shù)
五步過(guò)程
使用賽靈思硬件的模糊控制器的 VHDL 實(shí)現(xiàn)過(guò)程分為五個(gè)步驟:輸入模糊化、規(guī)則評(píng)估、邏輯蘊(yùn)涵、聚合和去模糊化。
設(shè)計(jì)模糊邏輯控制器有兩種方法,即 Mamdani 和 Sugeno。Mamdani 法難度大而且非常復(fù)雜。根據(jù)研究顯示,Mamdani 方法需要通過(guò)對(duì)不斷變化的函數(shù)進(jìn)行積分來(lái)得到二維形狀的幾何中心。因此,這種方法在計(jì)算上不夠高效。另一方面,而 Sugeno 設(shè)計(jì)方法則簡(jiǎn)單得多。因此,我們采用了 Sugeno 實(shí)現(xiàn)方法。
第一步是模糊化,包括將明確值轉(zhuǎn)換為模糊值,然后由隸屬函數(shù)代表。明確值為特定集;模糊值屬于特定范圍但不限于特定集內(nèi)。
三個(gè)輸入變量分別是重量、高度和輥速。使用三角隸屬函數(shù)來(lái)代表這些輸入變量。輸入?yún)?shù)“重量”的論域?yàn)?nbsp;500kg-1,000kg,它被模糊化為 11 個(gè)三角語(yǔ)言變量 (LV)。輸入?yún)?shù)“高度”的論域?yàn)?nbsp;0-180cm,它被模糊化為 7 個(gè)三角語(yǔ)言變量(LV)。輸入?yún)?shù)“輥速”的論域?yàn)?nbsp;12cm/s-16.6cm/s,它被模糊化為 3 個(gè)三角語(yǔ)言變量(LV)。
VHDL 代碼方面的模糊化如下所示。我們用三個(gè)點(diǎn)和兩個(gè)斜率定義每個(gè)隸屬函數(shù),如圖 3 所示。使用下列等式計(jì)算上斜率(斜率 1)和下斜率(斜率 2):
S1= (y2-y1/Point2-x1) S2= (y2-y1/x2- Point 2)
隸屬度 (DOM) 函數(shù) (µ) 是模糊化的下一步。我們的算法將隸屬函數(shù)分成四個(gè)部分,即 Segment-1(µ=0),Segment-2{(Input - point 1)* slope 1},Segment-3{(Input-point 2)* slope 2} 以及 Segment-4 (µ=0)。DOM 值計(jì)算如下:
• 如果輸入值 < Point 1 (Segment 1),那么 DOM =0。
• 如果輸入值 ≤ Point 2,且 ≥ Point 1 (Segment 2),那么 DOM = (Input-Point 1) * Slope 1。
• 如果輸入值 ≤ Point 3,且 ≥ Point 1 (Segment 3),那么 DOM = FF- (Input–Point 2) * Slope 2。
• 如果輸入值 ≥ Point 3 (Segment 4),那么 DOM = 0。
不同的隸屬度
下一步是規(guī)則設(shè)計(jì),以確定為響應(yīng)不同隸屬度函數(shù)所采取的行動(dòng)。使用簡(jiǎn)單的 If-Then 條件構(gòu)成模糊規(guī)則,其中每個(gè)先行詞 (antecedent) 都有結(jié)果。MATLAB 中的“Fuzzy Logic Toolbox”提供用以組合多個(gè)先行詞的不同運(yùn)算符。我們選擇 AND 運(yùn)算符將三個(gè)先行詞進(jìn)行組合,因?yàn)樗亩鄠€(gè)先行詞運(yùn)算最少。對(duì)于三輸入控制器而言,總共生成 231 條規(guī)則。我們?yōu)檫@些規(guī)則設(shè)計(jì)了一個(gè)規(guī)格表。最小值函數(shù)可以找到三個(gè)值中的最小值,即計(jì)算出三個(gè)輸入變量中的最小 DOM 值。
我們還發(fā)現(xiàn)很多規(guī)則的結(jié)果是相同的。收集所有具有相同結(jié)果的規(guī)則,并使用最大值函數(shù)計(jì)算這些值中的最大數(shù)。下一步,我們收集所有具有相同結(jié)果的規(guī)則。編寫(xiě)不同的最大值函數(shù)用以評(píng)估整個(gè)語(yǔ)言變量(LV)的最大值。
在識(shí)別每個(gè)規(guī)則的輸出之后,最后一步是將所有輸出整合成單個(gè)值,換句話說(shuō),就是將這些值轉(zhuǎn)換為確定值。這可通過(guò)去模糊化來(lái)完成。
去模糊化是模糊系統(tǒng)設(shè)計(jì)中的最后一步也是重要的一步。去模糊化的值可用來(lái)生成一個(gè)確定值,它就是傾斜電機(jī)的速度。我們所用的 Sugeno 去模糊法屬于加權(quán)平均法。在該方法中,我們將從聚合中獲得的模糊輸出與相應(yīng)的單個(gè)值相乘,然后用這些值的總和除以從規(guī)則評(píng)估中獲得的所有模糊輸出(也就是聚合后獲得的值)的總和。
VIRTEX-6 實(shí)現(xiàn)
在實(shí)現(xiàn)以上步驟后,我們成功使用三角從屬函數(shù)和中心去模糊法設(shè)計(jì)出一種三輸入模糊控制器。程序代碼已經(jīng)由作者提供。我們使用 MATLAB 7.11.0.584 版本 (R2020b) 的 Fuzzy Toolbox 仿真三輸入模糊控制器,并利用賽靈思的 ISE® Design Suite14.5 并使用 VHDL 在賽靈思 Virtex-6 FPGA上 將其實(shí)現(xiàn)。采樣周期為10 秒,仿真總時(shí)長(zhǎng)為 200 秒。
我們調(diào)差了六個(gè)不同情況下總共 756 種不同的輸入?yún)?shù)條件,但我們重點(diǎn)研究的是仿真最初階段傳送帶上甘蔗高度和甘蔗重量分別為 90cm 和 750kg 的這種情況。輥速在每次抽樣時(shí)均有所變化。表 1 給出了仿真結(jié)果。
表 1–甘蔗高度在 90cm 時(shí),每次抽樣輥速都不同。
圖 4:當(dāng)重量為 750kg,高度為 90cm,輥速為 16.6 cm/s 時(shí)的仿真波形
硬件實(shí)現(xiàn)步驟包括在我們 MITS 校園實(shí)驗(yàn)室中進(jìn)行的 VHDL 建模、仿真、綜合和 FPGA 實(shí)現(xiàn)。我們使用混合型建模方法來(lái)設(shè)計(jì)三輸入模糊控制器的 VHDL 模型,其中包括行為建模和結(jié)構(gòu)建模。該設(shè)計(jì)在賽靈思的 ISim 仿真器上進(jìn)行仿真。ISim 生成的波形用來(lái)驗(yàn)證控制器的功能。圖4 給出了傾斜傳送帶中甘蔗重量為 750kg,Donnelly 榨糖機(jī)中甘蔗高度為 90cm,輥速為 16.6cm/s 時(shí)的仿真波形。在這些條件下,期望的傾斜電機(jī)速度為 54.2rpm (MATLAB)。去模糊化仿真結(jié)果為 36H 或 54 rpm,與 MATLAB 結(jié)果匹配,并驗(yàn)證了設(shè)計(jì)。
仿真之后,我們對(duì)設(shè)計(jì)進(jìn)行綜合,以生成技術(shù)原理圖和粗略的器件利用報(bào)告。我們發(fā)現(xiàn)我們的設(shè)計(jì)使用了 78% 以上的 Virtex-6 Slice 查找表 (LUT),93% 的已占用 Slice,1% 的 Slice 寄存器,以及 1% 的 LUT 觸發(fā)器。
然后,我們將 VHDL 結(jié)果與傳統(tǒng)控制器結(jié)果進(jìn)行對(duì)比(見(jiàn)表 2)。對(duì)比結(jié)果表明模糊邏輯系統(tǒng)比傳統(tǒng)控制器效率更高。位于 MITS 的實(shí)驗(yàn)室提供一塊用于研究的 Spartan®-6 FPGA。然而,我們發(fā)現(xiàn)所需的 LUT 模塊數(shù)量超出了目標(biāo)器件的容量。這就是為什么我們轉(zhuǎn)而在 Virtex-6 上實(shí)現(xiàn)設(shè)計(jì)。但是,由于缺少資源,我們無(wú)法在實(shí)驗(yàn)室中進(jìn)行實(shí)時(shí)實(shí)現(xiàn)。下一步中,我們希望與印度國(guó)家制糖學(xué)會(huì)管理部門(mén)聯(lián)合開(kāi)發(fā)整個(gè)系統(tǒng),并在真實(shí)環(huán)境中驗(yàn)證結(jié)果。我們已經(jīng)向印度國(guó)家制糖學(xué)會(huì)交付方案演示,并收到了正面回應(yīng)。我們堅(jiān)信模糊邏輯概念很有可能改變制糖工業(yè)的未來(lái)。
表 2–結(jié)果對(duì)比
參考資料
1. Y. Misra 與 H.R.Kamath 共同編撰的“為保持制糖過(guò)程中甘蔗的水平高度專(zhuān)門(mén)設(shè)計(jì)一種傳統(tǒng)模糊控制器算法”,摘自《智能系統(tǒng)與應(yīng)用國(guó)際期刊》,期刊編號(hào):2074-9058,第 7 卷第 1 章,2014 年 12 月
2. Y. Misra 與 H.R.Kamath 共同編撰的“《在使用 VHDL 的 FPGA 中對(duì)三輸入傳統(tǒng)控制器進(jìn)行實(shí)現(xiàn)方案與性能分析,以確保甘蔗壓榨過(guò)程中甘蔗水平高度”, 摘自《工程研究與技術(shù)國(guó)際期刊》(IJERT),期刊編號(hào):2278-0181,第 3 卷第 9 期,2014 年 9 月
3. Y. Misra 與 H.R.Kamath 共同編撰的“對(duì)用于保持制糖過(guò)程中甘蔗高度的三輸入模糊系統(tǒng)進(jìn)行分析和設(shè)計(jì)”, 摘自《自動(dòng)化控制雜志》(已接受),期刊編號(hào):2372-3041
評(píng)論