注册 登录
查看: 594|回复: 4

[K60] 【求助】k60电机控制问题

[复制链接]
发表于 2017-9-3 22:32:54 | 显示全部楼层 |阅读模式
用的是 FTM0 CH0-CH3,分别对应PTC1-PTC4左轮电机PTC1,PTC2
右轮电机PTC3,PTC4

同样的代码,右轮正常转动,左轮疯转,我还特意把右轮的线接到左轮,左轮正常转动
反正发现接PTC1的线永远有电压,PTC2的线永远没电压(使用ftm_pwm_init初始化后),不管你想它正转,还是反转,另外程序没有跑飞
回复

使用道具 举报

发表于 2017-9-3 23:29:07 | 显示全部楼层
初始化引脚正确吗
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-4 19:48:34 | 显示全部楼层
永巷24号 发表于 2017-9-3 23:29
初始化引脚正确吗

ftm_pwm_init(FTM0,FTM_CH1,10000,0);
ftm_pwm_init(FTM0,FTM_CH0,10000,0);

#define FTM0_CH0_PIN    PTC1        //PTC1、PTA3            PTA3不要用(与Jtag、SWD冲突)
#define FTM0_CH1_PIN    PTC2        //PTC2、PTA4

然后就ftm_pwm_duty,没超过他那个精度FTM0_PRECISON
我也不知道为什么,反正没用ftm_pwm_init初始化后电机是不用转的,
初始化后就疯转的。。而且只有左轮有问题,我都怀疑是硬件问题了,代码基本排除到差不多了

        case FTM_CH0:
            if(FTM0_CH0_PIN == PTC1)
            {
                port_init(FTM0_CH0_PIN, ALT4);
            }


        case FTM_CH1:
            if(FTM0_CH1_PIN == PTC2)
            {
                port_init(FTM0_CH1_PIN, ALT4);
            }

回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-4 20:47:42 | 显示全部楼层
永巷24号 发表于 2017-9-3 23:29
初始化引脚正确吗

        ftm_pwm_init(FTM0,FTM_CH0,10000,0);
        ftm_pwm_init(FTM0,FTM_CH1,10000,0);
        ftm_pwm_init(FTM0,FTM_CH2,10000,0);
        ftm_pwm_init(FTM0,FTM_CH3,10000,0);
        while(1)
        {
                ftm_pwm_duty(FTM0,FTM_CH0,80);
                ftm_pwm_duty(FTM0,FTM_CH1,80);
                ftm_pwm_duty(FTM0,FTM_CH2,80);
                ftm_pwm_duty(FTM0,FTM_CH3,80);
       }
我好想理解错占空比了,或者这样说吧,发现FTM_CH1没电压。。

回复 支持 反对

使用道具 举报

发表于 2017-9-7 11:55:04 | 显示全部楼层
你确定那个引脚复用到你需要的引脚嘛
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

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

本版积分规则

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