基于FPGA的多通道直流電機(jī)控制器設(shè)計
摘要:設(shè)計了一種基于FPGA的多通道直流電機(jī)控制系統(tǒng),充分利用FPGA并行控制的特點,采用自項而下的設(shè)計方法,將系統(tǒng)劃分為轉(zhuǎn)速測量模塊,并行控制模塊,PWM生成模塊,電機(jī)驅(qū)動模塊。采用Verilog HDL語言實現(xiàn)完成了對多通道直流電機(jī)的控制。通過Quartus II自帶仿真功能對系統(tǒng)進(jìn)行時序仿真表明系統(tǒng)結(jié)構(gòu)簡單,且具有良好的功能擴(kuò)展性。
關(guān)鍵詞:FPGA;PWM;多通道;并行
機(jī)電一體化系統(tǒng)中常需要產(chǎn)生多通道PWM信號以完成對多臺電機(jī)進(jìn)行協(xié)調(diào)控制,而傳統(tǒng)控制系統(tǒng)仍然采用單片機(jī)內(nèi)部的定時/計數(shù)器來產(chǎn)生所需要的PWM信號,但由于定時/計數(shù)器及IO端口數(shù)量的限制,單個單片機(jī)控制器常不能滿足多通道電機(jī)并行控制的要求。而FPGA內(nèi)部程序并行運行,不同邏輯任務(wù)可同時執(zhí)行,使其工作更有效率,且其具有豐富的邏輯資源和I/O引腳資源。文中采用Altera公司Cyclone II系列的EP2C8Q208芯片,采用模塊化的設(shè)計方法,以四臺無刷直流電機(jī)為控制對象,完成了多通道的直流電機(jī)控制器的設(shè)計,有效地縮小了設(shè)計規(guī)模,節(jié)約了設(shè)計成本。
1 系統(tǒng)整體設(shè)計
本系統(tǒng)采用自頂向下的設(shè)計思路,將系統(tǒng)主要分為以下模塊:FPGA控制模塊、電機(jī)驅(qū)動模塊,轉(zhuǎn)速檢測模塊。如圖1所示。本系統(tǒng)以FPGA為控制核心,通過程序設(shè)定控制電機(jī)速度的PWM信號的占空比,由FPGA的I/O口輸出給直流電機(jī)驅(qū)動電路以完成對直流電機(jī)的驅(qū)動。電機(jī)轉(zhuǎn)速測量由霍爾傳感器完成,反饋給FPGA計數(shù)模塊,通過計數(shù)結(jié)果以決策電機(jī)控制狀態(tài)。文中將著重介紹FPGA控制模塊及各部分的功能設(shè)計與實現(xiàn)方法。
設(shè)計中將FPGA控制模塊又分為分頻模塊,計數(shù)模塊,并行控制模塊,PWM生成模塊4部分。分頻模塊把外部高頻時鐘信號降低為系統(tǒng)所需的標(biāo)準(zhǔn)頻率。計數(shù)模塊對霍爾傳感器輸入脈沖進(jìn)行計數(shù)以完成對電機(jī)轉(zhuǎn)速的測量。并行控制模塊通過計數(shù)模塊的計數(shù)結(jié)果決策PWM信號的占空比。PWM生成模塊通過并行控制模塊輸出的占空比信號生成PWM波形。如圖2所示。
2 各功能模塊設(shè)計
2.1 電機(jī)驅(qū)動模塊
本設(shè)計中直流電機(jī)驅(qū)動模中采用ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動芯片L298P,內(nèi)含兩個H橋的高電壓大電流全橋式驅(qū)動器,采用標(biāo)準(zhǔn)TIL邏輯電平信號控制。由L298P構(gòu)成的脈寬調(diào)速電路如圖3所示。在圖中,L298P可驅(qū)動兩個直流電機(jī),可以分別控制它們的轉(zhuǎn)速、轉(zhuǎn)向、運轉(zhuǎn)與停止。圖中ENA、ENB分別控制兩個電機(jī)的運轉(zhuǎn)與停止,當(dāng)端口為高電平時電機(jī)旋轉(zhuǎn),加低電平時電機(jī)停止旋轉(zhuǎn):由In1,In2端送入脈寬調(diào)制信號,通過改變信號的脈寬達(dá)到調(diào)速和換向的目的。M1_+,M1_-和M2_+,M2_-分別是兩個直流電機(jī)的電壓輸入端。
霍爾傳感器相關(guān)文章:霍爾傳感器工作原理
霍爾傳感器相關(guān)文章:霍爾傳感器原理
評論