智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5960|回复: 23
打印 上一主题 下一主题

两路测速,一路用的pt7,一路用的cd4520,两者的数据差别很大大,是什么原因?

  [复制链接]

34

主题

1589

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6271

论坛元老奖章优秀会员奖章活跃会员奖章在线王奖章

威望
3267
贡献
1194
兑换币
2035
注册时间
2012-11-28
在线时间
905 小时
跳转到指定楼层
1#
发表于 2013-4-19 08:28:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
两路测速,一路用的pt7,一路用的cd4520,两者的数据差别很大大,是什么原因?求解啊!!貌似自带的计数有问题(计数很大,这个数字明显不可能这么大啊)下面是我的计数程序,,请各位看看啥原因!!谢谢了!
/***************** 脉冲累加器初始化*********************/
void PACN_Init(void)    //脉冲累加器初始化
{
  PACTL_PAEN =0; //16位脉冲累加器A控制寄存器,16位脉冲累加器A(PACA)无效
  PACTL_PAMOD=0; //16位脉冲累加器A控制寄存器,事件计数模式
  PACTL_PEDGE=1; //16位脉冲累加器A控制寄存器,上升沿
   
  PACTL_PAOVI=0; //16位脉冲累加器A控制寄存器,禁止溢出中断
  PACTL_PAI = 0; //16位脉冲累加器A控制寄存器,禁止输入中断
   
  PACNT=0;       //计数初值
      
// PAFLG_PAOVF=1;//脉冲累加器A标志寄存器,对PAOVF位的人工置位,可以清除这个标志
  //PAFLG_PAIF =1;//脉冲累加器A标志寄存器,脉冲累加器输入边沿标志
  
  PACTL_PAEN =1;//16位脉冲累加器A控制寄存器,使能脉冲累加器A
}


void GetMotorPulse(void)
{                                                                             //采集电机脉冲
     int  LeftPulse, RightPulse;

LeftPulse=PORTB;                   //从PORTB口读入计数器值
PTT_PTT1=1;                          //外部计数器清零
RightPulse=PACNT;                  //右电机采用内部计数器计数
PACNT=0;                      //内部计数清零
     PTT_PTT1=0;                       //外部计数器开始计数

    if( PWMDTY67==0)
         LeftPulse=-LeftPulse;      //如果左轮PWM正向控制值为零,则为反转,脉冲值为负
    if( PWMDTY23==0)
         RightPulse=- RightPulse;      //如果右轮PWM正向控制值为零,则为反转,脉冲值为负            */

g_nLeftMotorPulse+= LeftPulse;    //  左脉冲累加
    g_nRightMotorPulse+=RightPulse;  //   右脉冲累加        
  PRI_COMP( 0,LeftPulse,g_fCarSpeed,RightPulse) ;      
}

2

主题

78

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2299
威望
1069
贡献
626
兑换币
703
注册时间
2014-12-30
在线时间
302 小时
毕业学校
武大
24#
发表于 2015-4-24 16:20:38 | 只看该作者

是在编码器的接口接电容吗
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
274
威望
133
贡献
67
兑换币
76
注册时间
2014-3-1
在线时间
37 小时
毕业学校
安徽工程大学
23#
发表于 2014-7-15 20:02:17 | 只看该作者
伊利奶茶粉 发表于 2013-4-19 10:45
两个都用4520轻松解决

大神,,我的用的两个4520计数值波动太大,,什么原因?
回复 支持 反对

使用道具 举报

13

主题

92

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2533
威望
1838
贡献
511
兑换币
278
注册时间
2013-3-17
在线时间
92 小时
毕业学校
西安建筑科技大学
22#
发表于 2013-5-22 19:44:51 | 只看该作者
wen123 发表于 2013-4-21 11:02
我的差不多也解决了

在哪里并电容啊,并多大呢?
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1016
威望
551
贡献
255
兑换币
170
注册时间
2011-11-20
在线时间
105 小时
21#
发表于 2013-4-26 14:47:38 | 只看该作者
cd4520计数超过255了吧。。。
回复 支持 反对

使用道具 举报

26

主题

455

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6812

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章

威望
3067
贡献
2011
兑换币
1850
注册时间
2012-9-10
在线时间
867 小时
20#
发表于 2013-4-26 14:38:33 | 只看该作者
用uln2003分时驱动码盘光电管行吗?求论证
回复 支持 反对

使用道具 举报

34

主题

1589

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6271

论坛元老奖章优秀会员奖章活跃会员奖章在线王奖章

威望
3267
贡献
1194
兑换币
2035
注册时间
2012-11-28
在线时间
905 小时
19#
 楼主| 发表于 2013-4-21 22:36:57 | 只看该作者
dennytang 发表于 2013-4-21 17:29
你们是怎么解决的?

并联电容啊!
回复 支持 反对

使用道具 举报

3

主题

28

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2394
威望
1024
贡献
620
兑换币
668
注册时间
2013-3-30
在线时间
375 小时
毕业学校
浙江大学城市学院
18#
发表于 2013-4-21 17:29:31 | 只看该作者
wen123 发表于 2013-4-21 11:02
我的差不多也解决了

你们是怎么解决的?
回复 支持 反对

使用道具 举报

34

主题

1589

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6271

论坛元老奖章优秀会员奖章活跃会员奖章在线王奖章

威望
3267
贡献
1194
兑换币
2035
注册时间
2012-11-28
在线时间
905 小时
17#
 楼主| 发表于 2013-4-21 11:02:23 | 只看该作者
dennytang 发表于 2013-4-20 20:03
知道了,电池输出串一个电感,就取出IO口上的毛刺了

我的差不多也解决了
回复 支持 反对

使用道具 举报

12

主题

2039

帖子

2

精华

顶级版主

只好把岁月化成歌 留在山河

Rank: 11Rank: 11Rank: 11Rank: 11

积分
44057

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章资源大师奖章优秀版主奖章

威望
26263
贡献
9408
兑换币
6553
注册时间
2011-9-30
在线时间
4193 小时
毕业学校
南京动专
16#
发表于 2013-4-20 20:03:52 | 只看该作者
qurrer 发表于 2013-4-20 19:22
对计数器进度的要求并不是太高啊

个人认为 平衡组还是精度越高越好
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-4 07:10 , Processed in 0.046076 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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