在電機工程中,有時需輸出帶死區(qū)的0%和100%的占空比PWM波形,以達到過調(diào)制效果。本文以RA6T2為例,介紹在使用RA-T系列芯片建立電機工程時,如何使用GPT的互補PWM模式輸出帶死區(qū)的0%和100%的占空比波形,其結(jié)果可推廣應(yīng)用到其他系列芯片和相關(guān)領(lǐng)域。
在系統(tǒng)設(shè)計確定的情況下,母線電壓的值受硬件設(shè)計限定,是確定的、有限的。根據(jù)電壓方程式分析,電機的可運轉(zhuǎn)速度具有理論上限。有時根據(jù)控制需要,可以應(yīng)用過調(diào)制的方法,在限定母線電壓范圍內(nèi),提高輸出電壓利用率,從而達到提高瞬時過載能力、動態(tài)響應(yīng)速度等控制效果。
RA6T2的GPT模塊,有4種互補PWM模式。主要的區(qū)別是緩沖寄存器的傳送時刻不同:
(1)互補PWM模式1(在波峰傳送)
(2)互補PWM模式2(在波谷傳送)
(3)互補PWM模式3(在波峰和波谷傳送)
(4)互補PWM模式4(立即傳送)
當(dāng)使用RA6T2設(shè)計電機系統(tǒng)時,可使用GPT的互補PWM模式3,輸出帶死區(qū)的0%和100%的占空比PWM波形。
使用互補PWM模式3,默認鎖定三個連續(xù)的通道。根據(jù)芯片默認設(shè)置,可以使用GPT1,2,3作為一組配合輸出,或者選擇GPT4,5,6作為一組配合輸出。
使用時,最低標(biāo)號的通道作為主通道,相鄰兩個高標(biāo)號通道作為從屬通道。每個通道的計數(shù)器GTCNT按照主通道的周期循環(huán)并獨立計數(shù)。對于每個通道,計數(shù)器在計數(shù)過程中,當(dāng)GTCNT與GTCCRA發(fā)生比較匹配時,正向和負向的波形分別從GTIOCn+iA(i=0,1,2)和GTIOCn+iB管腳輸出,并且根據(jù)主通道的GTDVU寄存器的值,輸出死區(qū)時間。GTCCRA寄存器帶緩沖功能,GTCCRC、臨時寄存器A、GTCCRD作為緩沖寄存器使用。詳細講解,請參看數(shù)據(jù)手冊21.3.3.7章節(jié)部分。
(100%和0%輸出的原理性講解和時序圖講解)
一般占空比模式輸出時,發(fā)波邏輯請參看數(shù)據(jù)手冊figure21.52所示:
當(dāng)GPT工作在互補PWM模式3時,GPT32n+i.GTCNT按如上圖方式循環(huán)計數(shù)。從圖中可以注意到,GPT32n.GTCNT和GPT32n+1.GTCNT在計數(shù)時差一個死區(qū)時間的數(shù)值。這樣在與GTCCRA發(fā)生匹配時,GTIOCnA和GTIOCnB將輸出帶死區(qū)的PWM波形。當(dāng)緩沖寄存器的值發(fā)生更新后,在互補PWM模式3的機制下,GTCCRA將在波峰和波谷更新。
當(dāng)需要輸出帶死區(qū)的100%占空比波形時,請參看數(shù)據(jù)手冊figure21.61:
當(dāng)GTCCRA的值設(shè)定大于等于周期值加死區(qū)時間計數(shù)值時,匹配無法發(fā)生,則因匹配對應(yīng)的端口翻轉(zhuǎn)動作就不會發(fā)生。GPT32n+i.GTCNT仍然按設(shè)定繼續(xù)計數(shù)。在這種情況下,GPT將一直輸出100%占空比波形。
當(dāng)需要輸出帶死區(qū)的0%占空比波形時,請參看數(shù)據(jù)手冊figure21.67:
GTCCRA的值設(shè)定為0時,匹配無法發(fā)生,則匹配對應(yīng)的端口動作也不會發(fā)生。GPT32n+i.GTCNT仍然按設(shè)定繼續(xù)計數(shù)。在這種情況下,GPT將一直輸出0%占空比波形。
樣例設(shè)計:
使用GPT4,5,6通道作為PWM輸出通道,并設(shè)置工作模式為為互補PWM模式3,設(shè)定PWM波周期為125us,占空比按如下形式交替變化,并循環(huán)往復(fù)輸出:
1)50%占空比
2)100%占空比
3)50%占空比
4)0%占空比
在FSP中的配置如下圖所示,將GPT4通道波峰、波谷中斷使能。
GPT初始化相關(guān)的關(guān)鍵工程代碼如下:
左右滑動查看完整內(nèi)容
R_GPT4->GTCR_b.MD = 0x0E; R_GPT5->GTCR_b.MD = 0x0E; R_GPT6->GTCR_b.MD = 0x0E;//設(shè)置使用互補PWM模式3 R_GPT4->GTPR = 0x1D4C;//; R_GPT5->GTPR = 0x1D4C;//; R_GPT6->GTPR = 0x1D4C;//; R_GPT4->GTPBR = 0x1D4C;//; R_GPT5->GTPBR = 0x1D4C;//; R_GPT6->GTPBR = 0x1D4C;//; R_GPT4->GTPDBR = 0x1D4C;//; R_GPT5->GTPDBR = 0x1D4C;//; R_GPT6->GTPDBR = 0x1D4C;//設(shè)置周期125us; R_GPT4->GTIOR_b.GTIOA = 0x09; R_GPT5->GTIOR_b.GTIOA = 0x09; R_GPT6->GTIOR_b.GTIOA = 0x09; R_GPT4->GTIOR_b.GTIOB = 0x06; R_GPT5->GTIOR_b.GTIOB = 0x06; R_GPT6->GTIOR_b.GTIOB = 0x06;//設(shè)置引腳輸出PWM波形具體形態(tài) R_GPT4->GTBER2_b.CP3DB = 0;// R_GPT5->GTBER2_b.CP3DB = 0;// R_GPT6->GTBER2_b.CP3DB = 0;//使能雙buffer功能 R_GPT4->GTCCR[0] = 0x0EA6; R_GPT5->GTCCR[0] = 0x0EA6; R_GPT6->GTCCR[0] = 0x0EA6; R_GPT4->GTCCR[2] = 0x0EA6; R_GPT5->GTCCR[2] = 0x0EA6; R_GPT6->GTCCR[2] = 0x0EA6; R_GPT4->GTCCR[4] = 0x0EA6; R_GPT5->GTCCR[4] = 0x0EA6; R_GPT6->GTCCR[4] = 0x0EA6;//預(yù)設(shè)50%輸出
在中斷callback函數(shù)內(nèi)設(shè)置循環(huán)發(fā)波邏輯,并更新PWM占空比:
左右滑動查看完整內(nèi)容
if(g_user_count<1000) g_user_count++; ?// 循環(huán)控制基準(zhǔn)遞加 ? ?if(g_user_count<=31) ? ?{ ? ?u2_count_u = (uint16_t) ((u2_temp_base * (0.5F)) + (u2_temp_deadt * 0.5F)); ? ?u2_count_v = (uint16_t) ((u2_temp_base * (0.5F)) + (u2_temp_deadt * 0.5F)); ? ?u2_count_w = (uint16_t) ((u2_temp_base * (0.5F)) + (u2_temp_deadt * 0.5F)); ? ?}//設(shè)置占空比50% ? ?else if(g_user_count<=93) ? ?{ ? ?u2_count_u = (uint16_t) ((u2_temp_base * (1.0F))+ (u2_temp_deadt)); ? ?u2_count_v = (uint16_t) ((u2_temp_base * (1.0F))+ (u2_temp_deadt)); ? ?u2_count_w = (uint16_t) ((u2_temp_base * (1.0F))+ (u2_temp_deadt)); ? ?}//設(shè)置占空比0% ? ?else if(g_user_count<=124) ? ?{ ? ?u2_count_u = (uint16_t) ((u2_temp_base * (0.5)) + (u2_temp_deadt * 0.5F)); ? ?u2_count_v = (uint16_t) ((u2_temp_base * (0.5)) + (u2_temp_deadt * 0.5F)); ? ?u2_count_w = (uint16_t) ((u2_temp_base * (0.5)) + (u2_temp_deadt * 0.5F)); ? ?}//設(shè)置占空比50% ? ? else if(g_user_count<=186) ? ? { ? ? u2_count_u = (uint16_t) (0); ? ? u2_count_v = (uint16_t) (0); ? ? u2_count_w = (uint16_t) (0); ? ? }//設(shè)置占空比100% ? ?else ? ?{ ? ? ? ?g_user_count = 0; ? ?}//循環(huán)一周,計數(shù)清0 ? ?R_GPT4->GTCCR[4] = (uint32_t) u2_count_u; R_GPT5->GTCCR[4] = (uint32_t) u2_count_v; R_GPT6->GTCCR[4] = (uint32_t) u2_count_w;//設(shè)置占空比寄存器
用示波器采集輸出波形,黃色為GTIOCnA引腳輸出,綠色為GTIOCnB引腳輸出,紫色為PWM波峰、波時刻,采用翻轉(zhuǎn)I/O口的方式同步指示波峰、波谷時刻,上升沿為波峰,下降沿為波谷。運行樣例工程后測試波形如下系列圖所示。
100%到50%的波峰更新細節(jié)
50%到0%的波峰更新細節(jié)
0%到50%的波谷更新細節(jié)
50%到100%的波谷更新細節(jié)
100%到50%的波谷更新細節(jié)
50%到0%的波谷更新細節(jié)
本文介紹在RA-T系列芯片設(shè)計電機項目時,使用GPT輸出帶死區(qū)的0%和100%的占空比PWM波形,并展示了關(guān)鍵FSP設(shè)置步驟和測試程序關(guān)鍵代碼。如需樣例工程,請復(fù)制下方鏈接至瀏覽器,或掃描二維碼查看下載。
-
寄存器
+關(guān)注
關(guān)注
31文章
5369瀏覽量
121274 -
PWM
+關(guān)注
關(guān)注
114文章
5201瀏覽量
214959 -
電機
+關(guān)注
關(guān)注
142文章
9093瀏覽量
146475 -
瑞薩
+關(guān)注
關(guān)注
35文章
22312瀏覽量
86820 -
占空比
+關(guān)注
關(guān)注
0文章
110瀏覽量
29173
原文標(biāo)題:瑞薩RA-T系列波形輸出占空比詳解
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
瑞薩RX23T,如何設(shè)置實時改變PWM占空比
【瑞薩RA4系列開發(fā)板體驗】7. 用DAC輸出正弦波以及余弦波
【瑞薩RA4系列開發(fā)板體驗】10. 我的試用總結(jié)
瑞薩RA系列MCU選型指南
瑞薩電子推出RA8T1系列微控制器
AMEYA360 | 皇華:瑞薩面向電機控制應(yīng)用推出性能卓越的RA8 MCU
瑞薩推高性能RA8T1微控制器,滿足電機實時控制需求
RA-T馬達工程串口直接啟動Workbench調(diào)試方案
![<b class='flag-5'>RA-T</b>馬達工程串口直接啟動Workbench調(diào)試方案](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
基于瑞薩RA-T系列MCU的5KW三相圖騰柱無橋PFC設(shè)計方案
![基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA-T</b><b class='flag-5'>系列</b>MCU的5KW三相圖騰柱無橋PFC設(shè)計方案](https://file1.elecfans.com/web2/M00/03/9B/wKgZombFSP-ABOQLAAHa39DRtXQ530.jpg)
基于瑞薩RA6T2 MCU實現(xiàn)過電流保護功能
![基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA6T</b>2 MCU實現(xiàn)過電流保護功能](https://file1.elecfans.com/web2/M00/0B/48/wKgZomcxmiyAa02sAAAjEEZoRo4922.png)
瑞薩RA-T系列芯片ADC和GPT功能模塊的配合使用
![<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA-T</b><b class='flag-5'>系列</b>芯片ADC和GPT功能模塊的配合使用](https://file1.elecfans.com/web2/M00/0C/1A/wKgZomc-yGyAf6S5AAAonTD0Lvc142.png)
評論