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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于dsPIC30F3010實(shí)現(xiàn)無刷直流電機(jī)的無傳感器控制

          基于dsPIC30F3010實(shí)現(xiàn)無刷直流電機(jī)的無傳感器控制

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


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


          5 系統(tǒng)硬件設(shè)計(jì)

          采用Microchip公司的DSPIC30F3010微控制器實(shí)現(xiàn)的控制。具有6路10位A/D、專門針對電機(jī)設(shè)計(jì)的6路PWM模塊、5路16位定時器、24 KB Flash程序存儲器以及1 KBRAM。其硬件電路圖如圖5所示。



          用AN2、AN3、AN4實(shí)現(xiàn)電機(jī)端電壓檢測,得到反電動勢過零點(diǎn)。采用PWM模塊控制6個MOS-FET通斷,就可實(shí)現(xiàn)換相。采用不同的占空比就可實(shí)現(xiàn)對電機(jī)調(diào)速。

          通過對阻值為0.1&Omega;的電阻端電壓的檢測獲取過流、過載信息,根據(jù)電機(jī)的實(shí)際情況調(diào)整放大倍數(shù)和比較器的參考電壓。

          因電機(jī)反電動勢通常比5 V高,故必須通過電阻分壓后才能進(jìn)行A/D轉(zhuǎn)換,分壓電阻根據(jù)電機(jī)母線電壓不同取不同值,只要能保證分壓后的電壓在微控制器的允許范圍內(nèi)即可。

          3相逆變橋由6個MOSFET構(gòu)成,本系統(tǒng)設(shè)計(jì)采用IR2407,它可承受600 V電壓,電流達(dá)49 A。PWM驅(qū)動器由3片IR2110構(gòu)成。
          由于為28引腳器件,I/O口有限,不能設(shè)計(jì)人機(jī)接口,因此,需采用RS-232接口與PC機(jī)連接,通過超級終端軟件實(shí)現(xiàn)人機(jī)對話。


          6 系統(tǒng)軟件設(shè)計(jì)

          軟件由初始化模塊、啟動模塊及無傳感器運(yùn)行模塊構(gòu)成。因電機(jī)啟動時轉(zhuǎn)速很低,反電動勢很小,故反電動勢過零點(diǎn)檢測法失效。只能用開環(huán)控制電機(jī),當(dāng)電機(jī)達(dá)到一定轉(zhuǎn)速后切換到閉環(huán)控制,采用反電動勢過零點(diǎn)檢測法檢測轉(zhuǎn)子位置,所以啟動模塊是必須的。軟件主程序流程如圖6所示。



          在反電動勢過零點(diǎn)檢測模塊中,對經(jīng)電阻分壓后的端電壓進(jìn)行A/D轉(zhuǎn)換,再根據(jù)式(1)、(2)、(3)計(jì)算各相反電動勢,如果某相的反電動勢為零,則該時刻對應(yīng)著該相反電動勢過零點(diǎn)。如果三個值都不為零,則說明換相時刻還沒有到來,不需要換相。這就要求對端電壓分壓的電阻必須對稱,以減小誤差,且A/D轉(zhuǎn)換頻率應(yīng)該與電機(jī)轉(zhuǎn)速相匹配。


          7 結(jié)束語

          實(shí)驗(yàn)證明,該硬件結(jié)構(gòu)簡單、可控性好。低速啟動時,電機(jī)性能不如有傳感器,但啟動后性能與有傳感器相當(dāng)。無傳感器無刷直流電機(jī)可在惡劣的工作環(huá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); })();