搜索
bottom↓
回复: 139

STM32正交编码器程序--附图

  [复制链接]

出0入0汤圆

发表于 2012-9-18 13:26:35 | 显示全部楼层 |阅读模式
用TIM3的CH1和CH2做编码器的输入

编码器输入配置
#include "encoder.h"
void TIM3_Mode_Config(void)
{
                GPIO_InitTypeDef GPIO_InitStructure;
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_ICInitTypeDef TIM_ICInitStructure;
        //TIM_OCInitTypeDef  TIM_OCInitStructure;
       
/*----------------------------------------------------------------*/
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  
       
  GPIO_StructInit(&GPIO_InitStructure);
  /* Configure PA.06,07 as encoder input */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
       
/*----------------------------------------------------------------*/       

       
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //使能TIM3
        TIM_DeInit(TIM3);
        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
       
  TIM_TimeBaseStructure.TIM_Period =0xffff;       //
  TIM_TimeBaseStructure.TIM_Prescaler =0;            //设置预分频:
  TIM_TimeBaseStructure.TIM_ClockDivision =TIM_CKD_DIV1 ;        //设置时钟分频系数:不分频
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上计数模式
  //TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_CenterAligned1;
        /*初始化TIM2定时器 */
  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
       
        /*-----------------------------------------------------------------*/
        //编码配置                        编码模式
        TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI12,
                             TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);  //TIM_ICPolarity_Rising上升沿捕获
  TIM_ICStructInit(&TIM_ICInitStructure);
  TIM_ICInitStructure.TIM_ICFilter = 6;         //比较滤波器
  TIM_ICInit(TIM3, &TIM_ICInitStructure);
  
        //TIM_ARRPreloadConfig(TIM3, ENABLE);
// Clear all pending interrupts
  TIM_ClearFlag(TIM3, TIM_FLAG_Update);
  TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);   //使能中断
  //Reset counter
  TIM3->CNT =0;
       
       
        TIM_Cmd(TIM3, ENABLE);   //使能定时器3
}
void TIM_Init(void)
{
  TIM3_Mode_Config();
}



最后附上全部程序,中断没用,可自己加

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2012-9-19 01:06:03 | 显示全部楼层
Good job about encoders except motor control. if you share schematics, all explanations and codes will be more obvious...

出0入0汤圆

发表于 2012-9-28 09:39:47 | 显示全部楼层
学习,谢谢!!!

出0入0汤圆

发表于 2012-9-28 14:23:40 | 显示全部楼层
试问一下楼主编码器你用多少V的电压!和STM32来兼容的,还是通过隔离来实现的!

出0入0汤圆

发表于 2012-9-28 14:29:03 | 显示全部楼层
cool~~~~~~~

出0入0汤圆

 楼主| 发表于 2012-9-30 20:03:33 | 显示全部楼层
shi_90 发表于 2012-9-28 14:23
试问一下楼主编码器你用多少V的电压!和STM32来兼容的,还是通过隔离来实现的! ...

5v的,直接串个10K电阻,STM32可以承受的,只要电流不要超了就好

出0入0汤圆

发表于 2012-10-8 13:28:59 | 显示全部楼层
好贴子,项目中正好用到编码器。

出0入0汤圆

发表于 2012-10-22 14:38:15 | 显示全部楼层
Thanks for sharing!

出0入0汤圆

发表于 2012-10-23 23:25:35 | 显示全部楼层
求原理图啊

出0入0汤圆

 楼主| 发表于 2012-10-24 22:20:54 | 显示全部楼层
javabean 发表于 2012-10-23 23:25
求原理图啊

这玩意用不着原理图吧,就一个595数码管显示,和一个光点编码器输入

出0入0汤圆

发表于 2012-11-19 10:14:14 | 显示全部楼层
求加qq478069990,求教下关于你的编码器程序的几个问题。

出0入0汤圆

发表于 2013-1-10 22:47:50 | 显示全部楼层
下来看看~~~~~~

出0入0汤圆

发表于 2013-1-19 13:30:46 | 显示全部楼层
下来学习学习,谢谢!

出0入0汤圆

发表于 2013-2-14 10:15:38 | 显示全部楼层
下来卡看,谢谢分享!~~

出0入0汤圆

发表于 2013-4-9 16:04:27 | 显示全部楼层
学习编码器

出0入0汤圆

发表于 2013-4-11 18:40:54 | 显示全部楼层
第一次使用定时器自带的编码器接口, 谢谢楼主分享的程序。 接了编码器,测试OK。  程序把编码器输出的 AB两相的脉冲,上升沿,下降沿全部记下来。 比普通外部中断,计数效率高,频率,精度也就提高了。 下一步,打算结合实际应用,测速度,伺服控制。。。

出0入0汤圆

发表于 2013-4-11 20:52:42 | 显示全部楼层

灰常的不错,学习了。

出0入0汤圆

发表于 2013-4-12 11:28:22 | 显示全部楼层

出0入0汤圆

发表于 2013-4-12 12:18:11 | 显示全部楼层
楼主霸气,支持开源。

出0入0汤圆

 楼主| 发表于 2013-4-13 16:19:14 | 显示全部楼层
lyg407 发表于 2013-4-11 18:40
第一次使用定时器自带的编码器接口, 谢谢楼主分享的程序。 接了编码器,测试OK。  程序把编码器输出的 AB ...

呵呵,ST的STM32和STM8都有编码器接口,这个方面做的还是不错的,我个人也挺喜欢这个功能的!

出0入0汤圆

发表于 2013-4-13 17:01:19 | 显示全部楼层
怎么有个老外呀?

出0入0汤圆

发表于 2013-4-13 17:12:35 | 显示全部楼层
太霸气了,我刚好需要啊

出0入0汤圆

发表于 2013-4-13 22:13:48 | 显示全部楼层
记号,谢谢楼主~~

出0入0汤圆

发表于 2013-4-23 17:53:37 | 显示全部楼层
试了一下,STM32就是强悍啊,比LM3S系列的好多了

出0入0汤圆

发表于 2013-4-27 16:24:50 | 显示全部楼层
这个很不错

出0入0汤圆

发表于 2013-5-6 22:37:05 | 显示全部楼层
哈哈,我也正在做这个,拿来用了
谢谢分享!

出0入0汤圆

发表于 2013-5-16 16:52:15 | 显示全部楼层
mark,

出0入0汤圆

发表于 2013-5-16 19:04:33 | 显示全部楼层
哈哈 也是好东西了 顶起来吧

出0入0汤圆

发表于 2013-5-16 19:25:12 | 显示全部楼层
非常有用,谢谢1

出0入0汤圆

发表于 2013-6-7 13:31:10 | 显示全部楼层
好贴,正好需要

出0入0汤圆

发表于 2013-7-4 20:50:52 | 显示全部楼层
好东西!

出0入0汤圆

发表于 2013-7-5 08:55:20 | 显示全部楼层
接口我用了2630,性能稳定

出0入0汤圆

发表于 2013-7-5 16:35:01 | 显示全部楼层
谢楼主分享,项目中正好用上!

出0入0汤圆

发表于 2013-7-6 09:56:55 | 显示全部楼层
mark,stm32正交编码器。

出0入0汤圆

发表于 2013-8-3 11:38:51 | 显示全部楼层
学习了!!!

出0入0汤圆

发表于 2013-8-5 11:30:04 | 显示全部楼层
编码器是电压型的 还是NPN开路型的 怎么接啊

出0入0汤圆

 楼主| 发表于 2013-8-5 16:24:07 | 显示全部楼层
kxb 发表于 2013-8-5 11:30
编码器是电压型的 还是NPN开路型的 怎么接啊

A  B相都接上拉电阻,当编码器转动时A B相就会有高低电平,

出0入0汤圆

发表于 2013-8-5 21:15:14 | 显示全部楼层
huang518489 发表于 2013-8-5 16:24
A  B相都接上拉电阻,当编码器转动时A B相就会有高低电平,

A B上拉到5V还是 3.3V

出0入0汤圆

发表于 2013-8-6 16:03:27 | 显示全部楼层
Thanks for sharing!

出0入0汤圆

发表于 2013-8-6 16:10:11 | 显示全部楼层
灰常的不错,学习了。

出0入0汤圆

 楼主| 发表于 2013-8-7 14:26:22 | 显示全部楼层
kxb 发表于 2013-8-5 21:15
A B上拉到5V还是 3.3V

都可以,STM32可以耐受5V的,只要电流不超,

出0入0汤圆

发表于 2013-8-7 15:02:58 | 显示全部楼层
看看!好的用用!

出0入0汤圆

发表于 2013-8-9 09:04:03 | 显示全部楼层
谢谢楼主分享!

出0入0汤圆

发表于 2013-8-15 10:26:43 | 显示全部楼层
感谢分享!

出0入0汤圆

发表于 2013-8-15 10:51:36 | 显示全部楼层
学习下!

出0入0汤圆

发表于 2013-8-16 16:33:54 | 显示全部楼层
可以讲讲吗?是规定时间内采集多少个脉冲还是计算AB两通道之间每个上升沿相差多长时间?

出0入0汤圆

 楼主| 发表于 2013-8-17 14:54:25 | 显示全部楼层
最依然 发表于 2013-8-16 16:33
可以讲讲吗?是规定时间内采集多少个脉冲还是计算AB两通道之间每个上升沿相差多长时间? ...

这是STM32高级定时器自带的编码器接口功能,主要是边沿计数(编码器动作产生边沿信号)

出0入0汤圆

发表于 2013-8-17 15:09:35 | 显示全部楼层
huang518489 发表于 2013-8-17 14:54
这是STM32高级定时器自带的编码器接口功能,主要是边沿计数(编码器动作产生边沿信号) ...

嗯,现在可以了,根据你的程序是可以对编码器脉冲计数的,现在我想测电机的转速,我是不是可以用另一个定时器,在规定的时间内测脉冲数的多少??

出0入0汤圆

 楼主| 发表于 2013-8-17 16:21:31 | 显示全部楼层
嗯,是的

出0入0汤圆

发表于 2013-8-17 16:24:46 | 显示全部楼层
huang518489 发表于 2013-8-17 16:21
嗯,是的

那正反转呢?怎么解决??

出0入0汤圆

发表于 2013-8-17 17:01:33 | 显示全部楼层

出0入0汤圆

发表于 2013-8-17 17:28:20 | 显示全部楼层
正要学习,,,,

出0入0汤圆

发表于 2013-9-5 08:42:39 | 显示全部楼层
牛,学习学习

出0入0汤圆

发表于 2013-9-5 14:32:36 | 显示全部楼层
非常有用,比赛正好用得上

出0入0汤圆

 楼主| 发表于 2013-9-6 20:36:29 | 显示全部楼层
ycl393310339 发表于 2013-9-5 14:32
非常有用,比赛正好用得上

呵呵,全国大学生电子设计竞赛,很怀念。加油啊,

出0入0汤圆

发表于 2013-10-12 20:03:00 | 显示全部楼层
不错不错,借鉴一下啦

出0入0汤圆

发表于 2013-10-20 22:53:49 | 显示全部楼层
学习了,下载收藏研究研究

出0入0汤圆

发表于 2013-10-24 10:13:55 | 显示全部楼层
以前一直用中断,现在试试定时器的效果怎样

出0入0汤圆

发表于 2013-10-24 14:06:04 | 显示全部楼层
好东东

出0入0汤圆

发表于 2013-10-24 16:22:53 | 显示全部楼层
本帖最后由 yixuantaba 于 2013-10-24 16:32 编辑
lyg407 发表于 2013-4-11 18:40
第一次使用定时器自带的编码器接口, 谢谢楼主分享的程序。 接了编码器,测试OK。  程序把编码器输出的 AB ...


请教:您的编码是以什么方式输出的,是不是集电极看路方式呢?
楼主还在吗?
我用的编码器是集电极开路方式输出信号的,有A和B相。我接了5V+1K电阻上拉,电机转动之后,为什么采集不到数据?并且无法进入中断。

出0入0汤圆

发表于 2013-10-24 17:08:47 | 显示全部楼层
yixuantaba 发表于 2013-10-24 16:22
请教:您的编码是以什么方式输出的,是不是集电极看路方式呢?
楼主还在吗?
我用的编码器是集电极开路方 ...

是集电极开路模式,接上拉电阻 就可以输出波形。  示波器看最直接。

出0入0汤圆

发表于 2013-10-24 17:43:34 | 显示全部楼层

出0入0汤圆

发表于 2013-10-24 21:01:08 | 显示全部楼层
lyg407 发表于 2013-10-24 17:08
是集电极开路模式,接上拉电阻 就可以输出波形。  示波器看最直接。

我用外部中断方式可以读出数据,但是用编码器方式就不行了。
IO口内部需要配置上拉方式吗?

出0入0汤圆

发表于 2013-10-25 16:55:27 | 显示全部楼层
本帖最后由 yixuantaba 于 2013-10-25 17:01 编辑

我的编码器是256增量式的,现在我用STM32F2XX的编码器接口只对TI1计数,电机转动一圈,读取计数器的值应该是256才对,为什么我的是512呢?如果配制成退TI1和TI2T一起计数,计数器的值是1024!方向从DIR读取是正确的。现在我只需要得到编码器输出的脉冲数和方向,脉冲数我总不能 /2 吧!再次请教!

出0入0汤圆

 楼主| 发表于 2013-10-25 22:49:49 | 显示全部楼层
yixuantaba 发表于 2013-10-25 16:55
我的编码器是256增量式的,现在我用STM32F2XX的编码器接口只对TI1计数,电机转动一圈,读取计数器的值应该 ...

发上配置程序看下

出0入0汤圆

发表于 2013-10-26 08:37:12 | 显示全部楼层
void TIME_Configuration(void)
{       
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
  
  TIM_TimeBaseStructure.TIM_Period =0xffff;       //
  TIM_TimeBaseStructure.TIM_Prescaler =0;          //设置预分频:
  TIM_TimeBaseStructure.TIM_ClockDivision =TIM_CKD_DIV1 ;        //设置时钟分频系数:不分频
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上计数模式
  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
       
  //编码接口配置                       
  TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI1,
  TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);  
  TIM_ICStructInit(&TIM_ICInitStructure);
  TIM_ICInitStructure.TIM_ICFilter = 6;   //6      //比较滤波器
  TIM_ICInit(TIM3, &TIM_ICInitStructure);
// Clear all pending interrupts
  TIM_ClearFlag(TIM3, TIM_FLAG_Update);
  TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
  //Reset counter
  TIM3->CNT =0;
  TIM_Cmd(TIM3, ENABLE);   
}
void GPIO_Configuration(void)
{           
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|
                         RCC_AHB1Periph_GPIOC|
                         RCC_AHB1Periph_GPIOE|
                         RCC_AHB1Periph_GPIOD, ENABLE);
//  TIM3-->CH1|CH2
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_6|GPIO_Pin_7;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_TIM3);
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_TIM3);  
}

出0入4汤圆

发表于 2013-10-26 13:40:52 | 显示全部楼层
学习了!!!

出0入0汤圆

 楼主| 发表于 2013-10-26 19:51:59 | 显示全部楼层
yixuantaba 发表于 2013-10-26 08:37
void TIME_Configuration(void)
{       
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);

TI1模式一只在编码器输出a相上下沿计数
TI2模式二只在编码器输出b相上下沿计数
TI12模式三就是在ab两相的上下沿都计数


X4(四倍频)就是 设置成 编码器接口 模式3
X2   设置成 编码器接口 模式1 或者2

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-10-27 00:32:16 | 显示全部楼层
huang518489 发表于 2012-9-30 20:03
5v的,直接串个10K电阻,STM32可以承受的,只要电流不要超了就好

楼主的  编码器 零点 连接到哪了

出0入0汤圆

 楼主| 发表于 2013-10-27 12:53:51 | 显示全部楼层
虫虫好 发表于 2013-10-27 00:32
楼主的  编码器 零点 连接到哪了

我的是光电旋转编码器,5V供电,AB相接10K上拉电阻,当A或B导通时接地,不导通时高电平

出0入0汤圆

发表于 2013-10-27 14:07:57 | 显示全部楼层
huang518489 发表于 2013-10-27 12:53
我的是光电旋转编码器,5V供电,AB相接10K上拉电阻,当A或B导通时接地,不导通时高电平 ...

是不是楼主的编码器  就AB 两相  没有Z  机械零点那种

出0入0汤圆

 楼主| 发表于 2013-10-27 16:19:44 | 显示全部楼层
虫虫好 发表于 2013-10-27 14:07
是不是楼主的编码器  就AB 两相  没有Z  机械零点那种

恩,差不多

出0入0汤圆

发表于 2013-10-27 16:40:54 | 显示全部楼层
程序已经用了,很好用,感激LZ

出0入0汤圆

发表于 2013-10-28 08:57:21 | 显示全部楼层
本帖最后由 yixuantaba 于 2013-10-28 09:03 编辑
huang518489 发表于 2013-10-26 19:51
TI1模式一只在编码器输出a相上下沿计数
TI2模式二只在编码器输出b相上下沿计数
TI12模式三就是在ab两相的 ...


您的意思是编码器的极性选择和跟它的计数没有关系?
不管选择哪个模式,都是对上升沿和下降沿计数,所以我读出的值是正确的!

出0入0汤圆

发表于 2013-11-21 09:23:28 | 显示全部楼层
刚刚玩了步进电机加减速,下来配合上编码器工作,挺好,谢谢分享

出0入0汤圆

发表于 2013-11-21 10:02:12 | 显示全部楼层
学习了,分享是好人~

出0入0汤圆

发表于 2013-11-21 10:54:10 | 显示全部楼层
MARK            

出0入0汤圆

发表于 2014-1-16 22:56:12 | 显示全部楼层
感谢楼主分享

出0入0汤圆

发表于 2014-1-28 20:53:46 | 显示全部楼层
lz,我也在做stm32接正交编码器的项目,遇到这样一个问题。

编码器的计时器向上或者向下溢出时,会产生一个中断,但是如何判断是向上溢出而产生的中断呢,还是向下溢出的中断呢?

出0入0汤圆

发表于 2014-2-17 13:46:13 | 显示全部楼层
正在学习  赞一个

出0入0汤圆

发表于 2014-3-9 20:14:23 | 显示全部楼层
遇见一个问题,我的用了您的程序,用的是tim4 接的是pb6 pb7口,可是有一个现象,编码器智能朝一个方向计数,另一个方向减到0,就停了,不知道为什么,求教

出0入0汤圆

 楼主| 发表于 2014-3-10 14:46:13 | 显示全部楼层
开中断了,现象是不是死机不动了,在中断里重新加载计数器值就好

出0入0汤圆

发表于 2014-3-12 18:27:56 | 显示全部楼层
大神  在中断里面计数器复位
TIM_SetCounter(TIM1, 0);//用于复位计数器TIMx->INT=0;
TIM_SetCounter(TIM8, 0);中断里面会出不来呢?就死在中断里面,中断是1ms一次,就回到main()上怎么回事?去掉这两个语句就正常

出0入8汤圆

发表于 2014-3-12 19:21:01 来自手机 | 显示全部楼层
lz有没有考虑电机在高速和低速时M/T法之间的切换,是怎么切换的,有没有处理好切换时转速的抖动?还是lz有跟好的方法?

出0入0汤圆

发表于 2014-3-29 22:50:27 | 显示全部楼层
pangfumin 发表于 2014-3-9 20:14
遇见一个问题,我的用了您的程序,用的是tim4 接的是pb6 pb7口,可是有一个现象,编码器智能朝一个方向计数 ...

中断溢出,楼主的程序没进行中断处理,但是开中断了,所以中断不停进入,屏蔽中断就可以了,或者加中断处理

出0入59汤圆

发表于 2014-3-29 23:07:50 | 显示全部楼层
楼主这个带方向检测处理么?

出0入0汤圆

发表于 2014-4-8 15:50:49 | 显示全部楼层
这个中断没用是什么意思啊

出0入0汤圆

发表于 2014-4-8 16:10:05 | 显示全部楼层

出0入0汤圆

发表于 2014-4-9 12:15:17 | 显示全部楼层
还可以,和我写的差不多,

出0入0汤圆

发表于 2014-4-9 15:26:25 | 显示全部楼层
马克

出0入0汤圆

发表于 2014-4-10 00:05:05 | 显示全部楼层
不错,支持。

出0入0汤圆

发表于 2014-4-14 11:20:50 | 显示全部楼层
wyq200704 发表于 2014-3-29 22:50
中断溢出,楼主的程序没进行中断处理,但是开中断了,所以中断不停进入,屏蔽中断就可以了,或者加中断处 ...

谢谢回答,我改改看看

出0入0汤圆

发表于 2014-5-8 10:25:46 | 显示全部楼层
记号备用

出0入0汤圆

发表于 2014-5-8 10:36:42 | 显示全部楼层
楼主你的编码器测脉冲程序我已经改写,自己能调式用了,但是我想现实出它的转速我该如何写代码呢?你有这方面的经验么?

出0入0汤圆

发表于 2014-5-8 10:53:39 | 显示全部楼层
学习了。

出0入0汤圆

发表于 2014-5-8 13:00:02 | 显示全部楼层
两个问题:1,编码器的转向在你的程序中没有看到如何得到的,2,encoder_num=TIM_GetCounter(TIM3);  计数器的值的内容就是编码器输出的脉冲数吗,如果是,超出了,如何处理。请教了

出0入0汤圆

发表于 2014-5-9 21:31:38 | 显示全部楼层
wyq200704 发表于 2014-3-29 22:50
中断溢出,楼主的程序没进行中断处理,但是开中断了,所以中断不停进入,屏蔽中断就可以了,或者加中断处 ...

嗯,是这样的,非常感谢。

我又出现一个新问题,我用tim4接编码器的同时,tim3生成两路pwm波,但这样的话,编码器又不能向0以下计数了,注释掉tim3的初始化程序后,有恢复正常,求问,这可能是什么原因呢

非常感谢

出0入0汤圆

发表于 2014-6-2 09:56:46 | 显示全部楼层
非常好,正准备使用STM32 QEI。

出0入0汤圆

发表于 2014-6-17 11:13:34 | 显示全部楼层
支持下,用到时再过来研究

出0入0汤圆

发表于 2014-6-18 11:13:49 | 显示全部楼层
为什么我不转编码器,encoder_num=TIM_GetCounter(TIM3);值都在变化呢?应该是转了才变化啊
我是用24V供电的编码器,通过电阻分压让A/B相输出电压为3V左右。用逻辑分析仪可以看到这两相的波形。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-16 03:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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