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

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于模糊優(yōu)化的PID直流無刷電機控制

          基于模糊優(yōu)化的PID直流無刷電機控制

          作者: 時間:2010-09-01 來源:網(wǎng)絡 收藏
          3 仿真模型的建立
          本文采用Matlab/Simulink搭建仿真模型實現(xiàn)BLDCM的整個系統(tǒng)。本文將根據(jù)上述的數(shù)學模型建立BLDCM的仿真模塊。
          BLDCM系統(tǒng)采用轉(zhuǎn)速和電流環(huán)雙閉環(huán)調(diào)速。轉(zhuǎn)速外環(huán)由調(diào)節(jié)器進行,電流內(nèi)環(huán)采用三角波比較調(diào)節(jié),而不采用滯環(huán)比較控制,從而抑制由于開關頻率不恒定而產(chǎn)生的大量開關噪聲。整個系統(tǒng)包括BLDCM本體模塊,電壓逆變器模塊,速度PI控制模塊,電流控制及PWM信號產(chǎn)生模塊。

          本文引用地址:http://www.ex-cimer.com/article/162874.htm


          整個系統(tǒng)仿真框如圖4所示,其中控制采用Simulink中含有的控制模塊進行設計,模塊部分將分別對加入模糊控制器和未加入模糊的PID控制器進行仿真實驗。

          4 仿真結(jié)果與分析
          為驗證模型的正確性,將對仿真模型進行仿真。BLDCM的參數(shù)如下:額定電壓ucd=450V,轉(zhuǎn)動慣量J=8.0×10-4N·m2,定子電阻r=2.8 75 Ω,定子電感Ls=8.5x10-3H,互感Lm=0.37×10-3H,極對數(shù)nb=4,反電動勢系數(shù)ke=0.1805 V/(rad·s-1)。
          為了驗證所設計的BLDCM的控制系統(tǒng)的仿真模型的靜、動態(tài)性能,在0.3s給加入負載,測得轉(zhuǎn)速穩(wěn)定下模糊PID控制下和一般PID控制下A相轉(zhuǎn)速、轉(zhuǎn)矩和電流仿真曲線如圖5所示。


          由仿真圖可看出,加入模糊PID控制器的系統(tǒng)在參考轉(zhuǎn)速下,與一般PID控制器系統(tǒng)相比系統(tǒng)相應快速而平穩(wěn),轉(zhuǎn)速超調(diào)量明顯降低;加入負載后轉(zhuǎn)矩脈動比較小,且回到正常轉(zhuǎn)速的時間也較短;相電流的波形也較為理想。

          5 結(jié)論
          在分析了無刷電動機數(shù)學模型的基礎上,提出一種模糊PID控制器的控制系統(tǒng)仿真建模方法,采用轉(zhuǎn)速和速度雙閉環(huán)控制方法對該建模方法進行了測試,仿真試驗結(jié)果表明:與一般PID控制器控制的無刷電動機系統(tǒng)相比,經(jīng)模糊PID控制器控制的系統(tǒng)反應能力更快,調(diào)節(jié)精度更高,穩(wěn)定性能更好。另外,本仿真實驗也表明,這種控制方法適合機器人關節(jié)控制所需要的準確度和精度,為作者下一步TI公司TMS28系列的DSP機器人關節(jié)控制器的設計奠定了基礎。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();