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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 最小正弦PWM的直流無刷電機控制方案

          最小正弦PWM的直流無刷電機控制方案

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

          其中Ux、Uy、Uz為電機端線電壓,Ua、Ub、Uc為電機相電壓,可見相電壓相位差為120度。Ux、Uy、Uz與Ua、Ub、Uc的關(guān)系如下:



          合并后,Ux,Uy,Uz如下:





          可見采用開關(guān)損耗最小時,Ux,Uy,Uz相位差120度,且為分段函數(shù)形式,并非正弦電壓,而電機相電壓Ua、Ub、Uc仍然為正弦電壓。且在120度區(qū)內(nèi)端線電壓為0,即對應(yīng)的開關(guān)管常開或常關(guān)。因此與三相相比,開關(guān)損耗減少1/3。

          通過控制Ux,Uy,Uz的相位以及幅值即可以控制Ux,Uy,Uz,實現(xiàn)控制電流的目的。

          簡易正弦波控制的實現(xiàn)

          系統(tǒng)結(jié)構(gòu)

          系統(tǒng)結(jié)構(gòu)如圖4所示。工作原理如下:霍爾輸入信號經(jīng)過自動濾波及采樣處理,得到可靠的換相信號,此信息可被用作估算轉(zhuǎn)子角度以及轉(zhuǎn)速。速度PI調(diào)解器根據(jù)給定轉(zhuǎn)速值以及反饋轉(zhuǎn)速值計算的Modulation的大小。位置估算單元利用轉(zhuǎn)速以及換相信息估算轉(zhuǎn)子位置角Angle。通過超前角調(diào)整單元,補償超前角Δ,得到Angle。SPWM單元利用Modulation 以及Angle信息生成開關(guān)損耗最小SPWM,輸出到逆變單元。以下內(nèi)容介紹了各單元原理及實現(xiàn)。


          圖4 系統(tǒng)框圖

          開關(guān)損耗最小正弦PWM的生成

          由于Ux,Uy,Uz相位相差120度,因此以Ux為例進行分析。



          Ux為分段函數(shù),為正弦函數(shù)且以對稱。僅需實現(xiàn)其中一段,另一段對稱處理即可。

          的實現(xiàn):



          因此僅需要利用0-120度的正弦表即可以實現(xiàn),即,其中M為幅值。Uy,Uz的實現(xiàn)與Ux相似,相位差為120°。

          通過控制M和x即可控制電機相電壓的幅值及相位。

          開關(guān)損耗最小正弦PWM控制與霍爾位置傳感器的關(guān)系

          通常采用霍爾傳感器定位轉(zhuǎn)子位置,由于傳統(tǒng)控制方式為方波控制,因此3個霍爾傳感器即可滿足要求?;魻杺鞲衅鞯奈恢门c轉(zhuǎn)子反電勢之間的關(guān)系見圖5,即霍爾傳感器安裝于反電勢為30°、90°、150°、210°、270°、330°的位置。具體霍爾輸出值與霍爾的具體安裝方式相關(guān)。



          圖5 BLDC霍爾傳感器輸出與反電勢之間的關(guān)系

          pwm相關(guān)文章:pwm原理




          評論


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