智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 869|回复: 4
打印 上一主题 下一主题

求各位大神指点

[复制链接]

17

主题

34

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1622
威望
777
贡献
445
兑换币
484
注册时间
2016-12-4
在线时间
200 小时
毕业学校
桂工
跳转到指定楼层
1#
发表于 2016-12-31 15:37:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
请问一下,使用两个编码器的,我是不是要写两个正交码的程序啊?如何弄啊?求指点方向?
回复

使用道具 举报

21

主题

366

帖子

0

精华

跨届大侠

种下一块板砖

Rank: 10Rank: 10Rank: 10

积分
6729
威望
2857
贡献
1688
兑换币
1892
注册时间
2015-6-13
在线时间
1092 小时
毕业学校
圣马家沟
5#
发表于 2017-1-2 15:19:52 | 只看该作者
Kiss-me 发表于 2017-1-2 15:14
C车    为什么说不够配置呢?

舵机一个ftm电机输出一个ftm
一个轮子一个ftm解码
一个轮子一个lptmer


我是这样用的,60、26都是三个ftm模块

回复 支持 反对

使用道具 举报

17

主题

34

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1622
威望
777
贡献
445
兑换币
484
注册时间
2016-12-4
在线时间
200 小时
毕业学校
桂工
4#
 楼主| 发表于 2017-1-2 15:14:27 | 只看该作者
2585341750 发表于 2017-1-2 01:15
直立还是c车?k60,c车的话两个编码器都用正交解码可能会资源不够,直立的话没问题

C车    为什么说不够配置呢?
回复 支持 反对

使用道具 举报

21

主题

366

帖子

0

精华

跨届大侠

种下一块板砖

Rank: 10Rank: 10Rank: 10

积分
6729
威望
2857
贡献
1688
兑换币
1892
注册时间
2015-6-13
在线时间
1092 小时
毕业学校
圣马家沟
3#
发表于 2017-1-2 01:15:49 | 只看该作者
直立还是c车?k60,c车的话两个编码器都用正交解码可能会资源不够,直立的话没问题
回复 支持 反对

使用道具 举报

1

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2431
威望
1520
贡献
669
兑换币
447
注册时间
2015-1-25
在线时间
121 小时
毕业学校
济南大学
2#
发表于 2017-1-1 23:28:24 | 只看该作者
/*************************************************************************
*                             济南大学1209电机拖动实验室
*  函数名称:FTM_QUAD_Iint(void)
*  功能说明:两路,(FTM模块的正交解码功能)使用FTM2_PHA(PTA10),FTM2_PHB(PTA11)和FTM1_PHA(PTA8),FTM1_PHB(PTA9)
*              引脚输入作为旋转编码器的A相和B相输入。AB相同时确定方向和计数值,a项用于计数,b相用于判断计数值得增减方向
*              FTM2_CNT; FTM1_CNT为计数值寄存器、从这里读取计数值

*************************************************************************/

void FTM_QUAD_init(void)         //编码器计数器初始化
{
        SIM_SCGC5  |= SIM_SCGC5_PORTA_MASK;
        PORTA_PCR8  = PORT_PCR_MUX(6); // 设置引脚A8引脚为FTM1_PHA功能
        PORTA_PCR9  = PORT_PCR_MUX(6); // 设置引脚A9引脚为FTM1_PHB功能
        PORTA_PCR10 = PORT_PCR_MUX(6); // 设置引脚A10引脚为FTM2_PHA功能  
           PORTA_PCR11 = PORT_PCR_MUX(6); // 设置引脚A11引脚为FTM2_PHB功能

        SIM_SCGC6 |= SIM_SCGC6_FTM1_MASK;   //选通FTM1时钟
        SIM_SCGC3 |= SIM_SCGC3_FTM2_MASK;   //选通FTM2时钟

        FTM1_CNTIN = 0x0000u;
        FTM1_CNT =0x1234;  
        FTM1_MOD = 0xffff; // FTM counter is free running counter
        FTM2_CNTIN = 0x0000u;
        FTM2_CNT =0x1234;  
        FTM2_MOD = 0xffff; // FTM counter is free running counter

        FTM1_MODE |= FTM_MODE_FTMEN_MASK;
        FTM2_MODE |= FTM_MODE_FTMEN_MASK;        

        FTM1_C0SC |= FTM_CnSC_ELSA_MASK;     //捕捉输入上升沿,通道中断禁止;
        FTM1_QDCTRL |= FTM_QDCTRL_QUADMODE_MASK  //Count and direction encoding mode
                       | FTM_QDCTRL_QUADEN_MASK; //  使能正交解码模式

        FTM2_C0SC |= FTM_CnSC_ELSA_MASK;     //捕捉输入上升沿
        FTM2_QDCTRL |= FTM_QDCTRL_QUADMODE_MASK  //Count and direction encoding mode
                       | FTM_QDCTRL_QUADEN_MASK; //  使能正交解码模式               

        FTM1_CONF |= FTM_CONF_BDMMODE(3); //bdm调试时,计数器冻结
        FTM2_CONF |= FTM_CONF_BDMMODE(3); //bdm调试时,计数器冻结

        FTM1_SC |= FTM_SC_PS(0) | FTM_SC_CLKS(1);
        FTM2_SC |= FTM_SC_PS(0) | FTM_SC_CLKS(1);  
}

回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-30 20:12 , Processed in 0.041415 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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