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