OpenEdv-开源电子网

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

基于STM32的旋转编码器

[复制链接]

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
发表于 2013-12-5 11:11:08 | 显示全部楼层 |阅读模式
我想用STM32编一个测量旋转编码器角度的程序,使用串口调试助手显示角度。
想请问下,旋转编码器一周360度对应得定时器计数值是怎么计算的,是固定的么,还是有什么公式,或者和编码器的说明书上有什么指示?我在网上看了很多版本,什么说法都有,乱了。。跪求~


下面是我在网上看的一段程序:
void Get_Angle(s16*degree) 
{
 s32 temp;
 s16 jishu;
 jishu=TIM_GetCounter(TIM3);
 if(jishu>=400)  
 {
  degree[0]='-';   
  degree[1]=(800-jishu)*360/(899+1);  
  temp=(800-jishu)*(1000000/((899+1)/2))*360-degree[1]*1000000;
  degree[2]=(unsigned char)temp; 
  }
 else
 {
  degree[0]='+';
  degree[1]=jishu*360/(899+1);
  temp=jishu*(1000000/((899+1)/2))*180-degree[1]*1000000;
    degree[2]=(unsigned char)temp;
 }
}

899是在定时器初始化时给定的 TIM_TimeBaseStructure.TIM_Period = 899; //定时器计数自动重装值
400,800,1000000都是网上那个程序直接给定的

所以想问下,到底定时器计数值和旋转编码器的角度之间是如何换算的呢?
附timer.c

另外,求用串口接收degree数据的程序。。

timer.c

2.81 KB, 下载次数: 707

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-12-5 12:02:54 | 显示全部楼层
回复【楼主位】馨馨泡沫:
---------------------------------
输出的数据和速度有关吧,你用的是哪个型号的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
 楼主| 发表于 2013-12-5 15:50:04 | 显示全部楼层
回复【2楼】Badu_Space:
---------------------------------
欧姆龙E6B2_CWZ6C,分辨率是1000p/r
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-12-6 09:07:16 | 显示全部楼层
回复【3楼】馨馨泡沫:
---------------------------------
没用过欧姆龙的,以前玩过西门子的,好几年没玩这东东了,都忘记差不多了,呵呵

你对照数据手册来即可,一般都可以调通,要不就百度一下,看下由什么好的例程没
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
 楼主| 发表于 2013-12-6 09:23:29 | 显示全部楼层
回复【4楼】Badu_Space:
---------------------------------
请问一下,如果我没有LCD,想要显示编码器的角度应该怎么办呢?使用串口调试助手可以显示结果么?如果可以的话,我需要再加入一个串口接收数据的程序么?
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-12-6 12:06:45 | 显示全部楼层
回复【5楼】馨馨泡沫:
---------------------------------
将你的数据通过串口发送到上位机即可
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-15 16:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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