Автомобильная и автомобильная группа#
Введение#
Двигатели и группы двигателей управляют движением частей робота. Объект motor управляет одним сконфигурированным интеллектуальным двигателем IQ Smart Motor, а объект motor_group управляет несколькими сконфигурированными интеллектуальными двигателями IQ Smart Motor одновременно, чтобы они двигались синхронно. Двигатели и группы двигателей могут использоваться для подъема руки, вращения клешни, вращения колеса или перемещения другой части конструкции. Два двигателя могут работать вместе как привод для перемещения и поворота всего робота.
Каждый двигатель или группа двигателей настраиваются в окне «Устройства». В зависимости от сборки, имена двигателей и групп двигателей могут меняться. На этой странице в качестве примеров используются имена Motor1 и MotorGroup1 При необходимости замените их своими собственными настроенными именами.
По умолчанию, при нажатии 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#
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Интеллектуальный порт, к которому подключен двигатель, обозначается как |
|
|
Определяет, будет ли направление вращения двигателя изменено на противоположное:
|
|
|
Указывает передаточное число внутреннего редуктора.
|
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#
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Первый двигатель, добавленный в группу. |
|
|
В группу добавляются дополнительные двигатели. Максимальное количество двигателей в одной группе — четыре. |
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% при использовании |
|
|
Единицы измерения скорости:
|
|
|
Напряжение, с которым происходит вращение. Отрицательное значение соответствует вращению в противоположную сторону от заданного значения |
|
|
Единицы измерения напряжения:
|
Эта функция не возвращает значения.
NotesЭта функция не ожидает завершения, и выполнение проекта продолжится сразу после вызова.
Двигатель или группа двигателей будут продолжать вращаться до тех пор, пока не будет вызвана функция
stopили не будет выполнена другая функция движения.Функции, такие как
isDoneиisSpinning, неприменимы кspin, поскольку оно не использует движение, основанное на цели (не имеетrotationилиtime).
// 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% при использовании |
|
|
The unit used to represent
|
|
|
|
Возвращает логическое значение, указывающее, достигло ли двигатель или группа двигателей целевого значения.
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% при использовании |
|
|
The unit used to represent
|
Эта функция не возвращает значения.
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 );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Максимальный крутящий момент, который может использовать двигатель или группа двигателей. |
|
|
Specifies torque as a percentage: |
|
|
Указывает крутящий момент в физических единицах, таких как:
|
|
|
Задает крутящий момент путем ограничения тока двигателя:
|
Эта функция не возвращает значения.
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 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 возвращает значение логического типа (Boolean), указывающее, завершилось ли движение двигателя или группы двигателей. Это можно использовать для управления временем выполнения других действий в зависимости от движения двигателя или группы двигателей.
true— Двигатель или группа двигателей завершили движение.false— Двигатель или группа двигателей все еще находятся в движении.
Эта функция работает совместно со следующими функциями Motion, имеющими параметр waitForCompletion : spinFor и spinToPosition.
bool isDone();
Эта функция не принимает никаких параметров.
Return ValuesВозвращает значение логического типа (Boolean), указывающее, завершилось ли движение двигателя или группы двигателей.
true— The motor or motor group is finished moving.false— The motor or motor group is still moving.
isDoneработает совместно со следующими функциями Motion, имеющими параметр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 возвращает значение логического типа (Boolean), указывающее, вращается ли двигатель или группа двигателей. Это можно использовать для управления синхронизацией других действий в зависимости от движения двигателя или группы двигателей.
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 );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Единицы измерения скорости:
|
Возвращает значение типа 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°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 представляющее количество двигателей в группе двигателей.