第四章 線性姿態控制系統設計
4.2 脈衝寬度調變(PWM)的設計
( )
( )
c p
c q
c r
u k k p
u k k q
u k k r
φ φ
θ θ
ψ ψ
φ φ θ θ ψ ψ
= − −
= − −
= − −
4.2 脈衝寬度調變(PWM)的設計
為了配合開關式推力器的使用,必須將連續的控制訊號轉換成對等的開關訊 號,即 0 或 1 的訊號。脈衝寬度調變(pulse width modulation, PWM)是達到這個目 的的方法之一。透過脈衝寬度調變可將輸入連續訊號的大小依比例轉換成脈衝訊 號的寬度,這種方式廣泛的應用於馬達驅動的伺服控制系統。
假設當輸入的連續訊號是一個低頻的弦波,而參考訊號為固定頻率及振福大 小的鋸齒波,將參考訊號與輸入訊號做比較,就可以得到輸出的脈衝訊號,如圖 4.2 所示。如果輸入訊號較大則輸出為 1,否則為 0。如果鋸齒波的週期為 T 則輸 出為 1 的時間TON滿足0≤TON ≤ 。定義導通週期(duty cycle, dc)為T TON
T ,所以導
通週期的範圍為 0%至 100%。
圖 4.2 脈衝寬度調變訊號示意圖
我們修改 PWM 參考訊號在 duty cycle 內的方式。假設脈衝寬度調變的參考 訊號週期為 T,利用週期一開始的輸入連續訊號 (u )和參考訊號 (n umax,n)的比 值,作為 duty cycle 在該週期內的比例,來決定輸出脈衝訊號為 1 的時間,也就 是開關式推力器打開的時間長短。在這邊u 就是線性控制器的輸出訊號,而n umax,n 就是三軸所能產生的最大力矩,即 Mxmax,Mymax及 Mzmax。以滾轉軸為例,假設 時間 t 屬於參考訊號的第 n 個週期,也就是 (n-1)T≤t<nT,則在這個週期的導通 週期為
n
xmax
min( u ,1) dc= Mφ
大致上推力器開的時間和輸入uφn成比例關係,若uφn>Mxmax,則推力器開 的時間為 T,即 dc=100%,如圖 4.3 所示。
圖 4.3 脈衝寬度調變(PWM)訊號示意圖
在使用 PWM 將輸入的連續訊號轉換成脈衝訊號輸出時,參考訊號的週期 T 或是說頻率是一個可以調整的參數,當選擇的頻率過低,姿態推力器開啟或關閉 的時間過多,會造成角度誤差較大,燃料消耗也會較多;相反的當選擇的頻率過 高,噴嘴還未完全打開產生足夠的推力時,卻有可能收到必須關閉的命令。因此
如何選擇適當的 PWM 頻率使的姿態角的誤差在可接受的範圍內,並且由於受到 硬體的限制,選擇的頻率也不可以讓噴嘴的開關頻率太高。
因為 PWM 是將線性控制器的輸出訊號轉換成脈衝訊號,而脈衝訊號透過傅 麗葉級數分析後可知和線性控制器的訊號有關[8],因此我們先觀察線性控制器 的頻率響應,畫出(4.8)式的波德圖如圖 4.4 所示,在波德圖中,頻率響應的大小 為-3(dB)時的頻率ω ≈ 31.4(rad)或 f ≈ 5(Hz),由於線性控制器在這頻率還存在有不 小的控制力,因此我們可以選擇更高頻的 PWM 頻率,保留線性控制器在這頻率 附近控制力提供的貢獻;而在波德圖中,大小約為-20(dB)時的頻率ω ≈ 102(rad) 或 f≈ 16 (Hz),控制力在此頻率後所能提供的貢獻已經很小,如果再選擇更高頻 的 PWM 頻率所能消除的誤差量已經不明顯,反而有可能讓噴嘴出現不能完全開 啟的情況,估計 PWM 的頻率選擇在 16(Hz)附近,也就是線性控制系統頻寬的 3~4 倍將會比較適當。
1 00 1 01 1 02 1 03
- 7 0 - 6 0 - 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0
Magnitude (dB)
System: g
Frequency (rad/sec): 31.4 Magnitude (dB): -2.93
System: g
Frequency (rad/sec): 102 Magnitude (dB): -20.4
Bode Diagram
Frequency (rad/sec)
圖 4.4 線性姿態控制器的頻率響應
這邊用一個簡單的數值模擬來進一步幫助 PWM 頻率的選擇,當假設三組不 同的姿態角命令分別為斜坡、弦波和三角波函數,如圖 4.5 所示。並且選擇不同 的 PWM 頻率為 10、12、15、17、20(Hz),觀察在不同頻率下的角度誤差(取方 均根值)、燃料消耗及噴嘴開啟的情況。模擬結果如表 4.1~表 4.3 所示。
圖 4.5 三組不同的姿態角命令 10 (Hz) 0.1774 0.1418 0.0670 0.0123 12 (Hz) 0.0886 0.0816 0.0491 0.0089 15 (Hz) 0.0418 0.0561 0.0441 0.0066 17 (Hz) 0.0311 0.0501 0.0433 0.0059 20 (Hz) 0.0181 0.0471 0.0428 0.0044
表 4.2 姿態角命令為弦波函數的模擬結果 誤差
頻率 φe (degree) θe (degree) ψe (degree) 燃料消耗 (kg)
8 (Hz) 0.4010 0.2687 0.1586 0.0181 10 (Hz) 0.1752 0.1581 0.0940 0.0124 12 (Hz) 0.0881 0.1058 0.0819 0.0089 15 (Hz) 0.0473 0.0872 0.0772 0.0069 17 (Hz) 0.0353 0.0833 0.0766 0.0059 20 (Hz) 0.0262 0.0812 0.0765 0.0047
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-1 0 1
time (s)
roll (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-18 -16 -14
time (s)
theta (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
18 20 22
time (s)
psi (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-1 0 1
time (s)
roll (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-20 -18 -16
time (s)
theta (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
18 20 22
time (s)
psi (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-1 0 1
time (s)
roll (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-25 -20 -15
time (s)
theta (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
15 20 25
time (s)
psi (degree)
表 4.3 姿態角命令為三角波函數的模擬結果 誤差
頻率 φe (degree) θe (degree) ψe (degree) 燃料消耗 (kg)
8 (Hz) 0.3989 0.2580 0.1451 0.0178 10 (Hz) 0.1397 0.1437 0.0756 0.0113 12 (Hz) 0.0660 0.0834 0.0530 0.0081 15 (Hz) 0.0370 0.0566 0.0459 0.0062 17 (Hz) 0.0286 0.0491 0.0437 0.0055 20 (Hz) 0.0160 0.0467 0.0433 0.0042
到目前為止,從表 4.1~表 4.3 的模擬結果可以發現,當 PWM 頻率在低頻(8Hz) 時,角度誤差很大,需要比較大的控制力來消除誤差,因此噴嘴開啟的時間就會 比較長,燃料也消耗的多。當頻率從 10(Hz)一直增加到 15(Hz),角度誤差部份 有明顯的改善,可是改善的量也隨的頻率的增加持續的遞減,當頻率從 15(Hz) 增加到 20(Hz)時,角度誤差改善的量已經非常的少,可以證明在線性控制器頻率 響應大小在-20(dB)後所提供的控制力已經下降的非常多了。
除了角度誤差這個指標外,另一個幫助我們選擇 PWM 頻率的就是噴嘴開啟 的情況,四個滾轉─偏航軸噴嘴(AB1~AB4)能產生的最大推力為 15.8 牛頓,兩 個俯仰軸噴嘴(AA1、AA2)所能產生的最大推力為 31.6 牛頓,所以透過觀察每個 噴嘴產生推力的情況來判斷噴嘴是否有正常開啟。當 PWM 頻率為 15(Hz)時的噴 嘴大部分的情況下都能正常的開啟產生推力,只有在姿態角命令為三角波這種變 化比較劇烈的狀況下,噴嘴 AB1 和 AB2 才會有部份無法完全開啟的情形,如圖 4.6 中的(b)所示。當頻率為 17(Hz)時,除了在姿態命令為三角波這個角度變化較 大的情況下比較嚴重外,噴嘴開啟情形大致和頻率為 15(Hz)雷同,如圖 4.7 中(b) 所示。當頻率為 20(Hz)時 AB1 和 AB2 兩個噴嘴普遍都只能開一半就必須要關 閉,如圖 4.8 中(b)所示。雖然在ㄧ般情況姿態角是追蹤一個小角度變化的命令,
但是考慮當有雜訊或其他較大的干擾造成姿態角度較劇烈變化的情形,所以我們 可以選擇 15(Hz)為適當的 PWM 頻率,也就是線性控制器頻寬的 3 倍。
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -0.2
0 0.2
time (s) rolle (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.2 0 0.2
time (s) pitche (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.2 0 0.2
time (s) yawe (degree)
0 2 4 6 rolle (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.2 0 0.2
time (s) pitche (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.2 0 0.2
time (s) yawe (degree)
0 2 4 6 rolle (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.2 0 0.2
time (s) pitche (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.2 0 0.2
time (s) yawe (degree)
0 2 4 6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -0.1
0 0.1
time (s) rolle (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.1 -0.05 0
time (s) pitche (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0 0.05 0.1
time (s) yawe (degree)
0 2 4 6 rolle (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.2 0 0.2
time (s) pitche (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.2 0 0.2
time (s) yawe (degree)
0 2 4 6 rolle (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.1 0 0.1
time (s) pitche (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.1 0 0.1
time (s) yawe (degree)
0 2 4 6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -0.05
0 0.05
time (s) rolle (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.1 -0.05 0
time (s) pitche (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0 0.05 0.1
time (s) yawe (degree)
0 2 4 6 rolle (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.2 0 0.2
time (s) pitche (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.2 0 0.2
time (s) yawe (degree)
0 2 4 6 rolle (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.1 0 0.1
time (s) pitche (degree)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.1 0 0.1
time (s) yawe (degree)
0 2 4 6