Controlador de motor 55#

Introducción#

La motor55 clase motor55 se utiliza para controlar un controlador motor VEX 55 conectado al cerebro EXP. El controlador de motor 55 es un controlador de motor heredado diseñado para operar motores de CC de 2 hilos.

El controlador de motor VEX 55.

Constructores de clase#

1 — Crea un motor55 objeto motor55 en el puerto inteligente especificado.

motor55(
  int32_t index );

2 — Crea un motor55 objeto motor55 en el puerto inteligente especificado y cambia la dirección de giro positivo.

motor55(
  int32_t index,
  bool    reverse );

3 — Crea un motor55 objeto motor55 en el puerto inteligente especificado, establece el voltaje máximo de accionamiento y cambia la dirección de giro positivo.

motor55(
  int32_t index,
  double  maxv,
  bool    reverse );

Destructor de clase#

Destruye el motor55 objeto motor55 y libera los recursos asociados.

~motor55();

Parámetros#

Parámetro

Tipo

Descripción

index

int32_t

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

reverse

bool

Determina si la dirección del motor se invierte:

  • true — La dirección positiva del motor se invierte.
  • false — La dirección positiva del motor permanece normal.

maxv

double

El voltaje máximo que el controlador del motor 55 puede aplicar al motor.

Ejemplo#

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

Funciones de los miembros#

La motor55 clase motor55 incluye las siguientes funciones de miembro:

  • spin — Hace girar el motor en una dirección específica.

  • stop — Detiene el motor.

  • setVelocity — Le dice al motor de CC qué tan rápido debe girar.

  • setStopping — Establece el comportamiento de parada (inercia o freno).

  • setReversed — Establece si la dirección del motor está invertida.

  • current — Devuelve la corriente eléctrica del motor.

  • voltage — Devuelve el voltaje eléctrico del motor.

  • temperature — Devuelve la temperatura del motor.

  • getMotorType — Devuelve el tipo de motor/controlador detectado.

  • installed — Devuelve si el controlador del motor 55 se detecta en el puerto inteligente especificado.

Antes de llamar a motor55 miembro de motor55, se debe crear una instancia, como se muestra a continuación:

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

// Create the motor55 instance in Smart Port 1
motor55 MC55_1 = motor55(PORT1);

spin#

Hace girar el motor en la dirección especificada indefinidamente.

Funciones disponibles

1 — Giros con la velocidad configurada actualmente.

void spin(
  directionType dir );

2 — Gira al voltaje especificado.

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

Parámetros

Parámetro

Tipo

Descripción

dir

directionType

La dirección en la que gira el motor: forward o hacia reverse.

voltage

double

El valor de voltaje aplicado al motor. Un valor negativo gira frente a la dir.

units

voltageUnits

La unidad utilizada para representar el voltaje:

  • volt — voltios
  • voltageUnits::mV — milivoltios

Valores de devolución

Esta función no devuelve un valor.

Observaciones

  • Esta función no está en espera y el programa continúa inmediatamente después de la llamada.

  • El motor seguirá girando hasta que se llame a stop o se utilice otro spin.

stop#

Detiene el giro del motor utilizando el modo de freno configurado actualmente.

Funciones disponibles

void stop();

Parámetros

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

Valores de devolución

Esta función no devuelve un valor.

Observaciones

  • Detiene el motor utilizando el modo de parada configurado actualmente por setStopping.

setVelocity#

Le dice a un motor de CC qué tan rápido debe girar. Un porcentaje más alto hace que el motor de CC gire más rápido y un porcentaje más bajo hace que el motor de CC gire más lento.

Cada proyecto comienza con cada motor de CC conectado girando a una velocidad del 50% de forma predeterminada.

Funciones disponibles

void setVelocity(
    double       velocity,
    percentUnits units = percent );

Parámetros

Parámetro

Tipo

Descripción

velocity

double

La velocidad para girar del 0% al 100% cuando se usa percent.

units

percentUnits

La unidad de velocidad: percent / pct — porcentaje.

Valores de devolución

Esta función no devuelve un valor.

Observaciones

  • Cualquier llamada posterior a spin sin un voltaje especificado utilizará este valor.

setStopping#

Establece cómo se comporta un motor cuando se detiene.

Funciones disponibles

void setStopping(
    brakeType mode );

Parámetros

Parámetro

Tipo

Descripción

mode

brakeType

El modo de parada aplicado cuando stop se llama:

  • coast — Motor coasts to a stop
  • brake — Motor stops quickly using braking

Valores de devolución

Esta función no devuelve un valor.

Observaciones

  • Cualquier llamada posterior a stop utilizará este modo de parada.

  • El controlador de motor 55 solo admite coast y brake hold no es compatible.

setReversed#

Establece si la dirección de rotación del motor está invertida.

Funciones disponibles

void setReversed(
    bool value );

Parámetros

Parámetro

Tipo

Descripción

value

bool

Si la dirección del motor se invierte:

  • true — Invierte la dirección del motor.
  • false — Devuelve la dirección del motor a su valor predeterminado.

Valores de devolución

Esta función no devuelve un valor.

Observaciones

  • Llamar setReversed es lo mismo que cambiar el parámetro reverse en el constructor.

current#

current devuelve la cantidad de corriente eléctrica que está utilizando el motor de CC. La corriente es la cantidad de electricidad que fluye a través del motor de CC. 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 de CC está utilizando más corriente eléctrica. Esto puede suceder cuando el motor de CC está levantando algo pesado, empujando contra un objeto o tratando de moverse cuando está atascado.

Esto se puede utilizar para comprobar si el motor de CC 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 de CC en amperios.

double current(
  currentUnits units = amp );

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

double current(
  percentUnits units );

Parameters

Parámetro

Tipo

Descripción

units

currentUnits

La unidad utilizada para representar la corriente:amp (predeterminado) — amperios

units

percentUnits

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

Return Values

Devuelve un double que representa la cantidad de corriente eléctrica que el motor de CC está utilizando en las unidades especificadas.

voltage#

Devuelve la tensión eléctrica suministrada al motor.

Available Functions
double voltage(
  voltageUnits units = volt );

Parámetros

Parámetro

Tipo

Descripción

units

voltageUnits

La unidad para representar el voltaje:

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

Valores de devolución

Devuelve un double que representa el voltaje eléctrico del motor en las unidades especificadas.

temperature#

temperature devuelve la temperatura del motor de CC.

La temperatura del motor muestra qué tan caliente está el motor de CC. Una temperatura más alta significa que el motor de CC se está calentando mientras funciona. El motor debe permanecer por debajo de 55° C para seguir funcionando a pleno rendimiento.

Si el motor de CC se calienta demasiado, bajará su corriente máxima para protegerse. A 70 °C, el motor dejará de funcionar hasta que se enfríe.

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

Available Functions

1 — Devuelve la temperatura del motor de CC como porcentaje de la temperatura máxima de funcionamiento.

double temperature(
  percentUnits units = percent );

2 — Devuelve la temperatura del motor de CC en unidades de temperatura física.

double temperature(
  temperatureUnits units );

Parámetros

Parámetro

Tipo

Descripción

units

percentUnits

La unidad utilizada para representar la temperatura del motor de CC como porcentaje:

  • percent / pct (predeterminado) — porcentaje

units

temperatureUnits

La unidad utilizada para representar la temperatura del motor de CC en grados: grados

  • celsius — grados Celsius
  • fahrenheit — grados Fahrenheit

Valores de devolución

Devuelve un double que representa la temperatura del motor de CC en las unidades especificadas.

Observaciones

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

getMotorType#

Devuelve el tipo de motor/controlador detectado.

Funciones disponibles

int32_t getMotorType();

Parámetros

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

Valores de devolución

Devuelve un int32_t que indica el tipo de motor/controlador detectado:

  • 0 — 11W Motor
  • 1 — 5.5W Motor
  • 2 — Motor Controller 55

installed#

Devuelve si el controlador del motor 55 está conectado al cerebro EXP.

Available Functions
bool installed();

Parámetros

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

Valores de devolución

Devuelve un bool que indica si el controlador del motor 55 está conectado.

  • true — The Motor Controller 55 is connected.
  • false — The Motor Controller 55 is not connected.