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