智能车制作

标题: 求各位大神指点 [打印本页]

作者: Kiss-me    时间: 2016-12-31 15:37
标题: 求各位大神指点
请问一下,使用两个编码器的,我是不是要写两个正交码的程序啊?如何弄啊?求指点方向?

作者: 混森蓝兽    时间: 2017-1-1 23:28
/*************************************************************************
*                             济南大学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);  
}


作者: 2585341750    时间: 2017-1-2 01:15
直立还是c车?k60,c车的话两个编码器都用正交解码可能会资源不够,直立的话没问题
作者: Kiss-me    时间: 2017-1-2 15:14
2585341750 发表于 2017-1-2 01:15
直立还是c车?k60,c车的话两个编码器都用正交解码可能会资源不够,直立的话没问题

C车    为什么说不够配置呢?

作者: 2585341750    时间: 2017-1-2 15:19
Kiss-me 发表于 2017-1-2 15:14
C车    为什么说不够配置呢?

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


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






欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2