全速域無位置傳感器控制:高頻方波注入與滑模觀測(cè)器加權(quán)切換策略)
1. 從零速到高速為什么單一控制策略搞不定全速域搞電機(jī)控制的人都有一個(gè)共識(shí)永磁同步電機(jī)PMSM的矢量控制在低速和高速下面對(duì)的問題完全不是一回事。高速段反電動(dòng)勢(shì)足夠大用滑模觀測(cè)器SMO估算轉(zhuǎn)子位置和轉(zhuǎn)速精度和動(dòng)態(tài)響應(yīng)都能讓人滿意可一旦轉(zhuǎn)速掉到額定值的百分之幾甚至零速附近反電動(dòng)勢(shì)小到幾乎淹沒在噪聲里SMO的估算精度就會(huì)急劇惡化嚴(yán)重時(shí)直接發(fā)散。反過來高頻方波注入法在零速和極低速下能靠凸極效應(yīng)把轉(zhuǎn)子位置“問”出來但到了高速段注入的高頻信號(hào)會(huì)引起額外的轉(zhuǎn)矩脈動(dòng)和鐵耗繼續(xù)用就是給自己找麻煩。所以全速域控制的核心矛盾就一句話低速需要注入高速不需要注入中間怎么平滑過渡。這篇內(nèi)容就是圍繞這個(gè)矛盾展開的我會(huì)把高頻方波注入法、滑模觀測(cè)器法、以及兩者之間的加權(quán)切換策略從原理到Simulink仿真的落地細(xì)節(jié)全部拆開講一遍。適合正在做PMSM無位置傳感器控制仿真的同學(xué)也適合已經(jīng)跑通了單一算法、想進(jìn)一步做全速域整合的工程師。先說清楚一個(gè)前提這套方案針對(duì)的是凸極式永磁同步電機(jī)內(nèi)置式IPMSM因?yàn)楦哳l注入法依賴凸極效應(yīng)表貼式電機(jī)SPMSM凸極率接近1注入法基本失效。如果你手頭的電機(jī)是表貼式的后面的注入部分可以直接跳過重點(diǎn)看SMO和切換邏輯。2. 高頻方波注入法零速下怎么把轉(zhuǎn)子位置“問”出來2.1 凸極效應(yīng)是注入法的物理基礎(chǔ)永磁同步電機(jī)的定子電感在d軸和q軸方向上不相等d軸電感Ld通常小于q軸電感Lq內(nèi)置式電機(jī)這個(gè)差異就是凸極效應(yīng)。當(dāng)你在定子繞組上注入一個(gè)高頻電壓信號(hào)時(shí)高頻電流的響應(yīng)幅值會(huì)隨著轉(zhuǎn)子位置的變化而變化——轉(zhuǎn)子d軸對(duì)準(zhǔn)注入方向時(shí)等效電感最小電流響應(yīng)最大對(duì)準(zhǔn)q軸時(shí)反之。通過檢測(cè)高頻電流響應(yīng)的包絡(luò)就能反推出轉(zhuǎn)子位置。這個(gè)原理說起來簡(jiǎn)單但實(shí)際操作中有幾個(gè)關(guān)鍵點(diǎn)容易翻車。第一注入頻率的選擇。頻率太低會(huì)和基波電流混在一起濾波器根本分不開頻率太高開關(guān)頻率跟不上PWM分辨率不夠。一般注入頻率取開關(guān)頻率的1/4到1/2比如開關(guān)頻率10kHz注入頻率取2.5kHz到5kHz比較合適。第二注入幅值的選擇。幅值太小電流響應(yīng)信噪比不夠幅值太大會(huì)引起明顯的轉(zhuǎn)矩脈動(dòng)和噪聲。通常注入電壓幅值取額定電壓的10%到20%具體要看電機(jī)的凸極率和額定電流。2.2 方波注入和正弦波注入的區(qū)別在哪高頻注入按波形分常見的有旋轉(zhuǎn)正弦電壓注入、脈振正弦電壓注入和方波注入。早期文獻(xiàn)里正弦注入居多但這幾年方波注入越來越受歡迎原因很直接方波注入不需要低通濾波器。正弦注入的解調(diào)過程需要用到低通濾波器來提取高頻電流的包絡(luò)而低通濾波器會(huì)引入相位延遲在閉環(huán)控制里這個(gè)延遲會(huì)壓縮帶寬影響動(dòng)態(tài)性能。方波注入則不同它在一個(gè)PWM周期內(nèi)正負(fù)交替注入高頻電流的響應(yīng)直接體現(xiàn)在相鄰周期的電流差值上通過簡(jiǎn)單的加減運(yùn)算就能解調(diào)出位置信息省掉了濾波器動(dòng)態(tài)響應(yīng)快了一個(gè)檔次。具體實(shí)現(xiàn)上方波注入通常是在d軸估算的d軸上注入正負(fù)交替的電壓脈沖。假設(shè)注入周期為兩個(gè)PWM周期第一個(gè)周期注入Vinj第二個(gè)周期注入-Vinj那么兩個(gè)周期的高頻電流響應(yīng)之差就正比于轉(zhuǎn)子位置誤差的正弦值。當(dāng)估算位置和實(shí)際位置一致時(shí)這個(gè)差值為零有偏差時(shí)差值符號(hào)和大小就反映了偏差的方向和程度。2.3 Simulink里搭方波注入的實(shí)操細(xì)節(jié)在Simulink里實(shí)現(xiàn)方波注入核心模塊包括注入信號(hào)發(fā)生器、電流采樣與解調(diào)、位置誤差提取、鎖相環(huán)PLL或反正切計(jì)算。注入信號(hào)發(fā)生器可以用一個(gè)Pulse Generator配合增益模塊實(shí)現(xiàn)周期設(shè)為2個(gè)PWM周期幅值設(shè)為Vinj。注意這個(gè)注入信號(hào)要疊加在d軸電壓指令上而不是直接加在PWM輸出上否則會(huì)干擾電流環(huán)的正常工作。電流解調(diào)部分需要在每個(gè)PWM周期采樣三相電流做Clarke和Park變換。這里有個(gè)坑Park變換用的角度是估算角度不是實(shí)際角度實(shí)際角度在仿真里你知道但在實(shí)際系統(tǒng)中不知道。變換后的高頻電流分量通過相鄰周期的差值運(yùn)算提取出來。具體來說如果第k個(gè)周期注入Vinj第k1個(gè)周期注入-Vinj那么Δiq iq(k1) - iq(k)就包含了位置誤差信息。位置誤差提取的公式推導(dǎo)這里不展開直接給結(jié)論位置誤差ε正比于Δiq經(jīng)過一個(gè)PI調(diào)節(jié)器后得到轉(zhuǎn)速估算值再積分得到位置估算值。這個(gè)PI調(diào)節(jié)器的帶寬要設(shè)得比電流環(huán)低一般取電流環(huán)帶寬的1/5到1/10否則會(huì)引入振蕩。注意方波注入的電流采樣時(shí)刻非常關(guān)鍵。必須在PWM周期的中點(diǎn)采樣避開開關(guān)瞬間的電流尖峰否則解調(diào)出來的信號(hào)全是噪聲。仿真里可以用Zero-Order Hold模塊模擬采樣保持采樣時(shí)間設(shè)為PWM周期的一半。3. 滑模觀測(cè)器法SMO中高速段的估算主力3.1 SMO的核心思想用不連續(xù)控制逼出反電動(dòng)勢(shì)滑模觀測(cè)器的本質(zhì)是一個(gè)狀態(tài)觀測(cè)器它通過一個(gè)不連續(xù)的控制項(xiàng)通常是符號(hào)函數(shù)sign強(qiáng)迫估算電流跟蹤實(shí)際電流。當(dāng)系統(tǒng)進(jìn)入滑模面后估算電流和實(shí)際電流的誤差趨近于零此時(shí)不連續(xù)控制項(xiàng)中包含了反電動(dòng)勢(shì)的信息。反電動(dòng)勢(shì)里就藏著轉(zhuǎn)子位置和轉(zhuǎn)速提取出來就完成了估算。SMO的數(shù)學(xué)表達(dá)很簡(jiǎn)潔。在αβ坐標(biāo)系下電流狀態(tài)方程里包含反電動(dòng)勢(shì)項(xiàng)eα和eβ。構(gòu)造滑模面s ?s - is估算電流減實(shí)際電流設(shè)計(jì)控制律u k * sign(s)當(dāng)k足夠大時(shí)s會(huì)在有限時(shí)間內(nèi)收斂到零。此時(shí)等效控制量ueq eα或eβ也就是反電動(dòng)勢(shì)。但這里有個(gè)問題sign函數(shù)是不連續(xù)的直接用它做控制會(huì)引起抖振。實(shí)際實(shí)現(xiàn)中通常用飽和函數(shù)sat(s/φ)或者Sigmoid函數(shù)代替signφ是邊界層厚度。邊界層越厚抖振越小但估算精度會(huì)下降邊界層越薄精度高但抖振大。這個(gè)權(quán)衡需要根據(jù)實(shí)際系統(tǒng)的噪聲水平來調(diào)。3.2 反電動(dòng)勢(shì)提取與位置解算的工程化處理從滑??刂祈?xiàng)中提取反電動(dòng)勢(shì)最直接的方法是用低通濾波器。但低通濾波器會(huì)引入相位延遲導(dǎo)致估算角度滯后于實(shí)際角度。補(bǔ)償?shù)姆椒ㄓ袃煞N一種是基于轉(zhuǎn)速的相位補(bǔ)償根據(jù)濾波器截止頻率和當(dāng)前轉(zhuǎn)速計(jì)算出滯后角度直接加到估算角度上另一種是用鎖相環(huán)PLL替代反正切計(jì)算PLL本身對(duì)相位誤差有積分作用能自動(dòng)跟蹤。我在仿真里更傾向于用PLL因?yàn)镻LL的輸出轉(zhuǎn)速和位置是解耦的調(diào)參更直觀。PLL的結(jié)構(gòu)就是一個(gè)PI調(diào)節(jié)器加一個(gè)積分器輸入是位置誤差由反電動(dòng)勢(shì)的叉乘得到輸出是轉(zhuǎn)速積分后得到位置。PI參數(shù)的設(shè)計(jì)可以參考二階系統(tǒng)的阻尼比和自然頻率一般取阻尼比0.707自然頻率取基波頻率的1/10到1/5。實(shí)操心得SMO在低速段失效的根本原因是反電動(dòng)勢(shì)幅值太小信噪比不夠。如果你非要在低速段用SMO可以嘗試提高滑模增益k但k太大會(huì)導(dǎo)致抖振加劇甚至引起系統(tǒng)不穩(wěn)定。所以低速段還是老老實(shí)實(shí)用注入法。3.3 SMO在Simulink中的模塊搭建與參數(shù)調(diào)試Simulink里搭SMO核心模塊包括電流觀測(cè)器、滑??刂祈?xiàng)、反電動(dòng)勢(shì)濾波、PLL。電流觀測(cè)器就是一個(gè)積分器加反饋輸入是電壓指令和反電動(dòng)勢(shì)估算值輸出是估算電流?;?刂祈?xiàng)用Saturation模塊實(shí)現(xiàn)飽和函數(shù)邊界層厚度設(shè)為額定電流的5%到10%。反電動(dòng)勢(shì)濾波用一階低通濾波器截止頻率設(shè)為基波頻率的2到3倍。比如電機(jī)額定頻率50Hz截止頻率取100到150Hz。截止頻率太低動(dòng)態(tài)響應(yīng)慢太高濾波效果差抖振會(huì)串到PLL里。PLL的PI參數(shù)我一般先按理論算一個(gè)初值然后在仿真里微調(diào)。具體做法是給一個(gè)階躍轉(zhuǎn)速指令觀察估算轉(zhuǎn)速的響應(yīng)如果超調(diào)太大就減小Kp如果響應(yīng)太慢就增大Kp。Ki的作用是消除穩(wěn)態(tài)誤差一般取Kp的1/10到1/5。4. 加權(quán)切換策略讓兩種方法在過渡區(qū)和平共處4.1 切換點(diǎn)的選擇不是拍腦袋決定的全速域控制的關(guān)鍵在于切換點(diǎn)的選擇。切換點(diǎn)選得太低SMO還沒進(jìn)入可靠工作區(qū)就被切進(jìn)來了估算精度差選得太高注入法在高速段繼續(xù)工作轉(zhuǎn)矩脈動(dòng)和損耗都上去了。一般來說切換點(diǎn)取額定轉(zhuǎn)速的10%到20%比較合適。具體到你的電機(jī)可以做一個(gè)簡(jiǎn)單的測(cè)試固定轉(zhuǎn)速分別用SMO和注入法估算位置對(duì)比估算誤差找到SMO誤差開始小于注入法誤差的那個(gè)轉(zhuǎn)速點(diǎn)就是理論上的最佳切換點(diǎn)。但實(shí)際系統(tǒng)中轉(zhuǎn)速是變化的不可能在切換點(diǎn)硬切。硬切會(huì)導(dǎo)致估算角度突變電流環(huán)會(huì)經(jīng)歷一個(gè)沖擊嚴(yán)重時(shí)直接過流保護(hù)。所以需要加權(quán)切換也就是在過渡區(qū)讓兩種方法的估算結(jié)果按權(quán)重混合。4.2 加權(quán)函數(shù)的形狀線性、余弦還是Sigmoid加權(quán)函數(shù)的選擇直接影響過渡區(qū)的平滑程度。最簡(jiǎn)單的線性加權(quán)w (ω - ω1) / (ω2 - ω1)ω1是注入法完全生效的上限ω2是SMO完全生效的下限。線性加權(quán)實(shí)現(xiàn)簡(jiǎn)單但在切換點(diǎn)附近導(dǎo)數(shù)不連續(xù)可能會(huì)引起輕微的轉(zhuǎn)矩波動(dòng)。余弦加權(quán)w 0.5 * (1 - cos(π * (ω - ω1) / (ω2 - ω1)))在切換點(diǎn)處導(dǎo)數(shù)為零過渡更平滑但計(jì)算量稍大。Sigmoid加權(quán)w 1 / (1 exp(-a * (ω - ω0)))a控制過渡陡度ω0是中心點(diǎn)。Sigmoid的好處是過渡區(qū)形狀可調(diào)但參數(shù)a需要根據(jù)實(shí)際系統(tǒng)調(diào)。我在仿真里一般先用線性加權(quán)跑通確認(rèn)邏輯沒問題后再換成余弦加權(quán)優(yōu)化平滑度。線性加權(quán)的代碼實(shí)現(xiàn)最簡(jiǎn)單在Simulink里用一個(gè)Gain加一個(gè)Saturation就能搞定。4.3 加權(quán)切換的Simulink實(shí)現(xiàn)與常見坑加權(quán)切換的Simulink實(shí)現(xiàn)核心是一個(gè)Switch模塊加一個(gè)加權(quán)計(jì)算模塊。Switch模塊根據(jù)轉(zhuǎn)速判斷當(dāng)前處于哪個(gè)區(qū)間低速區(qū)用注入法輸出高速區(qū)用SMO輸出過渡區(qū)用加權(quán)混合輸出。這里有個(gè)坑兩種方法的估算角度可能不在同一個(gè)坐標(biāo)系下。注入法通常輸出的是轉(zhuǎn)子d軸角度SMO輸出的也是d軸角度理論上應(yīng)該一致。但如果注入法的PLL和SMO的PLL參數(shù)不同兩者的動(dòng)態(tài)響應(yīng)會(huì)有差異混合時(shí)可能出現(xiàn)角度跳變。解決辦法是讓兩個(gè)PLL的帶寬盡量接近或者在混合前先做一個(gè)角度歸一化處理。另一個(gè)坑是加權(quán)切換的初始化。仿真開始時(shí)轉(zhuǎn)速為零注入法先工作SMO的PLL可能還沒收斂。如果此時(shí)加權(quán)函數(shù)已經(jīng)給了SMO一個(gè)非零權(quán)重混合出來的角度就是錯(cuò)的。所以需要在SMO的PLL后面加一個(gè)使能邏輯只有當(dāng)SMO的估算誤差小于某個(gè)閾值時(shí)才允許其輸出參與混合。提示加權(quán)切換的過渡區(qū)寬度不宜太窄一般取切換點(diǎn)上下各5%到10%的額定轉(zhuǎn)速。過渡區(qū)太窄加權(quán)函數(shù)變化太劇烈容易引起振蕩太寬兩種方法的缺點(diǎn)都會(huì)在過渡區(qū)暴露出來。5. 仿真跑通之后那些只有踩過才知道的坑5.1 電流環(huán)帶寬與注入頻率的相互制約高頻方波注入的頻率不能隨意選它和電流環(huán)帶寬之間有硬約束。注入頻率必須遠(yuǎn)高于電流環(huán)帶寬否則電流環(huán)會(huì)把注入信號(hào)當(dāng)成擾動(dòng)去抑制導(dǎo)致注入信號(hào)衰減。一般來說注入頻率至少是電流環(huán)帶寬的5倍以上。比如電流環(huán)帶寬1kHz注入頻率至少5kHz。但注入頻率又受限于開關(guān)頻率不能超過開關(guān)頻率的1/2。所以如果開關(guān)頻率是10kHz注入頻率最高5kHz電流環(huán)帶寬就不能超過1kHz。這個(gè)約束在仿真里不明顯但實(shí)際系統(tǒng)中如果忽略注入法直接失效。5.2 參數(shù)失配仿真里看不見的殺手仿真里電機(jī)參數(shù)是固定的但實(shí)際系統(tǒng)中定子電阻隨溫度變化電感隨電流飽和變化永磁體磁鏈隨溫度變化。這些參數(shù)失配會(huì)導(dǎo)致SMO的估算精度下降也會(huì)影響注入法的解調(diào)精度。仿真階段可以做一個(gè)簡(jiǎn)單的敏感性測(cè)試把電機(jī)參數(shù)故意偏置10%到20%觀察估算誤差的變化。如果誤差在可接受范圍內(nèi)說明魯棒性夠如果誤差急劇增大就需要在算法里加參數(shù)自適應(yīng)或者在線辨識(shí)。5.3 負(fù)載突變時(shí)的動(dòng)態(tài)響應(yīng)全速域控制不僅要穩(wěn)態(tài)精度還要?jiǎng)討B(tài)響應(yīng)。負(fù)載突變時(shí)轉(zhuǎn)速會(huì)波動(dòng)切換邏輯要能快速響應(yīng)。如果過渡區(qū)太寬負(fù)載突變導(dǎo)致轉(zhuǎn)速在過渡區(qū)內(nèi)來回穿越加權(quán)函數(shù)頻繁切換估算角度會(huì)抖動(dòng)。解決辦法是在加權(quán)函數(shù)后面加一個(gè)低通濾波器平滑權(quán)重變化但濾波器的截止頻率要設(shè)得足夠高不能影響正常的轉(zhuǎn)速跟蹤。5.4 仿真步長(zhǎng)的選擇Simulink仿真步長(zhǎng)直接影響仿真精度和速度。注入頻率5kHzPWM頻率10kHz仿真步長(zhǎng)至少要是PWM周期的1/10也就是1e-5秒。如果步長(zhǎng)太大注入信號(hào)的細(xì)節(jié)會(huì)被淹沒解調(diào)出來的位置誤差全是噪聲。但步長(zhǎng)太小仿真速度會(huì)非常慢。我的經(jīng)驗(yàn)是先用1e-5秒跑通邏輯確認(rèn)沒問題后再用1e-6秒跑精細(xì)波形做頻譜分析。6. 從仿真到實(shí)物的距離幾點(diǎn)個(gè)人體會(huì)仿真跑通了不代表實(shí)物就能跑。仿真里電流采樣是理想的沒有噪聲沒有延遲實(shí)物里ADC采樣有量化誤差有采樣延遲還有PWM死區(qū)的影響。這些非理想因素在低速段對(duì)注入法的影響尤其大因?yàn)樽⑷胄盘?hào)的幅值本來就小噪聲一淹就什么都剩不下。我的建議是仿真階段就把非理想因素考慮進(jìn)去。電流采樣加一個(gè)量化模塊PWM加死區(qū)補(bǔ)償ADC加一個(gè)采樣延遲。這樣跑出來的結(jié)果更接近實(shí)物后面移植的時(shí)候心里有底。另外加權(quán)切換的代碼在實(shí)物上跑的時(shí)候要注意中斷優(yōu)先級(jí)。注入法的解調(diào)需要在PWM中斷里完成SMO的PLL可以放在慢速任務(wù)里。如果兩者在同一個(gè)中斷里計(jì)算量太大中斷執(zhí)行時(shí)間可能超過PWM周期導(dǎo)致控制失效。合理的做法是把注入法解調(diào)放在高優(yōu)先級(jí)中斷SMO和加權(quán)切換放在低優(yōu)先級(jí)中斷兩者通過全局變量交換數(shù)據(jù)。最后說一個(gè)調(diào)試技巧實(shí)物調(diào)試時(shí)先單獨(dú)跑注入法確認(rèn)零速和低速下能穩(wěn)定估算再單獨(dú)跑SMO確認(rèn)中高速下能穩(wěn)定估算最后再合起來跑加權(quán)切換。不要一上來就全速域一起跑出了問題根本分不清是哪個(gè)環(huán)節(jié)的毛病。分步調(diào)試雖然慢但穩(wěn)。