• 沒有找到結果。

第四章 硬體架構與軟體規畫

4.3.3 程式流程介紹

本節程式介紹分為三組互為獨立之轉換器控制與應用來做說明,

主要程式寫法可分為主程式與中斷副程式兩部分,主程式主要執行參 數宣告及初始值,以及讀取回授信號 A/D 轉換、太陽能最大功率點 追蹤、 PI 穩壓控制等,而中斷副程式執行信號的除頻控制,以及變 頻器的正弦波波形控制查表等,如圖 4- 1(a) ~ 4-1(c)所示,此三組獨 立部分共同核心皆在於 CW 升壓轉換器,其中功率開關 Sc1

Sc2 信 號周期為 Sd1

Sd2 信號週期除頻而來,舉例來說,如果 Sd1

Sd2週期為 20kHz 則除頻程式控制除頻量為 400,則 Sc1

Sc2 週期為 50Hz 以此類推,程式部分主要以 C 語言撰寫方式來實現控制,以 下就此三部分程式做獨立說明,說明如下 :

(a) CW 升壓轉換器結合太陽能模組

圖 4-7 為 CW 升壓轉換器結合太陽模組系統程式流程圖,此部 分程式只用到一組中斷功能,圖 4-8 為主程式和中斷副程式流程圖,

圖 4-9 為太陽能最大功率點追蹤控制流程圖,內容敘述如下:

圖 4-7 CW 升壓轉換器結合太陽模組系統程式流程圖程式說明 : 1. 程式開始。

2. 宣告參數及初始值設定,設定周邊暫存器功能。

3. 使用事件管理模組設定系統中斷頻率為 20kHz。

4. 等待中斷發生執行副程式。

5. 如中斷事件發生則執行中斷副程式,執行完後判斷主程式是否執 行完畢,如是則再次等待中斷發生,如否則回到未完成主程式部 分繼續執行。

6. 如中斷事件未發生則執行主程式,在執行主程式當中如主程式未 完成但中斷事件發生,則優先跳至中斷副程式執行,執行完後再 跳回未完成主程式部分繼續執行。

圖 4-8(a) 主程式流程圖程式說明 : 1. 主程式開始。

2. 執行太陽能最大功率點追蹤(MPPT)追蹤控制。

3. 主程式結束。

圖 4-8(b)中斷副程式程式說明 : 1. 中斷副程式開始。

2. 開啟類比數位轉換通道,將電壓、電流回授信號轉換成數位值。

3. 除頻設定 Sc1

Sc2 之工作週期。

4. 判斷 Sc1 為導通或截止,如為導通則此時工作模式為 3-2 節轉換 器操作模式中所介紹之模式一或二其中一模式,如為截止則為模 式三或四其中一模式,模式一與二屬於交替電源 Vr 之正半週狀 態模式,模式三與四屬於交替電源 Vr 之負半週狀態模式, 若判 斷 Sc1 為導通則代表此時為 Vr 正半週,將開關責任週期設定給 Sd1 控制,若判斷 Sc1 為截止則代表此時為 Vr 負半週,則將開關 責任週期設定給 Sd2 控制。

4. 中斷副程式結束。

程式開始

中斷週期 50us?

宣告變數及初始值 週邊暫存器規劃

中斷副程式 主程式

(主程式執行期間,如中斷發生則 優先跳至中斷副程式,執行完再 跳回未完成主程式部分繼續執行)

主程式 執行完畢

等待中斷

圖 4-7 CW 升壓轉換器結合太陽模組系統程式流程

(a) (b)

圖 4-8 CW 升壓轉換器結合太陽模組系統 (a)主程式流程圖 (b)中斷副程式流程圖

圖 4-9 為太陽能最大功率點追蹤控制流程圖,藉由計算目前功 率與前次取樣功率比教,經擾動觀察法後產生電流命令,以決定升壓

主程式開始

主程式結束 太陽能最大功率

點追蹤控制

除頻副程式 (Sc1、Sc2 信號由Sd1

Sd2 週期除頻而來)

中斷副程式 開始

中斷副程式 結束

Sc1 ON ?

(Sc2 OFF)

設定責任周期給 開關 Sd1

設定責任周期給 開關 Sd2

讀取回授信號

A/D轉換

責任週期之增減,流程圖說明如下 :

圖 4-9太陽能最大功率點追蹤控制流程圖程式說明 : 1. 太陽能最大功率點追蹤控制程式開始。

2. 利用A/D 轉換之數位值 Vpv(k)

Ipv(k) 計算出 Ppv(k) Ppv(k) = Vpv(k) Ipv(k)。

3. 以擾動觀察法產生電流命令Ipv*4. Ipv*

與Ipv 做比較,決定開關責任週期 D* 之增減,將 PWM 信號 給 Sd1 或 Sd2 。

5. 結束太陽能最大功率點追蹤控制程式。

太陽能最大功率點 追蹤控制程式開始

使用AD讀取之數位值

V

pv(k)、

I

pv(k) 算出 Ppv(k)

最大功率點追蹤擾動觀 察法決定電流命令

I

pv*

責任周期

D

不變

太陽能最大功率點 追蹤控制程式結束 Ppv(k)=Ppv(k - 1)?

責任周期

D

增加

責任周期

D

減少

I

pv

* >

I

pv

?

圖 4-9 太陽能最大功率點追蹤控制流程圖

(b) CW 升壓轉換器結合多階式二極體鉗位變頻器

圖 4-10(a) 為 CW 升壓轉換器結合多階式二極體鉗位變頻器系 統程式流程圖,此部分程式用到兩組中斷功能,固有高低中斷優先設 定,變頻器的正弦波波形控制命令查表,需在固定時間間隔下執行查 表及設定 PWM 開關觸發信號,才能精確地產生頻率為 60 赫茲之 正弦式 PWM 波形,固設為高優先中斷,CW 升壓轉換器之開關除 頻控制設為低優先中斷,流程圖如圖 4-10 (b),圖 4-11 為高優先中 斷副程式正弦式 PWM 控制波型命令查表流程圖,內容敘述如下:

圖 4-10(a) CW 升壓轉換器結合多階式二極體鉗位變頻器系統程式 流程圖 :

1. 程式開始。

2. 宣告參數及初始值設定,設定周邊暫存器功能。

3. 使用事件管理模組設定系統中斷(設定高低優先中斷權位)。

4. 等待中斷發生執行中斷副程式。

圖 4-10(b) 低優先中斷副程式流程圖除頻程式說明如前所敘。

圖 4-11 高優先中斷副程式流程圖(正弦波控制信號查表) : 1. 高優先中斷副程式開始。

2. 判斷正弦波查表指標位置是在正半週或負半週。

式流程圖 (b)低優先中斷副程式流程圖(除頻程式)

圖 4-12 CW 升壓轉換器 PI 穩壓控制系統程式流程圖程式說明 : 1. 程式開始。

2. 宣告參數及初始值設定,設定周邊暫存器功能。

3. 設定穩壓程式參數,包含 kpv、kpi、kiv、kiI

穩壓命令 Vcw ,以 及電感電流命令 iL*

及升壓責任週期命令 D* 的限制。

4. 使用事件管理模組設定系統中斷頻率為 20kHz。

5. 等待中斷發生執行副程式。

6. 如中斷事件發生則執行中斷副程式,執行完後判斷主程式是否執 行完畢,如是則再次等待中斷發生,如否則回到未完成主程式部 分繼續執行。

7. 如中斷事件未發生則執行主程式,在執行主程式當中如主程式未 完成但中斷事件發生,則優先跳至中斷副程式執行,執行完後 再跳回未完成主程式部分繼續執行。

圖 4-13(a) PI 穩壓主程式流程圖程式說明 : 1. 程式開始。

2. 讀取 A/D 回授信號 Vcw、iL

3. 將回授值代入 PI 控制器,做穩壓控制、穩流控制,取得升壓責 任週期命令 D*

4.主程式結束

設定穩壓參數:kpvkpikivkiI

轉換器輸出穩壓命令Vcw

電感電流 iL限制範圍

升壓責任週期 D* 限制範圍

程式開始

中斷週期

50us?

中斷副程式 主程式

(主程式執行期間,如中斷發生則 優先跳至中斷副程式,執行完再 跳回未完成主程式部分繼續執行)

主程式執 行完畢?

宣告變數及初始值 週邊暫存器規劃

等待中斷

圖 4-12 CW 升壓轉換器 PI 穩壓控制系統程式流程圖

主程式開始

主程式結束 PI 穩壓控制器運算

讀取A/D轉換 回授信號 V

cw

i

L

電感電流命令

i

L*

限制

PI 穩流控制器運算

升壓責任週期命令

D

*

限制

圖 4-13 PI 穩壓主程式流程圖

第五章 模擬與實做量測

相關文件