Мотор та Моторна група#
Вступ#
Двигуни та групи двигунів керують рухом частин робота. Об’єкт motor керує одним налаштованим розумним двигуном IQ, тоді як об’єкт motor_group керує кількома налаштованими розумними двигунами IQ разом, щоб вони рухалися тандемно. Двигуни та групи двигунів можна використовувати для підняття руки, повороту лапи, обертання колеса або переміщення іншої частини конструкції. Два двигуни можуть працювати разом як трансмісія для переміщення та повороту всього робота.
Кожен двигун або група двигунів налаштовується у вікні «Пристрої». Залежно від збірки, назви двигунів та груп двигунів можуть змінюватися. На цій сторінці як приклади назв використовуються Motor1 та MotorGroup1 За потреби замініть їх власними налаштованими назвами.
За замовчуванням, 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 із вказаним значенням gearSettinggearSetting.motor( int32_t index, gearSetting gears, bool reverse );
Class Destructor#
Знищує об’єкт motor та звільняє пов’язані з ним ресурси.
~motor();
Parameters#
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Розумний порт, до якого підключено двигун, записується як |
|
|
Встановлює, чи напрямок обертання двигуна змінюється на зворотний:
|
|
|
Визначає внутрішнє передавальне число картриджа шестерні.
|
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#
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Перший двигун додано до групи. |
|
|
До групи додано додаткові двигуни. Максимум чотири двигуни в одній групі двигунів. |
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 обертає двигун або групу двигунів вперед або назад безкінечно. Двигун або група двигунів продовжуватимуть обертатися, доки не буде виконано іншу дію, наприклад, обертання в іншому напрямку або зупинка.
1 — Обертає двигун або групу двигунів, використовуючи поточну налаштовану швидкість двигуна.
void spin( directionType dir );
2 — Обертає двигун або групу двигунів із заданою швидкістю.
void spin( directionType dir, double velocity, velocityUnits units );
Parameters3 — Обертає двигун або групу двигунів, використовуючи задану напругу.
void spin( directionType dir, double voltage, voltageUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Напрямок обертання двигуна або групи двигунів: |
|
|
Швидкість обертання від 0% до 100% при використанні |
|
|
The unit used to represent velocity:
|
|
|
Напруга, з якою потрібно обертатися. Від’ємне значення обертається навпроти заданого |
|
|
Одиниця вимірювання напруги:
|
Ця функція не повертає значення.
NotesЦя функція не очікує, і проєкт продовжить виконання одразу після виклику.
Двигун або група двигунів продовжуватимуть обертатися, доки не буде викликана функція
stopабо не буде виконана інша функція руху.Functions such as
isDoneandisSpinningare not applicable tospin, since it does not use target-based movement (doesn’t have arotationortimeparameter).
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
spinFor#
spinFor обертає двигун або групу двигунів на певну відстань або певний проміжок часу. Обертання на основі обертання здійснюється відносно поточного положення двигуна або групи двигунів. За замовчуванням проект чекатиме, поки двигун або група двигунів завершить обертання, перш ніж виконуватиметься наступний рядок коду.
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 );
Parameters8 — Приймає параметр напрямку та обертається протягом певного часу, використовуючи поточну налаштовану швидкість двигуна.
bool spinFor( directionType dir, double time, timeUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Напрямок обертання двигуна або групи двигунів: |
|
|
Відстань, на яку обертається двигун або група двигунів. |
|
|
Одиниця обертання:
|
|
|
Час, протягом якого обертається двигун або група двигунів. |
|
|
Одиниця часу:
|
|
|
Швидкість обертання від 0% до 100% при використанні |
|
|
Одиниця вимірювання, що використовується для позначення
|
|
|
|
Повертає логічне значення, яке показує, чи досяг двигун або група двигунів цільового значення.
true— The motor or motor group reached the target value.false— The motor or motor group was not able to reach the target value orwaitForCompletionis set tofalse.
Виконання іншої функції руху двигуна (наприклад,
spinабоstop) під час виконання функціїspinForперерве поточний рух.Оскільки
spinForбазується на цілі (використовує параметрrotationабоtime), такі функції, якisDoneтаisSpinning, працюють зspinFor.
// 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 Functions1 — Обертається до певного положення зі швидкістю, вказаною у виклику функції.
bool spinToPosition( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters2 — Обертається в певне положення, використовуючи поточну налаштовану швидкість двигуна.
bool spinToPosition( double rotation, rotationUnits units, bool waitForCompletion = true );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Значення положення, до якого обертатиметься двигун або група двигунів. |
|
|
Одиниця обертання:
|
|
|
Швидкість обертання від 0% до 100% при використанні |
|
|
Одиниця вимірювання, що використовується для позначення
|
|
|
|
Повертає логічне значення, яке показує, чи двигун або група двигунів розпочали запитуваний рух на основі цілі.
true— The motor or motor group begins the requested target-based movement.false— The call fails orwaitForCompletionis set tofalse.
Виконання іншої функції руху двигуна (наприклад,
spinабоspinFor) під час виконанняspinToPositionперерве поточний рух.Оскільки
spinToPositionбазується на цілі (використовує параметрrotation), такі функції, якisDoneтаisSpinning, працюють зspinToPosition.
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);
stop#
stop зупиняє обертання двигуна або групи двигунів.
1 — Зупиняє двигун або групу двигунів за допомогою поточного налаштованого режиму гальмування.
void stop();
Parameters2 — Зупиняє двигун або групу двигунів, використовуючи режим гальмування, заданий у виклику функції.
void stop( brakeType mode );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Додатково. Як зупиняться двигун або група двигунів:
|
Ця функція не повертає значення.
NotesВиклик
stopнегайно зупиняє будь-який поточний рух двигуна або групи двигунів.Якщо режим гальмування не вказано, двигун або група двигунів використовує поточний налаштований режим гальмування.
stopперериває будь-який активний рух, орієнтований на ціль (наприклад,spinForабоspinToPosition).
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);
Мутатори#
setVelocity#
setVelocity вказує двигуну або групі двигунів, з якою швидкістю обертатися. Вищий відсоток змушує двигун або групу двигунів обертатися швидше, а нижчий відсоток змушує двигун або групу двигунів обертатися повільніше.
Кожен проект починається з того, що кожен двигун або група двигунів обертаються зі швидкістю 50% за замовчуванням.
Примітка: Вища швидкість змушує двигун або групу двигунів обертатися швидше, але це може бути менш точно. Нижча швидкість змушує двигун або групу двигунів обертатися повільніше, але це може бути точнішим.
Available Functionsvoid setVelocity(
double velocity,
velocityUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Швидкість обертання від 0% до 100% при використанні |
|
|
Одиниця вимірювання, що використовується для позначення
|
Ця функція не повертає значення.
NotesБудь-яка наступна функція руху двигуна (наприклад,
spin,spinForабоspinToPosition), яка явно не вказує швидкість, використовуватиме це значення.
// 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 Functions1 — Встановлює максимальний крутний момент у відсотках від номінального крутного моменту двигуна або групи двигунів.
void setMaxTorque( double value, percentUnits units );
2 — Встановлює максимальний крутний момент за допомогою фізичних одиниць вимірювання крутного моменту.
void setMaxTorque( double value, torqueUnits units );
Parameters3 — Встановлює максимальний крутний момент шляхом обмеження струму двигуна.
void setMaxTorque( double value, currentUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Максимальний крутний момент, який може використовувати двигун або група двигунів. |
|
|
Визначає крутний момент у відсотках: |
|
|
Визначає крутний момент у фізичних одиницях, таких як:
|
|
|
Визначає крутний момент шляхом обмеження струму двигуна:
|
Ця функція не повертає значення.
NotesПри використанні
currentUnitsкрутний момент обмежується шляхом обмеження сили електричного струму, який може використовувати двигун або група двигунів.
setPosition#
Положення двигуна або групи двигунів – це те, наскільки він обертувався, вимірюється в degrees або turnsОдин оберт дорівнює 360 градусам. setPosition змінює поточне положення двигуна або групи двигунів на нове значення.
Наприклад, якщо двигун або група двигунів оберталися на 180 градусів, встановлення положення на 0 градусів скине це положення зі 180 на 0 градусів. Потім двигун або група двигунів можуть обертатися в положення на основі цього нового значення.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Значення положення, яке потрібно встановити для двигуна або групи двигунів. |
|
|
Одиниця вимірювання положення:
|
Ця функція не повертає значення.
NotesПісля виклику
setPosition, наступні викликиspinToPositionвикористовуватимуть оновлену позицію як посилання.
setStopping#
setStopping встановлює спосіб зупинки руху двигуна або групи двигунів: гальмуванням, рухом на вибігу або утримуванням.
void setStopping(
brakeType mode );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Як зупиняться двигун або група двигунів:
|
Ця функція не повертає значення.
NotesБудь-який наступний виклик
stopбез вказаного режиму гальмування використовуватиме це значення.
setTimeout#
setTimeout встановлює час, протягом якого двигун або група двигунів намагатимуться завершити рух. Якщо двигун або група двигунів не зможе завершити рух за цей час, вони припинять спроби та перейдуть до наступного рядка коду. Це запобігає зависанню двигуна або групи двигунів на русі.
void setTimeout(
int32_t time,
timeUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Кількість часу, протягом якого двигун або група двигунів можуть намагатися завершити рух. Це має бути додатне ціле число. |
|
|
Одиниця часу:
|
Повернених значень
Ця функція не повертає значення.
NotesТайм-аут двигуна або групи двигунів використовується для того, щоб рухи, які не досягають цільового положення, не зупиняли виконання інших команд у стеку.
Якщо двигун або група двигунів не досягне цільового положення до закінчення часу очікування, спроби припиняться та перейдуть до наступного рядка коду.
Тайм-аут застосовується до функцій, які мають цільове значення, таке як
spinForтаspinToPosition.
// 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.
bool isDone();
Ця функція не приймає жодних параметрів.
Return ValuesПовертає у вигляді логічного значення інформацію про те, чи завершив рух двигун або група двигунів.
true— The motor or motor group is finished moving.false— The motor or motor group is still moving.
isDoneпрацює разом із наступними функціями руху, які мають параметрwaitForCompletion:spinForтаspinToPosition.
// 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.
bool isSpinning();
Ця функція не приймає жодних параметрів.
Return ValuesПовертає у вигляді логічного значення, яке вказує, чи обертається двигун або група двигунів.
true— The motor or motor group is spinning.false— The motor or motor group is not spinning.
isSpinningпрацює з функціями руху Motion, такими якspin,spinForтаspinToPosition.
// 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 Functionsdouble position(
rotationUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Блок вимірювання для повернення положення двигуна або групи двигунів у:
|
Повертає значення double , що представляє поточну позицію двигуна або групи двигунів у вказаних одиницях вимірювання.
Виклик
setPositionзмінює точку відліку для цього значення.Повернене значення відображає поточні показники енкодера та не вказує, чи активно рухається двигун або група двигунів.
Коли викликається для об’єкта
motor_group, ця функція повертає позицію першого двигуна в групі.
// 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 Functionsdouble velocity(
velocityUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
The unit used to represent velocity:
|
Повертає значення double , яке показує швидкість обертання двигуна або групи двигунів у заданих одиницях вимірювання.
Примітки
Коли викликається для об’єкта
motor_group, ця функція повертає швидкість першого двигуна в групі.
current#
current повертає силу електричного струму, що використовується двигуном або групою двигунів. Струм – це кількість електроенергії, що протікає через двигун або групу двигунів. Якщо повернути силу струму в амперах, то вона подається в діапазоні від 0,0 до 1,2 А.
Вище значення струму означає, що двигун або група двигунів використовує більше електричного струму. Це може статися, коли двигун або група двигунів піднімає щось важке, штовхає предмет або намагається рухатися, коли він застряг.
Це можна використовувати для перевірки, чи виникають проблеми з двигуном або групою двигунів під час руху. Якщо струм залишається високим, двигун може нагріватися або використовувати енергію менш ефективно.
Available Functions1 — Повертає електричний струм двигуна або групи двигунів в амперах.
double current( currentUnits units = amp );
Parameters2 — Повертає електричний струм двигуна або групи двигунів у відсотках від максимального номінального струму.
double current( percentUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання сили струму: |
|
|
Представляє струм у відсотках від максимального номінального струму двигуна: |
Повертає значення double , яке показує силу електричного струму, споживаного двигуном або групою двигунів, у заданих одиницях вимірювання.
Примітки
Коли ця функція викликається для об’єкта
motor_group, вона повертає загальний електричний струм для всіх двигунів у групі.
power#
power повертає кількість потужності, яку використовує двигун або група двигунів, у ватах. Потужність показує, як швидко двигун або група двигунів використовує енергію.
Вище значення потужності означає, що двигун або група двигунів використовують енергію швидше. Це може статися, коли двигун або група двигунів піднімає щось важке, штовхає предмет або намагається рухатися, коли він застряг.
Це можна використовувати для порівняння рухів або перевірки, чи несправний двигун чи група двигунів. Якщо потужність залишається високою, двигун може нагріватися або використовувати енергію менш ефективно.
Available Functionsdouble power(
powerUnits units = watt );
Параметри
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання потужності двигуна:
|
Повернених значень
Повертає значення double яке показує, скільки потужності споживає двигун або група двигунів у ватах.
Примітки
Коли викликається для об’єкта
motor_group, ця функція повертає електричну потужність першого двигуна в групі.
torque#
Крутний момент показує, наскільки сильно крутиться, штовхається або тягне двигун або група двигунів під час обертання.
torque повертає величину крутного моменту, який використовує двигун або група двигунів.
Вище значення крутного моменту означає, що двигун або група двигунів штовхає або тягне сильніше. Це може статися, коли двигун або група двигунів піднімає щось важке, штовхає предмет або намагається рухатися, коли він застряг.
Це можна використовувати для перевірки наявності проблем з мотором або моторною групою, або для порівняння того, скільки поштовху потрібно для різних рухів.
Щоб встановити крутний момент двигуна або групи двигунів, використовуйте setMaxTorque.
double torque(
torqueUnits units = Nm );
Параметри
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання крутного моменту двигуна:
|
Повернених значень
Повертає значення double , що відображає крутний момент, який використовує двигун або група двигунів, у вказаних одиницях вимірювання.
Примітки
Коли викликається для групи двигунів
motor_group, ця функція повертає механічний вихідний крутний момент першого двигуна в групі.
efficiency#
efficiency повертає, наскільки ефективно двигун або група двигунів використовує потужність, у відсотках від 0% до 100%.
Ефективність показує, яка частина потужності двигуна або групи двигунів використовується для руху. Вище значення ефективності означає, що для руху використовується більше потужності двигуна або групи двигунів. Нижче значення ефективності може мати місце, коли двигун або група двигунів працюють інтенсивно, але мало рухаються, наприклад, коли вони застрягли або штовхаються об якийсь об’єкт.
Це можна використовувати для порівняння рухів або перевірки, чи двигун або група двигунів витрачає енергію даремно, замість того, щоб використовувати її для руху.
Available Functionsdouble efficiency(
percentUnits units = percent );
Параметри
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання, що використовується для позначення коефіцієнта корисної дії двигуна:
|
Повернених значень
Повертає значення double , яке відображає ефективність використання потужності двигуном або групою двигунів у відсотках.
Примітки
Коли викликається для групи
motor_groupзі значенням , ця функція повертає коефіцієнт корисної дії першого двигуна в групі.
temperature#
temperature повертає температуру двигуна або групи двигунів.
Температура двигуна показує, наскільки нагрівся двигун або група двигунів. Вища температура означає, що двигун або група двигунів нагріваються під час роботи. Для повної продуктивності двигун повинен залишатися за температури 55°C.
Якщо двигун або група двигунів перегріються, вони знизять свій максимальний струм для самозахисту. При70°C двигун зупиниться, доки не охолоне.
Це можна використовувати для перевірки, чи не перегрівається двигун або група двигунів під час повторюваних рухів, тривалих пробіжок або коли вони тиснуть на якийсь предмет.
Available Functions1 — Повертає температуру двигуна або групи двигунів у відсотках від максимальної робочої температури.
double temperature( percentUnits units = percent );
2 — Повертає температуру двигуна або групи двигунів у фізичних одиницях вимірювання температури.
double temperature( temperatureUnits units );
Параметри
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання, що використовується для представлення температури двигуна або групи двигунів у відсотках:
|
|
|
Одиниця вимірювання температури двигуна або групи двигунів у градусах:
|
Повернених значень
Повертає значення double , що представляє температуру двигуна або групи двигунів у вказаних одиницях вимірювання.
Примітки
Робочий діапазон температур двигуна становить приблизно
20°C(68°F) до70°C(158°F).Коли ця функція викликається для об’єкта
motor_group, вона повертає температуру першого двигуна в групі.
voltage#
voltage повертає електричну напругу, що подається на двигун або групу двигунів.
double voltage(
voltageUnits units = volt );
Параметри
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання напруги:
|
Повернених значень
Повертає значення double , що представляє електричну напругу, що подається на двигун або групу двигунів, у вказаних одиницях вимірювання.
Примітки
Коли викликається для об’єкта
motor_group, ця функція повертає електричну напругу першого двигуна в групі.
direction#
direction повертає напрямок, у якому обертається двигун або група двигунів.
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-го покоління).
bool installed();
Параметри
Ця функція не приймає жодних параметрів.
Повернених значень
Повертає логічне значення bool , що вказує, чи підключено двигун або групу двигунів.
true— The motor or motor group is connected.false— The motor or motor group is not connected.
count#
count повертає кількість двигунів у групі двигунів.
int32_t count();
Параметри
Ця функція не приймає жодних параметрів.
Повернених значень
Повертає значення int32_t , яке представляє кількість двигунів у групі двигунів.