智能车制作

标题: 编码器 [打印本页]

作者: LI912683617    时间: 2012-6-23 11:42
标题: 编码器
我们摄像头用的360线的编码器,接了上拉电阻,用串口看的数据是0或1,只有速度很大的时候才显示2或3 。这正常吗?大侠帮忙解答啊!
作者: LI912683617    时间: 2012-6-23 12:02
没人回复啊!!自己顶一下!!
作者: yukunlinykl    时间: 2012-6-23 12:15
是不是读取周期太短了?
作者: LI912683617    时间: 2012-6-23 12:20
yukunlinykl 发表于 2012-6-23 12:15
是不是读取周期太短了?

设置的是10毫秒   应该不短了吧


作者: yukunlinykl    时间: 2012-6-23 14:34
LI912683617 发表于 2012-6-23 12:20
设置的是10毫秒   应该不短了吧

有可能是比较器上用的运放不好,信号频率太高的话运放响应不及时。
我就遇到过这样的问题。

作者: LI912683617    时间: 2012-6-26 06:35
yukunlinykl 发表于 2012-6-23 14:34
有可能是比较器上用的运放不好,信号频率太高的话运放响应不及时。
我就遇到过这样的问题。

以下是我们的程序,有什么错误吗?你说的频率怎么调节啊,不太懂。你们遇到这样的问题是怎么解决的呢?昨天晚上又测试出现PACNT 是固定值测一次一个样。今天一直在线了,尽快回复啊,谢谢。

void TIM_Init(void)         
{   TIOS_IOS7 = 0;               
   OC7M_OC7M7 = 0;              
  TCTL1 = 0;                  
   PACTL_PAEN = 1;               
  PACTL_PAMOD = 0;           
  PACTL_PEDGE = 0;           
  PACTL_PAOVI = 0;            
  PACTL_PAI = 0;               
   TSCR1_TFFCA = 1;            
   PACNT = 0;                     
}

/**********PIT初始化***********/

void   PIT_Init(void)
{    PITCFLMT_PITE  =  0;      
     PITCE_PCE0     =  1;         
      PITMUX         =  0x00;      
     PITMTLD0       =  256-1;        
     PITLD0         =  2500-1;     
     PITINTE_PINTE0 =  1;     
     PITCFLMT_PITE  =  1;   
}
#pragma CODE_SEG NON_BANKED
interrupt VectorNumber_Vpit0 void PIT_ISR( void  )//测速的中断程序
{  
    PITTF_PTF0=1;   
    realspeed =( 20 * PACNT );  
    PACNT=0;       }
#pragma   CODE_SEG   DEFAULT

作者: jusson    时间: 2012-6-28 10:00
先用示波器查看脉冲信号,如果都正常了 再检查程序 建议使用mini1024J编码器 解决你的烦恼
作者: 冬地瞂兠    时间: 2012-7-10 16:39
呵呵,有些晕
作者: ASIA    时间: 2012-7-25 20:19
jusson 发表于 2012-6-28 10:00
先用示波器查看脉冲信号,如果都正常了 再检查程序 建议使用mini1024J编码器 解决你的烦恼

对,这位网友说的很正确,
作者: ♂思念在远方    时间: 2012-9-1 17:38
:)
作者: 张晴晴    时间: 2012-11-18 09:01
打算搞舵机,但不知从那儿入手?能不能个点经验啊?万分感谢




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2