OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6350|回复: 3

旋转编码器转过的角度 在线等

[复制链接]

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
发表于 2013-12-8 09:29:01 | 显示全部楼层 |阅读模式
 这是我在网上当的利用定时器计数计算编码器转过角度的程序,但是无论编码器的角度是多少,运行结果始终是: 134218300
请大家帮忙看看,到底这个计算角度的公式应该是什么?
s16 Get_Angle(void)
{
 s32 temp;
 s32 jishu;
 s16 d;
 jishu=TIM_GetCounter(TIM3);
 temp=(jishu)*360/(999+1);
 d=temp/65536;
 return (s16)d;
}
在线等 谢谢!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

76

主题

355

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2012-9-19
在线时间
5 小时
发表于 2013-12-8 11:13:02 | 显示全部楼层
回复【楼主位】馨馨泡沫:
---------------------------------
这你的看编码器是什么类型。一般是AB相。C代表0点。是多少刻度的。比如1000刻度那你转一圈肯定记数2000个数字。你这推算公式的意思是。1000数字代表360度。那么转了x个数,是多少度。就这样比出来的。。。。然后temp除以65536是应该万一计数超过一圈。得到值成了1圈多。怎么办。。但是这东西写的不好。你应该做个算法。自己闹闹。
具有资深STM32点灯技术,
回复 支持 反对

使用道具 举报

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
 楼主| 发表于 2013-12-8 14:41:58 | 显示全部楼层
回复【2楼】敌害:
---------------------------------
那请问,我的旋转编码器分辨率为1000p/r,是说计数器每计数1000对应360度么?谢谢!
回复 支持 反对

使用道具 举报

15

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-3-14
在线时间
0 小时
发表于 2014-3-31 11:03:55 | 显示全部楼层
回复【3楼】馨馨泡沫:
---------------------------------
你在T1还是在T2计数,还是两者都计数呢?两者都计数的话,脉冲数就是4倍频了。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-13 00:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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