一種實用的開關磁阻電機控制器的設計
張桂玉,魏召剛
(山東工業職業學院電氣工程系,淄博256414)
摘要:將微控制器與可編程邏輯器件相結合,提出了一套實用開關磁阻電機控制器的設計方案。其中,mcu采用51系列的8位混合信號微控制器,邏輯電路采用max7000系列的cpld。根據設計方案制作出的樣機經過調試改進后運行效果良好。
關鍵詞:開關磁阻電機控制器;微控制器( mcu);可編程邏輯器件(cpld)
中圖分類號:tm352 文獻標志碼:a 文章編號:1001-6848(2010)05-0093-04
0引言
開關磁阻電機調速系統,簡稱為srd,具有高效節能、調速范圍寬、適用范圍廣、簡單可靠及成本低等一系列優點[1-3]。本文致力于一種通用開關磁阻電機控制器的研制,可驅動三相開關磁阻電機,可與電機一起組成寬調速范圍、高效節能的開關磁阻電機調速系統,應用于各種通用調速場合,具有成本低、控制靈活、自適應能力強及適用范圍廣等優點。
1硬件設計方案
控制電路采用嵌入式微處理器(mcu)可編程邏輯器件( cpld)外圍電路昀設計方法。在通用調速場合,一般對系統的性能指標要求不是很高,因此采用現在大量使用,且性價比很高的增強型5l系列8位mcu。該51芯片帶有高速a/d輸入,且帶有rs232、i2c及spi總線,不用選擇另外的驅動芯片。
為了存貯參數,采用一片帶串行接口的eep-rom芯片。cpld可選用帶有jtag接口的芯片。d/a轉換采用12位的轉換芯片,與mcu的接口方式為串行通訊方式,總線為spi。開關量輸入采用光耦隔離輸入。開關量輸出采用繼電器輸出方式。數碼管驅動電路采用帶串行通訊接口的芯片,可驅動至少5個數碼管。鍵盤輸入采用spi總線接口的i/o擴展芯片。控制器的硬件總體設計方案如圖1所示。
2軟件設計方案
mcu選用增強型51系列8位芯片。主體編程語言選用基于標準c的c51語言,對于實時性要求很高的程序段,則采用匯編語言編寫,內嵌到c程序中進行編譯鏈接,以增加程序執行的速度。
mcu的程序采用結構化程序設計方法,包含初始化模塊,鍵盤處理模塊,顯示模塊,轉子位置檢測模塊,轉速計算模塊,閉環控制模塊,制動控制模塊,pwm驅動模塊,角度調制模塊,簡易plc控制模塊,通訊模塊,放障檢測模塊及中斷處理模塊,這些模塊可設定優先級,在主程序中進行調度,形成完整的開關磁阻電機控制程序。
mcu復位或上電后,程序先經初始化過程,然后再進入主循環程序,該主循環程序包括故障檢測狀態、等待電機運行狀態、電機運行狀態、電機制動狀態等。每一個運行狀態又運行多種任務,如鍵盤讀取、顯示、讀取開關量與模擬量、輸出開關量與模擬量、串行通訊、電機控制等任務,不同的狀態運行不同的任務。主程序的流程圖如圖2所示。
在程序初始化模塊,控制器上電或復位后,首先執行初始化程序,初始化寄存器ram、變量對顯示進行初始化,讀取eeprom中存貯的參數、初始化外圍接口寄存器等。在鍵盤處理模塊,cpu接收到鍵盤中斷后,讀取按鍵編碼,然后經過軟件消耗,根據讀取的按鍵編碼執行相應的操作,包括電機起動停止,運行數據顯示,參數設置等。
在顯示模塊,上電或復位后,數碼管將顯示電機的轉速。為了進行轉速計算,在每一臺電機的轉子上都安裝一個齒盤,固定在定子上的位置傳感器根據轉子的轉動產生周期性的位置編碼脈沖,通過這些位置脈沖來計算轉速。選用的silabs公司的c8051f120 mcu進行角度調制,根據前一個脈沖的寬度和時刻確定哪一相開通,哪一相關斷,及牙通角和關斷角的數值,然后通過定時器控制hso的輸出。采用轉矩作為切換條件,若系統在****電流斬波值情況下無法輸出設定轉矩,則在保持****電流斬波值的情況下,開始調節開通角及關斷角,以達到設定轉矩輸出;若負載轉矩減小,則先調節開通角及關斷角,若輸出轉矩仍大于設定轉矩,則關閉開通角及關斷角的調節,轉入電流調節模式。
在軟件上實現容錯功能,若干擾脈沖的寬度小于1s,cpu進入位置 |