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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > atmega16單片機用于智能型鉛酸電池充電器

          atmega16單片機用于智能型鉛酸電池充電器

          作者: 時間:2013-09-28 來源:網(wǎng)絡(luò) 收藏

            采用基于sugeno 推理的模煳PID 控制算法實現(xiàn)模煳控制器設(shè)計,輸入量為理想電流與實際電流之差ΔI和ΔI 的變化率ΔI/t,模煳控制器輸出為以比例、積分、微分控制的充電電流值,該控制算法簡化了控制器的結(jié)構(gòu)、提高了抗干擾性和魯棒性[4-6]。模煳控制器的總體結(jié)構(gòu)圖如圖7 所示。

            atmega16單片機用于智能型鉛酸電池充電器

            圖7 模煳控制器總體結(jié)構(gòu)圖

            3.1 輸入語言變量的隸屬函數(shù)

            模煳控制器定義輸入偏差e(t)和偏差變化率ec(t)均有3 個模煳語言變量值:{ B(大)、M(中)、S(?。﹠,它們的隸屬函數(shù)均采用對稱、全交疊的結(jié)構(gòu)。輸入偏差e(t)和偏差變化率ec(t)的隸屬度函數(shù)如圖8 所示。

            atmega16單片機用于智能型鉛酸電池充電器

            圖8 e(t)和ec(t)的隸屬度函數(shù)

            3.2 模煳控制規(guī)則

            模煳控制器設(shè)計的核心是模煳控制規(guī)則的選取和確定,本模煳控制器根據(jù)實際充電情況建立了基于sugeno 推理方式的五條模煳控制規(guī)則:

            規(guī)則1:If e is B then νp is νp1,νi is νi1,νd is νd1;

            規(guī)則2:If e is M and ec is B then νp is νp2, νi isνi2,νd is νd2;

            規(guī)則3:If e is M and ec is M then νp is νp3,νi isνi3,νd is νd3;

            規(guī)則4:If e is M and ec is S then νp is νp4, νi isνi4,νd is νd4;

            規(guī)則5:If e is S then νp is νp5, νi is νi5,νd is νd5;

            3.3 輸出語言變量值

            模煳控制器采用sugeno 模煳推理方式,其輸出語言變量νp, νi ,νd 在下述五種控制規(guī)則中的取值如表1所示。

          atmega16單片機用于智能型鉛酸電池充電器  

            表1 νp,νi,νd 取值表

            3.4 模煳推理算法

            sugeno 型模煳推理算法,與其它類型的模煳推理算法不同,該算法可將去模煳化結(jié)合到模煳推理中,即在sugeno 型模煳規(guī)則后件部分,將輸出量表示為輸入量的線性組合,因此輸出為



          評論


          相關(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); })();