<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于DSP的磁流變減振模糊控制系統(tǒng)設(shè)計

          基于DSP的磁流變減振模糊控制系統(tǒng)設(shè)計

          作者: 時間:2009-08-04 來源:網(wǎng)絡(luò) 收藏

          3 軟件設(shè)計
            
            (1)主程序。
            系統(tǒng)主程序主要完成對系統(tǒng)各個模塊的初始化、調(diào)入查詢表,其中初始化主要完成設(shè)置系統(tǒng)硬件及軟件所需的初始參數(shù)和初始的狀態(tài),以保證系統(tǒng)的各個模塊能正常工作。程序首先禁止所有中斷,以防止程序在系統(tǒng)未正確初始化的情況下調(diào)用了中斷服務(wù)子程序。初始化結(jié)束后將事先離線計算所得的查詢表存入數(shù)據(jù)存儲器,供執(zhí)行控制算法時查表使用,查詢表也可在程序開始時存入數(shù)據(jù)存儲器,最終輸出控制量。
            
            (2)數(shù)據(jù)采集。
            先設(shè)置定時器控制器GPTCON、控制寄存器1、控制寄存器2,然后進(jìn)入A/D中斷服務(wù)子程序,由EVA模塊的定時器1的周期中斷觸發(fā)A/D轉(zhuǎn)換。在 A/D中斷服務(wù)子程序中,首先讀取A/D轉(zhuǎn)換結(jié)果,并將結(jié)果存放于數(shù)據(jù)存儲區(qū)的指定區(qū)域,供模糊控制算法查表使用,然后執(zhí)行控制算法程序。
            (3)模糊控制規(guī)則表。
            由實(shí)驗(yàn)測試知,減振系統(tǒng)相對位移為[-5,5]cm,加速度值為[-4,4]m/s2,輸出磁流變阻尼器的工作電流取為[0,2]A。設(shè)定模糊系統(tǒng)輸入和輸出數(shù)值的論域都為[-1,1],對車身垂直方向加速度及其變化率、減振器的輸入電流進(jìn)行正則化處理,使其論域均為[-1,1]。
            設(shè)車身垂直方向加速度為A、垂直方向加速度變化率為ΔA、減振器輸入電流為I,正則化處理方法為:AP=K1AΔAP=K2ΔAPI=K0IP
            式中,K1、K2、K3為相應(yīng)的量化因子。
            對A、AP定義 7個模糊語言值:負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大,分別用 NB、NM、NS、ZE、PS、PM、PB表示,
            IP的7個模糊語言值為:零、小、小中、中、小大、中大、大,分別用 NB、NM、NS、ZE、PS、PM、PB表示。
            根據(jù)參考文獻(xiàn)和實(shí)際操作經(jīng)驗(yàn),得出響應(yīng)的控制策略,本文減振控制系統(tǒng)的控制規(guī)則共有49條,建立如表1所示的模糊控制狀態(tài)表。

           
            
            模糊推理的結(jié)果是模糊量,不能直接控制被控對象,需要將模糊量轉(zhuǎn)化為精確值。本文采用重心法實(shí)現(xiàn)去模糊化。
             


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();