Controlador de motor 55#

Introducción#

The motor55 class is used to control a VEX Motor Controller 55 connected to the V5 Brain. The Motor Controller 55 is a legacy motor controller designed to operate 2-wire DC motors.

Constructores de clases#

1 Creates a motor55 object on the specified Smart Port.

motor55( 
  int32_t index );

2 Creates a motor55 object on the specified Smart Port and changes the positive turning direction.

motor55( 
  int32_t index,
  bool    reverse );

3 Creates a motor55 object on the specified Smart Port, sets the maximum drive voltage, and changes the positive turning direction.

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

Instructor de clase#

Destroys the motor55 object and releases associated resources.

~motor55();

Parámetros#

Parámetro

Tipo

Descripción

index

int32_t

The Smart Port that the Motor Controller 55 is connected to, written as PORTx, where x is the port number (for example, PORT1).

reverse

bool

Determines whether the motor’s direction is reversed:

  • true — The motor’s positive direction is reversed.
  • false — The motor’s positive direction remains normal.

maxv

double

La tensión máxima que el controlador de motor 55 puede aplicar al motor.

Ejemplo#

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

Funciones de los miembros#

The motor55 class includes the following member functions:

  • spin — Spins the motor in a specified direction.

  • stop — Stops the motor.

  • setVelocity — Sets the default motor velocity.

  • setStopping — Sets the stopping behavior (coast or brake).

  • setReversed — Sets whether the motor’s direction is reversed.

  • current — Returns the motor’s electrical current.

  • voltage — Returns the motor’s electrical voltage.

  • temperature — Returns the motor temperature.

  • getMotorType — Returns the detected motor/controller type.

  • installed — Returns whether the Motor Controller 55 is detected on the specified Smart Port.

Before calling any motor55 member functions, an instance must be created, as shown below:

/* 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 de forma indefinida.

Funciones disponibles

1 Gira usando 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

The direction in which the motor spins:

  • forward
  • reverse

voltage

double

El valor de voltaje aplicado al motor.

units

voltageUnits

The unit used to represent voltage:

  • volt — volts
  • voltageUnits::mV — millivolts

Valores de retorno

Esta función no devuelve ningún valor.

Notas

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

  • The motor will continue spinning until stop is called or another spin is used.

stop#

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

Funciones disponibles

void stop();

Parámetros

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

Valores de retorno

Esta función no devuelve ningún valor.

Notas

  • Stops the motor using the currently configured stopping mode set by setStopping.

setVelocity#

Establece la velocidad predeterminada para un motor. Esta configuración de velocidad se utilizará para las llamadas posteriores a cualquier función del controlador de motor 55 si no se proporciona una velocidad específica.

Funciones disponibles

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

Parámetros

Parámetro

Tipo

Descripción

velocity

double

El valor de velocidad que se aplicará al motor.

units

percentUnits

The unit used to represent velocity:

  • percent / pct (default) — percent

Valores de retorno

Esta función no devuelve ningún valor.

Notas

  • Any subsequent call to spin without a specified voltage will use this value.

setStopping#

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

Funciones disponibles

void setStopping(
    brakeType mode );

Parámetros

Parámetro

Tipo

Descripción

mode

brakeType

The stopping mode applied when stop is called:

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

Valores de retorno

Esta función no devuelve ningún valor.

Notas

  • Any subsequent call to stop will use this stopping mode.

  • The Motor Controller 55 supports coast and brake only. hold is not supported.

setReversed#

Establece si se invierte el sentido de giro del motor.

Funciones disponibles

void setReversed(
    bool value );

Parámetros

Parámetro

Tipo

Descripción

value

bool

Sets the motor’s direction behavior:

  • true — The motor’s positive direction is reversed.
  • false — The motor’s positive direction remains normal.

Valores de retorno

Esta función no devuelve ningún valor.

Notas

  • Calling setReversed is the same as changing the reverse parameter in the constructor.

current#

Devuelve la corriente de un motor.

Available Functions

1 Devuelve la corriente eléctrica del motor en amperios.

double current( 
  currentUnits units = amp );

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

double current( 
  percentUnits units );

Parameters

Parámetro

Tipo

Descripción

units

currentUnits

The unit used to represent current:

  • amp (default) — amperes

units

percentUnits

Represents the current as percentage of the motor’s maximum rated current:

  • percent / pct
  • — percent

Return Values

Returns a double representing the motor’s electrical current in the specified units.

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

The unit to represent the voltage:

  • volt (default)
  • voltageUnits::mV — millivolts

Valores de retorno

Returns a double representing the motor’s electrical voltage in the specified units.

temperature#

Devuelve la temperatura del motor.

Available Functions

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

double temperature( 
  percentUnits units = percent );

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

double temperature( 
  temperatureUnits units );

Parámetros

Parámetro

Tipo

Descripción

units

percentUnits

The unit used to represent motor or motor group temperature as a percentage:

  • percent / pct (default) — percent

units

temperatureUnits

The unit used to represent motor or motor group temperature in degrees:

  • celsius — degrees Celsius
  • fahrenheit — degrees Fahrenheit

Valores de retorno

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

Notas

  • The operating temperature range for the motor is approximately 20°C (68°F) to 70°C (158°F).

getMotorType#

Devuelve el tipo de motor/controlador detectado.

Funciones disponibles

int32_t getMotorType();

Parámetros

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

Valores de retorno

Returns an int32_t indicating the detected motor/controller type:

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

installed#

Indica si el controlador de motor 55 está conectado al módulo V5.

Available Functions
bool installed();

Parámetros

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

Valores de retorno

Returns a bool indicating if the Motor Controller 55 is connected.

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