电机控制器 55#

介绍#

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.

类构造函数#

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 );

类析构函数#

Destroys the motor55 object and releases associated resources.

~motor55();

参数#

范围

类型

描述

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

电机控制器 55 可以施加到电机的最大电压。

例子#

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

成员功能#

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#

使电机沿指定方向无限期旋转。

可用功能

1 使用 当前配置的速度 旋转。

void spin( 
  directionType dir );

2 在指定电压下旋转。

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

参数

范围

类型

描述

dir

directionType

The direction in which the motor spins:

  • forward
  • reverse

voltage

double

施加到电机上的电压值。

units

voltageUnits

The unit used to represent voltage:

  • volt — volts
  • voltageUnits::mV — millivolts

返回值

此函数不返回值。

条笔记

  • 该函数不等待,调用后程序立即继续执行。

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

stop#

使用当前配置的制动模式 停止电机旋转。

可用功能

void stop();

参数

此函数不接受任何参数。

返回值

此函数不返回值。

条笔记

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

setVelocity#

设置电机的默认速度。如果未提供特定速度,则后续调用任何电机控制器 55 函数时都将使用此速度设置。

可用功能

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

参数

范围

类型

描述

velocity

double

要施加于电机的速度值。

units

percentUnits

The unit used to represent velocity:

  • percent / pct (default) — percent

返回值

此函数不返回值。

条笔记

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

setStopping#

设置电机停止时的行为方式。

可用功能

void setStopping(
    brakeType mode );

参数

范围

类型

描述

mode

brakeType

The stopping mode applied when stop is called:

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

返回值

此函数不返回值。

条笔记

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

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

setReversed#

设置是否反转电机的旋转方向。

可用功能

void setReversed(
    bool value );

参数

范围

类型

描述

value

bool

Sets the motor’s direction behavior:

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

返回值

此函数不返回值。

条笔记

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

current#

返回电机的电流。

Available Functions

1 返回电机的电流(以安培为单位)。

double current( 
  currentUnits units = amp );

2 返回电机电流占最大额定电流的百分比。

double current( 
  percentUnits units );

Parameters

范围

类型

描述

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#

返回提供给电机的电压。

Available Functions
double voltage( 
  voltageUnits units = volt );

参数

范围

类型

描述

units

voltageUnits

The unit to represent the voltage:

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

返回值

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

temperature#

返回电机温度。

Available Functions

1 返回电机温度占最高工作温度的百分比。

double temperature( 
  percentUnits units = percent );

2 以物理温度单位返回电机温度。

double temperature( 
  temperatureUnits units );

参数

范围

类型

描述

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

返回值

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

条笔记

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

getMotorType#

返回检测到的电机/控制器类型。

可用功能

int32_t getMotorType();

参数

此函数不接受任何参数。

返回值

Returns an int32_t indicating the detected motor/controller type:

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

installed#

返回电机控制器 55 是否连接到 V5 大脑。

Available Functions
bool installed();

参数

此函数不接受任何参数。

返回值

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.