使用电机转动传感器



电机转动传感器用于测量电机的转动量。转动传感器内置在中型电机、大型电机和 NXT 电机中。这些电机中的传感器可以检测旋转量(以度为单位)。电机转动一整圈是旋转 360 度。

还可以使用电机转动传感器查明电机当前运行所处的功率级别。
提示和技巧
电机转动传感器与连接到 EV3 程序块上的电机端口(A、B、C 或 D)的电机一起使用。电机转动传感器不能与 EV3 传感器端口(1、2、3 和 4)一起使用。
电机转动数据
电机转动传感器可以提供以下数据:
数据类型备注
度数 数字以度为单位的旋转量
圈数 数字以圈为单位表示的旋转量(度数/360,采用小数形式)
当前功率 数字如果电机正在运行,则为当前电机功率级别 (1-100),如果电机停止,则为 0
重置电机转动传感器
电机转动传感器可以在程序中的任何位置重置为零。传感器随后测量相对于重置位置的总旋转量。要重置电机转动传感器,请使用“重置”模式的电机旋转模块。
提示和技巧
如果测量从未重置的电机转动传感器,则会获取自程序开始以来电机转动的总旋转量。
电机旋转方向和总旋转量
电机向前旋转会生成正度数或圈数,而向后旋转会生成负数。始终以自传感器上次重置以来的总向前旋转量形式来测量旋转。会从任何累积的向前旋转中减去向后旋转。

下表显示分几个步骤进行的电机动作的示例,以及在每个步骤之后测量电机旋转的结果。
步骤动作当时的电机旋转为:
1程序开始,电机尚未转动0 度
2电机向前转动一整圈(360 度)360 度
3电机再次向前转动一整圈720 度
4电机向前转动 60 度780 度
5电机向后转动 30 度750 度
6电机重置0 度
7电机向后转动 100 度-100 度
8电机向后转动 60 度-160 度
9电机向前转动 360 度200 度
电机转动传感器使用示例
下面演示了有关在程序中如何使用电机转动传感器的一些示例。
示例 1:在推动机器人时发出声音
此程序在用手推动机器人以使轮子移动一点时,使机器人发出声音。此程序使用“电机旋转 - 更改 - 度数”模式的等待模块等待电机 C 的转动传感器在任一方向上更改 5 度。随后声音模块发出声音。
示例 2:以某种模式驱动特定距离
此程序使机器人直线驱动 2 圈,然后以之字形模式驱动总共 6.5 圈。它通过先移动一个轮子,然后移动另一个轮子,从而以之字形模式驱动。之字形模式在循环中重复,直至电机 B 驱动了总共 6.5 圈。此程序使用“电机旋转 - 圈数”模式的循环在电机 B 的转动传感器测量了总共 6.5 圈时停止循环。为了使这 6.5 圈仅测量之字形驱动,而不包括开始时的 2 个直行圈数,在使用“重置”模式的电机旋转模块进行之字形驱动之前,电机 B 的转动传感器会重置为零。
示例 3:速度控制表盘
此程序使连接到端口 C 的电机充当连接到端口 B 的电机的速度控制表盘。用手向前和向后转动 C 电机可控制 B 电机的速度。此程序使用“测量 - 度数”模式的电机旋转模块测量电机 C 转动的度数。此结果用于大型电机模块的“功率”输入,还会使用显示模块进行显示。该过程在循环中重复执行,以便持续更新速度。
提示和技巧
如果大型电机模块的“功率”输入大于 100,则会使用 100% 功率。
电机旋转模块和模式
下表显示可以与电机转动传感器一起使用的编程模块和模式。
模块模式用途
等待 电机旋转 - 比较等待转动传感器达到特定值(度数、圈数或当前功率)。
等待电机旋转 - 更改等待转动传感器按特定量更改(度数、圈数或当前功率)。
循环 电机旋转重复模块序列,直至转动传感器达到特定值(度数、圈数或当前功率)。
切换 电机旋转根据转动传感器(度数、圈数或当前功率)在两个模块序列之间进行选择。
电机旋转测量读取转动传感器(度数、圈数或当前功率),并通过数字数据线获取结果。
电机旋转比较将转动传感器(度数、圈数或当前功率)与阈值进行比较,并通过逻辑数据线获取结果。
电机旋转重置将转动传感器重置为零。
数据日志请参见“数据日志”。
提示和技巧
电机转动传感器还在以下动作模块和模式内部使用:
模块模式用途
中型电机
大型电机
开启指定度数、
开启指定圈数
按特定度数或圈数转动电机。
移动转向
移动槽
开启指定度数、
开启指定圈数
通过按特定度数或圈数使用两个大型电机来进行驱动。
电机旋转
快速链接