在電機(jī)工程中,有時(shí)需輸出帶死區(qū)的0%和100%的占空比PWM波形,以達(dá)到過(guò)調(diào)制效果。本文以RA6T2為例,介紹在使用RA-T系列芯片建立電機(jī)工程時(shí),如何使用GPT的互補(bǔ)PWM模式輸出帶死區(qū)的0%和100%的占空比波形,其結(jié)果可推廣應(yīng)用到其他系列芯片和相關(guān)領(lǐng)域。
在系統(tǒng)設(shè)計(jì)確定的情況下,母線電壓的值受硬件設(shè)計(jì)限定,是確定的、有限的。根據(jù)電壓方程式分析,電機(jī)的可運(yùn)轉(zhuǎn)速度具有理論上限。有時(shí)根據(jù)控制需要,可以應(yīng)用過(guò)調(diào)制的方法,在限定母線電壓范圍內(nèi),提高輸出電壓利用率,從而達(dá)到提高瞬時(shí)過(guò)載能力、動(dòng)態(tài)響應(yīng)速度等控制效果。
RA6T2的GPT模塊,有4種互補(bǔ)PWM模式。主要的區(qū)別是緩沖寄存器的傳送時(shí)刻不同:
(1)互補(bǔ)PWM模式1(在波峰傳送)
(2)互補(bǔ)PWM模式2(在波谷傳送)
(3)互補(bǔ)PWM模式3(在波峰和波谷傳送)
(4)互補(bǔ)PWM模式4(立即傳送)
當(dāng)使用RA6T2設(shè)計(jì)電機(jī)系統(tǒng)時(shí),可使用GPT的互補(bǔ)PWM模式3,輸出帶死區(qū)的0%和100%的占空比PWM波形。
使用互補(bǔ)PWM模式3,默認(rèn)鎖定三個(gè)連續(xù)的通道。根據(jù)芯片默認(rèn)設(shè)置,可以使用GPT1,2,3作為一組配合輸出,或者選擇GPT4,5,6作為一組配合輸出。
使用時(shí),最低標(biāo)號(hào)的通道作為主通道,相鄰兩個(gè)高標(biāo)號(hào)通道作為從屬通道。每個(gè)通道的計(jì)數(shù)器GTCNT按照主通道的周期循環(huán)并獨(dú)立計(jì)數(shù)。對(duì)于每個(gè)通道,計(jì)數(shù)器在計(jì)數(shù)過(guò)程中,當(dāng)GTCNT與GTCCRA發(fā)生比較匹配時(shí),正向和負(fù)向的波形分別從GTIOCn+iA(i=0,1,2)和GTIOCn+iB管腳輸出,并且根據(jù)主通道的GTDVU寄存器的值,輸出死區(qū)時(shí)間。GTCCRA寄存器帶緩沖功能,GTCCRC、臨時(shí)寄存器A、GTCCRD作為緩沖寄存器使用。詳細(xì)講解,請(qǐng)參看數(shù)據(jù)手冊(cè)21.3.3.7章節(jié)部分。
(100%和0%輸出的原理性講解和時(shí)序圖講解)
一般占空比模式輸出時(shí),發(fā)波邏輯請(qǐng)參看數(shù)據(jù)手冊(cè)figure21.52所示:
當(dāng)GPT工作在互補(bǔ)PWM模式3時(shí),GPT32n+i.GTCNT按如上圖方式循環(huán)計(jì)數(shù)。從圖中可以注意到,GPT32n.GTCNT和GPT32n+1.GTCNT在計(jì)數(shù)時(shí)差一個(gè)死區(qū)時(shí)間的數(shù)值。這樣在與GTCCRA發(fā)生匹配時(shí),GTIOCnA和GTIOCnB將輸出帶死區(qū)的PWM波形。當(dāng)緩沖寄存器的值發(fā)生更新后,在互補(bǔ)PWM模式3的機(jī)制下,GTCCRA將在波峰和波谷更新。
當(dāng)需要輸出帶死區(qū)的100%占空比波形時(shí),請(qǐng)參看數(shù)據(jù)手冊(cè)figure21.61:
當(dāng)GTCCRA的值設(shè)定大于等于周期值加死區(qū)時(shí)間計(jì)數(shù)值時(shí),匹配無(wú)法發(fā)生,則因匹配對(duì)應(yīng)的端口翻轉(zhuǎn)動(dòng)作就不會(huì)發(fā)生。GPT32n+i.GTCNT仍然按設(shè)定繼續(xù)計(jì)數(shù)。在這種情況下,GPT將一直輸出100%占空比波形。
當(dāng)需要輸出帶死區(qū)的0%占空比波形時(shí),請(qǐng)參看數(shù)據(jù)手冊(cè)figure21.67:
GTCCRA的值設(shè)定為0時(shí),匹配無(wú)法發(fā)生,則匹配對(duì)應(yīng)的端口動(dòng)作也不會(huì)發(fā)生。GPT32n+i.GTCNT仍然按設(shè)定繼續(xù)計(jì)數(shù)。在這種情況下,GPT將一直輸出0%占空比波形。
樣例設(shè)計(jì):
使用GPT4,5,6通道作為PWM輸出通道,并設(shè)置工作模式為為互補(bǔ)PWM模式3,設(shè)定PWM波周期為125us,占空比按如下形式交替變化,并循環(huán)往復(fù)輸出:
1)50%占空比
2)100%占空比
3)50%占空比
4)0%占空比
在FSP中的配置如下圖所示,將GPT4通道波峰、波谷中斷使能。
GPT初始化相關(guān)的關(guān)鍵工程代碼如下:
左右滑動(dòng)查看完整內(nèi)容
R_GPT4->GTCR_b.MD = 0x0E; R_GPT5->GTCR_b.MD = 0x0E; R_GPT6->GTCR_b.MD = 0x0E;//設(shè)置使用互補(bǔ)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占空比:
左右滑動(dòng)查看完整內(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)一周,計(jì)數(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波峰、波時(shí)刻,采用翻轉(zhuǎn)I/O口的方式同步指示波峰、波谷時(shí)刻,上升沿為波峰,下降沿為波谷。運(yùn)行樣例工程后測(cè)試波形如下系列圖所示。
100%到50%的波峰更新細(xì)節(jié)
50%到0%的波峰更新細(xì)節(jié)
0%到50%的波谷更新細(xì)節(jié)
50%到100%的波谷更新細(xì)節(jié)
100%到50%的波谷更新細(xì)節(jié)
50%到0%的波谷更新細(xì)節(jié)
本文介紹在RA-T系列芯片設(shè)計(jì)電機(jī)項(xiàng)目時(shí),使用GPT輸出帶死區(qū)的0%和100%的占空比PWM波形,并展示了關(guān)鍵FSP設(shè)置步驟和測(cè)試程序關(guān)鍵代碼。如需樣例工程,請(qǐng)復(fù)制下方鏈接至瀏覽器,或掃描二維碼查看下載。
-
寄存器
+關(guān)注
關(guān)注
31文章
5394瀏覽量
122341 -
PWM
+關(guān)注
關(guān)注
114文章
5271瀏覽量
216724 -
電機(jī)
+關(guān)注
關(guān)注
143文章
9177瀏覽量
147398 -
瑞薩
+關(guān)注
關(guān)注
36文章
22339瀏覽量
87419 -
占空比
+關(guān)注
關(guān)注
0文章
111瀏覽量
29351
原文標(biāo)題:瑞薩RA-T系列波形輸出占空比詳解
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
瑞薩RX23T,如何設(shè)置實(shí)時(shí)改變PWM占空比
【瑞薩RA4系列開(kāi)發(fā)板體驗(yàn)】7. 用DAC輸出正弦波以及余弦波
【瑞薩RA4系列開(kāi)發(fā)板體驗(yàn)】10. 我的試用總結(jié)
瑞薩RA系列MCU選型指南
問(wèn)卷有禮 | 瑞薩RA4T1及RA6T3電機(jī)控制新品解讀【緊湊型、連接性】

瑞薩電子推出RA8T1系列微控制器
AMEYA360 | 皇華:瑞薩面向電機(jī)控制應(yīng)用推出性能卓越的RA8 MCU
瑞薩推高性能RA8T1微控制器,滿足電機(jī)實(shí)時(shí)控制需求
RA-T馬達(dá)工程串口直接啟動(dòng)Workbench調(diào)試方案

基于瑞薩RA-T系列MCU的5KW三相圖騰柱無(wú)橋PFC設(shè)計(jì)方案

基于瑞薩RA6T2 MCU實(shí)現(xiàn)過(guò)電流保護(hù)功能

瑞薩RA-T系列芯片ADC和GPT功能模塊的配合使用

評(píng)論