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

Вступ#

Двигуни та групи двигунів керують рухом частин робота. Об’єкт motor керує одним налаштованим розумним двигуном IQ, тоді як об’єкт motor_group керує кількома налаштованими розумними двигунами IQ разом, щоб вони рухалися тандемно. Двигуни та групи двигунів можна використовувати для підняття руки, повороту лапи, обертання колеса або переміщення іншої частини конструкції. Два двигуни можуть працювати разом як трансмісія для переміщення та повороту всього робота.

Кожен двигун або група двигунів налаштовується у вікні «Пристрої». Залежно від збірки, назви двигунів та груп двигунів можуть змінюватися. На цій сторінці як приклади назв використовуються Motor1 та MotorGroup1 За потреби замініть їх власними налаштованими назвами.

Двигун VEX IQ, що показує напрямок руху вперед, позначений знаком плюс та стрілкою, що вказує на обертання ліворуч або проти годинникової стрілки. Двигун VEX IQ, що показує зворотний напрямок обертання, позначений знаком мінус та стрілкою, що вказує на те, що він обертається праворуч, або за годинниковою стрілкою.

За замовчуванням, forward обертає двигун проти годинникової стрілки, а reverse обертає двигун за годинниковою стрілкою. Якщо двигун налаштовано на реверс, ці напрямки зміняться.

Мотор#

Class Constructors#

1 — Створює об’єкт motor для інтелектуального двигуна IQ, підключеного до вказаного інтелектуального порту. Двигун автоматично використовує виявлений внутрішній параметр gearSetting.

motor(
  int32_t index );

2 — Створює об’єкт motor на вказаному Smart Port та за бажанням змінює напрямок його обертання на протилежний. Двигун автоматично використовує виявлений внутрішній параметр gearSetting.

motor(
 int32_t index,
 bool    reverse );

3 — Створює об’єкт motor на вказаному Smart Port із заданим значенням gearSetting.

motor(
 int32_t     index,
 gearSetting gears );

4 — Створює об’єкт motor на вказаному Smart Port із вказаним значенням gearSetting 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:
  • 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();

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

The unit used to represent velocity:

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

voltage

double

Напруга, з якою потрібно обертатися. Від’ємне значення обертається навпроти заданого dir.

units

voltageUnits

Одиниця вимірювання напруги:

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

Return Values

Ця функція не повертає значення.

Notes
  • Ця функція не очікує, і проєкт продовжить виконання одразу після виклику.

  • Двигун або група двигунів продовжуватимуть обертатися, доки не буде викликана функція stop або не буде виконана інша функція руху.

  • Functions such as isDone and isSpinning are not applicable to spin, since it does not use target-based movement (doesn’t have a rotation or time parameter).

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

Одиниця вимірювання, що використовується для позначення velocity:

  • percent / pct — відсотки
  • rpm — обертів за хвилину
  • dps — градусів за секунду

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 — відсотки
  • rpm — обертів за хвилину
  • dps — градусів за секунду

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

Одиниця вимірювання, що використовується для позначення velocity:

  • percent / pct — відсотки
  • rpm — обертів за хвилину
  • dps — градусів за секунду

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

Визначає крутний момент у відсотках: percent pct — відсотки

units

torqueUnits

Визначає крутний момент у фізичних одиницях, таких як:

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

units

currentUnits

Визначає крутний момент шляхом обмеження струму двигуна:

  • amp

Return Values

Ця функція не повертає значення.

Notes
  • При використанні currentUnitsкрутний момент обмежується шляхом обмеження сили електричного струму, який може використовувати двигун або група двигунів.

setPosition#

Положення двигуна або групи двигунів – це те, наскільки він обертувався, вимірюється в degrees або turnsОдин оберт дорівнює 360 градусам. setPosition змінює поточне положення двигуна або групи двигунів на нове значення.

Наприклад, якщо двигун або група двигунів оберталися на 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 повертає у вигляді логічного значення, чи завершив рух двигун або група двигунів. Це можна використовувати для керування часом інших дій на основі руху двигуна або групи двигунів.

  • true — Рух двигуна або групи двигунів завершено.

  • false — Двигун або група двигунів все ще рухається.

Ця функція працює разом із такими функціями руху, які мають параметр waitForCompletion : spinFor та spinToPosition.

Available Functions
bool isDone();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Повертає у вигляді логічного значення інформацію про те, чи завершив рух двигун або група двигунів.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone працює разом із наступними функціями руху, які мають параметр 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 повертає, чи обертається двигун або група двигунів, у вигляді логічного значення. Це можна використовувати для керування часом інших дій на основі руху двигуна або групи двигунів.

  • 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 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

The unit used to represent velocity:

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

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 двигун зупиниться, доки не охолоне.

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

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 (1-го покоління).

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 , яке представляє кількість двигунів у групі двигунів.