嵌入式DSP在家電中的應(yīng)用
隨著政府部分對家電效率及節(jié)約能源的要求,基于DSP的電機控制器逐漸進入家電領(lǐng)域。本文闡述了嵌入式DSP的基本特征和優(yōu)勢,并且就基于DSP的異步電機磁場定向控制和無刷直流電機的擴展卡爾曼濾波算法進行了討論。
一、概述
DSP擅長于數(shù)學(xué)運算,嵌入式DSP電機控制芯片把DSP內(nèi)核與一系列功能強大的控制外設(shè)集成到一個芯片上,這樣便能以快速的DSP內(nèi)核作為計算引擎,加上片內(nèi)的A/D模塊提高了電機控制帶寬,并且允許低成本實現(xiàn)更加復(fù)雜垢控制和無傳感器的算法,因此能控制交流感應(yīng)電動機、無刷直流電動機和開關(guān)磁阻電機,需不需要速度或位置傳感器,甚至特殊的電流傳感方式。這些計算能力和優(yōu)化的外設(shè)使它很容易的完成更多的功能,如功率因數(shù)的校正;在不增加控制器成本的情況下,滿足某些特殊應(yīng)用的要求,如洗衣機的平衡控制。
新經(jīng)濟將我們帶進一個全數(shù)字的世界,更多的數(shù)字信息將要涌入家庭,如網(wǎng)絡(luò)冰箱就是量例。嵌入式DSP使控制器甚至是電器之間建立通信成為易事。最新的嵌入式DSP帶調(diào)試用的JTAG和為家庭網(wǎng)絡(luò)控制用的CAN總線。DSP計算引擎將與更先進的外設(shè)集成,提供一種單片解決方案。因此優(yōu)化的外設(shè)是可編程的,并且處于軟件的實時控制之下,所以嵌入式DSP可提供更加靈活多樣的控制特征,且易于升級。
本文將從嵌入式DSP電機控制芯片的基本特征開始,介紹一下基于DSP的磁場定向控制和擴展卡爾曼濾波算法。
二、嵌入式DSP電機控制芯片
不同的廠商,他們的DSP電機控制芯片在DSP內(nèi)核、外設(shè)、編程語言以及其他半導(dǎo)體技術(shù)中均有不同。先進的DSP內(nèi)核與優(yōu)化的外設(shè)結(jié)合,不僅可用于電機控制,也可以用于通信和其他功率電子控制。由于每個應(yīng)用之間在外設(shè)方面相差很大。為所有的應(yīng)用設(shè)計一個嵌入式的電機控制芯片是不經(jīng)濟的,也是不現(xiàn)實的。通常,都會有一系列產(chǎn)品為不同的應(yīng)用而優(yōu)化。外設(shè)至少應(yīng)包括3~6相16位PWM產(chǎn)生器、多重輔助PWM計數(shù)器、模擬量采集系統(tǒng)、參考電壓、串行通信口、通用I/O口,另外也可以包括編程器接口、CAN總線和JTAG接口、DMA控制器、DPI口等等。
一些嵌入式DSP具有片內(nèi)Flash存儲器,如ADI的DashDSP系列。在產(chǎn)品開發(fā)的不同階段可以很方便地通過PC與DSP的通信來修改軟件,從而方便地進行可重復(fù)編程。Flash存儲器的軟件可以移植到基于ROM的產(chǎn)品來大批量生產(chǎn)。
PWM模塊提供了靈活可編程的多相PWM波形,可用來驅(qū)動交流感應(yīng)電動機、無刷直流電動機或開關(guān)磁阻電動機。輔助PWM輸出可用來提供前端的功率因數(shù)校正或開關(guān)電源控制。另外,通過適當(dāng)?shù)臑V波網(wǎng)絡(luò),也可以用作簡單的A/D轉(zhuǎn)換。
嵌入式DSP電機控制芯片使用單積分式、總和增量式或流水閃速技術(shù)的A/D系統(tǒng)。它的多通道模擬量采樣系統(tǒng)通常有10~12位的分辨率,與不同應(yīng)用所選的不同型號有關(guān)系。
三、采用擴展卡爾曼預(yù)測算法的無刷直流電動機無傳感器控制
相對于交流感應(yīng)電動機,無刷直流電動機由于其特性更接近于有刷直流電動機而具有多方面的優(yōu)勢;同時也由于無刷直流電動機大都采用了永磁轉(zhuǎn)子,具有更高的效率,因此特性適合于家用電器。它本身生來具有旋轉(zhuǎn)平穩(wěn)、噪聲低電機尺寸小等顯著特點,也使使其得到了許多家用電器廠家的青睞,在風(fēng)扇、洗衣機、冰箱及空調(diào)壓縮機中,都開始采用無刷直流盡可能動機。
無刷直流電動機的控制有別于有刷直流電動機或交流感應(yīng)電機,它需要一些位置傳感信息來選擇正確的換流順序,而家電產(chǎn)品對費用的敏感,使得增加傳感部件所帶來的額外費用不受接受,也不切實際;同時容易降低系統(tǒng)的可靠性,而且對于象壓縮機一類密封的無刷直流電動機,安裝位置傳感器是非常不現(xiàn)實的,也是不允許的。在這種情況下,無刷直流電動機的無傳感器控制將被廣泛采用,使之在家電領(lǐng)域鋮為一個熱門話題。[!--empirenews.page--]
有多種算法可以實現(xiàn)無傳感器控制,傳統(tǒng)的方法(過零檢測法)大都采用檢測不導(dǎo)通相反電勢的過零點判斷轉(zhuǎn)子的位置,根據(jù)過零點信息及換相邏輯來選擇最佳的換流順序。這些方法已經(jīng)在許多家電上采用,如直流變頻冰箱及直流變頻空調(diào)。但由于過零檢測法只能檢測一些特定的點,而且隨著電機轉(zhuǎn)速在大范圍內(nèi)變化,反電勢的變頻率也會變化,檢測電路中的濾波器件會帶來一定的相移,這會大大影響檢測過零點的準(zhǔn)確性;同時由于功率器件上續(xù)流二極管的反向電流作用,在大電流情況下也會對過零點的檢測帶來一定的影響。
針對這些問題,采用擴展卡爾曼預(yù)測算法來估算無刷直流電動機轉(zhuǎn)子的瞬時位置與速度信息,為無刷直流電動機無傳感器控制提供了一種較好的解決方法。而且采用美國ADI的嵌入式DSP電機控制器,只需要一片28腳的ADMC328即可很方便地實現(xiàn)該算法。
圖1表示了用擴展卡爾曼預(yù)測算法(簡稱EKE)估算無刷直流電動機轉(zhuǎn)子角度(位置)和速度的原理框圖,圖中虛線框內(nèi)即為一片嵌入式DSP電機控制器,三對電阻網(wǎng)絡(luò)用于測量非導(dǎo)通相的反電勢信號,并將該信號送到嵌入式DSP電機控制器的ADC端。從圖中可看出該方法采用了雙閉環(huán)控制,用EKE算法估算出電機轉(zhuǎn)子速度,對外環(huán)閉環(huán),實現(xiàn)速度環(huán)控制。同時還能估算出轉(zhuǎn)子位置,實現(xiàn)無傳感器換相,而完全不依賴于過零點檢測。在直流母線上可用一個采樣電阻來測量導(dǎo)通相的電流,作為內(nèi)環(huán)反饋以實現(xiàn)電流(力矩)控制。
在DSP中進行遞推處理時,EKE算法便轉(zhuǎn)子速度和位置的估算變成反電勢噪聲輸入,它包括兩步:第一步是用狀態(tài)量和基于前一狀態(tài)量輸出進行預(yù)估算;第二步是完成校正過程,運用反電勢測量數(shù)據(jù)和觀測器模型去優(yōu)化修正前面估算的狀態(tài)量。
要完成EKE算法,首先需建立一個連續(xù)的時域系統(tǒng)模型。在本應(yīng)用中,線性系統(tǒng)模型可用方程(1)描述:
X=Fx+Gu (1)
可將連續(xù)的時域系統(tǒng)模型轉(zhuǎn)換成離散域線性系統(tǒng)模型,通過對連續(xù)的時域系統(tǒng)模型按相當(dāng)于PWM頻率2倍的采樣頻率采樣,得到離散域系統(tǒng)模型:
X(k+1)=φkXk+Γkuk+σk (2)
這里,狀態(tài)向量其中ωk、σk是系統(tǒng)所包含的代表轉(zhuǎn)子速率和角度(位置)的兩維離散狀態(tài)變量;uk是轉(zhuǎn)矩信號,可為確定性輸入;系統(tǒng)隨機干擾(模型噪聲)σk是零均值白色高斯噪聲,定義其協(xié)方差陣為。
在該應(yīng)用中,只有觀測器模型是非線性的,它可描述如下:
Zk=hkXk+Vk (3)
這里hk是一個非線性函數(shù),它應(yīng)該是關(guān)于不導(dǎo)通相的反電勢的最近似的關(guān)系式,涉及轉(zhuǎn)子位置和速度——系統(tǒng)的狀態(tài)變量。測量噪聲是零均值白色高斯噪聲,定義其協(xié)方差陣為Rk。
在EKE中,非線性觀測器模型可在最新狀態(tài)預(yù)測點線性化。非線性函數(shù)如果足夠平滑,可在最新狀態(tài)點上展開成泰勒級數(shù),這就保證了對觀測器模型而言,現(xiàn)有的線性近似是最好的近似,所選取的軌跡也是最新近的軌跡。該函數(shù)的確定,對于EKE算法能否得到正確的預(yù)測起到了關(guān)鍵作用。
用方程(2)對狀態(tài)量進行預(yù)先狀態(tài)估算,通過忽略模型噪聲,然后將預(yù)先估算值加上用卡爾曼增益Kk加權(quán)進行修正的測量殘差來得到預(yù)測值,這可表示如下:
xk=xk+Kk(zk-zk -) (4)
為了在(4)中得到最優(yōu)估計,采用如下卡爾曼增益:
Kk=Pk -HkT(HkT+Rk) -1 (5)[!--empirenews.page--]
整個遞推過程可由圖2所示垢流程圖來描述,顯然對轉(zhuǎn)子速度和角度估算的EKE實際上是一個DSP算法,由DSP把反電勢的離散測量值處理成轉(zhuǎn)子速度和角度的最優(yōu)估算,它可以按線性軌跡進行線性化。遞推過程用最優(yōu)估算值Xk作為x的tk時刻的參考值去預(yù)測(xk+1)-。因此它實際上是一個近似最優(yōu)的濾波器件設(shè)計,常稱為次最優(yōu)濾波。EKE算法的執(zhí)行包含了大量的矩陣運算,它可以用嵌入式DSP電機控制器方便地進行處理