基于fpga的無刷直流電機舵機控制器設計
楊運,廖勇,李凡
(重慶大學輸變電裝備及系統安全與新技術國家重點實驗室,重慶400030)
摘要:針對無刷直流電機的運行特點,建立了以ⅱ,ga芯片為核心的相互獨立的四軸無刷直流電機舵機伺服控制系統。利用vhdl語言設計了各功能硬件模塊和mos軟核處理器,并用c語言編程在軟核中實現了針對無刷直流電機的帶前饋的電流、速度和位置三閉環軟件控制算法。整個控制系統體
積小、可靠性高、靈活性強,實現了全數字控制。通過實驗驗證了基于fpga芯片的無刷直流電機舵機全數字化控制器的先進性。
關鍵詞:fi,ga;無刷直流電機;伺服系統;前饋
中圈分類號:tm36 +1 文獻標志碼:a 文章編號:1001-6848(2010)03-0048-04
0引 言
舵機伺服系統的控制器目前主要采用模擬控制器和基于單片機或dsp的數字控制器。模擬控制器體積和重量大,易受干擾,難于調試,難以控制無刷直流電機,且其不易于與上位機構成控制系統;基于單片機或dsp的數字控制器,其體積也比較大,由于控制程序既要進行邏輯處理又要進行控制算法處理,因此控制周期較長,使用一套控制器往往難以控制多臺電機,另外,其也存在外部硬件設計不靈活、可靠性不高等缺點。
sopc技術采用軟硬件相結合的方式,目標是將盡可能大而完整的電子系統在一塊fpga中實現,使得所設計的電路在規模、可靠性、體積、功能、性能指標、上市周期、開發成本、產品維護及其硬件升級等多方面實現****化。本文采用altera公司的芯片為控制核心,利用sopc思想,采用硬件實現邏輯處理,軟核處理器實現算法控制四臺相互獨立的無刷直流舵機,所設計的控制系統體積小、重量輕、可靠性高以及控制速度快,井通過實驗驗證了相關性能指標。
1無刷直流電機的控制策略
在傳統的電機伺服控制三環系統中,由電壓(或上位機通過通信方式)給出位置給定與位置反饋信號o作差經過位置pid調節得到速度給定vg,與測得的速度反饋v作差經過速度pid調節得到電流給定t,t與此時刻通電相的相反饋電流作差經過電流pid調節得到電壓給定u。用此ug輸出調節占空比,從而達到電機的伺服控制[4,5]。但是此方法中的占空比調節需要三環調節完后才起作用,動態響應速度較慢。本設計在傳統的方法中加上前饋,即由速度給定經前饋調節得到反電勢e,再與u相加得到輸出,如圖1所示。前饋可顯著提高系統的動態響應速度。
2系統硬件設計
為了盡量減小系統體積和成本,主控制芯片fpga采用altera公司的cyclone系列器件。電流反饋由采樣電阻和ir2175芯片組成。位置檢測由電位器實現,信號經rc濾波再由ad7863將模擬信號轉換成數字信號,構成位置反饋。為了減霍爾信號中的干擾,將霍爾信號經濾波和施密特觸發器整形后輸入cpu,作為速度反饋和換相信號。整個硬件還包括數字通信電路rs232(422),ir2101驅動,mosfet全橋電路,程序存儲器epcs4,參數存儲器eeprom等。如圖2所示。
3 fpga的系統設計
用fpga進行電機控制,可以采用純硬件電路搭建控制器進行控制或搭建片上處理器采用純軟件方式控制。采用純硬件電路可以實現并行控制,控制速度快,可靠性高,但是這樣占用系統資源太大,普通fpga的資源難以滿足控制多臺電機,且難以實現復雜算法。采用純軟件方式節約硬件資源卻難以發揮fpga的并行處理能力,控制速度慢。本系統采用硬件功能模塊與構建軟核實現軟硬件相結舍的方式,以軟核為控制核心,硬件模塊獨立工作,當軟核需要相應值時才去讀取或者輸出相應值,這樣既使用了較少的邏輯門又實現了較快的控制速度,硬件模塊采用vhdl和verilog |