智能车制作

标题: 大家都用哪种方法测速啊,我感觉定时中断测速有很多误差!!! [打印本页]

作者: 我爱智能车    时间: 2011-3-20 09:19
标题: 大家都用哪种方法测速啊,我感觉定时中断测速有很多误差!!!
看到很多程序里的测速算法都是采用定时一段时间中断去计算速度,我觉着这样很不合理!假如5ms测一次的话,那么脉冲数是4个呢还是“4.1”个呢还是“4.9”个呢,那么这个多余的0.1或者0.9应该就是误差了吧!如果脉冲数多还好点,万一脉冲数就是1个左右那岂不是误差率达到了%90?大家有什么好的建议没,谢谢…
作者: zhjb1    时间: 2011-3-20 19:32
5mS,按照1秒跑3M,300/200/4约为0.4CM,按照100%的误差,最多是1CM不到的误差。这种小车一摇到处都响的,能有和需要这么高的控制精度吗。想好了就知道多少合适了。如果不中听,就当没有说。
作者: shixu0218    时间: 2011-3-21 23:30
这个,我也在想这个问题,中断应该是最好的方法,但小弟正不理解测速的原理哈~楼主用的什么测速?
作者: 韬奇    时间: 2011-3-22 19:44
测速确实挺麻烦学习
作者: doramin    时间: 2011-3-22 22:44
楼主实验过编码器否?你见过什么编码器10ms只能输出10个脉冲?
作者: 我爱智能车    时间: 2011-3-23 16:49
编码器貌似太贵,免谈!最近想的办法是俗称作“M/T”法!可以去查查看…定时间称为T法,定脉冲称为M法,什么都是改变的就是M/T法!还没尝试…
作者: machuan20082006    时间: 2011-4-2 09:18
看看再说吧
作者: doramin    时间: 2011-4-2 12:11
回复 7# machuan20082006


    理工大今年有飞思卡尔队了?有跑道吗?
作者: fat68265233    时间: 2011-4-18 10:54
学习了
作者: szcszc55    时间: 2012-2-1 11:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: yzf    时间: 2012-2-2 19:05

作者: 马合店村    时间: 2012-2-11 17:40

作者: Stillycx    时间: 2012-2-11 19:09
其他地方看到的  供参考


    M法是测量单位时间内的脉数换算成频率,因存在测量时间内首尾的半个脉冲问题,可能会有2个脉的误差。速度较低时,因测量时间内的脉冲数变少,误差所占的比例会变大,所以M法宜测量高速。如要降低测量的速度下限,可以提高编码器线数或加大测量的单位时间,使用一次采集的脉冲数尽可能多。
  T法是测量两个脉冲之间的时间换算成周期,从而得到频率。因存在半个时间单位的问题,可能会有1个时间单位的误差。速度较高时,测得的周期较小,误差所占的比例变大,所以T法宜测量低速。如要增加速度测量的上限,可以减小编码器的脉冲数,或使用更小更精确的计时单位,使一次测量的时间值尽可能大。
  M法、T法各且优劣和适应范围,编码器线数不能无限增加、测量时间也不能太长(得考虑实时性)、计时单位也不能无限小,所以往往候M法、T法都无法胜任全速度范围内的测量。因此产生了M法、T法结合的 M/T 测速法:低速时测周期、高速时测频率。

定量分析:
  M/T 法中的“低速”、“高速”如何确定呢?
  假定能接受的误差范围为1%、M法测得脉冲数为f, T 法测得时间为 t 。
  M法:2/f <= 1% ==> f >= 200
  即一次测量的最小脉冲数为 200,设此频率对应的速度为 V1
  T法:( 1/(t-1) - 1/t ) / (1/t) <= 1% ==> t >= 101
  即一次测量的时间为 101 个单位,设此周期对应的速度为 V2
  若计时单位为mS,则 t>= 101mS

  这只是理论精度,实际应用还要考虑脉冲信号采集的延迟,软件处理所需花费的时间。
  若 V1 < V2,则 M/T 法能满足全范围内的速度测量。一个系统设计之前,就需要详细的计算,使V1<V2或尽可能接近。不能光凭经验估算确定高低速、传动比、编码线数。然而很不幸,很多现有系统中会出现 V1 > V2,就会出现(V2, V1) 这一段速度无论 M 法还是 T 法都无法覆盖的情况,一个缓解的办法就是在(V2,V1)段同时使用 M法和T法测量,然后取平均值,但要解决好M/T测量的同步问题。


作者: 090104031034    时间: 2012-3-25 16:45
楼主能不能分享一下你的M/T法实际应用代码,学习学习,谢谢!




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