0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

电机项目中瑞萨RA-T系列波形输出占空比详解

瑞萨MCU小百科 来源:瑞萨MCU小百科 作者:瑞萨MCU小百科 2025-02-10 12:50 次阅读

电机工程中,有时需输出带死区的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作为一组配合输出。

bdb31b4a-e764-11ef-9310-92fbcf53809c.png

使用时,最低标号的通道作为主通道,相邻两个高标号通道作为从属通道。每个通道的计数器GTCNT按照主通道的周期循环并独立计数。对于每个通道,计数器在计数过程中,当GTCNT与GTCCRA发生比较匹配时,正向和负向的波形分别从GTIOCn+iA(i=0,1,2)和GTIOCn+iB管脚输出,并且根据主通道的GTDVU寄存器的值,输出死区时间。GTCCRA寄存器带缓冲功能,GTCCRC、临时寄存器A、GTCCRD作为缓冲寄存器使用。详细讲解,请参看数据手册21.3.3.7章节部分。

(100%和0%输出的原理性讲解和时序图讲解)

一般占空比模式输出时,发波逻辑请参看数据手册figure21.52所示:

bdc2f966-e764-11ef-9310-92fbcf53809c.png

当GPT工作在互补PWM模式3时,GPT32n+i.GTCNT按如上图方式循环计数。从图中可以注意到,GPT32n.GTCNT和GPT32n+1.GTCNT在计数时差一个死区时间的数值。这样在与GTCCRA发生匹配时,GTIOCnA和GTIOCnB将输出带死区的PWM波形。当缓冲寄存器的值发生更新后,在互补PWM模式3的机制下,GTCCRA将在波峰和波谷更新。

当需要输出带死区的100%占空比波形时,请参看数据手册figure21.61:

bdd21694-e764-11ef-9310-92fbcf53809c.png

当GTCCRA的值设定大于等于周期值加死区时间计数值时,匹配无法发生,则因匹配对应的端口翻转动作就不会发生。GPT32n+i.GTCNT仍然按设定继续计数。在这种情况下,GPT将一直输出100%占空比波形。

当需要输出带死区的0%占空比波形时,请参看数据手册figure21.67:

bde65906-e764-11ef-9310-92fbcf53809c.png

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通道波峰、波谷中断使能。

bdfc3ce4-e764-11ef-9310-92fbcf53809c.png

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口的方式同步指示波峰、波谷时刻,上升沿为波峰,下降沿为波谷。运行样例工程后测试波形如下系列图所示。

be0f734a-e764-11ef-9310-92fbcf53809c.png

100%到50%的波峰更新细节

be295922-e764-11ef-9310-92fbcf53809c.png

50%到0%的波峰更新细节

be515882-e764-11ef-9310-92fbcf53809c.png

0%到50%的波谷更新细节

be67a358-e764-11ef-9310-92fbcf53809c.png

50%到100%的波谷更新细节

be816b30-e764-11ef-9310-92fbcf53809c.png

100%到50%的波谷更新细节

be9c4d10-e764-11ef-9310-92fbcf53809c.png

50%到0%的波谷更新细节

本文介绍在RA-T系列芯片设计电机项目时,使用GPT输出带死区的0%和100%的占空比PWM波形,并展示了关键FSP设置步骤和测试程序关键代码。如需样例工程,请复制下方链接至浏览器,或扫描二维码查看下载。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5393

    浏览量

    121999
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5216

    浏览量

    215991
  • 电机
    +关注

    关注

    143

    文章

    9150

    浏览量

    147070
  • 瑞萨
    +关注

    关注

    36

    文章

    22327

    浏览量

    87225
  • 占空比
    +关注

    关注

    0

    文章

    110

    浏览量

    29272

原文标题:瑞萨RA-T系列波形输出占空比详解

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    RX23T,如何设置实时改变PWM占空比

    RX23T的板子如何设置实时改变PWM占空比呢自己写了程序进去但是没有用最终输出的还是在代码生成器中设置的PWM的值。
    发表于 07-27 15:43

    RA2系列开发板体验

    RA2系列开发板体验.
    发表于 01-20 11:05

    RA4系列开发板体验】7. 用DAC输出正弦波以及余弦波

    之前发帖:【RA4系列开发板体验】1. 新建工程+按键控制LED【
    发表于 12-09 22:56

    RA4系列开发板体验】10. 我的试用总结

    测量摇杆模块偏移量【RA4系列开发板体验】7. 用DAC输出正弦波以及余弦波【
    发表于 12-10 22:34

    RA系列MCU选型指南

    RA系列MCU产品基于Arm Cortex-M内核,与自有内核RL78和RX系列一起,成为
    发表于 11-08 13:51 2485次阅读

    电子 RA6T1 组数据表

    电子 RA6T1 组数据表
    发表于 07-03 18:41 0次下载
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子 <b class='flag-5'>RA6T</b>1 组数据表

    问卷有礼 | RA4T1及RA6T3电机控制新品解读【紧凑型、连接性】

    RA2、RA4、RA6三个系列以及即将推出的RA8系列,多达21个产品组,超过270个产品型号
    的头像 发表于 08-02 12:15 1035次阅读
    问卷有礼 | <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA4T</b>1及<b class='flag-5'>RA6T</b>3<b class='flag-5'>电机</b>控制新品解读【紧凑型、连接性】

    电子推出RA8T1系列微控制器

    电子近日宣布推出RA8T1系列微控制器(MCU),专为工业和建筑自动化以及智能家居中的电机、电源和其他产品的实时控制而设计。这款基于Ar
    的头像 发表于 02-01 16:40 1200次阅读

    AMEYA360 | 皇华:面向电机控制应用推出性能卓越的RA8 MCU

    AMEYA360 | 皇华:面向电机控制应用推出性能卓越的RA8 MCU:全球半导体解决方案供应商
    的头像 发表于 02-02 16:02 621次阅读

    推高性能RA8T1微控制器,满足电机实时控制需求

    全面出击的RA系列MCU产品阵容,致力于为电机控制提供最佳化的功能支持。全新的RA8T1产品
    的头像 发表于 02-03 14:35 1105次阅读

    RA2L1系列CAN通信应用

    RA2L1系列CAN通信应用
    的头像 发表于 06-26 08:06 804次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b>2L1<b class='flag-5'>系列</b>CAN通信应用

    RA-T马达工程串口直接启动Workbench调试方案

    工具,对RA-T系列马达工程进行调试。本文是基于野火公司出品的启明6T2开发套件来搭建样例系统,列出了使用Workbench功能所需的软硬件修改,测试结果显示可正常
    的头像 发表于 08-03 08:06 642次阅读
    <b class='flag-5'>RA-T</b>马达工程串口直接启动Workbench调试方案

    基于RA-T系列MCU的5KW三相图腾柱无桥PFC设计方案

    RA-T系列MCU是为电机和数字电源应用而优化的规格和产品系列,产品具有最佳结构(ARM C
    的头像 发表于 08-21 09:54 1178次阅读
    基于<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设计方案

    基于RA6T2 MCU实现过电流保护功能

    本篇介绍如何在使用RA-T系列芯片时,通过使用内部比较器ACMPHS配合POE模块,实现过电流保护,从而替代传统的硬件保护电路,这样可以降低项目的BOM成本。本篇文章以RA6T2为例,
    的头像 发表于 11-11 13:41 602次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA6T</b>2 MCU实现过电流保护功能

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

    在马达或电源工程中,往往需要采集多路AD信号,且这些信号的优先级和采样时机不相同。本篇介绍在使用RA-T系列芯片建立马达或电源工程时,如何根据需求来设置主要功能模块ADC&GPT,包括采样
    的头像 发表于 11-21 13:40 582次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA-T</b><b class='flag-5'>系列</b>芯片ADC和GPT功能模块的配合使用