在電機工程中,有時需輸出帶死區的0%和100%的占空比PWM波形,以達到過調制效果。本文以RA6T2為例,介紹在使用RA-T系列芯片建立電機工程時,如何使用GPT的互補PWM模式輸出帶死區的0%和100%的占空比波形,其結果可推廣應用到其他系列芯片和相關領域。
在系統設計確定的情況下,母線電壓的值受硬件設計限定,是確定的、有限的。根據電壓方程式分析,電機的可運轉速度具有理論上限。有時根據控制需要,可以應用過調制的方法,在限定母線電壓范圍內,提高輸出電壓利用率,從而達到提高瞬時過載能力、動態響應速度等控制效果。
RA6T2的GPT模塊,有4種互補PWM模式。主要的區別是緩沖寄存器的傳送時刻不同:
(1)互補PWM模式1(在波峰傳送)
(2)互補PWM模式2(在波谷傳送)
(3)互補PWM模式3(在波峰和波谷傳送)
(4)互補PWM模式4(立即傳送)
當使用RA6T2設計電機系統時,可使用GPT的互補PWM模式3,輸出帶死區的0%和100%的占空比PWM波形。
使用互補PWM模式3,默認鎖定三個連續的通道。根據芯片默認設置,可以使用GPT1,2,3作為一組配合輸出,或者選擇GPT4,5,6作為一組配合輸出。
使用時,最低標號的通道作為主通道,相鄰兩個高標號通道作為從屬通道。每個通道的計數器GTCNT按照主通道的周期循環并獨立計數。對于每個通道,計數器在計數過程中,當GTCNT與GTCCRA發生比較匹配時,正向和負向的波形分別從GTIOCn+iA(i=0,1,2)和GTIOCn+iB管腳輸出,并且根據主通道的GTDVU寄存器的值,輸出死區時間。GTCCRA寄存器帶緩沖功能,GTCCRC、臨時寄存器A、GTCCRD作為緩沖寄存器使用。詳細講解,請參看數據手冊21.3.3.7章節部分。
(100%和0%輸出的原理性講解和時序圖講解)
一般占空比模式輸出時,發波邏輯請參看數據手冊figure21.52所示:
當GPT工作在互補PWM模式3時,GPT32n+i.GTCNT按如上圖方式循環計數。從圖中可以注意到,GPT32n.GTCNT和GPT32n+1.GTCNT在計數時差一個死區時間的數值。這樣在與GTCCRA發生匹配時,GTIOCnA和GTIOCnB將輸出帶死區的PWM波形。當緩沖寄存器的值發生更新后,在互補PWM模式3的機制下,GTCCRA將在波峰和波谷更新。
當需要輸出帶死區的100%占空比波形時,請參看數據手冊figure21.61:
當GTCCRA的值設定大于等于周期值加死區時間計數值時,匹配無法發生,則因匹配對應的端口翻轉動作就不會發生。GPT32n+i.GTCNT仍然按設定繼續計數。在這種情況下,GPT將一直輸出100%占空比波形。
當需要輸出帶死區的0%占空比波形時,請參看數據手冊figure21.67:
GTCCRA的值設定為0時,匹配無法發生,則匹配對應的端口動作也不會發生。GPT32n+i.GTCNT仍然按設定繼續計數。在這種情況下,GPT將一直輸出0%占空比波形。
樣例設計:
使用GPT4,5,6通道作為PWM輸出通道,并設置工作模式為為互補PWM模式3,設定PWM波周期為125us,占空比按如下形式交替變化,并循環往復輸出:
1)50%占空比
2)100%占空比
3)50%占空比
4)0%占空比
在FSP中的配置如下圖所示,將GPT4通道波峰、波谷中斷使能。
GPT初始化相關的關鍵工程代碼如下:
左右滑動查看完整內容
R_GPT4->GTCR_b.MD = 0x0E; R_GPT5->GTCR_b.MD = 0x0E; R_GPT6->GTCR_b.MD = 0x0E;//設置使用互補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;//設置周期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;//設置引腳輸出PWM波形具體形態 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;//預設50%輸出
在中斷callback函數內設置循環發波邏輯,并更新PWM占空比:
左右滑動查看完整內容
if(g_user_count<1000) g_user_count++; ?// 循環控制基準遞加 ? ?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)); ? ?}//設置占空比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)); ? ?}//設置占空比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)); ? ?}//設置占空比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); ? ? }//設置占空比100% ? ?else ? ?{ ? ? ? ?g_user_count = 0; ? ?}//循環一周,計數清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;//設置占空比寄存器
用示波器采集輸出波形,黃色為GTIOCnA引腳輸出,綠色為GTIOCnB引腳輸出,紫色為PWM波峰、波時刻,采用翻轉I/O口的方式同步指示波峰、波谷時刻,上升沿為波峰,下降沿為波谷。運行樣例工程后測試波形如下系列圖所示。
100%到50%的波峰更新細節
50%到0%的波峰更新細節
0%到50%的波谷更新細節
50%到100%的波谷更新細節
100%到50%的波谷更新細節
50%到0%的波谷更新細節
本文介紹在RA-T系列芯片設計電機項目時,使用GPT輸出帶死區的0%和100%的占空比PWM波形,并展示了關鍵FSP設置步驟和測試程序關鍵代碼。如需樣例工程,請復制下方鏈接至瀏覽器,或掃描二維碼查看下載。
-
寄存器
+關注
關注
31文章
5421瀏覽量
123247 -
PWM
+關注
關注
116文章
5364瀏覽量
217937 -
電機
+關注
關注
143文章
9246瀏覽量
148275 -
瑞薩
+關注
關注
36文章
22366瀏覽量
87698 -
占空比
+關注
關注
0文章
111瀏覽量
29458
原文標題:瑞薩RA-T系列波形輸出占空比詳解
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
瑞薩RX23T,如何設置實時改變PWM占空比
瑞薩電子推出RA8T1系列微控制器
AMEYA360 | 皇華:瑞薩面向電機控制應用推出性能卓越的RA8 MCU
瑞薩推高性能RA8T1微控制器,滿足電機實時控制需求
RA-T馬達工程串口直接啟動Workbench調試方案

基于瑞薩RA6T2 MCU實現過電流保護功能

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

評論