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

[复制链接]
7911|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的计数频率能到多高?
华北地区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); //使能计数器计数   
百事美年达 发表于 2016-4-12 14:36 | 显示全部楼层
华北地区111 发表于 2015-12-7 11:40
你好,我在用stm8进行正交编码器技术,配置都配了,但一直不能计数
LK_PCKENR1 |=0X80;

不知你的编码器问题解决了吗?我最近也在做,也是一样的问题,好头疼。。
 楼主| s_f_tan 发表于 2016-4-12 15:59 | 显示全部楼层
这个坟贴又被翻出来了,现在用stm32来计数了,速度可以2M/s左右。
hanbing0898 发表于 2021-7-9 15:27 | 显示全部楼层
SantaBunny 发表于 2023-3-6 21:24 | 显示全部楼层
硬件上有没有问题,编码器的两路脉冲要相差0.25个周期的。
houcs 发表于 2023-7-19 21:38 | 显示全部楼层
编码器线数多少
liuzaiy 发表于 2023-7-19 21:39 | 显示全部楼层
晶振多大。是不是转速太快
yinxiangh 发表于 2023-7-19 21:41 | 显示全部楼层
单片机计数反应不过来
pangb 发表于 2023-7-19 21:43 | 显示全部楼层
按理说正转向上计数到最大值溢出清0,反转向下计数到0溢出。
chenjunt 发表于 2023-7-19 21:47 | 显示全部楼层
硬件计数的,不是软件处理的
ousj 发表于 2023-7-19 21:48 | 显示全部楼层
在慢速的时候可以回到原点,快一点的话就不行了
morrisk 发表于 2023-7-19 21:50 | 显示全部楼层
测正交信号的频率在20K~30K左右。stm8的计数频率能到多高?
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); //使能计数器计数   
xxmmi 发表于 2023-7-19 21:54 | 显示全部楼层
不知你的编码器问题解决了吗?我最近也在做,也是一样的问题,好头疼。。
SantaBunny 发表于 2023-10-25 09:44 | 显示全部楼层
慢速的时候可以回到原点
Uriah 发表于 2024-1-1 16:06 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

169

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部