3. 發展交流變頻壓縮機驅動器 PAM 控制法
3.5 控制器設計
目前控制器使用的PWM控制方法,屬於電壓控制電流模式,然而馬達本 身即為一個大型電感性負載,所以電流與電壓之間存在有一個相位落後關 係,所以在控制過程中控制命令與輸出電流間存在一個固定相位落後角,如 圖3.9所示。
θe
ia
ib
ic
fa
fb
fc
0
0 0
Te
f
α
0° 60° 120° 180° 240° 300° 360° θe
ia
ib
ic
fa
fb
fc
0
0 0
Te
f
α
0° 60° 120° 180° 240° 300° 360°
圖3.9 相位命令與三相電流相位關係
因為電流響應的落後,導致反抗電動勢與響應電流間存在一個相位差,
降低輸出功率,減少馬達工作效率。冷凍機的壓縮馬達運作時間長久,其工 作效率為最大考量,所以為了改善電流響應的品質,將做電流閉迴路控制圖 3.10,獲得更佳的電流響應。
Inverter PMSM DC
AC
+ Current _
Controller PWM Signal
Generator
電流控制器最簡單的形式之一為比例積分控制器(PI controller),使用靜 止三軸轉同步旋轉二軸的磁場導向向量控制,電流控制器所控制的是直流
其中的反抗電動勢為轉子角度的函數,振幅與馬達轉速成正比,可將其表示
[ ]
將(3-27)三式相加並根據(3-29),經過一些運算後可推導得轉子角度變化量為1 1 1 Flux Linkage
Increments Calculation
Rotor Position Increment
(Internal Closed-Loop Correction)
圖3.11 無感測轉子角度估測演算法方塊圖
4. 電腦程式模擬
4.1 P SIM 模擬驗證演算法
為了測試向量控制演算法之可行性,使用Psim軟體進行電路驗證。Psim 軟體可透過DLL檔設定,連結Visual C++軟體,成功以C語言代替DSP數位控 制器完成數位演算法計算,並將結果輸出控制PWM Modual,驗證向量控制 演算法。
利 用 速 度 感 測 器 、 積 分 器 及 取 商 數 函 數 可 得 到 週 期 電 氣 角 度
o o ~360
=0
θe ,如圖 4.1,並將電氣角度代入向量控制演算器,得到三相磁通 命令訊號,如圖4.2。
速度量 測器
積分器 取商數
圖4.1 PMSM Model 及角度估測器
0 50 100 150 200 250 300 350 400 -1
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
fa fb fc
圖4.2 a-b-c座標系三相電壓相位命令
結合訊號比較器,如圖 4.3,控制 PWM 輸出六個開關訊號,成功啟動 並定速控制永磁同步馬達,圖 4.4 為六組開關及其控制訊號與 PMSM 之連 結;圖4.5 為馬達成功啟動,並最終定速在 2500 rpm。
向量控制演算器
向量控制演算器
圖4.3 無感測轉子角度估測演算法方塊圖
圖4.4
六組開關及其控制訊號與PMSM之連結圖4.5
馬達成功啟動,並最終定速在2500 rpm除了定速控制之外,同時針對正反轉速度變化進行模擬驗證,圖4.6為磁 通命令訊號由正到負,對應速度由正2500 rpm到負方向2500 rpm。圖4.7為正 反轉控制時三相電流變化比較,圖4.8為正反轉控制時可見Idc在啟動及馬達 轉子反轉時皆電流變大,可預測此兩階段皆需要較大扭力及加速度。
圖4.6 向量控制正反轉控制
圖4.7 向量控制正反轉控制,三相電流變化
與上述同理,透過 DLL 檔設定,代入馬達參數後可進行無感測演算法 模擬,取代原先藉由速度感測器而取得位置座標,將角度估測後的電氣角θe 代入向量控制演算器進行速度控制,圖 4.9 為加入無感測估測後進行定速控 制,速度命令為2500 rpm。
圖4.9 無感測演算法控制
4.2 非理想因素考量
取樣頻率
在數位控制器操作下,首先面臨問題就是數位控制器的訊號控制並非連 續,所以即使是用向量控制法控制弦波電流,也面臨到取樣頻率該取多少的 問題,取樣頻率大的話就會減少每週期的運算時間,也因開關切換次數上升 導致散逸功率增加;但是取樣頻率取得過小將導致電流連波上升,電流控制 頻寬降低,造成系統響應變差。
定子電感誤差
除此之外還有來自馬達參數誤差造成無感測演算法角度估測誤差;假設 實際的定子電感Ls與標稱值Lˆs的關係為
s ˆs s
L =L + ΔL (4-1)
其中的ΔLs代表標稱定子線圈電阻的誤差。根據上式所得到磁通鏈增量為
( )
(degree) θerr
αL
圖4.10 標稱定子線圈電感誤差對應的電壓降峰值與反抗電動勢峰值之比對轉子角 度估測誤差的關係曲線圖
圖4.11 標稱定子線圈電感誤差所對應的電壓降峰值為反抗電動勢峰值的 20%時對 轉子角度估測的影響
馬達端電壓或線電流感
馬達端電壓或線電流的回授因感測器的非理想因素可能產生包括直流偏 移誤差、增益誤差與相位落後等靜態誤差。假設馬達端電壓的回授訊號三相
同時有一相同大小的直流偏移誤差Voffset: ˆ ˆ ˆ
an an offset
bn bn offset
cn cn offset
v v V
v v V
v v V
⎡ + ⎤
⎡ ⎤ ⎢ ⎥
⎢ ⎥ =⎢ + ⎥
⎢ ⎥ ⎢ ⎥
⎢ ⎥ +
⎣ ⎦ ⎣ ⎦ (4-5)
將上式代入(4-30)可得到轉子角度變化量的估測結果為
(
1 1 1)
ˆ 2 sin( 30 ) ( )ˆ ( )ˆ ( )ˆ 0.75
sin(30 )
offset est
e err a e b e c e
E
e err
PT V
E e e e
θ K θ θ θ θ
θ θ
⎡ ⎤
Δ = ⋅⎢ + ° + ⋅ + + ⎥
⎣ ⎦
= Δ ⋅ ° + (4-6)
電流回授三相訊號同時有一相同大小直流偏移誤差對估測結果的影響,
推導方式與上式類似。由(4-6)可知,若馬達端電壓或電流三相同時有相同大 小的直流偏移誤差,對估測的結果不會造成影響。圖 4.12 為感測電壓有直流 偏移誤差時轉子角度估測的模擬,圖中顯示,即時三相有等量的的直流偏移 誤差,轉子角度估測誤差仍維持不變。
圖4.12 三相電壓回授訊號有直流偏移誤差對轉子角度估測的影響
計算。假設正確的對應於反抗電動勢的磁通鏈增量Δψa、Δψb與Δψc與計算
圖4.13 磁通鏈增量的相位誤差對估測結果的影響
5. DSP程式設計
5.1 DSP2407A簡介
本 實 驗 系 統 所 採 用 之 控 制 電 路 為 以 DSP(TMS320LF2407A)為核心之 VP2407AEVM 數位控制板,實體電路如圖 5.1 所示,此控制板為旺宏科技所 自行開發之控制板。德州儀器公司(Texas Instrument)所生產之單晶片數位訊 號處理器 TMS320LF2407A 的核心處理單元,其中除了加入程式記憶體及資 料記憶體以簡化使用者設計電路外,本身亦含有許多周邊功能,如事件管理 模組、類比/數位轉換模組、數位/類比轉換模組、串列通訊介面模組、串列 周邊介面模組、鎖相迴路模組編碼器四倍頻電路、看門狗計時器…等。
其中,事件管理模組、類比/數位轉換器模組及編碼器四倍頻電路更是針 對電力電子相關用途所特別設計,以事件管理模組為例,脈寬調變波輸出方 式有三種可供選擇設定,在應用時提供較大之彈性空間。
在撰寫程式方面,因為 TMS320LF2407A 有 C 語言的編譯器,因此除了 使用組合語言撰寫程式外,亦可以使用 C 語言來撰寫程式。透過以 C 語言為 基礎的軟體發展環境,可將複雜的組合語言控制程式以 C 語言撰寫與編譯,
除可減少程式發展時間及增加程式維護性及可讀性外,也使得程式的偵錯更 容易,唯使用 C 語言時需特別注意系統的執行時間是否夠用,因為經由編譯 器將 C 語言程式編譯成組合語言程式,再組譯成機器語言時,效率將比直接 撰寫組合語言再經由組譯成機器語言效率較差,這也是使用 C 語言時所需注 意到的地方。最後,再將組譯後的程式(*.out)經由 DSP Emulator(XDS-510PP)或 WinDSP 軟體下載至數位控制板來執行即可。
圖5.1 VP2407AEVM 的實體圖
5.2 程式實現無感測
5.2.1 以定點DSP實現整數運算
由 於 本 實 驗 所 採 用 之 控 制 單 元 為 單 晶 片 數 位 控 制 器 , 而 TMS320LF2407A 為一定點(fixed-point)16 位元之數位控制器,而在設計控制 器參數時常常都含有小數成分,因而數值與數值間運算上的精度會受到硬體 內部字元長度之限制,在撰寫程式時需考量數值處理問題,必須運用其他方 法以求有效提高運算精度。類比/數位轉換之解析度選擇亦為程式撰寫所需注 意的地方,以下針對常見的問題作說明。
Q 格式尺規化
一般微處理器的基本運算(加減乘除)都是以二進位整數來完成,數值 表 示 式 部 分 , 通 常 以 2 補 數 描 述 式 為 基 礎 , 以 定 點 16 位 元 之 TMS320LF2407A 為例,包含一個符號位元及 15 個有效位元,能表示之數值 範圍為-32768~+32768。若要執行小數運算,則需以定點數 2 補數表示式為
元所組成,此種表示式稱為Q 格式表示法。
選擇適當之 Q 格式表示法,就可以把數值依據所需要的精度作適當的轉 換,使定點 DSP 也能處理高精度之浮點數。假想小數點位於一個數字之第 8 位數與第9 位數之間,則下列數字代表了 2.625
0 0000010 10100000 符號位元 整數部分← . →小數部分
此即為 Q8 格式,其所能表示的範圍為-128(1000 0000 0000 0000)~
+127.996 ( 0111 1111 1111 1111 ) 之 間 , 有 效 精 確 度 為 0.004 (1256或 28
1 )。
以Q15 格式為例,其轉換方式如下:
1. 先確定準備轉換之十進制數值 N,是在 Q15 格式的數值範圍之間,亦 即
999997 .
0 000000
.
1 ≤ ≤+
− N
2. 把數值 N 乘以 215,亦即N =N×215 =N×32768 3. 把步驟 2 的結果加 216,亦即N =N+216 =N+65536
4. 把步驟 3 的結果轉換為 16 進制,並將第 17 位元捨棄掉,所得結果即 為N 的 Q15 轉換值。
以整數運算實現乘法與除法
在某些 DSP 演算法中,必須將存在或是即將進入累加器中的資料倍率 化。在適應(adaptation)或其他的演算法中,經常需要計算及使用修正因子 (correction factor)或對某些結果作正規化處理。而移位方式可分為邏輯移位及 算術移位兩種;邏輯移位是將移位之後所空下來最左邊的最高位元補 0;算 術移位則將最左邊的符號位元保持不變,即原來 1 則仍為 1,原來 0 則保持 為0。
減法之實現方法多以 2 補數完成,在此不加以詳談。而要以整數運算的
方式實現分數或小數的乘法,必需利用移位的方式達成,亦即將分數或小數 化先化成分數後,再將分母調整成以 2 為倍數,除配合硬體架構取位元數 外,並求盡量減少誤差,舉例如下
16 10
6 2
2 27 2
27 64
42 27 .
0 ≈ ⋅ = ⋅ = ⋅ ⋅
⋅ X X X
X (5-1)
即先將數值乘上 27,再將乘積左移十位元,最後將最前面 16 位元作為計算 結果,因為 TMS320F240 的硬體結構會將乘積結果放在一 32 位元的 P 暫存 器中,而左移 10 個位元相當於乘上 210,而取前面 16 個位元則相當於除 216 的動作。由於為近似值,因此可得誤差大小為
001875 .
64 0 42 27 .
0 − =− (5-2)
關於除法部分,由於除法所需時間較長,若考慮程式執行的速度,可將 除法的計算先化為小數或分數乘法的形式,舉例如下
64 42 27
. 0 38
.
2 ≈ ⋅ ≈ ⋅
÷ X X
X (5-3)
關於符號及溢位的問題,在組合語言的程式運算中,數字部分均是以有 號數的形式來表示,因此在乘法運算中,無論是整數或小數的運算,均較不 會有問題產生。但在作移位動作時,就需特別注意累加器對部分位元作補 0 或補1 的動作,因此必須特別對數值作處理以免產生計算上的誤差。
5.2.2 DSP程式實踐演算法
DSP程式中的工作主要是在各個中斷服務常式中執行,中斷的配置如圖 5.2,共有三個以計時器觸發的定時中斷,與一個由外部觸發的不定時中斷。
DSP程式中的工作主要是在各個中斷服務常式中執行,中斷的配置如圖 5.2,共有三個以計時器觸發的定時中斷,與一個由外部觸發的不定時中斷。