LEGO MINDSTORMS EV3 使用电机转动传感器

file

电机转动传感器用于测量电机的转动量。转动传感器内置在中型电机、大型电机和 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:在推动机器人时发出声音

file

此程序在用手推动机器人以使轮子移动一点时,使机器人发出声音。此程序使用“电机旋转 - 更改 - 度数”模式的等待模块等待电机 C 的转动传感器在任一方向上更改 5 度。随后声音模块发出声音。

示例 2:以某种模式驱动特定距离

file

此程序使机器人直线驱动 2 圈,然后以之字形模式驱动总共 6.5 圈。它通过先移动一个轮子,然后移动另一个轮子,从而以之字形模式驱动。之字形模式在循环中重复,直至电机 B 驱动了总共 6.5 圈。此程序使用“电机旋转 - 圈数”模式的循环在电机 B 的转动传感器测量了总共 6.5 圈时停止循环。为了使这 6.5 圈仅测量之字形驱动,而不包括开始时的 2 个直行圈数,在使用“重置”模式的电机旋转模块进行之字形驱动之前,电机 B 的转动传感器会重置为零。

示例 3:速度控制表盘

file

此程序使连接到端口 C 的电机充当连接到端口 B 的电机的速度控制表盘。用手向前和向后转动 C 电机可控制 B 电机的速度。此程序使用“测量 - 度数”模式的电机旋转模块测量电机 C 转动的度数。此结果用于大型电机模块的“功率”输入,还会使用显示模块进行显示。该过程在循环中重复执行,以便持续更新速度。

提示和技巧

如果大型电机模块的“功率”输入大于 100,则会使用 100% 功率。

电机旋转模块和模式

下表显示可以与电机转动传感器一起使用的编程模块和模式。

模块 模式 用途
等待 电机旋转 - 比较 等待转动传感器达到特定值(度数、圈数或当前功率)。
等待 电机旋转 - 更改 等待转动传感器按特定量更改(度数、圈数或当前功率)。
循环 电机旋转 重复模块序列,直至转动传感器达到特定值(度数、圈数或当前功率)。
切换 电机旋转 - 比较 根据转动传感器(度数、圈数或当前功率)在两个模块序列之间进行选择。
电机旋转 测量 读取转动传感器(度数、圈数或当前功率),并通过数字数据线获取结果。
电机旋转 比较 将转动传感器(度数、圈数或当前功率)与阈值进行比较,并通过逻辑数据线获取结果。
电机旋转 重置 将转动传感器重置为零。

提示和技巧

电机转动传感器还在以下动作模块和模式内部使用:

模块 模式 用途
中型电机、 大型电机 开启指定度数、 开启指定圈数 按特定度数或圈数转动电机。
移动转向、 移动槽 开启指定度数、 开启指定圈数 通过按特定度数或圈数使用两个大型电机来进行驱动。
黔西南 触摸未来
我们正身处一个只要愿意思考,就能改变世界的时代