Motor y grupo motor#

Introducción#

Motors and motor groups control how parts of a robot move. A motor object controls one configured IQ Smart Motor, while a motor_group object controls multiple configured IQ Smart Motors together so they move in tandem. Motors and motor groups can be used to raise an arm, turn a claw, spin a wheel, or move another part of a build. Two motors can work together as a drivetrain to move and turn the whole robot.

Cada motor o grupo de motores se configura en la ventana Dispositivos. Según la compilación, los nombres de los motores y grupos de motores pueden variar. En esta página se utilizan los nombres Motor1 y MotorGroup1 como ejemplos. Reemplácelos con los nombres que haya configurado según sea necesario.

Un motor VEX IQ que muestra la dirección hacia adelante indicada por un signo más y una flecha que indica que está girando a la izquierda o en sentido contrario a las agujas del reloj. Un motor VEX IQ que muestra la dirección inversa indicada por un signo menos y una flecha que indica que está girando a la derecha o en el sentido de las agujas del reloj.

Por defecto, forward hace girar el motor en sentido antihorario, y reverse lo hace girar en sentido horario. Si un motor está configurado para girar en sentido inverso, esas direcciones se invertirán.

Motor#

Class Constructors#

1 — Crea un objeto motor para el motor inteligente IQ conectado al puerto inteligente especificado. El motor utiliza automáticamente el engranaje interno detectado gearSetting.

motor(
  int32_t index );

2 — Crea un objeto motor en el puerto inteligente especificado y, opcionalmente, invierte su dirección. El motor utiliza automáticamente el engranaje interno detectado gearSetting.

motor(
 int32_t index,
 bool    reverse );

3 — Crea un objeto motor en el puerto inteligente especificado con la configuración de engranajes gearSetting.

motor(
 int32_t     index,
 gearSetting gears );

4 — Crea un objeto motor en el puerto inteligente especificado con la configuración de engranajes gearSetting opcional.

motor(
 int32_t     index,
 gearSetting gears,
 bool        reverse );

Class Destructor#

Destruye el objeto motor y libera los recursos asociados.

~motor();

Parameters#

Parámetro

Tipo

Descripción

index

int32_t

El puerto inteligente al que está conectado el motor, escrito como PORTx, donde x es el número de puerto (por ejemplo, PORT1).

reverse

bool

Establece si se invierte el sentido de giro del motor:

  • false (predeterminado) — No invierte el sentido de giro del motor.
  • true — Invierte el sentido de giro del motor.

gears

gearSetting

Especifica la relación de transmisión del cartucho de engranajes interno.

  • ratio1_1 — Relación de transmisión 1:1
  • ratio2_1 — Relación de transmisión 2:
  • ratio3_1 — Relación de transmisión 3:1

Notes#

  • La configuración del engranaje debe coincidir con el cartucho físico instalado en el motor.

Example#

// Create the motor instance in Smart Port 1
motor LeftMotor = motor(PORT1);

// Creates the motor instance with different settings
motor RightMotor = motor(
  PORT2,      // Smart Port 2
  ratio2_1,  // Gear ratio is 2:1
  true);

Grupo motor#

Class Constructors#

motor_group( motor &m1, Args&... m2 );

Class Destructor#

Destruye el objeto motor_group y libera los recursos asociados.

~motor_group();

Parameters#

Parámetro

Tipo

Descripción

m1

motor &

El primer motor se agregó al grupo.

m2

motor &

Motores adicionales agregados al grupo. El máximo es de cuatro motores en un grupo de motores.

Example#

// Create individual motor instances
motor LeftMotor  = motor(PORT1);
motor RightMotor = motor(PORT2);

// Create a motor group with both motors
motor_group DriveMotors = motor_group(LeftMotor, RightMotor);

Funciones de los miembros#

Hay muchas maneras de codificar motores y grupos de motores. A continuación se muestra una lista de todas las funciones miembro de motor y motor_group:

Acciones — Parar y girar motores y grupos de motores.

  • spin — Hace girar un motor o grupo de motores hacia adelante o hacia atrás indefinidamente.

  • spinFor — Hace girar un motor o grupo de motores durante una distancia o cantidad de tiempo específica.

  • spinToPosition — Hace girar un motor o grupo de motores a una posición específica.

  • stop — Detiene el giro de un motor o grupo de motores.

Mutadores: ajuste la configuración del motor y del grupo de motores.

  • setVelocity — Indica a un motor o grupo de motores a qué velocidad girar.

  • setMaxTorque — Establece la fuerza con la que un motor o grupo de motores puede empujar mientras gira.

  • setPosition — Cambia la posición actual del motor o grupo de motores a un nuevo valor.

  • setStopping — Establece cómo un motor o grupo de motores se detendrá: frenando, rodando por inercia o manteniéndose en posición.

  • setTimeout — Establece cuánto tiempo un motor o grupo de motores intentará terminar un movimiento.

Getters: verifique el estado del motor y del grupo de motores.

  • isDone — Devuelve si el motor o grupo de motores ha terminado de moverse, como un valor booleano.

  • isSpinning — Devuelve si el motor o grupo de motores está girando, como un valor booleano.

  • position — Devuelve la posición actual del motor o grupo de motores.

  • velocity — Devuelve la velocidad de giro del motor o grupo de motores.

  • current — Devuelve cuánta corriente eléctrica está utilizando el motor o grupo de motores.

  • power — Devuelve cuánta potencia está utilizando el motor o grupo de motores.

  • torque — Devuelve cuánto torque está utilizando el motor o grupo de motores.

  • efficiency — Devuelve la eficiencia con la que el motor o grupo de motores utiliza la energía.

  • temperature — Devuelve la temperatura del motor o grupo de motores.

  • voltage — Devuelve el voltaje eléctrico suministrado al motor o grupo de motores.

  • direction — Devuelve la dirección en la que gira el motor o grupo de motores.

  • installed — Devuelve si el motor o grupo de motores está conectado al Cerebro.

  • count — Devuelve el número de motores en un grupo de motores.

Before calling any motor or motor_group member functions, an instance must be created, as shown below:

/* This constructor is required when using VS Code.
Motor and Motor Group configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the motor instance in Smart Port 1
motor Motor1 = motor(PORT1);

Acciones#

spin#

El giro spin motores seguirá girando hasta que se le dé otra acción, como girar en una dirección diferente o detenerse.

Available Functions

1 — Hace girar el motor o el grupo de motores utilizando la velocidad del motor configurada actualmente.

void spin(
 directionType dir );

2 — Hace girar el motor o el grupo de motores a la velocidad especificada.

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

3 — Hace girar el motor o el grupo de motores utilizando el voltaje especificado.

void spin(
 directionType dir,
 double        voltage,
 voltageUnits  units );

Parameters

Parámetro

Tipo

Descripción

dir

directionType

La dirección de giro del motor o grupo de motores: forward o reverse.

velocity

double

La velocidad de giro del 0% al 100% cuando se utiliza percent.

units

velocityUnits

Unidad utilizada para representar la velocidad:

  • percent / pct — por ciento
  • rpm — revoluciones por minuto
  • dps — grados por segundo

voltage

double

El voltaje para girar. Un valor negativo gira en sentido opuesto al dado dir.

units

voltageUnits

Unidad utilizada para representar el voltaje:

  • volt — voltios
  • voltageUnits::mV — milivoltios

Return Values

Esta función no devuelve un valor.

Notes
  • Esta función no está en espera y el proyecto continuará ejecutándose inmediatamente después de la llamada.

  • El motor o grupo de motores continuará girando hasta que se llame a stop o se ejecute otra función de movimiento.

  • Las funciones como isDone y isSpinning no son aplicables a spin, ya que no utiliza movimiento basado en objetivos (no tiene un parámetro de rotation o time).

Examples
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();

spinFor#

spinFor hace girar un motor o grupo de motores durante una distancia o un tiempo determinado. El giro, basado en la rotación, es relativo a la posición actual del motor o grupo de motores. Por defecto, el proyecto esperará a que el motor o grupo de motores termine de girar antes de ejecutar la siguiente línea de código.

Available Functions

1 — Gira una distancia específica a la velocidad indicada en la llamada a la función.

bool spinFor(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Acepta un parámetro de dirección y gira una distancia específica a la velocidad proporcionada en la llamada a la función.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

3 — Giros para una distancia específica utilizando la velocidad del motor configurada actualmente.

bool spinFor(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

4 — Acepta un parámetro de dirección y gira una distancia específica utilizando la velocidad del motor configurada actualmente.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

5 — Gira durante un tiempo específico a la velocidad indicada en la llamada a la función.

bool spinFor(
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

6 — Acepta un parámetro de dirección y gira durante un tiempo específico a la velocidad proporcionada en la llamada a la función.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

7 — Gira durante un período de tiempo específico con la velocidad del motor configurada actualmente.

bool spinFor(
 double    time,
 timeUnits units );

8 — Acepta un parámetro de dirección y gira durante un período de tiempo específico utilizando la velocidad del motor configurada actualmente.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units );

Parameters

Parámetro

Tipo

Descripción

dir

directionType

La dirección de giro del motor o grupo de motores: forward o reverse.

rotation

double

La distancia que gira el motor o el grupo de motores.

units

rotationUnits

Unidad de rotación:

  • deg / degrees — grados
  • turns / rev — revoluciones

time

double

La cantidad de tiempo que el motor o grupo de motores gira.

units

timeUnits

Unidad de tiempo:

  • seconds / sec — segundos
  • msec — milisegundos

velocity

double

La velocidad de giro del 0% al 100% cuando se utiliza percent.

units_v

velocityUnits

La unidad utilizada para representar la velocidad velocity

  • percent / pct — por ciento
  • rpm — revoluciones por minuto
  • dps — grados por segundo

waitForCompletion

bool

​

  • true (predeterminado) — Hace que el proyecto espere hasta que el motor o grupo de motores termine de girar antes de ejecutar la siguiente línea de código.
  • false — Hace que la siguiente línea de código se ejecute inmediatamente.

Return Values

Devuelve un valor booleano que muestra si el motor o el grupo de motores alcanzaron el valor objetivo.

  • true — The motor or motor group reached the target value.
  • false — The motor or motor group was not able to reach the target value or waitForCompletion is set to false.
Notes
  • Ejecutar otra función de movimiento del motor (como spin o stop) mientras spinFor está en curso interrumpirá el movimiento actual.

  • Because spinFor is target-based (uses a rotation or time parameter), functions such as isDone and isSpinning work with spinFor.

Examples
// Spin 1 turn fast, then 1 turn slow
Motor1.spinFor(forward, 1, turns, true);
Motor1.spinFor(reverse, 1, turns, 20, velocityUnits::pct, true);

spinToPosition#

spinToPosition hace girar un motor o grupo de motores a una posición específica.

La posición de un motor o grupo de motores se refiere a cuánto ha girado, medido en degrees o turnsUna vuelta equivale a 360 grados. Al inicio de un proyecto, la posición del motor o grupo de motores se establece en 0 grados. La posición del motor o grupo de motores también se puede establecer mediante la función setPosition.

Los valores de posición son absolutos. Esto significa que la dirección del giro depende de la posición actual del motor o del grupo de motores.

Por ejemplo, si el motor o grupo de motores arranca a 0 grados y gira a una posición de 720 grados, girará hacia adelante dos vueltas. Si luego gira a una posición de 360 grados, girará en reversa una vuelta, porque 360 es menos de 720.

Available Functions

1 — Gira a una posición específica a la velocidad proporcionada en la llamada a la función.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Gira a una posición específica usando la velocidad del motor configurada actualmente.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

Parameters

Parámetro

Tipo

Descripción

rotation

double

El valor de posición al que girará el motor o grupo de motores.

units

rotationUnits

Unidad de rotación:

  • deg / degrees — grados
  • turns / rev — revoluciones

velocity

double

La velocidad de giro del 0% al 100% cuando se utiliza percent.

units_v

velocityUnits

La unidad utilizada para representar la velocidad velocity

  • pct — porcentaje
  • rpm — revoluciones por minuto
  • dps — grados por segundo

waitForCompletion

bool

​

  • true (predeterminado) — Hace que el proyecto espere hasta que el motor o grupo de motores termine de girar antes de ejecutar la siguiente línea de código.
  • false — Hace que la siguiente línea de código se ejecute inmediatamente.

Return Values

Devuelve un valor booleano que muestra si el motor o el grupo motor iniciaron el movimiento basado en objetivos solicitado.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • Ejecutar otra función de movimiento del motor (como spin o spinFor) mientras spinToPosition está en curso interrumpirá el movimiento actual.

  • Debido a que spinToPosition se basa en el objetivo (utiliza un parámetro de rotación rotation ), funciones como isDone y isSpinning funcionan con spinToPosition.

Examples
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);

stop#

stop detiene el giro de un motor o grupo de motores.

Available Functions

1 — Detiene el motor o el grupo de motores utilizando el modo de freno configurado actualmente.

void stop();

2 — Detiene el motor o el grupo de motores utilizando el modo de freno proporcionado en la llamada de función.

void stop(
  brakeType mode );

Parameters

Parámetro

Tipo

Descripción

mode

brakeType

Opcional. Cómo se detendrá el motor o grupo motor:

  • coast — Disminuye la velocidad hasta detenerse.
  • brake — Se detiene inmediatamente.
  • hold — Se detiene inmediatamente y mantiene la posición del motor o grupo motor.

Return Values

Esta función no devuelve un valor.

Notes
  • Al marcar stop se detiene inmediatamente cualquier movimiento en curso de un motor o grupo de motores.

  • Si no se especifica el modo de freno, el motor o grupo de motores utiliza el modo de freno configurado actualmente.

  • stop interrumpe cualquier movimiento activo basado en el objetivo (como spinFor o spinToPosition).

Examples
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);

Mutadores#

setVelocity#

El valor setVelocity indica a un motor o grupo de motores a qué velocidad debe girar. Un porcentaje mayor hace que el motor o grupo de motores gire más rápido, y un porcentaje menor hace que el motor o grupo de motores gire más lento.

Cada proyecto comienza con cada motor o grupo de motores girando a una velocidad del 50% por defecto.

Nota: Una velocidad más alta hace que el motor o el grupo de motores giren más rápido, pero puede ser menos preciso. Una velocidad más baja hace que el motor o el grupo de motores giren más lentamente, pero puede ser más preciso.

Available Functions
void setVelocity(
    double        velocity,
    velocityUnits units );

Parameters

Parámetro

Tipo

Descripción

velocity

double

La velocidad de giro del 0% al 100% cuando se utiliza percent.

units

velocityUnits

La unidad utilizada para representar la velocidad velocity

  • percent / pct — por ciento
  • rpm — revoluciones por minuto
  • dps — grados por segundo

Return Values

Esta función no devuelve un valor.

Notes
  • Cualquier función de movimiento del motor posterior (como spin, spinFor, o spinToPosition) que no especifique explícitamente una velocidad utilizará este valor.

Examples
// Try default, then slow, then fast
Motor1.spinFor(forward, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(20, percent);
Motor1.spinFor(reverse, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(100, percent);
Motor1.spinFor(forward, 180, degrees);

setMaxTorque#

El par de torsión muestra la fuerza con la que un motor o grupo de motores puede empujar o tirar mientras gira.

setMaxTorque establece el par máximo que un motor o grupo de motores puede utilizar.

Un porcentaje más alto permite que el motor o el grupo motor empuje con más fuerza, como cuando se levanta un objeto pesado. Un porcentaje más bajo limita la fuerza con la que el motor o el grupo motor puede empujar. Esto puede ayudar a proteger el robot si el motor o el grupo motor se atasca o llega al final de lo lejos que puede moverse.

Cada proyecto comienza con el par de cada motor o grupo de motores al 50% por defecto.

Available Functions

1 — Establece el par máximo como porcentaje del par nominal del motor o grupo de motores.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Establece el par máximo utilizando unidades de par físicas.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Establece el par máximo limitando la corriente del motor.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Parámetro

Tipo

Descripción

value

double

El par máximo que puede usar el motor o el grupo de motores.

units

percentUnits

Especifica el par motor como porcentaje: percent pct — por ciento

units

torqueUnits

Especifica el par en unidades físicas como:

  • Nm — Newton-metros
  • InLb — pulgadas-libra

units

currentUnits

Especifica el par limitando la corriente del motor:

  • amp

Return Values

Esta función no devuelve un valor.

Notes
  • Cuando se utiliza currentUnits, el par se limita restringiendo la cantidad de corriente eléctrica que puede utilizar el motor o grupo de motores.

setPosition#

La posición de un motor o grupo de motores es cuánto ha girado, medido en degrees o turnsUna vuelta es igual a 360 grados. setPosition cambia la posición actual del motor o grupo de motores a un nuevo valor.

Por ejemplo, si un motor o grupo de motores ha girado a 180 grados, establecer la posición en 0 grados restablecerá esa posición de 180 a 0 grados. Luego, el motor o grupo motor puede girar a posiciones basadas en ese nuevo valor.

Available Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

Parámetro

Tipo

Descripción

value

double

El valor de posición a establecer para el motor o grupo de motores.

units

rotationUnits

Unidad de posición:

  • deg / degrees — grados
  • turns / rev — revoluciones

Return Values

Esta función no devuelve un valor.

Notes
  • Después de llamar a setPosition, las llamadas subsiguientes a spinToPosition usarán la posición actualizada como referencia.

setStopping#

setStopping establece cómo un motor o grupo de motores se detendrá: frenando, rodando por inercia o manteniéndose en reposo.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parámetro

Tipo

Descripción

mode

brakeType

Cómo se detendrá el motor o grupo motor:

  • brake — Se detiene inmediatamente.
  • coast — Disminuye la velocidad hasta detenerse.
  • hold — Se detiene inmediatamente y mantiene la posición del motor o grupo motor.

Return Values

Esta función no devuelve un valor.

Notes
  • Cualquier llamada posterior a stop sin un modo de frenado especificado utilizará este valor.

setTimeout#

setTimeout establece cuánto tiempo intentará un motor o grupo de motores completar un movimiento. Si el motor o grupo de motores no puede completarlo en ese tiempo, dejará de intentarlo y pasará a la siguiente línea de código. Esto evita que el motor o grupo de motores se quede atascado en un movimiento.

Available Functions
void setTimeout(
    int32_t   time,
    timeUnits units );

Parameters

Parámetro

Tipo

Descripción

time

int32_t

La cantidad de tiempo que el motor o grupo motor puede intentar terminar un movimiento. Este debe ser un número entero positivo.

units

timeUnits

Unidad de tiempo:

  • msec — milisegundos
  • seconds / sec — segundos

Valores de devolución

Esta función no devuelve un valor.

Notes
  • El tiempo de espera del motor o del grupo de motores se utiliza para evitar que los movimientos que no alcanzan su posición objetivo detengan la ejecución de otros comandos en la pila.

  • Si el motor o grupo de motores no alcanza su posición objetivo antes de que expire el tiempo de espera, dejará de intentarlo y pasará a la siguiente línea de código.

  • El tiempo de espera se aplica a las funciones que tienen un valor objetivo como spinFor y spinToPosition.

Examples
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);

Getters#

isDone#

isDone devuelve un valor booleano que indica si el motor o grupo de motores ha terminado de moverse. Esto permite controlar la sincronización de otras acciones en función del movimiento del motor o grupo de motores.

  • true — El motor o grupo de motores ha terminado de moverse.

  • false — El motor o grupo de motores sigue en movimiento.

Esta función funciona junto con las siguientes funciones de movimiento que tienen el parámetro waitForCompletion : spinFor y spinToPosition.

Available Functions
bool isDone();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Devuelve si el motor o grupo de motores ha terminado de moverse, como un valor booleano.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone funciona junto con las siguientes funciones de movimiento que tienen el parámetro waitForCompletion : spinFor y spinToPosition.

Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isDone()) {
    Drivetrain.stop();
  } else {
    Drivetrain.drive(forward);
  }
}

isSpinning#

isSpinning devuelve un valor booleano que indica si el motor o el grupo de motores está girando. Esto permite controlar la sincronización de otras acciones en función del movimiento del motor o del grupo de motores.

  • true — El motor o grupo de motores está girando.

  • false — El motor o grupo de motores no está girando.

Esta función trabaja junto con funciones de movimiento de Motion tales como spin, spinFor y spinToPosition.

Available Functions
bool isSpinning();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Devuelve si el motor o grupo de motores está girando, como un valor booleano.

  • true — The motor or motor group is spinning.
  • false — The motor or motor group is not spinning.
Notes Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isSpinning()) {
    Drivetrain.drive(forward);
  } else {
    Drivetrain.stop();
  }
}

position#

La posición de un motor o grupo de motores es cuánto ha girado, medido en degrees o turnsUna vuelta es igual a 360 grados. position devuelve la posición actual del motor o grupo de motores.

Al comienzo de un proyecto, la posición del motor o grupo de motores se establece en 0 grados. Si el motor o grupo de motores gira un giro hacia adelante, la posición será de 360 grados o 1 giro. Si el motor o grupo de motores gira en la otra dirección, la posición será negativa.

Available Functions
double position(
  rotationUnits units );

Parameters

Parámetro

Tipo

Descripción

units

rotationUnits

La unidad para devolver el motor o grupo motor a la posición:

  • deg / degrees — grados
  • turns / rev — revoluciones

Return Values

Returns a double representing the motor or motor group’s current position in the specified units.

Notes
  • Llamar a setPosition cambia el punto de referencia para este valor.

  • El valor devuelto refleja la lectura actual del codificador y no indica si el motor o el grupo de motores se está moviendo activamente.

  • Cuando se llama en un grupo de motores motor_group, esta función devuelve la posición del primer motor del grupo.

Examples
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));

velocity#

velocity devuelve la velocidad de giro del motor o grupo de motores.

Un valor positivo significa que el motor o grupo de motores está girando hacia adelante. Un valor negativo significa que está girando al revés.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Parámetro

Tipo

Descripción

units

velocityUnits

Unidad utilizada para representar la velocidad:

  • percent / pct — por ciento
  • rpm — revoluciones por minuto
  • dps — grados por segundo

Return Values

Returns a double representing how fast the motor or motor group is spinning in the specified units.

Observaciones

  • Cuando se llama en un grupo de motores motor_group, esta función devuelve la velocidad del primer motor del grupo.

current#

current indica la cantidad de corriente eléctrica que consume el motor o grupo de motores. La corriente es la cantidad de electricidad que fluye a través del motor o grupo de motores. Cuando se expresa en amperios, el valor de la corriente oscila entre 0,0 y 1,2 A.

Un valor de corriente más alto significa que el motor o grupo de motores está utilizando más corriente eléctrica. Esto puede suceder cuando el motor o el grupo motor está levantando algo pesado, empujando contra un objeto o tratando de moverse cuando está atascado.

Esto se puede usar para verificar si el motor o el grupo motor tiene dificultades durante un movimiento. Si la corriente se mantiene alta, el motor puede calentarse o usar la energía de manera menos eficiente.

Available Functions

1 — Devuelve la corriente eléctrica del motor o grupo de motores en amperios.

double current(
  currentUnits units = amp );

2 — Devuelve la corriente eléctrica del motor o del grupo de motores como porcentaje de la corriente nominal máxima.

double current(
  percentUnits units );

Parameters

Parámetro

Tipo

Descripción

units

currentUnits

Unidad utilizada para representar la corriente:amp amperio (predeterminado)

units

percentUnits

Representa la corriente como un porcentaje de la corriente nominal máxima del motor:percent pct — por ciento

Return Values

Returns a double representing how much electrical current the motor or motor group is drawing in the specified units.

Observaciones

  • Cuando se llama en un grupo de motores motor_group, esta función devuelve la corriente eléctrica total para todos los motores del grupo.

power#

power indica cuánta potencia consume el motor o grupo de motores en vatios. La potencia muestra la rapidez con la que el motor o grupo de motores consume energía.

Un valor de potencia más alto significa que el motor o grupo de motores está utilizando la energía más rápido. Esto puede suceder cuando el motor o el grupo motor está levantando algo pesado, empujando contra un objeto o tratando de moverse cuando está atascado.

Esto se puede usar para comparar movimientos o verificar si el motor o el grupo motor tiene dificultades. Si la potencia se mantiene alta, el motor puede calentarse o usar la energía de manera menos eficiente.

Available Functions
double power(
  powerUnits units = watt );

Parámetros

Parámetro

Tipo

Descripción

units

powerUnits

Unidad utilizada para representar la potencia del motor:

  • watt (predeterminado) — vatios

Valores de devolución

Returns a double representing how much power the motor or motor group is using in watts.

Observaciones

  • Cuando se llama a una función motor_group, esta función devuelve la potencia eléctrica del primer motor del grupo.

torque#

El par de torsión muestra la fuerza con la que un motor o grupo de motores se retuerce, empuja o tira mientras gira.

torque devuelve cuánto torque está utilizando el motor o grupo de motores.

Un valor de par más alto significa que el motor o grupo de motores está empujando o tirando con más fuerza. Esto puede suceder cuando el motor o el grupo motor está levantando algo pesado, empujando contra un objeto o tratando de moverse cuando está atascado.

Esto se puede usar para verificar si el motor o el grupo motor tiene dificultades o para comparar cuánto empuje necesitan los diferentes movimientos.

Para establecer el par de un motor o grupo de motores, utilice setMaxTorque.

Available Functions
double torque(
  torqueUnits units = Nm );

Parámetros

Parámetro

Tipo

Descripción

units

torqueUnits

Unidad utilizada para representar el par motor:

  • Nm (predeterminado) — Newton-metros
  • InLb — pulgadas-libra

Valores de devolución

Devuelve un valor booleano de double que representa la cantidad de par motor que utiliza el motor o grupo de motores en las unidades especificadas.

Observaciones

  • Cuando se llama en un grupo de motores motor_group, esta función devuelve el par de salida mecánico del primer motor del grupo.

efficiency#

efficiency devuelve la eficiencia con la que el motor o grupo de motores utiliza la energía, como un porcentaje del 0% al 100%.

La eficiencia muestra qué parte de la potencia del motor o grupo de motores se está utilizando para el movimiento. Un valor de eficiencia más alto significa que se está utilizando más potencia del motor o del grupo de motores para moverse. Un valor de eficiencia más bajo puede ocurrir cuando el motor o el grupo motor está trabajando duro pero no se mueve mucho, como cuando está atascado o empujando contra un objeto.

Esto se puede usar para comparar movimientos o verificar si el motor o el grupo motor está desperdiciando energía en lugar de usarla para el movimiento.

Available Functions
double efficiency(
  percentUnits units = percent );

Parámetros

Parámetro

Tipo

Descripción

units

percentUnits

Unidad utilizada para representar la eficiencia del motor:

  • percent / percentUnits::pct (predeterminado) — por ciento

Valores de devolución

Devuelve un valor booleano de double que representa, en porcentaje, la eficiencia con la que el motor o grupo de motores utiliza la energía.

Observaciones

  • Cuando se llama en un grupo de motores motor_group, esta función devuelve la eficiencia del primer motor del grupo.

temperature#

temperature devuelve la temperatura del motor o grupo de motores.

Motor temperature shows how warm the motor or motor group is. A higher temperature means the motor or motor group is getting warmer while it works. The motor should stay below 55°C to keep working at full performance.

Si el motor o el grupo de motores se calienta demasiado, reducirá su corriente máxima para protegerse. A 70°C, un motor dejará de funcionar hasta que se enfríe.

Esto se puede usar para verificar si el motor o el grupo motor se está calentando demasiado durante movimientos repetidos, carreras largas o cuando está empujando contra un objeto.

Available Functions

1 — Devuelve la temperatura del motor o del grupo de motores como porcentaje de la temperatura máxima de funcionamiento.

double temperature(
  percentUnits units = percent );

2 — Devuelve la temperatura del motor o del grupo de motores en unidades de temperatura física.

double temperature(
  temperatureUnits units );

Parámetros

Parámetro

Tipo

Descripción

units

percentUnits

Unidad utilizada para representar la temperatura del motor o grupo de motores como porcentaje:

  • percent / percentUnits::pct (predeterminado) — por ciento

units

temperatureUnits

Unidad utilizada para representar la temperatura del motor o grupo motor en grados:

  • celsius — grados Celsius
  • fahrenheit — grados Fahrenheit

Valores de devolución

Returns a double representing the temperature of the motor or motor group in the specified units.

Observaciones

  • El rango de temperatura de funcionamiento del motor es aproximadamente de 20°C (68°F) a 70°C (158°F).

  • Cuando se llama en un grupo de motores motor_group, esta función devuelve la temperatura del primer motor del grupo.

voltage#

voltage devuelve el voltaje eléctrico suministrado al motor o grupo de motores.

Available Functions
double voltage(
  voltageUnits units = volt );

Parámetros

Parámetro

Tipo

Descripción

units

voltageUnits

Unidad para representar el voltaje:

  • volt (predeterminado)
  • voltageUnits::mV — milivoltios

Valores de devolución

Returns a double representing the electrical voltage supplied to the motor or motor group in the specified units.

Observaciones

  • When called on a motor_group, this function returns the electrical voltage of the first motor in the group.

direction#

direction devuelve la dirección en la que gira el motor o grupo de motores.

Available Functions
directionType direction();

Parámetros

Esta función no toma ningún parámetro.

Valores de devolución

Returns a directionType indicating the motor’s or motor group’s current direction:

  • forward — The motor or motor group is spinning forward.
  • reverse — The motor or motor group is spinning in reverse.

installed#

installed devuelve si el motor o grupo de motores está conectado al cerebro IQ (1.ª generación).

Available Functions
bool installed();

Parámetros

Esta función no toma ningún parámetro.

Valores de devolución

Devuelve un valor booleano bool que indica si el motor o el grupo de motores está conectado.

  • true — The motor or motor group is connected.
  • false — The motor or motor group is not connected.

count#

count devuelve el número de motores en un grupo de motores.

Available Functions
int32_t count();

Parámetros

Esta función no toma ningún parámetro.

Valores de devolución

Devuelve un valor int32_t que representa el número de motores en el grupo de motores.