基于Proteus和AVR單片機的無刷直流電機控制系統仿真
摘要:文中設計的無刷直流電機控制系統選擇ATmega128單片機作為主控芯片,使用了EDA工具軟件Proteus設計了無刷直流電機的控制系統,并進行了仿真實驗。在仿真實驗中利用Proteus軟件的仿真功能,進行了電機轉速控制的實驗,控制系統的可行性以及轉速控制效果得到了驗證。實驗過程中能直觀地看到實驗結果,所設計的系統滿足了無刷直流電機轉速控制的要求,電機運行穩定,在硬件電路和軟件設計都有一定的輔助作用。
本文引用地址:http://www.104case.com/article/201610/307857.htm關鍵詞:Proteus;AVR單片機;無刷直流電機;仿真;控制系統
永磁無刷直流電動機不使用電刷和換向器組成的機械換向機構而是使用電子的直流電動機。永磁無刷直流電機首先不會出現諸如電刷引起的摩擦和電火花、因機械換相機構而導致的壽命短等問題;其次無刷直流電機在結構上有一定的簡化,轉子上安裝永磁體,定子上安裝電樞繞組,因而在導熱方面效果更好。這樣既能保持直流電動機在啟動和調速方面的出色特性,同時又在運行穩定性和能量轉換效率等方面保持一定的優勢,進而提高電機運行的經濟性。單片機盡管在性能上不如DSP芯片,但卻有更低的價格,外部電路設計簡單,在通常狀況下單片機的控制功能和處理速度也可以達到的需求,所以這里選擇單片機作為直流無刷電機驅動控制系統的主控芯片。
Proteus軟件目前在單片機仿真及其他相關的外圍器件的仿真方面,Proteus是一個非常實用的工具軟件。可以使用Proteus完成硬件電路的設計,可以對單片機在內的一些微處理器進行編程,在微處理器上實現不同的控制算法,并且仿真過程中的控制效果可以直觀觀測。文中采用Proteus仿真平臺設計了以AVR單片機為控制核心的無刷直流電機仿真控制器,把有效的理論實踐基礎應用到實際系統的設計當中。
1 Proteus中的無刷直流電機模型
無刷直流電機模型是在直流電機模型基礎之上建立的,根據應用需要可在Proteus軟件中對電機的參數進行設定,包括電機的額定使用電壓、空載狀態轉速、轉子的轉動慣量、定子繞組的阻抗及定子繞組間的互感等參數。軟件提供定子繞組為星型連接(STAR)和三角形連接(TRIANGIE)兩種模型,在此選用星型連接的無刷直流電機模型,該電機模型中自帶有3個霍爾位置傳感器,用于轉子位置的檢測。
2 硬件電路設計
硬件電路主要包括單片機的硬件電路、電機的驅動電路、功率逆變電路、運行電流檢測電路、轉速檢測電路等。原理框圖如圖1所示。

2.1 主控制電路
主控芯片選擇ATmega128單片機,電路如圖2所示。ATmega128芯片采用RISC結構,穩定性高,應用廣泛。其外設具有6路分辨率可編程 (2~16位)的PWM,8路10位ADC。其具備的功能可用于無刷直流電機的驅動控制。ATmega128芯片具有輸入捕獲功能,能檢測到來自的外部中斷信號。將電機模型中自帶的霍爾位置傳感器A.B,C分別接入單片機的PD0,PD1,PD2引腳,隨著電機轉子位置的改變,3個霍爾傳感器會輸出不同的電平信號。當發生中斷時,單片機的輸入引腳可讀取來自霍爾傳感器的電平狀態,在查詢對應的霍爾換相真值表后即可得到當前的換相信息,進而實現換相控制。

2.2 功率驅動電路
無刷直流電機的功率驅動如采用三相半橋方式,其電路部分器件相對較少,電機繞組的任一相只靠一個功率管即可控制電流通斷,每相繞組的通電時間與關斷時間之比為1:2,這使得每相繞組的利用率不高。三相全橋的電路部分器件的數量上是半橋式的兩倍,但每相繞組可通電240°電角度,繞組利用率相應得到很大提高。三相橋式逆變器是由6個N溝道功率MOSFET管構成。IR2101是雙通道、柵極驅動、高壓高速功率驅動器,因為IR2101采用了高度集成的電平轉換技術,使邏輯電路對功率器件的控制要求得到簡化。功率MOSFET管采用二二導通方式,6個功率管在電機運行過程中的通斷狀態共有6個。圖3所示的功率驅動電路是其中一相繞組對應的橋臂。主控制器輸出的PWM脈沖方波分別加載到功率驅動芯片IR2101的HIN和LIN引腳,用于驅動相應功率 MOSFET管的通斷。

2.3 相電流檢測電路
為了檢測相電流,選擇ACS712ELCTR-30A-T串入全橋公共端,然后將VIOUT端與主控芯片的A/D輸入端口PF0連接。 ACS712是線性電流傳感器,該器件內置有精確的低偏置的線性霍爾傳感器電路,其輸出電壓與被檢測電流成比例。ACS712ELCTR-30A-T霍爾電流傳感器輸出范圍是0.5~4.5 V,而主控芯片ATmega128的A/D轉換參考電壓選為VCC,即5 V,電流傳感器輸出不超過A/D轉換參考電壓,如圖4所示。
2.4 速度檢測電路
Proteus的無刷直流電機模型自帶3個霍爾傳感器,霍爾傳感器在空間上呈120°分布,用于確定電機轉子位置,而且3個霍爾傳感器在電機運行時其中兩相輸出信號相差120°,轉子每轉過360°電角度時,3個霍爾傳感器的輸出信號組合在一起對應換相的6種編碼狀態。每當電機轉子轉過了60°角,3個霍爾傳感器的輸出狀態就會相應變化一次。于是,電機的轉速就可以通過計算單位時間T內捕獲的霍爾傳感器輸出變化的次數n換算出來,轉速換算公式為V=60 n/T。由此,要測量到電機的轉速,就通過主控芯片的輸入捕獲功能獲取到3個霍爾傳感器中的一路輸出信號的周期,然后由轉速換算公式計算出電機轉速即可。
3 軟件設計
系統采用開環控制和轉速電流雙閉環PID控制,進行對比仿真實驗。開環控制無論硬件電路還是控制程序都較閉環PID控制簡單且易實現,一般在恒定負載應用中采用。在變化負載應用中,當電機轉速在一定范圍內時,負載會發生變化。需要轉速控制精度和良好的動態響應,因而使用高級控制算法,但也增加了控制器的復雜性。閉環控制采用轉速電流雙閉環增量式PID控制策略,兩種控制方式的程序框圖如圖5所示,其中(a)為開環控制程序框圖,(b)為閉環控制程序。

4 Proteus仿真結果及分析
在AVR Studio開發環境下,用C語言進行程序設計。然后在Proteus仿真環境下,向ATmega128單片機導入編譯生成的hex文件,運行仿真即可直觀地觀察無刷直流電機的運行情況。
Proteus中的無刷直流電機模型可以直接顯示轉速,設定期望轉速為200 r/min,并先后導入開環控制程序和閉環控制程序,進行對比觀察,無刷直流電機的運行情況見圖6。圖6中(a)為開環控制的仿真結果,開環控制不能得到穩定的轉速,這里只是截取了過程中的一個狀態;圖6中(b)為閉環控制仿真結果,通過以上的對比,閉環控制中因有PID(比例和積分)控制直流無刷電機的速度能穩定在期望轉速值。顯然閉環PID控制在電機運行轉速上具有更好的控制效果。但軟件的實時性在仿真環境下有所降低,出現了一定程度的延時,在仿真實驗中電機的轉速與設定的轉速仍然有少量偏差。
5 結束語
文中在Proteus仿真軟件中設計了無刷直流電機仿真控制系統,完成了包含主控制器電路、功率驅動電路、功率逆變電路、電流檢測電路等硬件電路的設計,使用C語言編程并導入單片機,在Proteus仿真環境下進行了仿真實驗。通過實驗的直接觀察,實現了電機轉速的穩定控制,并且通過兩種控制策略的對比,表明閉環控制在電機轉速控制方面更加穩定。該系統能夠滿足無刷直流電機轉速控制的設計要求,達到了預期的控制效果,對實際硬件電路的設計和軟件控制策略的選擇都具有一定的參考價值和輔助作用。
評論