4. 電腦程式模擬
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,共有三個以計時器觸發的定時中斷,與一個由外部觸發的不定時中斷。
透過RS232的與電腦之間資料傳遞是在背景程式中進行,DSP接收資料時,
該不定時中斷會被觸發。
兩個頻率為20 kHz定時中斷的其中之一負責讀取A/D轉換器的轉換結 果;另一個20 kHz定時中斷的服務常式流程圖如圖5.3,負責執行無感測轉子 角度估測演算法、根據速度控制器的輸出結果產生各相電流命令以及電流控 制器的運算,並利用電流控制器的輸出產生PWM開關控制訊號。在此中斷 服務常式中可選擇使用霍爾感測器訊號或以無感測的方式所產生的正規化反 抗電流勢波形調變相電流命令。
第三個定時中斷的頻率為2 kHz,服務常式流程圖如圖5.4所示,負責以 霍爾感測器訊號計算轉速,若為定位控制模式,還需計算轉子的累計旋轉角 度。若在速度控制模式下,可選擇以霍爾感測器訊號所得到的轉速或無感測 轉速估測的結果做為速度回授。當馬達轉速穩定後,提升馬達運轉效率的演 算法亦包含在此服務常式中。
Background Process Communication Function
LED Display Function ISR c_int2( )
PWM Synchronization Rotor Position Estimation
Current Control
ISR c_int8( ) Rotor Speed Estimation
Speed Control Position Control Efficiency Upgrading
ISR c_int5( ) Receive RS232 Package
Periodic Interrupt (20 kHz)
Periodic Interrupt (2 kHz)
Aperiodic Interrupt ISR c_int1( )
A/D Converter External Signal Sampling
Periodic Interrupt (20kHz)
圖5.2 DSP 程式的中斷配置
PWM duty ratio limitation
Servo ready?
Disable PWM output PWM output
no yes
RET Sensorless rotor
position estimation Sensorless rotor position estimation
ISR-2
Clear interrupt flags
Reset watchdog timer
Read Hall signals and currents from A/D converter Read Hall signals and
currents from A/D converter
Hall signal or sensorless selection
vector control command modulation
vector control command modulation
Phase current controllers Phase current
controllers
圖5.3 內迴路控制之程式流程圖
Output current peak value command
Speed controller Speed controller
Sensorless speed estimation Sensorless speed
estimation Position control?
no
yes
Efficiency upgrading Efficiency upgrading
ISR-8
RET Speed calculation using Hall signals Speed calculation using Hall signals
Speed_Hall or Speed_est selection
Record data for communication
Position controller Position controller
Sensorless speed control?
no
yes Rotation angle
accumulation Rotation angle accumulation
Output for sensorless position estimation
'
KE
Output for sensorless position estimation
'
KE
圖5.4 外迴路控制之程式流程圖
5.3 實測波形比較
系統硬體圖5.5、圖5.6及圖5.7為永磁同步馬達伺服控制系統的發展平 台,主要包括了一個4極的弦波型永磁同步馬達(圖5.7)、功率級電路、訊號 偵測與回授電路、定點數運算的DSP(德州儀器,TMS320LF2407A)、與一台 個人電腦。馬達的參數值如表5.1所示。DSP做為控制系統之核心,負責讀取 外部訊號、各項控制機制以及無感測轉子角度與速度估測。功率級電路採用 ST公司的L6234晶片,負責依DSP的PWM開關控制訊號驅動馬達運轉。訊號 偵測與回授電路將馬達的電流訊號與霍爾感測器訊號經過放大和濾波後接到 DSP的數位類比轉換器(A/D converter)。透過RS-232的介面與DSP連結,可在 個人電腦利用WinDSP軟體觀察與調整DSP程式的所有參數與數據。
電腦串聯介面 (RS-232/RS485)
CN3CN1CN2
AC SERVO MOTOR
功率板
控制板
Encoder CN4
外部控制訊號
交流伺服馬達
光電編碼器
光電編碼器