智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4101|回复: 19
打印 上一主题 下一主题

给小车跪了——第三篇

  [复制链接]

47

主题

788

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6116
威望
3442
贡献
1406
兑换币
1753
注册时间
2012-2-3
在线时间
634 小时
毕业学校
浙江工业大学
跳转到指定楼层
1#
发表于 2013-3-8 14:20:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本篇讲述了编码器脉冲的奇幻采集(k60)的故事。话不多说进入正题。这次遇到的问题是有关lptmr模块。我使用野火的程序。我的初始化函数是
INT_COUNT是2000
lptmr_counter_init(LPT0_ALT1, INT_COUNT, 2, LPT_Rising);
   //初始化脉冲计数器,用LPT0_ALT1,即PTA19输入,每隔INT_COUNT产生中断,延时2个时钟滤波,上升沿触发
采集函数是
void speed_get()
{
  speed_read = LPTMR0_CNR;                         //保存脉冲计数器计算值
   lptmr_counter_clean();                                  //清空脉冲计数器计算值(马上清空,这样才能保证计数值准确)
}
采集函数是在场中断进去时调用的,于是产生的现象是,哪怕编码器不转speed_read 还是会有变化的值(15 左右会变化)。
有没有同学和我有一样的遭遇?

16

主题

1037

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5076

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章

威望
1956
贡献
2072
兑换币
679
注册时间
2012-2-24
在线时间
524 小时
2#
发表于 2013-3-8 15:09:55 | 只看该作者
你可以用FTM的正交解码测速,挺好用的!
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
3#
发表于 2013-3-8 17:56:25 | 只看该作者
这么神奇啊
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
4#
发表于 2013-3-8 17:57:58 | 只看该作者
如果不行,就用正交解码咯,参考代码:


//FTM1_CNT=0;   用s16变量保存,他就是脉冲,负数表示反方向

/*配置正交解码*/

void FTM2_QUAD_Iint(void)
{
    PORTB_PCR18= PORT_PCR_MUX(6); // 设置引脚A10引脚为FTM2_PHA功能  
    PORTB_PCR19= PORT_PCR_MUX(6); // 设置引脚A11引脚为FTM2_PHB功能  
    SIM_SCGC3|=SIM_SCGC3_FTM2_MASK;//使能FTM2时钟  
    FTM2_MODE |= FTM_MODE_WPDIS_MASK;//写保护禁止  
    FTM2_QDCTRL|=FTM_QDCTRL_QUADMODE_MASK;//AB相同时确定方向和计数值  
    FTM2_CNTIN=0;//FTM0计数器初始值为0  
    FTM2_MOD=65535;//结束值  
    FTM2_QDCTRL|=FTM_QDCTRL_QUADEN_MASK;//启用FTM2正交解码模式  
    FTM2_MODE |= FTM_MODE_FTMEN_MASK;//FTM2EN=1   
    FTM2_CNT=0;  
}

void FTM1_QUAD_Iint(void)
{
    PORTA_PCR12= PORT_PCR_MUX(7); // 设置引脚A12引脚为FTM1_PHA功能  
    PORTA_PCR13= PORT_PCR_MUX(7); // 设置引脚A13引脚为FTM1_PHB功能  
    SIM_SCGC6|=SIM_SCGC6_FTM1_MASK;//使能FTM1时钟  
    FTM1_MODE |= FTM_MODE_WPDIS_MASK;//写保护禁止  
    FTM1_QDCTRL|=FTM_QDCTRL_QUADMODE_MASK;//AB相同时确定方向和计数值  
    FTM1_CNTIN=0;//FTM0计数器初始值为0  
    FTM1_MOD=65535;//结束值  
    FTM1_QDCTRL|=FTM_QDCTRL_QUADEN_MASK;//启用FTM1正交解码模式  
    FTM1_MODE |= FTM_MODE_FTMEN_MASK;//FTM1EN=1   
    FTM1_CNT=0;  
}
回复 支持 反对

使用道具 举报

47

主题

788

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6116
威望
3442
贡献
1406
兑换币
1753
注册时间
2012-2-3
在线时间
634 小时
毕业学校
浙江工业大学
5#
 楼主| 发表于 2013-3-8 18:38:05 | 只看该作者
1006110218 发表于 2013-3-8 15:09
你可以用FTM的正交解码测速,挺好用的!

嗯,谢谢
回复 支持 反对

使用道具 举报

47

主题

788

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6116
威望
3442
贡献
1406
兑换币
1753
注册时间
2012-2-3
在线时间
634 小时
毕业学校
浙江工业大学
6#
 楼主| 发表于 2013-3-8 18:43:26 | 只看该作者
野火 发表于 2013-3-8 17:57
如果不行,就用正交解码咯,参考代码:

谢谢!火哥,
我的FTM2是用来给电机PWM的
(FTM_PWM_init(FTM2, CH1, 10000, 100);//A11
   FTM_PWM_init(FTM2, CH0, 10000, 100);//A10速度控制可行),
FTM1给舵机
FTM_PWM_init(FTM1, CH0, 300, 492);  //FTM模块产生PWM,用 FTM1_CH0 ,即 PTA8 ,
我还能使用你的FTM1模块吗?
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
7#
发表于 2013-3-8 20:28:02 | 只看该作者
徐晋鸿! 发表于 2013-3-8 18:43
谢谢!火哥,
我的FTM2是用来给电机PWM的
(FTM_PWM_init(FTM2, CH1, 10000, 100);//A11

用了FTM1做PWM,就不能做正交解码了
回复 支持 反对

使用道具 举报

0

主题

99

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1027
威望
452
贡献
321
兑换币
238
注册时间
2012-12-6
在线时间
127 小时
8#
发表于 2013-4-13 02:37:22 | 只看该作者
野火 发表于 2013-3-8 20:28
用了FTM1做PWM,就不能做正交解码了

请问火哥,我用的是单向的编码器可以使用正交解码测速吗?
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
9#
发表于 2013-4-16 10:19:10 | 只看该作者
dec112233 发表于 2013-4-13 02:37
请问火哥,我用的是单向的编码器可以使用正交解码测速吗?

可以,B相的核心板管脚,接3.3V
回复 支持 反对

使用道具 举报

0

主题

99

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1027
威望
452
贡献
321
兑换币
238
注册时间
2012-12-6
在线时间
127 小时
10#
发表于 2013-4-16 22:53:17 | 只看该作者
野火 发表于 2013-4-16 10:19
可以,B相的核心板管脚,接3.3V

那可以使用内部上拉吗 ?     怎么 设置内部上拉?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 04:31 , Processed in 0.092327 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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