<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式DSP在家電電機(jī)控制器中的應(yīng)用

          嵌入式DSP在家電電機(jī)控制器中的應(yīng)用

          作者: 時(shí)間:2009-05-31 來源:網(wǎng)絡(luò) 收藏

            隨著政府部分對(duì)家電效率及節(jié)約能源的要求,基于逐漸進(jìn)入家電領(lǐng)域。本文闡述了的基本特征和優(yōu)勢,并且就基于的異步電機(jī)磁場定向控制和無刷直流電機(jī)的擴(kuò)展卡爾曼濾波算法進(jìn)行了討論。

            一、概述

            DSP擅長于數(shù)學(xué)運(yùn)算,DSP電機(jī)控制芯片把DSP內(nèi)核與一系列功能強(qiáng)大的控制外設(shè)集成到一個(gè)芯片上,這樣便能以快速的DSP內(nèi)核作為計(jì)算引擎,加上片內(nèi)的A/D模塊提高了電機(jī)控制帶寬,并且允許低成本實(shí)現(xiàn)更加復(fù)雜垢控制和無傳感器的算法,因此能控制交流感應(yīng)電動(dòng)機(jī)、無刷直流電動(dòng)機(jī)和開關(guān)磁阻電機(jī),需不需要速度或位置傳感器,甚至特殊的電流傳感方式。這些計(jì)算能力和優(yōu)化的外設(shè)使它很容易的完成更多的功能,如功率因數(shù)的校正;在不增加控制器成本的情況下,滿足某些特殊應(yīng)用的要求,如洗衣機(jī)的平衡控制。

            新經(jīng)濟(jì)將我們帶進(jìn)一個(gè)全數(shù)字的世界,更多的數(shù)字信息將要涌入家庭,如網(wǎng)絡(luò)冰箱就是量例。DSP使控制器甚至是電器之間建立通信成為易事。最新的嵌入式DSP帶調(diào)試用的JTAG和為家庭網(wǎng)絡(luò)控制用的CAN總線。DSP計(jì)算引擎將與更先進(jìn)的外設(shè)集成,提供一種單片解決方案。因此優(yōu)化的外設(shè)是可編程的,并且處于軟件的實(shí)時(shí)控制之下,所以嵌入式DSP可提供更加靈活多樣的控制特征,且易于升級(jí)。

            本文將從嵌入式DSP電機(jī)控制芯片的基本特征開始,介紹一下基于DSP的磁場定向控制和擴(kuò)展卡爾曼濾波算法。

            二、嵌入式DSP電機(jī)控制芯片

            不同的廠商,他們的DSP電機(jī)控制芯片在DSP內(nèi)核、外設(shè)、編程語言以及其他半導(dǎo)體技術(shù)中均有不同。先進(jìn)的DSP內(nèi)核與優(yōu)化的外設(shè)結(jié)合,不僅可用于電機(jī)控制,也可以用于通信和其他功率電子控制。由于每個(gè)應(yīng)用之間在外設(shè)方面相差很大。為所有的應(yīng)用設(shè)計(jì)一個(gè)嵌入式的電機(jī)控制芯片是不經(jīng)濟(jì)的,也是不現(xiàn)實(shí)的。通常,都會(huì)有一系列產(chǎn)品為不同的應(yīng)用而優(yōu)化。外設(shè)至少應(yīng)包括3~6相16位PWM產(chǎn)生器、多重輔助PWM計(jì)數(shù)器、模擬量采集系統(tǒng)、參考電壓、串行通信口、通用I/O口,另外也可以包括編程器接口、CAN總線和JTAG接口、DMA控制器、DPI口等等。

            一些嵌入式DSP具有片內(nèi)Flash存儲(chǔ)器,如ADI的DashDSP系列。在產(chǎn)品開發(fā)的不同階段可以很方便地通過PC與DSP的通信來修改軟件,從而方便地進(jìn)行可重復(fù)編程。Flash存儲(chǔ)器的軟件可以移植到基于ROM的產(chǎn)品來大批量生產(chǎn)。

            PWM模塊提供了靈活可編程的多相PWM波形,可用來驅(qū)動(dòng)交流感應(yīng)電動(dòng)機(jī)、無刷直流電動(dòng)機(jī)或開關(guān)磁阻電動(dòng)機(jī)。輔助PWM輸出可用來提供前端的功率因數(shù)校正或開關(guān)電源控制。另外,通過適當(dāng)?shù)臑V波網(wǎng)絡(luò),也可以用作簡單的A/D轉(zhuǎn)換。

            嵌入式DSP電機(jī)控制芯片使用單積分式、總和增量式或流水閃速技術(shù)的A/D系統(tǒng)。它的多通道模擬量采樣系統(tǒng)通常有10~12位的分辨率,與不同應(yīng)用所選的不同型號(hào)有關(guān)系。

            三、采用擴(kuò)展卡爾曼預(yù)測算法的無刷直流電動(dòng)機(jī)無傳感器控制

            相對(duì)于交流感應(yīng)電動(dòng)機(jī),無刷直流電動(dòng)機(jī)由于其特性更接近于有刷直流電動(dòng)機(jī)而具有多方面的優(yōu)勢;同時(shí)也由于無刷直流電動(dòng)機(jī)大都采用了永磁轉(zhuǎn)子,具有更高的效率,因此特性適合于家用電器。它本身生來具有旋轉(zhuǎn)平穩(wěn)、噪聲低電機(jī)尺寸小等顯著特點(diǎn),也使使其得到了許多家用電器廠家的青睞,在風(fēng)扇、洗衣機(jī)、冰箱及空調(diào)壓縮機(jī)中,都開始采用無刷直流盡可能動(dòng)機(jī)。

            無刷直流電動(dòng)機(jī)的控制有別于有刷直流電動(dòng)機(jī)或交流感應(yīng)電機(jī),它需要一些位置傳感信息來選擇正確的換流順序,而家電產(chǎn)品對(duì)費(fèi)用的敏感,使得增加傳感部件所帶來的額外費(fèi)用不受接受,也不切實(shí)際;同時(shí)容易降低系統(tǒng)的可靠性,而且對(duì)于象壓縮機(jī)一類密封的無刷直流電動(dòng)機(jī),安裝位置傳感器是非常不現(xiàn)實(shí)的,也是不允許的。在這種情況下,無刷直流電動(dòng)機(jī)的無傳感器控制將被廣泛采用,使之在家電領(lǐng)域鋮為一個(gè)熱門話題。

            有多種算法可以實(shí)現(xiàn)無傳感器控制,傳統(tǒng)的方法(過零檢測法)大都采用檢測不導(dǎo)通相反電勢的過零點(diǎn)判斷轉(zhuǎn)子的位置,根據(jù)過零點(diǎn)信息及換相邏輯來選擇最佳的換流順序。這些方法已經(jīng)在許多家電上采用,如直流變頻冰箱及直流變頻空調(diào)。但由于過零檢測法只能檢測一些特定的點(diǎn),而且隨著電機(jī)轉(zhuǎn)速在大范圍內(nèi)變化,反電勢的變頻率也會(huì)變化,檢測電路中的濾波器件會(huì)帶來一定的相移,這會(huì)大大影響檢測過零點(diǎn)的準(zhǔn)確性;同時(shí)由于功率器件上續(xù)流二極管的反向電流作用,在大電流情況下也會(huì)對(duì)過零點(diǎn)的檢測帶來一定的影響。

            針對(duì)這些問題,采用擴(kuò)展卡爾曼預(yù)測算法來估算無刷直流電動(dòng)機(jī)轉(zhuǎn)子的瞬時(shí)位置與速度信息,為無刷直流電動(dòng)機(jī)無傳感器控制提供了一種較好的解決方法。而且采用美國ADI的嵌入式DSP,只需要一片28腳的ADMC328即可很方便地實(shí)現(xiàn)該算法。

          用擴(kuò)展卡爾曼預(yù)測算法

            圖1表示了用擴(kuò)展卡爾曼預(yù)測算法(簡稱EKE)估算無刷直流電動(dòng)機(jī)轉(zhuǎn)子角度(位置)和速度的原理框圖,圖中虛線框內(nèi)即為一片嵌入式DSP,三對(duì)電阻網(wǎng)絡(luò)用于測量非導(dǎo)通相的反電勢信號(hào),并將該信號(hào)送到嵌入式DSP電機(jī)控制器的ADC端。從圖中可看出該方法采用了雙閉環(huán)控制,用EKE算法估算出電機(jī)轉(zhuǎn)子速度,對(duì)外環(huán)閉環(huán),實(shí)現(xiàn)速度環(huán)控制。同時(shí)還能估算出轉(zhuǎn)子位置,實(shí)現(xiàn)無傳感器換相,而完全不依賴于過零點(diǎn)檢測。在直流母線上可用一個(gè)采樣電阻來測量導(dǎo)通相的電流,作為內(nèi)環(huán)反饋以實(shí)現(xiàn)電流(力矩)控制。

            在DSP中進(jìn)行遞推處理時(shí),EKE算法便轉(zhuǎn)子速度和位置的估算變成反電勢噪聲輸入,它包括兩步:第一步是用狀態(tài)量和基于前一狀態(tài)量輸出進(jìn)行預(yù)估算;第二步是完成校正過程,運(yùn)用反電勢測量數(shù)據(jù)和觀測器模型去優(yōu)化修正前面估算的狀態(tài)量。

            要完成EKE算法,首先需建立一個(gè)連續(xù)的時(shí)域系統(tǒng)模型。在本應(yīng)用中,線性系統(tǒng)模型可用方程(1)描述:

            X=Fx+Gu(1)

            可將連續(xù)的時(shí)域系統(tǒng)模型轉(zhuǎn)換成離散域線性系統(tǒng)模型,通過對(duì)連續(xù)的時(shí)域系統(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)矩信號(hào),可為確定性輸入;系統(tǒng)隨機(jī)干擾(模型噪聲)σk是零均值白色高斯噪聲,定義其協(xié)方差陣為。

            在該應(yīng)用中,只有觀測器模型是非線性的,它可描述如下:

            Zk=hkXk+Vk (3)

            這里hk是一個(gè)非線性函數(shù),它應(yīng)該是關(guān)于不導(dǎo)通相的反電勢的最近似的關(guān)系式,涉及轉(zhuǎn)子位置和速度——系統(tǒng)的狀態(tài)變量。測量噪聲是零均值白色高斯噪聲,定義其協(xié)方差陣為Rk。

            在EKE中,非線性觀測器模型可在最新狀態(tài)預(yù)測點(diǎn)線性化。非線性函數(shù)如果足夠平滑,可在最新狀態(tài)點(diǎn)上展開成泰勒級(jí)數(shù),這就保證了對(duì)觀測器模型而言,現(xiàn)有的線性近似是最好的近似,所選取的軌跡也是最新近的軌跡。該函數(shù)的確定,對(duì)于EKE算法能否得到正確的預(yù)測起到了關(guān)鍵作用。

            用方程(2)對(duì)狀態(tài)量進(jìn)行預(yù)先狀態(tài)估算,通過忽略模型噪聲,然后將預(yù)先估算值加上用卡爾曼增益Kk加權(quán)進(jìn)行修正的測量殘差來得到預(yù)測值,這可表示如下:

            xk=xk+Kk(zk-zk -)(4)

            為了在(4)中得到最優(yōu)估計(jì),采用如下卡爾曼增益:

            Kk=Pk -HkT(HkT+Rk) -1(5)

          流程圖

            整個(gè)遞推過程可由圖2所示垢流程圖來描述,顯然對(duì)轉(zhuǎn)子速度和角度估算的EKE實(shí)際上是一個(gè)DSP算法,由DSP把反電勢的離散測量值處理成轉(zhuǎn)子速度和角度的最優(yōu)估算,它可以按線性軌跡進(jìn)行線性化。遞推過程用最優(yōu)估算值Xk作為x的tk時(shí)刻的參考值去預(yù)測(xk+1)-。因此它實(shí)際上是一個(gè)近似最優(yōu)的濾波器件設(shè)計(jì),常稱為次最優(yōu)濾波。EKE算法的執(zhí)行包含了大量的矩陣運(yùn)算,它可以用嵌入式DSP電機(jī)控制器方便地進(jìn)行處理。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: 嵌入式 DSP 電機(jī)控制器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();