FSL_TICS_ZP 发表于 2014-6-9 11:17:39

【经验分享】FTM进阶特性介绍 —【组合与互补模式】

FTM进阶特性介绍 —【组合与互补模式】
       上上周与大伙分享了FTM的双边沿捕获特性,大伙是不是真真切切的感受到FTM在PWM周期与占空比测量方面很给力呢,这次咱们再接再励探讨一下FTM在PWM输出方面有什么给力的地方?

       FTM组合模式例程代码如下,至于互补模式,大家可以根据参考手册介绍,在组合模式例程代码的基础上修改:





PS:本帖可从飞思卡尔版块置顶帖:飞思卡尔Kinetis资料大本营的飞思卡尔论坛支持小组【经验分享】帖汇总链接进入。

FSL_TICS_ZP 发表于 2014-6-9 11:18:09

欢迎大家来交流使用心得。

黑夜之狼 发表于 2014-6-9 11:48:17

沙发,围观

wangpengcheng 发表于 2014-6-9 11:57:24

给力的资料,必须得顶啊!

FSL_TICS_ZP 发表于 2014-6-9 15:17:54

黑夜之狼 发表于 2014-6-9 11:48
沙发,围观

欢迎下载学习,如有什么疑问可来论坛中讨论!

黑夜之狼 发表于 2014-6-9 15:18:36

FSL_TICS_ZP 发表于 2014-6-9 15:17
欢迎下载学习,如有什么疑问可来论坛中讨论!

好的{:lol:}

FSL_TICS_ZP 发表于 2014-6-9 15:18:49

wangpengcheng 发表于 2014-6-9 11:57
给力的资料,必须得顶啊!

谢谢支持。

浪里白条 发表于 2014-6-9 15:49:46

下载一个实验下

zndz410 发表于 2014-6-9 16:13:28

好好学习学习。

FSL_TICS_ZP 发表于 2014-6-9 17:02:27

浪里白条 发表于 2014-6-9 15:49
下载一个实验下

谢谢支持,如有问题欢迎来论坛中交流!

FSL_TICS_ZP 发表于 2014-6-9 17:02:59

zndz410 发表于 2014-6-9 16:13
好好学习学习。

谢谢支持,如有问题欢迎来论坛中交流!

提线木偶 发表于 2014-6-10 17:28:41

正在做无刷直流电机控制   很需要你讲的,

FSL_TICS_ZP 发表于 2014-6-10 17:41:11

提线木偶 发表于 2014-6-10 17:28
正在做无刷直流电机控制   很需要你讲的,

希望对你有帮助,有什么问题论坛中交流,OK!

cl1cl1cl1cl1 发表于 2014-6-10 20:44:57

看看看看

湛泸骏驰 发表于 2014-6-10 20:56:19

学习学习         {:smile:}

FSL_TICS_ZP 发表于 2014-6-11 09:56:08

cl1cl1cl1cl1 发表于 2014-6-10 20:44
看看看看

谢谢支持,如有问题欢迎来论坛中交流!

FSL_TICS_ZP 发表于 2014-6-11 09:56:48

湛泸骏驰 发表于 2014-6-10 20:56
学习学习

谢谢支持,如有问题欢迎来论坛中交流!

提线木偶 发表于 2014-6-11 15:12:39

FSL_TICS_ZP 发表于 2014-6-10 17:41
希望对你有帮助,有什么问题论坛中交流,OK!

我在做无刷直流电机控制   按照你说的初始化 FTM0_combine_PWM_init();
然后io中断获取了霍尔信号的换相字,然后进入换相程序   如下   
switch (value)
{
    case 5:   /* -->BA */
            FTM0_OUTMASK = 0x30;   /* mask pwm4, pwm5 */
            FTM0_SWOCTRL = 0x0203;   /* pwm0 output 0, pwm1 output 1 */
            Q2_TOP_B_PWM    (0);/* pwm2 and pwm3 complement output */
      Q5_BOTTOM_B_PWM (pwm_value);/* channel n =0 and channel n+1 = pwm value */
      break;
   
    case 1:   /* -->CA */
            FTM0_OUTMASK = 0x0C;   /* mask pwm2, pwm3 */
            FTM0_SWOCTRL = 0x0203;   /* pwm0 output 0, pwm1 output 1 */
            Q3_TOP_C_PWM    (0);/* pwm4 and pwm5 complement output */
      Q6_BOTTOM_C_PWM (pwm_value);/* channel n =0 and channel n+1 = pwm value */
      break;
      
    case 3:   /* -->CB */
            FTM0_OUTMASK = 0x03;   /* mask pwm0, pwm1 */
            FTM0_SWOCTRL = 0x080C;   /* pwm2 output 0, pwm3 output 1 */
            Q3_TOP_C_PWM    (0);/* pwm4 and pwm5 complement output */
      Q6_BOTTOM_C_PWM (pwm_value);/* channel n =0 and channel n+1 = pwm value */
      break;
      
    case 2:   /* -->AB */
            FTM0_OUTMASK = 0x30;   /* mask pwm4, pwm5 */
            FTM0_SWOCTRL = 0x080C;   /* pwm2 output 0, pwm3 output 1 */
            Q1_TOP_A_PWM    (0);/* pwm0 and pwm1 complement output */
      Q4_BOTTOM_A_PWM (pwm_value);/* channel n =0 and channel n+1 = pwm value */                           
      break;
      
    case 6:   /* -->AC */
            FTM0_OUTMASK = 0x0C;   /* mask pwm2, pwm3 */
            FTM0_SWOCTRL = 0x2030;   /* pwm4 output 0, pwm5 output 1 */
            Q1_TOP_A_PWM    (0);/* pwm0 and pwm1 complement output */
      Q4_BOTTOM_A_PWM (pwm_value);/* channel n =0 and channel n+1 = pwm value */                              
      break;
      
    case 4:    /* -->BC */
            FTM0_OUTMASK = 0x03;   /* mask pwm0, pwm1 */
            FTM0_SWOCTRL = 0x2030;   /* pwm4 output 0, pwm5 output 1 */
            Q2_TOP_B_PWM    (0);/* pwm0 and pwm1 complement output */
      Q5_BOTTOM_B_PWM (pwm_value);/* channel n =0 and channel n+1 = pwm value */
      break;
      
    default:
            break;
}
//SIM_SOPT |= SIM_SOPT_DELAY(pwm_value>>2);
FTM0_PWMLOAD = 0x23F;
}

这是之前定义的   
#define Q1_TOP_A       PTC1
#define Q4_BOTTOM_A    PTA4
#define Q2_TOP_B       PTA5
#define Q5_BOTTOM_B    PTC4
#define Q3_TOP_C       PTD4
#define Q6_BOTTOM_C    PTD5

#define Q1_TOP_A_PWM(pwm_value)       FTM0_C0V = pwm_value   
#define Q4_BOTTOM_A_PWM(pwm_value)    FTM0_C1V = pwm_value      
#define Q2_TOP_B_PWM(pwm_value)       FTM0_C2V = pwm_value   
#define Q5_BOTTOM_B_PWM(pwm_value)    FTM0_C3V = pwm_value   
#define Q3_TOP_C_PWM(pwm_value)       FTM0_C4V = pwm_value   
#define Q6_BOTTOM_C_PWM(pwm_value)    FTM0_C5V = pwm_value   

但是我并没有输出PWM呢为什么呢   还有你用什么方法能看见pwm我用示波器看的   编译用的iar不知道能不能直观看见互补的pwm呢   求方法

upssee 发表于 2014-6-16 23:14:14

正需要,这几天看文档,有例程,刚好。谢谢

upssee 发表于 2014-6-16 23:16:27

版主附件打不开呢,不能下载。

FSL_TICS_ZP 发表于 2014-6-17 09:01:01

upssee 发表于 2014-6-16 23:14
正需要,这几天看文档,有例程,刚好。谢谢

读取失败,好的,我确认一下!

提线木偶 发表于 2014-6-17 11:34:50

楼主想请教下FTM2_SYNC |= FTM_SYNC_CNTMAX_MASK;
                      FTM2_SYNC |= FTM_SYNC_SWSYNC_MASK; 这两句程序是干什么的呢, FTM2_C0V = 0x0000;
                                                                                                                        FTM2_C1V = MODULO/8;赋值只能在这两句之前赋值才能输出pwm,现在我想控制无刷直流电机初始化要一起赋值吗?如果现在我这么配置 FTM0_C0V = 0;
                                                            FTM0_C1V =100;
                                                               FTM0_C2V = 0;
                                                               FTM0_C3V =100;
                                                               FTM0_C4V = 0;
                                                               FTM0_C5V =50;         输出的pwm就不是正常的就是拐了两下的   pwm除了由C2nV和C2n+1V确定外还和其他通道赋值有关系?
还想问下       FTM0_SWOCTRL = 0x0203;   /* pwm0 output 0, pwm1 output 1 */这个指令是设置软件输出的,我配置了并不能输出是因为初始化把他们配置了互补输出模式之后有影响还是另外需要其他语句才可以?回答我下吧   新手自己弄了好多天能输出互补pwm 但是还是不能实现电机换相   {:cry:} 或者不知道你有没有k60无刷直流电机控制或是换相的例程给我参考下呢   自己配置乱了 不到什么问题了

FSL_TICS_ZP 发表于 2014-6-17 11:46:00

提线木偶 发表于 2014-6-17 11:34
楼主想请教下FTM2_SYNC |= FTM_SYNC_CNTMAX_MASK;
                      FTM2_SYNC |= FTM_SYNC_SWSY ...

你好,你就你的问题重新建一个贴,这样方便我查找,谢谢!

提线木偶 发表于 2014-6-17 11:54:19

FSL_TICS_ZP 发表于 2014-6-17 11:46
你好,你就你的问题重新建一个贴,这样方便我查找,谢谢!

额,其实这个是问同学借的账号,真的是有问题没地方问自己弄不出来了才来这里问的   同学说随便发帖会被封号所以没敢开帖问   而且也不怎么知道格式不知道能不能帮帮我呢   感激不尽啊   

FSL_TICS_ZP 发表于 2014-6-17 11:56:21

提线木偶 发表于 2014-6-17 11:54
额,其实这个是问同学借的账号,真的是有问题没地方问自己弄不出来了才来这里问的   同学说随便发帖 ...

正常问题贴怎么可能被封,你就用这个账号发帖,然后发我链接就可以啊。

提线木偶 发表于 2014-6-17 12:00:00

FSL_TICS_ZP 发表于 2014-6-17 11:56
正常问题贴怎么可能被封,你就用这个账号发帖,然后发我链接就可以啊。 ...

不知道自己的问题是不是重复的   那我现在发   怎么发你连接呢?

提线木偶 发表于 2014-6-17 12:56:11

FSL_TICS_ZP 发表于 2014-6-17 11:56
正常问题贴怎么可能被封,你就用这个账号发帖,然后发我链接就可以啊。 ...

我发了帖子但是不知道怎么链接你   不知道格式有没有问题K60 BLDC pwm互补输出问题
http://www.amobbs.com/thread-5584823-1-1.html
(出处: amoBBS 阿莫电子论坛)

xlxbangel 发表于 2014-6-17 14:33:20

学习一下         

FSL_TICS_ZP 发表于 2014-6-17 15:14:42

提线木偶 发表于 2014-6-17 12:56
我发了帖子但是不知道怎么链接你   不知道格式有没有问题K60 BLDC pwm互补输出问题
http://www.amobbs. ...

好的,我知道啊!

FSL_TICS_ZP 发表于 2014-6-17 15:15:22

xlxbangel 发表于 2014-6-17 14:33
学习一下

谢谢支持,如有问题欢迎来论坛中交流!

lcptw 发表于 2014-8-15 10:37:50

mark ftm{:sweat:}

JESTER9 发表于 2014-8-21 15:04:06

谢谢分享,我来看看

cn_x 发表于 2014-8-21 15:37:23

昏················都要回复可见··············
页: [1]
查看完整版本: 【经验分享】FTM进阶特性介绍 —【组合与互补模式】