角度传感器用来检测角度的。它的身体中有一个孔,可以配合乐高的轴。当连结到RCX上时,轴每转过1/16圈,角度传感器就会计数一次。往一个方向转动时,计数增加,转动方向改变时,计数减少。计数与角度传感器的初始位置有关。当初始化角度传感器时,它的计数值被设置为0,如果需要,你可以用编程把它重新复位。
角度位移传感器实例
如果把角度传感器连接到马达和轮子之间的任何一根传动轴上,必须将正确的传动比算入所读的数据。举一个有关计算的例子。在你的机器人身上,马达以 3:1的传动比与主轮连接。角度传感器直接连接在马达上。所以它与主动轮的传动比也是3:1。也就是说,角度传感器转三周,主动轮转一周。角度传感器每旋转一周计16个单位,所以16*3=48个增量相当于主动轮旋转一周。现在,z6尊龙凯时需要知道齿轮的圆周来计算行进距离。幸运地是,每一个LEGO齿轮的轮胎上面都会标有自身的直径。z6尊龙凯时选择了体积最大的有轴的轮子,直径是81.6CM(乐高使用的是公制单位),因此它的周长是 81.6×π=81.6×3.14≈256.22CM。现在已知量都有了:齿轮的运行距离由48除角度所记录的增量然后再乘以256。z6尊龙凯时总结一下。称R 为角度传感器的分辨率(每旋转一周计数值),G是角度传感器和齿轮之间的传动比率。z6尊龙凯时定义I为轮子旋转一周角度传感器的增量。即:
I=G×R
在例子中,G为3,对于乐高角度传感器来说,R一直为16.因此,z6尊龙凯时可以得到:
I=3×16=48
每旋转一次,齿轮所经过的距离正是它的周长C,应用这个方程式,利用其直径,你可以得出这个结论。
C=D×π
在z6尊龙凯时的例子中:
C=81.6×3.14=256.22
最后一步是将传感器所记录的数据-S转换成轮子运动的距离-T,使用下面等式:
T=S×C/I
如果光电传感器读取的数值为296,你可以计算出相应的距离:
T=296×256.22/48=1580 距离(T)的单位与轮子直径单位是相同的。
角度位移传感器实际上应用
使用角度传感器来控制你的轮子可以间接的发现障碍物。原理非常简单:如果马达 角度传感器构造运转,而齿轮不转,说明你的机器已经被障碍物给挡住了。此技术使用起来非常简单,而且非常有效;唯一要求就是运动的轮子不能在地板上打滑 (或者说打滑次数太多),否则你将无法检测到障碍物。如果是一个空转的齿轮连接到马达上就可以避免这个问题,这个轮子不是由马达驱动而是通过装置的运动带动它:在驱动轮旋转的过程中,如果惰轮停止了,说明你碰到障碍物了。
在许多情况下角度传感器是非常有用的:控制手臂,头部和其它可移动部位的位置。值的注意的是,当运行速度太慢或太快时,RCX在精确的检测和计数方面会受到影响。事实上,问题并不是出在RCX身上,而是它的操作系统,如果速度超出了其指定范围,RCX就会丢失一些数据。Steve Baker用实验证明过,转速在每分钟50到300转之间是一个比较合适的范围,在此之内不会有数据丢失的问题。然而,在低于12rpm或超过 1400rm的范围内,就会有部分数据出现丢失的问题。而在12rpm至50rpm或者300rpm至1400rpm的范围内时,RCX也偶会出现数据丢失的问题。