基于MC9S12D64單片機的直流無刷電機控制系統(tǒng)設計
由于無刷直流電動機既具備交流電動機的結構簡單、運行可靠、維護方便等系列優(yōu)點,又具有結構簡單、體積小、重量輕、效率高、啟動扭矩大、慣量小和響應快等其他種類直流電機無法比擬的優(yōu)點,故廣泛應用于宇航、軍事、石油裝備及工業(yè)和民用領域。這里給出了基于飛思卡爾MC9S12D64單片機的無刷直流電動機控制系統(tǒng)設計方案。
1 無刷直流電動機控制原理
無刷直流電動機系統(tǒng)由電動機、轉子位置傳感器、電子開關線路和驅動電路等4部分組成。其工作原理圖如圖1所示。
直流電源通過驅動和開關電路向電動機的定子繞組供電,提供勵磁電流,位置傳感器隨時檢測到轉子位置,并根據轉子的位置信號控制開關管的導通和截止,從而實現(xiàn)電子換向。隨著電動機轉子永磁體的轉動,作用于位置傳感器H1、H2、H3的磁場方向N-S極發(fā)生變換,使位置傳感器產生相位差為120°的方波信號,如圖2所示波形。
隨著電動機轉子永磁體的轉動,作用于3個位置傳感器HALL1、HALL2、HALL3的磁場方向N-S極發(fā)生變換,使位置傳感器產生相位差為120°的6狀態(tài)編碼信號:101、100、110、010、011、001,產生控制開關器件MOSFET或IGBT等功率管按一定順序兩兩導通的控制信號,這樣轉子每轉過一轉,6個功率開關管及按固定組合成的6種狀態(tài)依次導通,保證電機的正常運轉。
2 系統(tǒng)硬件設計
2.1 主控制器模塊
本系統(tǒng)采用飛思卡爾公司生產的一款16位的9S12系列的MC9S12D64單片機作為主控制器,該芯片具有豐富的I/O端口;片內有8 KB RAM、64 KB Flash、2 KB EEPROM;SCI,SPI,PWM和串行接口模塊;帶有6路12位PWM模塊,可設定為中心對齊或邊沿對齊模式,正好用于電機的三對電極的變頻控制;片內具有增強型捕捉定時器、8路10位A/D轉換模塊可用于電流、電壓等的檢測,實現(xiàn)對控制系統(tǒng)的保護,也可接各種傳感器,大大簡化外圍電路和軟件設計。
該系統(tǒng)包括MC9S12D64單片機工作的外圍系統(tǒng)、電機位置傳感器信號檢測部分、電機驅動電路、通信電路和溫度電流檢測電路。其實現(xiàn)的硬件電路如圖3所示。
該控制系統(tǒng)主要功能為電動機的正反轉的控制、起停控制,轉速的測量和閉環(huán)調速、電機溫度、電流檢測與保護等。其中單片機外圍系統(tǒng)包括模式選擇、復位電路、晶振電路和電源4部分;電機位置傳感器的3路輸入信號HALL1/HALL2/HALL3經上拉和濾波后分別接入PT0/PT1/PT2引腳,利用該單片機的輸入捕捉功能就可以實現(xiàn)電機每轉過60°就產生一次中斷,很方便地得到轉子位置和電機的轉速;由PB口輸出控制電機轉動的驅動控制信號;AN0/AN1口輸入測得的電機溫度和電機電流信號,A/D轉換后換算成實際的溫度和電流值。此外利用串口0連接RS485總線接口器件SN75176與上位機進行通信,接收上位機的轉速、起停、轉向等命令,并把電機轉速、溫度等電機信息發(fā)給上位機,硬件電路簡單可靠。[!--empirenews.page--]
2.2 電機驅動電路
本系統(tǒng)采用三相六拍控制方式,驅動回路采用一種單極半調制的PWM控制方式,驅動器件采用IR2110,它是雙通道高壓、高速電壓型功率開關器件柵極驅動器,具有自舉浮動電源,驅動電路簡單,只需一路電源即可同時驅動上、下橋臂2個開關器件,大大簡化了驅動電源設計,功率器件采用T1~T6的6路MOSFET實現(xiàn)電機的驅動。驅動電路如圖4所示。
圖4中的電路只是電機一相的驅動。而無刷直流電動機的三相繞組的驅動控制共需3組這樣的驅動控制,每組控制2個MOSFET,3組共有6種MOSFET導通狀態(tài),轉子每轉過60°就變換一種狀態(tài),控制信號從主控制器PB口輸出,輸入到IR2110的上橋臂控制端10引腳和下橋臂控制端12引腳,控制本路信號高端7引腳和低端1引腳的導通與截止,導通順序依次為VT1、T4導通;VT1、VT6導通;VT3、VT6導通;VT3、VT2導通;VT5、VT2導通;VT5、VT4導通信號,每次只有一相繞組的上橋臂和另一相繞組的下橋臂進行導通,這樣轉子每轉過一轉,VT1~VT6及按固定組合成的6種狀態(tài)依次導通,保證電機的正常運轉。在此部分電路布線時一定要注意Cx1的位置是在緊靠VCC電源的部分,確保濾去電源上的毛刺干擾,保證SD端不受干擾。
2.3 電動機的電流保護和過熱保護控制
為了保護電機,必須要對電機的電流和溫度進行檢測,本控制系統(tǒng)采用通過電源對地端接一個取樣電阻作為電流傳感器,溫度傳感器采用Pt100,該溫度傳感器輸出信號經儀表放大器放大處理后,接入MC9S12D64的PAD00進行A/D轉換測量;電機的電流是通過檢測電路中串接的取樣電阻得到電壓信號,再經過差分放大等處理后接入MC9S12D64的A/D轉換輸入端PAD01進行測量的。當檢測的電流或溫度超過預先設定好的最大值時,可以通過軟件控制IR2110的SD端,封鎖輸出,讓電機停轉,從而保護電機不致燒毀。
3 系統(tǒng)軟件設計
本控制系統(tǒng)的控制軟件主要包括主程序、位置檢測子程序、PWM脈寬調制子程序、調速子程序、電流溫度測量與控制子程序、計數(shù)和定時中斷程序和串口中斷子程序等部分。其中位置檢測子程序包括3個輸入捕捉中斷程序,利用MC9S12D64的PT口具有優(yōu)良的輸入捕捉功能,可以自動捕獲到位置傳感器輸出信號的2個上升沿來完成電機速度的測量和換相控制的;電流溫度測量是利用MC9S12D64的A/D轉換后進行刻度,換算出實際數(shù)值的。其中主程序、調速子程序的流程圖分別如圖5(a)、圖5(b)所示。
在本系統(tǒng)中,調速可采用手動調速和上位機命令調速2種。由于無刷直流電動機的轉速和電動機的電壓呈線性關系,在手動調速時把電機的轉速與控制轉速的模擬輸入電壓對應起來,經A/D轉換所得到的值進行轉速的設定。若通過串口進行轉速設定,則把二進制代碼與PWM脈寬對應。只需1 s讀取測速子程序中已經測得電動機的轉速值,然后將此值與預設的轉速值比較,若大于預設的轉速值,則取較小的代碼值送出;若小于預設的轉速值,則取較大的代碼值送出,這樣,在這樣一個反饋循環(huán)中就可以調整電機的轉速直到轉速值等于預設定的值,從而實現(xiàn)對電動機的速度的調節(jié)。在整個軟件設計中,采用了捕捉中斷、定時中斷、外部中斷、串口中斷、A/D中斷等低功耗軟件設計方法,大大降低了系統(tǒng)的靜態(tài)和動態(tài)功耗。
4 結束語
本系統(tǒng)主要完成了電動機的驅動控制、換相控制、正反轉控制、起??刂啤㈦娏?、溫度控制以及電動機轉速的測量和電動機的調速等功能。本設計采用MC9S12D64單片機,外圍電路簡單,優(yōu)點在于功耗低,整個控制系統(tǒng)功耗經測量僅為11 mW,經過高溫烘烤檢測,該控制系統(tǒng)可以穩(wěn)定工作在150℃的高溫環(huán)境下。經過大量的實踐驗證,本控制驅動系統(tǒng)啟動平穩(wěn),啟動電流小,驅動的電機運行平穩(wěn),具有硬件簡單、穩(wěn)定性好、工作可靠的特點。