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