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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于MC9S12X128無刷直流電機(jī)控制系統(tǒng)設(shè)計(jì)

          基于MC9S12X128無刷直流電機(jī)控制系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2012-02-27 來源:網(wǎng)絡(luò) 收藏

          摘要 為滿足對無刷控制要求精度高、調(diào)速性能好、系統(tǒng)實(shí)現(xiàn)成本低的需要,了一種無刷。該系統(tǒng)以單片機(jī)為控制核心,采用IR2130芯片驅(qū)動MOSFET功率管,實(shí)現(xiàn)對無刷三相六拍PWM控制。系統(tǒng)硬件電路結(jié)構(gòu)簡單、調(diào)速方便、功耗低。實(shí)際運(yùn)行測試表明,電機(jī)可以長期穩(wěn)定運(yùn)行。
          關(guān)鍵詞 單片機(jī);無刷電機(jī);驅(qū)動電路;位置檢測;電流檢測

          直流無刷電機(jī)是一種高性能電機(jī),它具有效率高、可靠性好、結(jié)構(gòu)簡單、便于維護(hù)和體積小等優(yōu)點(diǎn)。與直流電機(jī)相比,無刷電機(jī)沒有電刷和換相器,而采用電子電路進(jìn)行換相,換相時(shí)不會產(chǎn)生電火花,不存在機(jī)械換向損耗。與異步電機(jī)相比,無刷電機(jī)的轉(zhuǎn)子與定子磁場同步旋轉(zhuǎn),因此不存在轉(zhuǎn)子損耗。與同步電機(jī)相比,無刷電機(jī)控制方法簡單,便于工程應(yīng)用的特性,使其被廣泛應(yīng)用于眾多領(lǐng)域。
          直流無刷電機(jī)的控制方案有多種,如文獻(xiàn)采用DSP作為主控制器的,文獻(xiàn)采用FPAG控制無刷電機(jī),文獻(xiàn)選用MEGA8單片機(jī)控制方案。這些控制方法都能夠?qū)崿F(xiàn)電機(jī)的正反轉(zhuǎn)、啟停等控制,但在系統(tǒng)實(shí)現(xiàn)成本、控制精度、運(yùn)行穩(wěn)定性和外圍電路的能源消耗等方面上卻有較大的差別。使用DSP和FPAG的控制方案,系統(tǒng)的控制精度高、穩(wěn)定性好,可以應(yīng)用于工業(yè)生產(chǎn)中,不足之處在于成本過高,無法大量用于日常生活中。而采用MEAG8控制方案雖然成本低,與DSP、FPAG相比,系統(tǒng)的性能相差很大,無法滿足工業(yè)生產(chǎn)的要求。
          針對上述問題,提出單片機(jī)為核心的直流無刷電機(jī)。該控制系統(tǒng)實(shí)現(xiàn)成本低,而電機(jī)的控制性能上與DSP和FPGA等高端控制方案上相差不大,可以在工業(yè)生產(chǎn)中廣泛應(yīng)用。文中所選擇的主控芯片有豐富A/D轉(zhuǎn)換和PWM通道,適合電機(jī)的控制。為減少能源消耗和降低電路的復(fù)雜性、電路成本,提高控制系統(tǒng)的可靠性,同時(shí)也為了便于系統(tǒng)維護(hù)和功能擴(kuò)展,系統(tǒng)硬件電路采用模塊化的原則,每個(gè)模塊電路盡可能使用集成芯片。

          1 直流無刷電機(jī)控制原理
          直流無刷電機(jī)的運(yùn)行原理與有刷直流電機(jī)基本相同,只是電機(jī)的換相方式有區(qū)別,無刷電機(jī)采用電子換相,利用轉(zhuǎn)子位置傳感器檢測轉(zhuǎn)子位置,通過換相驅(qū)動電路控制與電樞繞組連接的各功率MOSFET管的導(dǎo)通和關(guān)斷,實(shí)現(xiàn)電機(jī)換相的目的。電樞繞組Y連接三相全控橋驅(qū)動電路如圖1所示。

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

          b.jpg


          三相全控橋電路的換相周期為60&deg;電角度,每個(gè)換相周期中只有兩個(gè)功率MOSFET管導(dǎo)通,每次換相一個(gè)功率管,每個(gè)功率管導(dǎo)通120&deg;電角度。圖中Q1~Q6為功率場效應(yīng)管,當(dāng)需要AB相導(dǎo)通時(shí),只需要打開Q1,Q6管,而使其他管截止。此時(shí)電路中的電流路徑為:電源正極-Q1-線圈A-線圈B-Q6-電源負(fù)極。按照這種導(dǎo)通方式就會有6種相位模式:AC,BC,BA,CA,CB,AB,對應(yīng)的MOSFET管打開順序?yàn)镼1Q2,Q2Q3,Q3 Q4,Q4Q5,Q5Q6,Q6Q1,如果規(guī)定這個(gè)導(dǎo)通順序?yàn)殡姍C(jī)正向旋轉(zhuǎn)一周,則反向旋轉(zhuǎn)只要逆著控制上述MOSFET管導(dǎo)通順序即可實(shí)現(xiàn)。

          2 控制系統(tǒng)主要硬件電路設(shè)計(jì)
          2.1 系統(tǒng)硬件結(jié)構(gòu)
          直流無刷電機(jī)控制系統(tǒng)結(jié)構(gòu)框圖如圖2所示??刂葡到y(tǒng)以MC9S12x128單片機(jī)為核心控制芯片,負(fù)責(zé)處理采集傳回的電流和轉(zhuǎn)子位置信號,電機(jī)控制算法的實(shí)現(xiàn),生成直流無刷電機(jī)旋轉(zhuǎn)所需的控制脈沖及與外界交互操作等功能。通過按鍵設(shè)定需要的轉(zhuǎn)速之后,主控芯片根據(jù)給定的轉(zhuǎn)速生成相應(yīng)頻率的PWM信號,控制驅(qū)動電路的功率管開關(guān)時(shí)間,使電機(jī)的轉(zhuǎn)速達(dá)到預(yù)期值。無刷直流電機(jī)的換相時(shí)刻由轉(zhuǎn)子的位置決定,因此系統(tǒng)中加入了位置檢測電路用于檢測轉(zhuǎn)子的位置,位置傳感器采用的是位置霍爾傳感器。為了保證電機(jī)在動態(tài)過程中出現(xiàn)電樞電流過流或欠流時(shí)系統(tǒng)的性能不會受到過大的影響,加入了電流檢測電路,通過這個(gè)電路將流過電機(jī)的電流進(jìn)行采樣,一旦出現(xiàn)異常情況,主控制器馬上采取相應(yīng)的措施保護(hù)這個(gè)控制系統(tǒng),避免意外事故的發(fā)生。隔離電路是防止感性負(fù)載的存在而產(chǎn)生大量的干擾信號,將干擾產(chǎn)生的影響降到最低,使系統(tǒng)能夠長期穩(wěn)定的運(yùn)行。監(jiān)控電路的作用是使系統(tǒng)一直工作在有效電壓之內(nèi),提高系統(tǒng)的可靠性。RS232接口和按鍵接口電路用于電機(jī)轉(zhuǎn)速調(diào)節(jié)和控制,滿足對轉(zhuǎn)速的各種要求。

          c.jpg


          2.2 主控器
          主控制器選擇的好壞直接影響整個(gè)直流無刷電機(jī)控制系統(tǒng)的性能,在充分考慮了實(shí)現(xiàn)成本和功能需要后,采用飛思卡爾的作為主控制芯片。該芯片具有豐富的A/D轉(zhuǎn)換通道和PWM通道,適合用于電機(jī)控制。在實(shí)際使用時(shí)只要配置好相應(yīng)模塊的寄存器,就可以使用模塊功能,不需要復(fù)雜的程序編寫,這樣就可以將主要精力放在硬件電路性能的提高上。對于系統(tǒng)運(yùn)行過程中出現(xiàn)的問題,可以方便地進(jìn)行調(diào)試和維護(hù)。

          霍爾傳感器相關(guān)文章:霍爾傳感器工作原理


          霍爾傳感器相關(guān)文章:霍爾傳感器原理

          上一頁 1 2 3 4 下一頁

          評論


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