查看: 769|回复: 0

[分享] Kinetis K系列产生两路正交PWM波

[复制链接]
  • TA的每日心情
    开心
    2022-4-14 11:08
  • 签到天数: 47 天

    [LV.5]常住居民I

    23

    主题

    131

    帖子

    0

    高级会员

    Rank: 4

    积分
    724
    最后登录
    2024-1-20
    发表于 2020-7-7 23:26:58 | 显示全部楼层 |阅读模式
    Kinetis K系列产生两路正交PWM波
    在电机控制中,有可能会需要两路正交的PWM,即相位相差90的PWM波形。那么该如何该功能呢。
    可以使用FTM中combine 模式

    FTM_CH0和FTM_CH1是一组,FTM_CH2和FTM_CH3是一组,FTM_CH4和FTM_CH5是一组,FTM_CH6和FTM_CH7是一组。那么从这四组中各选择一路,就可以产生相位不同的PWM波形。
    假设选择FTM_CH0和FTM_CH2,设置FTM_MOD=10000,设置C0V=2500,C1V=7500,C2V=0,C3V=10000.那么这样就可以产生两路相位相差九十度的PWM波形了。
    波形如下:


    有一个地方需要说明一下:虽然配置了四个通道的CnV值,不要误以为产生两路正交PWM波,就得占用4个引脚。其实只占用了两个引脚,FTM_CH1和FTM_CH3对应的引脚可以用作其他任何功能,没有影响,在程序中对这两路不需要把它复用成FTM功能。

    硬件平台使用的是超核K60涂鸦版,代码使用的也是超核软件代码。
    在原来的基础上,对其进行了修改。改动了ftm.c,ftm.h和main.c 三个文件。
    文件下载地址:http://download.csdn.net/detail/wangwenxue1989/9051071

    ///////////////////////////////////////////////////////////////////////
    客户在实际使用中需要在不停止PWM输出的前提下调节PWM波的周期,占空比不变还是50%。这个功能改如何实现呢?
    改变周期那么需要修改FTMx_MOD 寄存器的值,占空比和FTMx_CnV,这就涉及到这两个寄存器的值何时更新的问题,






    可以参考AN4560,链接地址为:http://cache.freescale.com/files ... df?fromsite=zh-Hans
    涉及的内容比较多。主要是按着上面的流程图来看比较方便。

    产生的波形如下:


    一路在转变时有个很短的跳变沿,目前还不知道是什么问题。


    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-20 02:38 , Processed in 0.097170 second(s), 18 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表