Motor y grupo motor#
Introducción#
Los motores y los grupos de motores controlan cómo se mueven las partes de un robot. Un objeto motor controla un motor inteligente IQ configurado, mientras que un objeto motor_group controla varios motores inteligentes IQ configurados juntos para que se muevan en tándem. Los motores y los grupos de motores se pueden usar para levantar un brazo, girar una garra, girar una rueda o mover otra parte de una construcción. Dos motores pueden trabajar juntos como un tren motriz para mover y girar todo el robot.
Cada motor o grupo de motores está configurado en la ventana Dispositivos. Dependiendo de la construcción, los nombres del motor y del grupo motor pueden cambiar. Esta página utiliza Motor1 y MotorGroup1 MotorGroup1 como nombres de ejemplo. Reemplácelos con sus propios nombres configurados según sea necesario.
De forma predeterminada, el forward hace girar un motor en sentido antihorario y el reverse hace girar un motor en sentido horario. Si un motor está configurado para retroceder, esas direcciones se cambiarán.
Motor#
Class Constructors#
1 — Crea un objeto
motorpara el motor inteligente IQ conectado al puerto inteligente especificado. El motor utiliza automáticamente el engranaje interno detectadogearSetting.motor( int32_t index );
2 — Crea un objeto
motoren el puerto inteligente especificado y, opcionalmente, invierte su dirección. El motor utiliza automáticamente el engranaje interno detectadogearSetting.motor( int32_t index, bool reverse );
3 — Crea un objeto
motoren el puerto inteligente especificado con la configuración de engranajesgearSetting.motor( int32_t index, gearSetting gears );
4 — Crea un objeto
motoren el puerto inteligente especificado con la configuración de engranajesgearSettingopcional.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 |
|---|---|---|
|
|
El puerto inteligente al que está conectado el motor, escrito como |
|
|
Establece si la dirección de giro del motor está invertida:
|
|
|
Especifica la relación interna del cartucho de engranajes. relación1_
|
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 |
|---|---|---|
|
|
El primer motor se agregó al grupo. |
|
|
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 de motor y motor_group member:
Acciones — Parar y girar motores y grupos de motores.
spin— Hace girar un motor o grupo de motores hacia adelante o hacia atrás para siempre.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: le dice a un motor o grupo de motores qué tan rápido debe 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 dejará de moverse: frenando, deslizándose o sosteniéndose.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 a la que gira el motor o el grupo de motores.current: Devuelve la cantidad de corriente eléctrica que utiliza el motor o el grupo de motores.power— Devuelve la cantidad de potencia que está utilizando el motor o grupo de motores.torque— Devuelve la cantidad de torque que está utilizando el motor o grupo de motores.efficiency: Devuelve la eficiencia con la que el motor o grupo de motores está utilizando 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 el motor o grupo de motores está girando.installed— Devuelve si el motor o grupo motor está conectado al cerebro.count— Devuelve el número de motores en un grupo de motores.
Antes de llamar a cualquier función motor o motor_group member, se debe crear una instancia, como se muestra a continuación:
/* 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.
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 );
Parameters3 — Hace girar el motor o el grupo de motores utilizando el voltaje especificado.
void spin( directionType dir, double voltage, voltageUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La dirección en la que gira el motor o el grupo de motores: |
|
|
La velocidad para girar del 0% al 100% cuando se usa |
|
|
La unidad utilizada para representar la velocidad:
|
|
|
El voltaje con el que girar. Un valor negativo gira frente a la |
|
|
La unidad utilizada para representar el voltaje:
|
Esta función no devuelve un valor.
NotesEsta función no está en espera y el proyecto continuará ejecutándose inmediatamente después de la llamada.
El motor o grupo motor continuará girando hasta que se llame a
stopo se ejecute otra función de movimiento.Las funciones como
isDoneyisSpinningno son aplicables aspin, ya que no utiliza movimiento basado en objetivos (no tiene un parámetro derotationotime).
// 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 cantidad de tiempo específica. Un giro basado en la rotación es relativo a la posición actual del motor o grupo de motores. De forma predeterminada, el proyecto esperará hasta que el motor o grupo de motores termine de girar antes de que se ejecute la siguiente línea de código.
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 );
Parameters8 — 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 );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La dirección en la que gira el motor o el grupo de motores: |
|
|
La distancia que gira el motor o el grupo de motores. |
|
|
La unidad de rotación:
|
|
|
La cantidad de tiempo que el motor o grupo de motores gira. |
|
|
La unidad de tiempo:
|
|
|
La velocidad para girar del 0% al 100% cuando se usa |
|
|
La unidad utilizada para representar
|
|
|
|
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 orwaitForCompletionis set tofalse.
Ejecutar otra función de movimiento del motor (como
spinostop)spinForspinFor está en curso interrumpirá el movimiento actual.Because
spinForis target-based (uses arotationortimeparameter), functions such asisDoneandisSpinningwork withspinFor.
// 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 motor es la distancia a la que ha girado, medida en degrees o turns. Un giro equivale a 360 grados. Al comienzo de un proyecto, la posición del motor o grupo de motores se establece en 0 grados. La posición del motor o del grupo de motores también se puede configurar utilizando 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 Functions1 — 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 );
Parameters2 — Gira a una posición específica usando la velocidad del motor configurada actualmente.
bool spinToPosition( double rotation, rotationUnits units, bool waitForCompletion = true );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El valor de posición al que girará el motor o grupo de motores. |
|
|
La unidad de rotación:
|
|
|
La velocidad para girar del 0% al 100% cuando se usa |
|
|
La unidad utilizada para representar
|
|
|
|
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 orwaitForCompletionis set tofalse.
Ejecutar otra función de movimiento del motor (como
spinospinFor) mientrasspinToPositionestá en curso interrumpirá el movimiento actual.Debido a que
spinToPositionse basa en el objetivo (utiliza un parámetro de rotaciónrotation), funciones comoisDoneyisSpinningfuncionan conspinToPosition.
// 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.
1 — Detiene el motor o el grupo de motores utilizando el modo de freno configurado actualmente.
void stop();
Parameters2 — Detiene el motor o el grupo de motores utilizando el modo de freno proporcionado en la llamada de función.
void stop( brakeType mode );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Opcional. Cómo se detendrá el motor o grupo de motores:
|
Esta función no devuelve un valor.
NotesLlamar a
stopinmediatamente cualquier movimiento actual del motor o del grupo de motores.Si no se especifica el modo de freno, el motor o grupo de motores utiliza el modo de freno configurado actualmente.
stopinterrumpe cualquier movimiento activo basado en el objetivo (comospinForospinToPosition).
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);
Mutadores#
setVelocity#
setVelocity le dice a un motor o grupo de motores qué tan rápido girar. Un porcentaje más alto hace que el motor o grupo motor gire más rápido y un porcentaje más bajo hace que el motor o grupo motor 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 Functionsvoid setVelocity(
double velocity,
velocityUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La velocidad para girar del 0% al 100% cuando se usa |
|
|
La unidad utilizada para representar
|
Esta función no devuelve un valor.
NotesCualquier función de movimiento del motor posterior (como
spin,spinFor, ospinToPosition) que no especifique explícitamente una velocidad utilizará este valor.
// 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 usar.
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 Functions1 — 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 );
Parameters3 — Establece el par máximo limitando la corriente del motor.
void setMaxTorque( double value, currentUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El par máximo que puede usar el motor o el grupo de motores. |
|
|
Especifica el torque como un porcentaje: |
|
|
Especifica el torque en unidades físicas como:
|
|
|
Especifica el par limitando la corriente del motor:
|
Esta función no devuelve un valor.
NotesAl usar currentUnits
currentUnits, el par se limita al restringir la cantidad de corriente eléctrica que puede usar el motor o el grupo de motores.
setPosition#
La posición de un motor o grupo motor es la distancia a la que ha girado, medida en degrees o turns. Un giro es igual a 360 grados. setPosition cambia la posición actual del motor o del 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 Functionsvoid setPosition(
double value,
rotationUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El valor de posición a establecer para el motor o grupo de motores. |
|
|
La unidad de posición:
|
Esta función no devuelve un valor.
NotesDespués de llamar a
setPosition, las llamadas subsiguientes aspinToPositionusarán la posición actualizada como referencia.
setStopping#
setStopping establece cómo un motor o grupo de motores dejará de moverse: frenando, deslizándose o sosteniendo.
void setStopping(
brakeType mode );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Cómo se detendrá el motor o el grupo de motores:
|
Esta función no devuelve un valor.
NotesCualquier llamada posterior a
stopsin un modo de freno especificado utilizará este valor.
setTimeout#
setTimeout establece cuánto tiempo un motor o grupo de motores intentará terminar un movimiento. Si el motor o grupo de motores no puede terminar en ese tiempo, dejará de intentarlo y pasará a la siguiente línea de código. Esto evita que el motor o grupo motor se atasque en un movimiento.
void setTimeout(
int32_t time,
timeUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La cantidad de tiempo que el motor o grupo motor puede intentar terminar un movimiento. Este debe ser un número entero positivo. |
|
|
La unidad de tiempo:
|
Valores de devolución
Esta función no devuelve un valor.
NotesEl 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
spinForyspinToPosition.
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);
Getters#
isDone#
isDone devuelve si el motor o grupo de motores ha terminado de moverse, como un valor booleano. Esto se puede utilizar para controlar el tiempo de otros comportamientos basados en el movimiento del grupo motor o motor.
true— El motor o grupo motor ha terminado de moverse.false— El motor o grupo motor sigue en movimiento.
Esta función funciona junto con las siguientes funciones de movimiento que tienen waitForCompletion parámetro waitForCompletion: spinFor y spinToPosition.
bool isDone();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve 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.
isDonefunciona junto con las siguientes funciones de movimiento que tienenwaitForCompletionparámetro waitForCompletion:spinForyspinToPosition.
// 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 si el motor o grupo de motores está girando, como un valor booleano. Esto se puede utilizar para controlar el tiempo de otros comportamientos basados en el movimiento del grupo motor o motor.
true— El motor o grupo motor está girando.false— El motor o grupo motor no está girando.
Esta función funciona junto con funciones de movimiento como spin, spinFor y spinToPosition.
bool isSpinning();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve 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.
isSpinningfunciona con funciones de movimiento comospin,spinForyspinToPosition.
// 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 motor es la distancia a la que ha girado, medida en degrees o turns. Un giro equivale a 360 grados. La 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 Functionsdouble position(
rotationUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad para devolver el motor o la posición del grupo motor en:
|
Devuelve un double que representa la posición actual del motor o del grupo de motores en las unidades especificadas.
Llamar a
setPositioncambia 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 a un
motor_group, esta función devuelve la posición del primer motor del grupo.
// 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 qué tan rápido está girando el motor o el 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 Functionsdouble velocity(
velocityUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad utilizada para representar la velocidad:
|
Devuelve un double que representa qué tan rápido está girando el motor o el grupo de motores en las unidades especificadas.
Observaciones
Cuando se llama a un
motor_group, esta función devuelve la velocidad del primer motor del grupo.
current#
current devuelve la cantidad de corriente eléctrica que está utilizando el motor o el grupo de motores. La corriente es la cantidad de electricidad que fluye a través del motor o grupo de motores. Cuando se devuelve en amperios, la corriente se reporta de 0.0 a 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 Functions1 — Devuelve la corriente eléctrica del motor o grupo de motores en amperios.
double current( currentUnits units = amp );
Parameters2 — Devuelve la corriente eléctrica del motor o del grupo de motores como porcentaje de la corriente nominal máxima.
double current( percentUnits units );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad utilizada para representar la corriente: |
|
|
Representa la corriente como un porcentaje de la corriente nominal máxima del motor: |
Devuelve un double que representa la cantidad de corriente eléctrica que el motor o grupo de motores está consumiendo en las unidades especificadas.
Observaciones
Cuando se llama a un
motor_group, esta función devuelve la corriente eléctrica total para todos los motores del grupo.
power#
la power devuelve la cantidad de potencia que el motor o grupo de motores está utilizando en vatios. La potencia muestra la rapidez con la que el motor o grupo de motores está utilizando la 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 Functionsdouble power(
powerUnits units = watt );
Parámetros
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad utilizada para representar la potencia del motor:
|
Valores de devolución
Devuelve un double que representa la cantidad de potencia que el motor o grupo de motores está utilizando en vatios.
Observaciones
Cuando se llama a un
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 la cantidad de torque que está utilizando el motor o el 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 ajustar el par de un motor o grupo de motores, utilice setMaxTorque.
double torque(
torqueUnits units = Nm );
Parámetros
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad utilizada para representar el par motor:
|
Valores de devolución
Devuelve un double que representa la cantidad de par que el motor o grupo de motores está utilizando en las unidades especificadas.
Observaciones
Cuando se llama a un
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 está utilizando la potencia, 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 Functionsdouble efficiency(
percentUnits units = percent );
Parámetros
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad utilizada para representar la eficiencia del motor:
|
Valores de devolución
Devuelve un double que representa la eficiencia con la que el motor o el grupo motor está utilizando la potencia como porcentaje.
Observaciones
Cuando se llama a un
motor_group, esta función devuelve la eficiencia del primer motor del grupo.
temperature#
temperature devuelve la temperatura del motor o grupo de motores.
La temperatura del motor muestra qué tan caliente está el motor o el grupo de motores. Una temperatura más alta significa que el motor o el grupo motor se está calentando mientras funciona. El motor debe permanecer por debajo de 55°C para seguir funcionando a pleno rendimiento.
Si el motor o grupo motor se calienta demasiado, bajará 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 Functions1 — 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 |
|---|---|---|
|
|
La unidad utilizada para representar la temperatura del motor o del grupo de motores como un
|
|
|
La unidad utilizada para representar la temperatura del motor o del grupo motor en grados: grados
|
Valores de devolución
Devuelve un double que representa la temperatura del motor o grupo de motores en las unidades especificadas.
Observaciones
El rango de temperatura de funcionamiento del motor es de aproximadamente
20°C(68°F) a70°C(158°F).Cuando se llama a un
motor_group, esta función devuelve la temperatura del primer motor del grupo.
voltage#
el voltage devuelve el voltaje eléctrico suministrado al motor o grupo de motores.
double voltage(
voltageUnits units = volt );
Parámetros
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad para representar el voltaje:
|
Valores de devolución
Devuelve un double que representa la tensión eléctrica suministrada al motor o grupo de motores en las unidades especificadas.
Observaciones
Cuando se llama a un
motor_group, esta función devuelve el voltaje eléctrico del primer motor del grupo.
direction#
direction devuelve la dirección en la que el motor o grupo de motores está girando.
directionType direction();
Parámetros
Esta función no toma ningún parámetro.
Valores de devolución
Devuelve una directionType que indica la dirección actual del motor o del grupo de motores:
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 el grupo motor está conectado al cerebro IQ (2ª generación).
bool installed();
Parámetros
Esta función no toma ningún parámetro.
Valores de devolución
Devuelve un bool que indica si el motor o 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.
int32_t count();
Parámetros
Esta función no toma ningún parámetro.
Valores de devolución
Devuelve un int32_t que representa el número de motores en el grupo de motores.