基于Cortex-M3內核MCU的BLDCM控制器研究
摘要:用Cortex-M3內核32位高性能MCU設計一款通用性、控制性較好,性價比較高的BLDCM控制器。根據(jù)BLDCM的工作原理和MCU的良好性能進行了詳細設計。實現(xiàn)了對BLDCM的轉速、電流雙閉環(huán)控制,通過實驗測試了控制器的各項性能。該款基于32位MCU的控制器性能良好,結構緊湊,性價比高,具有較高實用價值。結合應用經驗發(fā)現(xiàn),API函數(shù)支持下Cortex-M3內核的MCU在硬件控制和軟件編程方面較以往單片機等具有優(yōu)勢,基于API函數(shù)支持的MCU應用將是未來趨勢。
關鍵詞:Stellaris;LM3S615;BLDCM;雙閉環(huán);實驗測試
Luminary Micro的Stellaris(群星)系列MCU以其32位的性能和低至1美元的價格在微控制器領域表現(xiàn)出了卓越的優(yōu)勢,其中的LM3S615便包含ARM公司最新推出的針對微控制器應用的Cortex-M3內核,另含10位兩通道ADC,6路帶死區(qū)PWM,6路CCP,3個模擬比較器、1個低壓差線性穩(wěn)壓器、2個完全可編程的16C550-type UART、同步串行接口(SSI)、3個通用Timer,I2C、溫度傳感器等片內外設,以及32KBFLASH、8KB SR AM、高達34個GPIO管腳。它有豐富靈活的外設驅動庫函數(shù)及例程支持編程,可方便用于步進電機、無刷直流電機(BLDCM)、交流電機控制。
本文針對內含霍爾位置檢測傳感器的BLDCM,選用LM3S615設計一款通用性和控制性較好BLDCM控制器,并經過實驗對其基本性能進行了多方面測試。
1 BLDCM的工作原理
無刷直流電機由電機本體、轉子位置傳感器和逆變供電電路3大部分組成。電機本體包括定子(電樞)和轉子兩部分,定子一般為多相繞組,轉子由永磁材料按一定極對數(shù)組成。運行時轉子在電樞氣隙磁場帶動下旋轉,同時位置檢測傳感器將不斷檢測所得轉子位置信息反饋給控制器,控制器通過運算送出控制信號驅動逆變電路中的功率開關器件輪流導通,電樞繞組輪流通電,氣隙磁場不斷跳躍步進,轉子就不斷旋轉??刂破饔靡则寗娱_關器件的多為PWM信號,改變PWM的信號占空比可改變電樞的平均端電壓,進而可改變電機轉速,設計時應注意驅動開關的PWM信號邏輯關系要正確并應避免上、下橋臂直通。
2 基于LM3S615的BLDCM控制器的構成原理
基于LM3S615的BLDCM控制器結構原理見圖1。
2.1 主要硬件組成及原理
原理圖1同時給出了系統(tǒng)硬件組成及主要I/O分配??刂破鲗臑槿酂o刷直流電機,電樞Y型接法,采用三相兩通六狀態(tài)供電方式和H_PWM,L_on單極性逆變橋控制(即繞組通電時下橋臂管一直導通,上橋臂管PWM調制)方式,這也能降低雙極性PWM控制帶來的較高開關損耗和噪音。
控制器通過ADC0通道(1#引腳)前端電位器設定轉速,對應的10位A/D轉換器會將轉速設定值轉換成數(shù)字量并保存在特定存儲單元中,此后系統(tǒng)啟動和運行時所需轉速設定值從該單元讀出,不需經常讀入和A/D轉換。LCD為能顯示16×2個字符的1602。它能實用來實時顯示轉速設定值、當前轉速值,系統(tǒng)故障代碼以及在設定P,I時顯示參數(shù),圖2為1602與MCU的連接圖,圖中電位器可用于調節(jié)背光;通過啟動和停止按鍵控制電機啟停;設定按鍵四次按下可選擇設定兩個PI調節(jié)器的4個參數(shù)(即ASR和ACR的P、I參數(shù)),增加和減小按鍵以0.1步距改變參數(shù),設定;增加、減小3個按鍵在電機停止時可用,在運行期間無效,控制器的5個按鍵均通過單穩(wěn)態(tài)觸發(fā)器74121后再接MCU的GPI0引腳,對這5個GPIO引腳可通過GPIO函數(shù)將工作方式設定為中斷;內嵌于電機的霍爾傳感器能將轉子位置轉換成脈沖信號并送給MCU,表1給出了3路霍爾信號邏輯組合及正反轉對應的功率器件導通順序。
電機內部的三個霍爾元件在空間彼此相隔120°電角度,與其配套的永磁體的極弧寬為180°,轉子旋轉時,三個霍爾元件將交替輸出三個寬為180°、相位互差120°的矩形波信號(H1,H2,H3)。這三路信號經過進一步整形(圖3為三相霍爾脈沖信號的整形電路)后被MCU的CAP端口捕捉,捕捉信息一方面作為換相邏輯參與生成并輸出PWM信號,另一方面速度計算模塊利用其中一路脈沖(如H1,應注意電機極對數(shù)為P時,每轉有P個方波)的前后沿時間間隔計算得到轉速反饋值。控制器將轉速反饋值送至LCD顯示的同時將其與轉速設定值比較并獲得轉速偏差,再經ASR運算得到電流給定值,電流反饋值與電流給定值相比較便得到電流偏差值,再經ACR運算得到PWM占空比調節(jié)值。PWM模塊根據(jù)所得占空比值和換相邏輯在母線電流未超限時輸出PWM并通過高速光耦TIL117送給驅動電路IR2130。
考慮到可靠性,MOSFET逆變橋驅動電路采用集成器件IR2130。IR2130自身的工作電源電壓的范圍較寬(3~20 V),并可對同一橋臂上下2個功率器件的柵極驅動信號產生2μs的互鎖延時,能有效避免直通短路。
2.2 控制算法選擇及檢測處理方法
由LM3S615構建的控制器采用了電流內環(huán)、轉速外環(huán)的雙閉環(huán)控制策略??紤]BLDCM是一種自控式電機,MCU運算能力不比DSP,同時包括電機在內的全系統(tǒng)運行性能也受電機自身性能影響,所以ASR和ACR無需采用過于復雜的算法,這里兩者均采用增量式PI算法,與位置式PI算法相比增量式PI算法不需要累加,控制器只輸出增量,受誤動作影響較小,控制增量僅與最近K次的采樣值有關,容易通過加權處理而獲得較好的控制效果。PI參數(shù)整定時可先固定積分環(huán)節(jié)為零,調節(jié)比例環(huán)節(jié)至系統(tǒng)響應穩(wěn)定,然后再調節(jié)積分環(huán)節(jié)來改善系統(tǒng)的動態(tài)響應和靜態(tài)穩(wěn)定性能。
圖3中三路霍爾信號經高速光耦隔離后再通過上拉電阻、非門、電容整形濾波后送至單片機,TIL117輸入回路有一定輸入電流需求,不能用霍爾信號直接驅動,光耦輸出接反相器后恢復了原信號的邏輯狀態(tài)。
對BLDCM母線電流的檢測方法有傳感器法和串電阻法等,用霍爾等傳感器檢測電流時線路相對復雜、成本較高,在被檢電流較小時檢測精度會受影響,母線串電阻法簡單,但應注意控制電阻功耗。這里通過串電阻法檢測母線電流,為降低電阻功耗并保證檢測精度,選擇了美國威世公司0.47 Ω檢流用高精度小電阻,預計功耗不超過0.1 W。用導線從檢流電阻兩端引出,經濾波后接入圖4所示電路,該電路是利用TI公司的寬帶低噪音運放OPA842ID搭建的高輸入阻抗差動放大電路,它能有效放大兩路輸入信號差值。差動電路輸出送至MCU的ADC1通道進行10位A/D轉換,圖4為檢流差動放大電路。
3 電機的開環(huán)軟啟動控制
在閉環(huán)條件下啟動電機,因瞬時轉速為零PWM占空比會達最大值,帶載時可能因電機過流而啟動失敗,為此采用開環(huán)啟動方式,流程如圖5所示。啟動按鍵按下電機轉子從當前位置準備啟動,先讀取轉速設定值(n0)并設置一個占空比常數(shù)D1,首次通電占空比為5%,以后以5%步距遞增直至啟動結束。因起始占空比較小,不管轉速設定是大還是小,空載還是帶載,都會順利啟動,不會出現(xiàn)啟動大過沖現(xiàn)象。啟動過程中MCU會不斷進行轉速判斷,當轉差率小于0.2時切換至閉環(huán)(圖5中n為實時轉速)。
4 軟件編制中的主要問題解決策略
系統(tǒng)軟件除主程序外,主要有開環(huán)啟動、A/D轉換、速度計算、增量PI、PWM生成、1602驅動、按鍵中斷等子程序。TI給Stellaris(群星)系列MCU配備了完善的外設驅動庫,片內外設使用和控制極為方便,外設驅動庫中的API支持下可完全控制外設和快速開發(fā)應用程序而不需了解外設細節(jié),這一特點可稱為以后MCU應用的趨勢。
對LCD1602驅動中用到的多個GPIO端口,其編程流程可歸納為:初始化(設置LDO輸出電壓,設置系統(tǒng)時鐘);外設(GPIO端口)使能;設置GPIO端口每一位的輸入/輸出類型(高阻輸入、推挽輸出、開漏輸出);讀/寫GPIO端口的狀態(tài)。
4.1 按鍵控制
5個按鍵均要工作在中斷狀態(tài),為實現(xiàn)良好控制編程時需注意兩點:一是在主程序中做好相應GPIO引腳的設置,具體工作按順序為,使能按鍵所在GPIO端口、設置按鍵所在引腳為輸入、設置按鍵在引腳的中斷觸發(fā)類型(邊沿、電平)、使能引腳的中斷、使能GPIO端口中斷、使能處理器中斷;二是注意在中斷服務程序中讀完中斷狀態(tài)后要清楚中斷狀態(tài)。
4.2 PWM驅動信號的產生
LM3S615的PWM模塊功能非常強大,由3個PWM發(fā)生器模塊和1個控制模塊組成??刂颇K決定PWM信號的極性,以及傳遞管腳。每個PWM發(fā)生器都有1個16位定時器和2個比較器,可以產生2路PWM。在PWM發(fā)生器工作時,定時器在不斷計數(shù)并和兩個比較器的值進行比較,可以在和比較器相等時或者定時器計數(shù)值為零、為裝載值時對輸出的PWM產生影響。在使能PWM發(fā)生器之前,要配置好定時器的計數(shù)速度、計數(shù)方式、定時器的轉載值以及兩個比較器的值,從原理圖1可知PWM輸出受ACR運算結果、過流判斷結果、霍爾信號邏輯3個事件的影響。表1中霍爾邏輯組合和開關導通組合的對應關系應事先存儲在存儲器中以便每次確定PWM輸出引腳時查表。
4.3 電機過流檢測
過流判斷使用Timer的捕捉/比較模塊實現(xiàn)比較簡便,但ACR運算必需電流值的A/D轉換結果,為提高系統(tǒng)效率,過流判斷不用比較器,直接使用A/D轉換結果。具體編程時可通過分析事先設置一常數(shù),在每次輸出PWM波時可將該常數(shù)與當前電流的A/D轉換值的比較結果作為輸出條件之一,若過流立即封鎖PWM。
5 實驗測試
測試用無刷直流電動機Un=36 V,In=1.3 A,Pn=40 W,P=3,額定轉速1 500 rad/min,電機內含霍爾位置傳感器,傳感器工作電壓5 V。實驗項目有啟動過程測試、相電流波形測試、霍爾位置脈沖測試,單相繞組反電勢測試等,測試結果如圖6~圖9所示。
圖6中轉速無過沖,轉速從零到設定值(1 200 rad/min)約1.6 s,開環(huán)啟動快速,轉入閉環(huán)未見圖線突跳等異常現(xiàn)象;圖7中相電流波頭基本呈矩形無嚴重畸變,頂部稍微的波動與PWM斬波有關;由圖8中脈沖頻率可計算出電機轉速為1 455 rad/min,與設定值一致;圖9反映出電機單相繞組的反電勢波形呈正負交替的梯形,且波形良好。
6 結語
32位LM3S615具有豐富的片內外設,較多的GPIO端口引腳,強大的外設驅動庫函數(shù),這為搭建的BLDCM控制器提供了良好的硬件和軟件支持,最后獲得的BLDCM控制器外圍單元緊湊,功能設置適當,算法選擇合理,并充分發(fā)揮了32位MCU的優(yōu)越性能,從測試結果來看,其控制性能良好,有一定實用價值。結合本次LM3S615應用的經驗,以API為主要硬件控制手段的編程模式可能會成為以后MCU應用的趨勢。