打印

STm8 编码器接口可以计数到多高频率?

[复制链接]
6990|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
s_f_tan|  楼主 | 2012-6-29 15:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我利用T1的编码器接口对正交信号计数,发现低速时,正反计数正确,而到100K附近,正反计数开始错误,不能归零,哪位兄弟了解这方面的情况吗?
沙发
s_f_tan|  楼主 | 2012-6-29 21:54 | 只看该作者
没有兄弟弄过这块吗?

使用特权

评论回复
板凳
figo20042005| | 2012-6-29 22:40 | 只看该作者
你编码器线数多少。你晶振多大。是不是转速太快,你单片机计数反应不过来,按理说正转向上计数到最大值溢出清0,反转向下计数到0溢出。

使用特权

评论回复
地板
s_f_tan|  楼主 | 2012-6-30 08:47 | 只看该作者
这个计数是用硬件计数的,不是软件处理的。在慢速的时候可以回到原点,快一点的话就不行了,测正交信号的频率在20K~30K左右。stm8的计数频率能到多高?

使用特权

评论回复
5
华北地区111| | 2015-12-7 11:40 | 只看该作者
你好,我在用stm8进行正交编码器技术,配置都配了,但一直不能计数
LK_PCKENR1 |=0X80;


TIM1_TimeBaseInit(0,TIM1_COUNTERMODE_UP ,65535,0);


TIM1_SelectMasterSlaveMode(ENABLE);




//TIM1_ICInit(TIM1_CHANNEL_1, TIM1_ICPOLARITY_RISING, TIM1_ICSELECTION_DIRECTTI, TIM1_ICPSC_DIV4, 0x00);
//TIM1_ICInit(TIM1_CHANNEL_2, TIM1_ICPOLARITY_RISING, TIM1_ICSELECTION_DIRECTTI, TIM1_ICPSC_DIV4, 0x00);//

TIM1_EncoderInterfaceConfig(TIM1_ENCODERMODE_TI12, TIM1_ICPOLARITY_FALLING, TIM1_ICPOLARITY_RISING);//TIM1_ENCODERMODE_TI1 TIM1->SMCR |= 0X10;  工作在编码器模式2TIM1_ICPOLARITY_FALLING
TIM1->CCMR1 |= 0X1;   //IC1FP1映射到TI1)
TIM1->CCMR2 |= 0X1;

TIM1_ETRClockMode1Config(TIM1_EXTTRGPSC_DIV2, TIM1_EXTTRGPOLARITY_INVERTED, 0x00);

TIM1_SetCounter(0x0010);  //设置计数器的初值
TIM1_ARRPreloadConfig(ENABLE);

           
TIM1_Cmd(ENABLE); //使能计数器计数   

使用特权

评论回复
6
百事美年达| | 2016-4-12 14:36 | 只看该作者
华北地区111 发表于 2015-12-7 11:40
你好,我在用stm8进行正交编码器技术,配置都配了,但一直不能计数
LK_PCKENR1 |=0X80;

不知你的编码器问题解决了吗?我最近也在做,也是一样的问题,好头疼。。

使用特权

评论回复
7
s_f_tan|  楼主 | 2016-4-12 15:59 | 只看该作者
这个坟贴又被翻出来了,现在用stm32来计数了,速度可以2M/s左右。

使用特权

评论回复
8
hanbing0898| | 2021-7-9 15:27 | 只看该作者

使用特权

评论回复
9
SantaBunny| | 2023-3-6 21:24 | 只看该作者
硬件上有没有问题,编码器的两路脉冲要相差0.25个周期的。

使用特权

评论回复
10
houcs| | 2023-7-19 21:38 | 只看该作者
编码器线数多少

使用特权

评论回复
11
liuzaiy| | 2023-7-19 21:39 | 只看该作者
晶振多大。是不是转速太快

使用特权

评论回复
12
yinxiangh| | 2023-7-19 21:41 | 只看该作者
单片机计数反应不过来

使用特权

评论回复
13
pangb| | 2023-7-19 21:43 | 只看该作者
按理说正转向上计数到最大值溢出清0,反转向下计数到0溢出。

使用特权

评论回复
14
chenjunt| | 2023-7-19 21:47 | 只看该作者
硬件计数的,不是软件处理的

使用特权

评论回复
15
ousj| | 2023-7-19 21:48 | 只看该作者
在慢速的时候可以回到原点,快一点的话就不行了

使用特权

评论回复
16
morrisk| | 2023-7-19 21:50 | 只看该作者
测正交信号的频率在20K~30K左右。stm8的计数频率能到多高?

使用特权

评论回复
17
zyf部长| | 2023-7-19 21:52 | 只看该作者
用stm8进行正交编码器技术,配置都配了,但一直不能计数
LK_PCKENR1 |=0X80;


TIM1_TimeBaseInit(0,TIM1_COUNTERMODE_UP ,65535,0);


TIM1_SelectMasterSlaveMode(ENABLE);




//TIM1_ICInit(TIM1_CHANNEL_1, TIM1_ICPOLARITY_RISING, TIM1_ICSELECTION_DIRECTTI, TIM1_ICPSC_DIV4, 0x00);
//TIM1_ICInit(TIM1_CHANNEL_2, TIM1_ICPOLARITY_RISING, TIM1_ICSELECTION_DIRECTTI, TIM1_ICPSC_DIV4, 0x00);//

TIM1_EncoderInterfaceConfig(TIM1_ENCODERMODE_TI12, TIM1_ICPOLARITY_FALLING, TIM1_ICPOLARITY_RISING);//TIM1_ENCODERMODE_TI1 TIM1->SMCR |= 0X10;  工作在编码器模式2TIM1_ICPOLARITY_FALLING
TIM1->CCMR1 |= 0X1;   //IC1FP1映射到TI1)
TIM1->CCMR2 |= 0X1;

TIM1_ETRClockMode1Config(TIM1_EXTTRGPSC_DIV2, TIM1_EXTTRGPOLARITY_INVERTED, 0x00);

TIM1_SetCounter(0x0010);  //设置计数器的初值
TIM1_ARRPreloadConfig(ENABLE);

           
TIM1_Cmd(ENABLE); //使能计数器计数   

使用特权

评论回复
18
xxmmi| | 2023-7-19 21:54 | 只看该作者
不知你的编码器问题解决了吗?我最近也在做,也是一样的问题,好头疼。。

使用特权

评论回复
19
SantaBunny| | 2023-10-25 09:44 | 只看该作者
慢速的时候可以回到原点

使用特权

评论回复
20
Uriah| | 2024-1-1 16:06 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

169

帖子

2

粉丝