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

K60 BLDC pwm互补输出问题 (已解决)

本帖最后由 提线木偶 于 2014-6-18 08:51 编辑

本人刚刚接触k60 以前也值用过51    现在想用k60驱动无刷直流电机    有很多问题想请教   希望大家帮帮忙,

问题如下:

1,对于PWM互补输出初始化   参考程序其中有个FTM2_SYNC |= FTM_SYNC_CNTMAX_MASK;
                                                                  FTM2_SYNC |= FTM_SYNC_SWSYNC_MASK; 这两句程序是干什么的呢,看了数据手册没理解好,为什么    FTM2_C0V = 0x0000;
                                                                                                                                                                                                                     FTM2_C1V = MODULO/8;赋值只能在这两句之前赋值才能输出pwm呢?
而且我发现互补模式下   pwm输出除了由C2nV和C2n+1V确定外好像还和其他通道赋值有关系
现在初始化我要配置三对互补输出的pwm   如果这么配置 FTM0_C0V = 0;
                                                                               FTM0_C1V =100;
                                                                               FTM0_C2V = 0;
                                                                               FTM0_C3V =100;
                                                                               FTM0_C4V = 0;
                                                                               FTM0_C5V =50;         pwm1和pwm5 就不是正常的就是拐了两下的不知道是不是初始化配置上哪里有问题呢   
2,还有在换向时    FTM2_SWOCTRL = 0x0203;   /* pwm0 output 0, pwm1 output 1 */这个软件控制我的PWM 1并没有输出1不知道除了这句还要配置写什么吗,还是要给cnv赋值之类的?



/*   Q1_TOP_A = Q1      Q2_TOP_B = Q2          Q3_TOP_C = Q3                                    */
/*PWM0                     PWM2                            PWM4                                             */
/*       |-                  |-                      |-                                       */
/*   -|                  -|                      -|                                           */
/*       |-                  |-                      |-                                       */
/* -----------------------------------------------------------------                              */
/*Q4_BOTTOM_A = Q4      Q5_BOTTOM_B = Q5       Q6_BOTTOM_C = Q6                                 */
/*PWM1                           PWM3                            PWM5                                     */
/*       |-                  |-                      |-                                       */
/*   -|                  -|                      -|                                           */
/*       |-                  |-                      |-                                       */
/*                                                                                                */
如果我想AB 相导通就是让Q1 Q5 导通PWM2输出0,PWM3输出1 Q5通Q1导通为什么就得让PWM0 PWM1 互补输出呢   只有pwm0输出不行吗    其实这里不怎么明白

希望大家能给我些例程    pwm 初始化函数之类的    或是无刷直流电机控制的    有些感觉自己都设置了但是不好使不知道为什么   谢谢大家了

提线木偶 发表于 2014-6-17 13:25:24

求帮助求解答!!!

xlxbangel 发表于 2014-6-17 14:32:35

那两句你不理解是你没好好看芯片手册,芯片手册对每一位的解释都很清楚。而且ftm这块是有中文翻译的资料,你去找找吧,因为之前我也没配过三相控制的,所以关于你那么多路的输出问题就不知道了

提线木偶 发表于 2014-6-17 15:08:46

xlxbangel 发表于 2014-6-17 14:32
那两句你不理解是你没好好看芯片手册,芯片手册对每一位的解释都很清楚。而且ftm这块是有中文翻译的资料, ...

手册看了   他说的pwm同步 可以执行的MOD,CV同步更新是只有写了这句才能改变cv的值否则就算赋值给cv也不能覆盖?是这意思吗    而且k60中文手册好像没有ftm那块有的也没写那么多寄存器   也有可能是我没找到吧

xlxbangel 发表于 2014-6-17 15:40:18

提线木偶 发表于 2014-6-17 15:08
手册看了   他说的pwm同步 可以执行的MOD,CV同步更新是只有写了这句才能改变cv的值否则就算赋值给cv ...

重新赋值是这样的,需要加一行代码才可以改,而且是在下次输出时才改变。

FSL_TICS_ZP 发表于 2014-6-17 15:50:09

你好,楼主!
针对你的第一个问题,
FTM2_SYNC |= FTM_SYNC_CNTMAX_MASK;
FTM2_SYNC |= FTM_SYNC_SWSYNC_MASK;
这两句对应实现互补输出没有作用,更同步作用有关,具体作用我还是建议你阅读参考手册,我们同步流程还是挺复杂的,不是一两句可以讲清楚的。
至于pwm输出除了由C2nV和C2n+1V确定外,还有寄存器设置有关,麻烦你再解释一下,我不是很清楚。谢谢!

FSL_TICS_ZP 发表于 2014-6-17 16:38:11

你好,楼主!
针对你的第二个问题,我觉得你对软件输出控制作用可能还不是很了解,除了该语句外
FTM2_SWOCTRL = 0x0203;   /* pwm0 output 0, pwm1 output 1 */
你还需要其他操作,你需要遵循SWOCTRL寄存器的同步过程,具体操作步骤参考手册写的很清楚啊。
还有BLDC的例程的话,我建议到FSL官网去搜,我们有提供相对应的解决方案,希望可以帮到你。

提线木偶 发表于 2014-6-17 16:57:23

FSL_TICS_ZP 发表于 2014-6-17 16:38
你好,楼主!
针对你的第二个问题,我觉得你对软件输出控制作用可能还不是很了解,除了该语句外
FTM2_SWOCT ...

好的   我找到原因了   原来是我硬件有点问题   现在能正常输出   感谢

提线木偶 发表于 2014-6-17 16:59:01

xlxbangel 发表于 2014-6-17 15:40
重新赋值是这样的,需要加一行代码才可以改,而且是在下次输出时才改变。 ...

嗯非常感谢

FSL_TICS_ZP 发表于 2014-6-18 08:53:23

提线木偶 发表于 2014-6-17 16:59
嗯非常感谢

客气,有问题以后再交流!
页: [1]
查看完整版本: K60 BLDC pwm互补输出问题 (已解决)