Контроллер двигателя 55#

Введение#

Контроллер двигателя motor55 используется для управления контроллером двигателя VEX 55, подключенным к блоку управления V5. Контроллер двигателя 55 — это устаревший контроллер двигателя, предназначенный для работы с двухпроводными двигателями постоянного тока.

Контроллер двигателя VEX 55.

Конструкторы классов#

1 — Создает объект motor55 на указанном Smart Port.

motor55(
  int32_t index );

2 — Создает объект motor55 на указанном Smart Port и изменяет положительное направление вращения.

motor55(
  int32_t index,
  bool    reverse );

3 — Создает объект motor55 на указанном Smart Port, устанавливает максимальное напряжение привода и изменяет положительное направление вращения.

motor55(
  int32_t index,
  double  maxv,
  bool    reverse );

Деструктор класса#

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

~motor55();

Параметры#

Параметр

Тип

Описание

index

int32_t

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

reverse

bool

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

  • true — Положительное направление вращения двигателя изменено.
  • false — Положительное направление вращения двигателя остается нормальным.

maxv

double

Максимальное напряжение, которое контроллер двигателя 55 может подавать на двигатель.

Пример#

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

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

Класс motor55 включает следующие функциональные элементы:

  • spin — Вращает двигатель в заданном направлении.

  • stop — Останавливает двигатель.

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

  • setStopping — Задает поведение остановки (движение накатом или торможение).

  • setReversed — Устанавливает, будет ли направление вращения двигателя изменено на противоположное.

  • current — Возвращает электрический ток двигателя.

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

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

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

  • installed — Возвращает значение, указывающее, обнаружен ли контроллер двигателя 55 на указанном интеллектуальном порту.

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

/* This constructor is required when using VS Code.
Motor Controller 55 configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

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

spin#

Вращает двигатель в заданном направлении бесконечно.

доступных функций

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

void spin(
  directionType dir );

2 — Вращается при заданном напряжении.

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

параметров

Параметр

Тип

Описание

dir

directionType

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

voltage

double

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

units

voltageUnits

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

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

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

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

Примечаний

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

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

stop#

Останавливает вращение двигателя с помощью текущего настроенного режима торможения.

доступных функций

void stop();

параметров

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

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

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

Примечаний

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

setVelocity#

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

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

доступных функций

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

параметров

Параметр

Тип

Описание

velocity

double

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

units

percentUnits

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

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

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

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

Примечаний

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

setStopping#

Определяет поведение двигателя при остановке.

доступных функций

void setStopping(
    brakeType mode );

параметров

Параметр

Тип

Описание

mode

brakeType

Режим остановки, применяемый при вызове stop:

  • coast — Двигатель катится до полной остановки
  • brake — Двигатель быстро останавливается с помощью торможения

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

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

Примечаний

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

  • Контроллер двигателя 55 поддерживает только режимы coast и brake . Режим hold не поддерживается.

setReversed#

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

доступных функций

void setReversed(
    bool value );

параметров

Параметр

Тип

Описание

value

bool

Изменение направления вращения двигателя:

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

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

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

Примечаний

  • Вызов setReversed эквивалентен изменению параметра reverse в конструкторе.

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 которое указывает величину потребляемого двигателем постоянного тока электрического тока в указанных единицах измерения.

voltage#

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

Available Functions
double voltage(
  voltageUnits units = volt );

параметров

Параметр

Тип

Описание

units

voltageUnits

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

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

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

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

temperature#

temperature возвращает температуру двигателя постоянного тока.

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

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

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

Available Functions

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

double temperature(
  percentUnits units = percent );

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

double temperature(
  temperatureUnits units );

параметров

Параметр

Тип

Описание

units

percentUnits

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

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

units

temperatureUnits

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

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

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

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

Примечаний

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

getMotorType#

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

доступных функций

int32_t getMotorType();

параметров

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

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

Возвращает значение int32_t указывающее на тип обнаруженного двигателя/контроллера:

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

installed#

Возвращает значение, указывающее, подключен ли контроллер двигателя 55 к блоку управления V5.

Available Functions
bool installed();

параметров

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

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

Возвращает логическое значение bool , подключен ли контроллер двигателя 55.

  • true — The Motor Controller 55 is connected.
  • false — The Motor Controller 55 is not connected.