如何得到几毫秒的精确时间来计算直线速度

想这样应用,测量一段直线位移的时间间隔,用接近开关测量开始和结束的位置,然后记录时间,用距离除以时间得到速度,因为速度非常快,时间间隔在几毫秒内,所以对硬件和软件要求比较高,如何能够实现。好像300做不了,程序的循环周期太长,请问有什么系统可以满足。

问题补充:
该系统结构补充如下,在一个圆筒内检测一个很长很重的类似活塞运动的大圆柱,圆柱上开了很多槽,用接近开关检测,当有凸台经过接近开关时,接近开关发出信号,此时开始计时t1,然后是一个凹槽,接近开关停止发讯,然后第二个凸台又经过接近开关,发出讯号,再记录此时时间t2, 用t2-t1得到时间间隔,然后除两个凸台之间的距离得到速度,设备上无法装编码器,而且圆柱速度从0到最大,是渐变过程,发讯速度不恒定,没有编码器那么高的分辨率,用计数器模块估计精度太差。而且速度最快时两次时间间隔大概在几毫秒,对系统循环周期要求高。300估计肯定不能满足,不知道400的循环和计算速度能不能够用,或者还有其他更好的系统。

最佳答案

楼主的问题是个典型的测速误差问题。您现在使用的是T法。
无论M还是T,都有局限性。而您的设备是在升降速,所以很难保证高低速精度。
难道不能在电机上想办法吗?
能否用超声波测距仪来测速度?
是否可以贴反射薄膜?

参考:
速度测量是工控系统中最基本的需求之一,最常用的是用数字脉冲测量某根轴的转速,再根据机械比、直径换算成线速度。脉冲测速最典型的方法有测频率(M法)和测周期(T法)。

定性分析:
  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测量的同步问题。

提问者对于答案的评价:
理论上还是这样,要是能再从硬件上给予分析就更好了。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc310761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐