Автомобильная и автомобильная группа#

Введение#

Двигатели и группы двигателей управляют движением частей робота. Объект motor управляет одним сконфигурированным интеллектуальным двигателем IQ Smart Motor, а объект motor_group управляет несколькими сконфигурированными интеллектуальными двигателями IQ Smart Motor одновременно, чтобы они двигались синхронно. Двигатели и группы двигателей могут использоваться для подъема руки, вращения клешни, вращения колеса или перемещения другой части конструкции. Два двигателя могут работать вместе как привод для перемещения и поворота всего робота.

Каждый двигатель или группа двигателей настраиваются в окне «Устройства». В зависимости от сборки, имена двигателей и групп двигателей могут меняться. На этой странице в качестве примеров используются имена Motor1 и MotorGroup1 При необходимости замените их своими собственными настроенными именами.

На изображении двигателя VEX IQ (2-го поколения) направление вращения обозначено знаком «плюс», а стрелка указывает на вращение влево, или против часовой стрелки. На изображении двигателя VEX IQ (2-го поколения) направление вращения показано знаком минус, а стрелка указывает на вращение вправо, или по часовой стрелке.

По умолчанию, при нажатии forward двигатель вращается против часовой стрелки, а при нажатии кнопки reverse двигатель вращается по часовой стрелке. Если двигатель настроен на реверс, направления вращения будут поменяны местами.

Мотор#

Class Constructors#

1 — Создает объект motor для интеллектуального двигателя IQ Smart Motor, подключенного к указанному интеллектуальному порту. Двигатель автоматически использует обнаруженную внутреннюю передачу gearSetting.

motor(
  int32_t index );

2 — Создает объект двигателя motor на указанном интеллектуальном порту и при необходимости меняет направление его вращения. Двигатель автоматически использует обнаруженную внутреннюю передачу gearSetting.

motor(
 int32_t index,
 bool    reverse );

3 — Создает объект motor на указанном Smart Port с указанным gearSetting.

motor(
 int32_t     index,
 gearSetting gears );

4 — Создает объект motor на указанном Smart Port с указанным gearSetting и, при необходимости, обратным направлением.

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

Class Destructor#

Уничтожает объект motor и освобождает связанные с ним ресурсы.

~motor();

Parameters#

Параметр

Тип

Описание

index

int32_t

Интеллектуальный порт, к которому подключен двигатель, обозначается как PORTx, где x — номер порта (например, PORT1).

reverse

bool

Определяет, будет ли направление вращения двигателя изменено на противоположное:

  • false (по умолчанию) — Не меняет направление вращения двигателя.
  • true — Изменяет направление вращения двигателя.

gears

gearSetting

Указывает передаточное число внутреннего редуктора.

  • ratio1_1 — Передаточное число 1:1
  • ratio2_1 — Передаточное число 2:
  • ratio3_1 — Передаточное число 3:1

Notes#

  • Настройка редуктора должна соответствовать настройкам физического картриджа, установленного в двигателе.

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

Моторная группа#

Class Constructors#

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

Class Destructor#

Уничтожает объект motor_group motor_group и освобождает связанные с ним ресурсы.

~motor_group();

Parameters#

Параметр

Тип

Описание

m1

motor &

Первый двигатель, добавленный в группу.

m2

motor &

В группу добавляются дополнительные двигатели. Максимальное количество двигателей в одной группе — четыре.

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

Функции участников#

Существует множество способов кодирования двигателей и групп двигателей. Ниже приведён список всех функций-членов motor и motor_group:

Действия — Остановка и вращение двигателей и групп двигателей.

  • spin — Вращает двигатель или группу двигателей вперед или назад бесконечно.

  • spinFor — Вращает двигатель или группу двигателей на определенное расстояние или за определенное время.

  • spinToPosition — Раскручивает двигатель или группу двигателей до определенного положения.

  • stop — Останавливает вращение двигателя или группы двигателей.

Мутаторы — Настройка параметров двигателя и группы двигателей.

  • setVelocity — Указывает двигателю или группе двигателей, с какой скоростью вращаться.

  • setMaxTorque — Задает, с какой силой двигатель или группа двигателей могут толкать во время вращения.

  • setPosition — Изменяет текущее положение двигателя или группы двигателей на новое значение.

  • setStopping — Задает способ остановки двигателя или группы двигателей: торможение, движение накатом или удержание.

  • setTimeout — Устанавливает, сколько времени двигатель или группа двигателей будут пытаться завершить движение.

Геттеры — Проверка состояния двигателя и группы двигателей.

  • isDone — Возвращает значение логического значения, указывающее, завершил ли двигатель или группа двигателей движение.

  • isSpinning — Возвращает значение логического типа, указывающее, вращается ли двигатель или группа двигателей.

  • position — Возвращает текущее положение двигателя или группы двигателей.

  • velocity — Возвращает скорость вращения двигателя или группы двигателей.

  • current — Возвращает значение электрического тока, потребляемого двигателем или группой двигателей.

  • power — Возвращает значение мощности, потребляемой двигателем или группой двигателей.

  • torque — Возвращает значение крутящего момента, используемого двигателем или группой двигателей.

  • efficiency — Возвращает, насколько эффективно двигатель или группа двигателей используют мощность.

  • temperature — Возвращает температуру двигателя или группы двигателей.

  • voltage — Возвращает электрическое напряжение, подаваемое на двигатель или группу двигателей.

  • direction — Возвращает направление вращения двигателя или группы двигателей.

  • installed — Возвращает значение, указывающее, подключен ли двигатель или группа двигателей к Мозгу.

  • count — Возвращает количество двигателей в группе двигателей.

Перед вызовом любых функций-членов группы motor или motor_group необходимо создать экземпляр, как показано ниже:

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

Действия#

spin#

spin вращает двигатель или группу двигателей вперед или назад бесконечно. Двигатель или группа двигателей будут продолжать вращаться до тех пор, пока им не будет дано другое действие, например, вращение в другом направлении или остановка.

Available Functions

1 — Вращает двигатель или группу двигателей, используя заданную в данный момент скорость вращения двигателя.

void spin(
 directionType dir );

2 — Вращает двигатель или группу двигателей с заданной скоростью.

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

3 — Вращает двигатель или группу двигателей, используя заданное напряжение.

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

Parameters

Параметр

Тип

Описание

dir

directionType

Направление вращения двигателя или группы двигателей: forward или reverse.

velocity

double

Скорость вращения от 0% до 100% при использовании percent.

units

velocityUnits

Единицы измерения скорости:

  • percent процента pct
  • обrpm — оборотов в минуту
  • dps — градусов в секунду

voltage

double

Напряжение, с которым происходит вращение. Отрицательное значение соответствует вращению в противоположную сторону от заданного значения dir.

units

voltageUnits

Единицы измерения напряжения:

  • volt — вольт
  • voltageUnits::mV — милливольт

Return Values

Эта функция не возвращает значения.

Notes
  • Эта функция не ожидает завершения, и выполнение проекта продолжится сразу после вызова.

  • Двигатель или группа двигателей будут продолжать вращаться до тех пор, пока не будет вызвана функция stop или не будет выполнена другая функция движения.

  • Функции, такие как isDone и isSpinning, неприменимы к spin, поскольку оно не использует движение, основанное на цели (не имеет rotation или time).

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

spinFor#

Параметр spinFor вращает двигатель или группу двигателей на определенное расстояние или в течение определенного времени. Вращение определяется относительно текущего положения двигателя или группы двигателей. По умолчанию проект будет ждать, пока двигатель или группа двигателей не закончат вращение, прежде чем будет выполнена следующая строка кода.

Available Functions

1 — Вращается на определенное расстояние со скоростью, указанной в вызове функции.

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

2 — Принимает параметр направления и вращается на определенное расстояние со скоростью, указанной в вызове функции.

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

3 — Вращается на определенное расстояние, используя текущую заданную скорость двигателя.

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

4 — Принимает параметр направления и вращается на определенное расстояние, используя текущую настроенную скорость двигателя.

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

5 — Вращается в течение определенного времени со скоростью, указанной в вызове функции.

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

6 — Принимает параметр направления и вращается в течение определенного времени со скоростью, указанной в вызове функции.

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

7 — Вращается в течение определенного времени, используя текущую заданную скорость вращения двигателя.

bool spinFor(
 double    time,
 timeUnits units );

8 — Принимает параметр направления и вращается в течение определенного времени, используя текущую настроенную скорость двигателя.

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

Parameters

Параметр

Тип

Описание

dir

directionType

Направление вращения двигателя или группы двигателей: forward или reverse.

rotation

double

Расстояние, на которое вращается двигатель или группа двигателей.

units

rotationUnits

Единица вращения:

  • deg / degrees — градусов
  • turns / rev — оборотов

time

double

Время вращения двигателя или группы двигателей.

units

timeUnits

Единица времени:

  • seconds / sec — секунд
  • msec — миллисекунд

velocity

double

Скорость вращения от 0% до 100% при использовании percent.

units_v

velocityUnits

The unit used to represent velocity:

  • percent / pct — percent
  • rpm — rotations per minute
  • dps — degrees per second

waitForCompletion

bool

​

  • true (по умолчанию) — Заставляет проект ждать, пока двигатель или группа двигателей не закончат вращение, прежде чем будет выполнена следующая строка кода.
  • false — Заставляет следующую строку кода выполниться немедленно.

Return Values

Возвращает логическое значение, указывающее, достигло ли двигатель или группа двигателей целевого значения.

  • 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
  • Выполнение другой функции движения двигателя (например, spin или stop) во время выполнения spinFor прервет текущее движение.

  • Поскольку spinFor основан на цели (использует параметр времени rotation или time ), такие функции, как isDone и isSpinning, работают с 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 вращает двигатель или группу двигателей в заданное положение.

Положение двигателя или группы двигателей — это угол их вращения, измеряемый в degrees или turns. Один оборот равен 360 градусам. В начале проекта положение двигателя или группы двигателей устанавливается на 0 градусов. Положение двигателя или группы двигателей также можно установить с помощью функции setPosition.

Значения положения являются абсолютными. Это означает, что направление вращения зависит от текущего положения двигателя или группы двигателей.

Например, если двигатель или группа двигателей начинают движение с 0 градусов и вращаются до положения 720 градусов, они совершат два оборота вперед. Если же они затем вращаются до положения 360 градусов, они совершат один оборот в обратном направлении, поскольку 360 меньше 720.

Available Functions

1 — Вращается в заданное положение со скоростью, указанной в вызове функции.

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

2 — Вращается в заданное положение, используя текущую заданную скорость двигателя.

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

Parameters

Параметр

Тип

Описание

rotation

double

Значение положения, до которого будет вращаться двигатель или группа двигателей.

units

rotationUnits

Единица вращения:

  • deg / degrees — градусов
  • turns / rev — оборотов

velocity

double

Скорость вращения от 0% до 100% при использовании percent.

units_v

velocityUnits

Единица измерения скорости: velocityпроцент

  • процент,pct — процент
  • — процент
  • процент, 8rpm — оборотов в минуту
  • — процент, 11 — процент, 12 — градус в секунду, 13 — градус в секунду, 14 — процент, 15 …2 — процент, 12 — процент, 12 — процент, 13 — процент, 14 — процент, 15 — процент, 15 — процент,
  • процент,dps — процент, 13 — процент
процент,

waitForCompletion

bool

​

  • true (по умолчанию) — Заставляет проект ждать, пока двигатель или группа двигателей не закончат вращение, прежде чем будет выполнена следующая строка кода.
  • false — Заставляет следующую строку кода выполниться немедленно.

Return Values

Возвращает логическое значение, указывающее, начал ли двигатель или группа двигателей запрошенное движение, основанное на целевом значении.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • Выполнение другой функции движения двигателя (например, spin или spinFor) во время выполнения spinToPosition прервет текущее движение.

  • Поскольку spinToPosition основан на цели (использует параметр вращения rotation ), такие функции, как isDone и isSpinning, работают с spinToPosition.

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

stop#

stop останавливает вращение двигателя или группы двигателей.

Available Functions

1 — Останавливает двигатель или группу двигателей, используя текущий настроенный режим торможения.

void stop();

2 — Останавливает двигатель или группу двигателей, используя режим торможения, указанный в вызове функции.

void stop(
  brakeType mode );

Parameters

Параметр

Тип

Описание

mode

brakeType

Дополнительно. Способ остановки двигателя или группы двигателей:

  • coast — Замедление до полной остановки.
  • brake — Немедленная остановка.
  • hold — Немедленная остановка и удержание положения двигателя или группы двигателей.

Return Values

Эта функция не возвращает значения.

Notes
  • Вызов команды stop немедленно останавливает любое текущее движение двигателя или группы двигателей.

  • Если режим торможения не указан, двигатель или группа двигателей используют текущий настроенный режим торможения.

  • stop прерывает любое активное движение, основанное на цели (например, spinFor или spinToPosition).

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

Мутаторы#

setVelocity#

Параметр setVelocity указывает двигателю или группе двигателей скорость вращения. Более высокое значение в процентах приводит к более быстрому вращению двигателя или группы двигателей, а более низкое — к более медленному.

Каждый проект начинается с того, что каждый двигатель или группа двигателей по умолчанию вращаются со скоростью 50% от обычной.

Примечание: Более высокая скорость вращения приводит к более быстрому вращению двигателя или группы двигателей, но может снизить точность. Более низкая скорость вращения приводит к более медленному вращению двигателя или группы двигателей, но может повысить точность.

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

Parameters

Параметр

Тип

Описание

velocity

double

Скорость вращения от 0% до 100% при использовании percent.

units

velocityUnits

The unit used to represent velocity:

  • percent / pct — percent
  • rpm — rotations per minute
  • dps — degrees per second

Return Values

Эта функция не возвращает значения.

Notes
  • Любая последующая функция движения двигателя (например, spin, spinFor или spinToPosition), которая явно не указывает скорость, будет использовать это значение.

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#

Крутящий момент показывает, насколько сильно двигатель или группа двигателей могут толкать или тянуть во время вращения.

setMaxTorque устанавливает максимальный крутящий момент, который может использовать двигатель или группа двигателей.

Более высокий процент позволяет двигателю или группе двигателей прилагать больше усилий, например, при подъеме тяжелого предмета. Более низкий процент ограничивает силу, с которой двигатель или группа двигателей могут двигаться. Это может помочь защитить робота, если двигатель или группа двигателей застрянут или достигнут предела своего хода.

В начале каждого проекта крутящий момент каждого двигателя или группы двигателей по умолчанию составляет 50%.

Available Functions

1 — Устанавливает максимальный крутящий момент в процентах от номинального крутящего момента двигателя или группы двигателей.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Устанавливает максимальный крутящий момент с использованием физических единиц измерения крутящего момента.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Устанавливает максимальный крутящий момент путем ограничения тока двигателя.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Параметр

Тип

Описание

value

double

Максимальный крутящий момент, который может использовать двигатель или группа двигателей.

units

percentUnits

Specifies torque as a percentage: percent / pct — percent

units

torqueUnits

Указывает крутящий момент в физических единицах, таких как:

  • Nm — ньютон-метры
  • InLb — дюйм-фунты

units

currentUnits

Задает крутящий момент путем ограничения тока двигателя:

  • amp

Return Values

Эта функция не возвращает значения.

Notes
  • При использовании currentUnitsкрутящий момент ограничивается путем ограничения величины электрического тока, который может потреблять двигатель или группа двигателей.

setPosition#

A motor or motor group’s position is how far it has spun, measured in degrees or turns. One turn is equal to 360 degrees. setPosition changes the motor or motor group’s current position to a new value.

Например, если двигатель или группа двигателей повернулись на 180 градусов, установка положения на 0 градусов сбросит это положение со 180 до 0 градусов. Затем двигатель или группа двигателей смогут вращаться в положениях, соответствующих этому новому значению.

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

Parameters

Параметр

Тип

Описание

value

double

Значение положения, которое необходимо установить для двигателя или группы двигателей.

units

rotationUnits

Единица измерения положения:

  • deg / degrees — градусов
  • turns / rev — оборотов

Return Values

Эта функция не возвращает значения.

Notes
  • После вызова setPositionпоследующие вызовы spinToPosition будут использовать обновленную позицию в качестве эталона.

setStopping#

setStopping задает способ остановки двигателя или группы двигателей: торможение, движение накатом или удержание.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Параметр

Тип

Описание

mode

brakeType

Как двигатель или группа двигателей остановятся:

  • brake — Немедленная остановка.
  • coast — Замедление до полной остановки.
  • hold — Немедленная остановка и удержание положения двигателя или группы двигателей.

Return Values

Эта функция не возвращает значения.

Notes
  • Любой последующий вызов stop без указанного режима торможения будет использовать это значение.

setTimeout#

Параметр setTimeout задает время, в течение которого двигатель или группа двигателей будут пытаться завершить движение. Если двигатель или группа двигателей не смогут завершить движение за это время, они прекратят попытки и перейдут к следующей строке кода. Это предотвращает застревание двигателя или группы двигателей на определенном этапе движения.

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

Parameters

Параметр

Тип

Описание

time

int32_t

Время, в течение которого двигатель или группа двигателей могут попытаться завершить движение. Это должно быть положительное целое число.

units

timeUnits

Единица времени:

  • msec — миллисекунды
  • seconds / sec — секунд

возвращаемых значений

Эта функция не возвращает значения.

Notes
  • Тайм-аут двигателя или группы двигателей используется для того, чтобы движения, не достигшие целевой позиции, не останавливали выполнение других команд в стеке.

  • Если двигатель или группа двигателей не достигнут целевой позиции до истечения времени ожидания, попытки будут прекращены, и переход к следующей строке кода.

  • Тайм-аут применяется к функциям, имеющим целевое значение, например, spinFor и spinToPosition.

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

Геттеры#

isDone#

Функция isDone возвращает значение логического типа (Boolean), указывающее, завершилось ли движение двигателя или группы двигателей. Это можно использовать для управления временем выполнения других действий в зависимости от движения двигателя или группы двигателей.

  • true — Двигатель или группа двигателей завершили движение.

  • false — Двигатель или группа двигателей все еще находятся в движении.

Эта функция работает совместно со следующими функциями Motion, имеющими параметр waitForCompletion : spinFor и spinToPosition.

Available Functions
bool isDone();

Parameters

Эта функция не принимает никаких параметров.

Return Values

Возвращает значение логического типа (Boolean), указывающее, завершилось ли движение двигателя или группы двигателей.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone работает совместно со следующими функциями Motion, имеющими параметр waitForCompletion : spinFor и 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 возвращает значение логического типа (Boolean), указывающее, вращается ли двигатель или группа двигателей. Это можно использовать для управления синхронизацией других действий в зависимости от движения двигателя или группы двигателей.

  • true — Двигатель или группа двигателей вращаются.

  • false — Двигатель или группа двигателей не вращаются.

Эта функция работает совместно с функциями движения Motion, такими как spin, spinFor и spinToPosition.

Available Functions
bool isSpinning();

Parameters

Эта функция не принимает никаких параметров.

Return Values

Возвращает значение логической переменной, указывающее, вращается ли двигатель или группа двигателей.

  • true — The motor or motor group is spinning.
  • false — The motor or motor group is not spinning.
Notes
  • isSpinning работает с функциями движения Motion, такими как spin, spinFor и spinToPosition.

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#

Положение двигателя или группы двигателей — это угол их вращения, измеряемый в degrees или turnsОдин оборот равен 360 градусам. position возвращает текущее положение двигателя или группы двигателей.

В начале проекта положение двигателя или группы двигателей устанавливается на 0 градусов. Если двигатель или группа двигателей вращается на один оборот вперед, положение будет равно 360 градусам или 1 обороту. Если двигатель или группа двигателей вращается в другом направлении, положение будет отрицательным.

Available Functions
double position(
  rotationUnits units );

Parameters

Параметр

Тип

Описание

units

rotationUnits

Единица измерения для возврата двигателя или группы двигателей в исходное положение:

  • deg / degrees — град
  • turns / rev — оборотов

Return Values

Возвращает значение типа double представляющее текущее положение двигателя или группы двигателей в указанных единицах измерения.

Notes
  • Вызов setPosition изменяет точку отсчета для этого значения.

  • Возвращаемое значение отражает текущее показание энкодера и не указывает, находится ли двигатель или группа двигателей в активном движении.

  • При вызове для группы двигателей motor_groupэта функция возвращает позицию первого двигателя в группе.

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 (скорость вращения) возвращает значение скорости вращения двигателя или группы двигателей.

Положительное значение означает, что двигатель или группа двигателей вращаются в прямом направлении. Отрицательное значение означает, что они вращаются в обратном направлении.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Параметр

Тип

Описание

units

velocityUnits

Единицы измерения скорости:

  • percent процента pct
  • обrpm — оборотов в минуту
  • dps — градусов в секунду

Return Values

Возвращает значение типа double которое обозначает скорость вращения двигателя или группы двигателей в указанных единицах измерения.

Примечаний

  • При вызове для группы двигателей motor_groupэта функция возвращает скорость первого двигателя в группе.

current#

current возвращает величину электрического тока, потребляемого двигателем или группой двигателей. Ток — это количество электричества, протекающего через двигатель или группу двигателей. При выражении в амперах ток указывается в диапазоне от 0,0 до 1,2 А.

Более высокое значение тока означает, что двигатель или группа двигателей потребляют больше электроэнергии. Это может произойти, когда двигатель или группа двигателей поднимают что-то тяжелое, толкают какой-либо объект или пытаются сдвинуться с места, когда они застряли.

Это можно использовать для проверки того, испытывает ли двигатель или группа двигателей трудности во время движения. Если ток остается высоким, двигатель может нагреваться или потреблять энергию менее эффективно.

Available Functions

1 — Возвращает электрический ток двигателя или группы двигателей в амперах.

double current(
  currentUnits units = amp );

2 — Возвращает электрический ток двигателя или группы двигателей в процентах от максимального номинального тока.

double current(
  percentUnits units );

Parameters

Параметр

Тип

Описание

units

currentUnits

Единица измерения тока:amp ампер (по умолчанию) — ампер.

units

percentUnits

Выражает ток в процентах от максимального номинального тока двигателя:percent pct — процента

Return Values

Возвращает значение типа double указывающее величину потребляемого двигателем или группой двигателей электрического тока в указанных единицах измерения.

Примечаний

  • При вызове для группы двигателей motor_groupэта функция возвращает суммарный электрический ток для всех двигателей в группе.

power#

power (мощность) показывает, сколько энергии потребляет двигатель или группа двигателей в ваттах. Мощность показывает, как быстро двигатель или группа двигателей потребляет энергию.

Более высокое значение мощности означает, что двигатель или группа двигателей потребляют энергию быстрее. Это может происходить, когда двигатель или группа двигателей поднимают что-то тяжелое, толкают объект или пытаются сдвинуться с места, когда они застряли.

Это можно использовать для сравнения движений или проверки того, испытывает ли двигатель или группа двигателей трудности. Если мощность остается высокой, двигатель может нагреваться или потреблять энергию менее эффективно.

Available Functions
double power(
  powerUnits units = watt );

параметров

Параметр

Тип

Описание

units

powerUnits

Единица измерения мощности двигателя:

  • watt (по умолчанию) — ватт

возвращаемых значений

Возвращает значение типа double , указывающее, сколько энергии потребляет двигатель или группа двигателей в ваттах.

Примечаний

  • При вызове для группы двигателей motor_groupэта функция возвращает электрическую мощность первого двигателя в группе.

torque#

Крутящий момент показывает, насколько сильно двигатель или группа двигателей скручиваются, толкают или тянут во время вращения.

Значение torque (мощность) возвращает величину крутящего момента, используемого двигателем или группой двигателей.

Более высокое значение крутящего момента означает, что двигатель или группа двигателей прилагают больше усилий для толкания или тяги. Это может происходить, когда двигатель или группа двигателей поднимают что-то тяжелое, толкают какой-либо объект или пытаются сдвинуться с места, когда они застряли.

Это можно использовать для проверки того, испытывает ли двигатель или группа двигателей трудности, или для сравнения того, какое усилие требуется для выполнения различных движений.

Для установки крутящего момента двигателя или группы двигателей используйте setMaxTorque.

Available Functions
double torque(
  torqueUnits units = Nm );

параметров

Параметр

Тип

Описание

units

torqueUnits

Единица измерения крутящего момента двигателя:

  • Nm (по умолчанию) — Ньютон-метры
  • InLb — дюйм-фунты

возвращаемых значений

Возвращает значение типа double указывающее величину крутящего момента, используемого двигателем или группой двигателей в указанных единицах измерения.

Примечаний

  • При вызове для группы двигателей motor_groupэта функция возвращает механический выходной крутящий момент первого двигателя в группе.

efficiency#

Показатель эффективности efficiency отражает, насколько эффективно двигатель или группа двигателей используют мощность, в процентах от 0% до 100%.

КПД показывает, какая часть мощности двигателя или группы двигателей используется для движения. Более высокое значение КПД означает, что большая часть мощности двигателя или группы двигателей используется для движения. Более низкое значение КПД может наблюдаться, когда двигатель или группа двигателей работают с большой нагрузкой, но мало двигаются, например, когда они застряли или толкают какой-либо объект.

Это можно использовать для сравнения движений или проверки того, не расходует ли двигатель или группа двигателей энергию впустую, вместо того чтобы использовать ее для движения.

Available Functions
double efficiency(
  percentUnits units = percent );

параметров

Параметр

Тип

Описание

units

percentUnits

Единица измерения КПД двигателя:

  • percent / percentUnits::pct (по умолчанию) — процентов

возвращаемых значений

Возвращает значение типа double которое в процентах отражает эффективность использования мощности двигателем или группой двигателей.

Примечаний

  • При вызове для группы двигателей motor_groupэта функция возвращает эффективность первого двигателя в группе.

temperature#

temperature возвращает температуру двигателя или группы двигателей.

Температура двигателя показывает, насколько нагрет двигатель или группа двигателей. Более высокая температура означает, что двигатель или группа двигателей нагреваются во время работы. Для обеспечения полной производительности температура двигателя должна оставаться ниже 55°C

Если двигатель или группа двигателей перегреваются, они снижают максимальный ток для самозащиты. При 70°C°C двигатель перестает работать до тех пор, пока не остынет.

Это можно использовать для проверки того, не перегревается ли двигатель или группа двигателей во время многократных движений, длительных поездок или при воздействии на какой-либо объект.

Available Functions

1 — Возвращает температуру двигателя или группы двигателей в процентах от максимальной рабочей температуры.

double temperature(
  percentUnits units = percent );

2 — Возвращает температуру двигателя или группы двигателей в физических единицах измерения температуры.

double temperature(
  temperatureUnits units );

параметров

Параметр

Тип

Описание

units

percentUnits

Единица измерения температуры двигателя или группы двигателей в процентах:

  • percent / percentUnits::pct (по умолчанию) — процентов

units

temperatureUnits

Единица измерения температуры двигателя или группы двигателей в градусах:

  • celsius — градуса Цельсия
  • fahrenheit — градуса Фаренгейта

возвращаемых значений

Возвращает значение типа double представляющее температуру двигателя или группы двигателей в указанных единицах измерения.

Примечаний

  • Диапазон рабочих температур двигателя составляет приблизительно 20°C (68°Fдо 70°C (158°F.

  • При вызове для группы двигателей motor_groupэта функция возвращает температуру первого двигателя в группе.

voltage#

voltage возвращает электрическое напряжение, подаваемое на двигатель или группу двигателей.

Available Functions
double voltage(
  voltageUnits units = volt );

параметров

Параметр

Тип

Описание

units

voltageUnits

Единица измерения напряжения:

  • volt (по умолчанию)
  • voltageUnits::mV — милливольт

возвращаемых значений

Возвращает значение типа double представляющее собой электрическое напряжение, подаваемое на двигатель или группу двигателей в указанных устройствах.

Примечаний

  • При вызове для группы двигателей motor_groupэта функция возвращает электрическое напряжение первого двигателя в группе.

direction#

Параметр direction возвращает направление вращения двигателя или группы двигателей.

Available Functions
directionType direction();

параметров

Эта функция не принимает никаких параметров.

возвращаемых значений

Возвращает значение directionType , указывающее текущее направление двигателя или группы двигателей:

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

installed#

installed возвращает значение, указывающее, подключен ли двигатель или группа двигателей к блоку управления IQ (2-го поколения).

Available Functions
bool installed();

параметров

Эта функция не принимает никаких параметров.

возвращаемых значений

Возвращает значение bool , указывающее, подключен ли двигатель или группа двигателей.

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

count#

Функция count возвращает количество двигателей в группе двигателей.

Available Functions
int32_t count();

параметров

Эта функция не принимает никаких параметров.

возвращаемых значений

Возвращает значение int32_t представляющее количество двигателей в группе двигателей.