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

Вступ#

Клас motor55 використовується для керування контролером двигуна VEX 55, підключеним до V5 Brain. Контролер двигуна 55 — це застарілий контролер двигуна, призначений для роботи 2-провідних двигунів постійного струму.

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

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

1 — Створює об’єкт motor55 на вказаному смарт-порті.

motor55(
  int32_t index );

2 — Створює об’єкт motor55 на вказаному Smart Port та змінює позитивний напрямок обертання.

motor55(
  int32_t index,
  bool    reverse );

3 — Створює об’єкт motor55 на вказаному смарт-порті, встановлює максимальну напругу приводу та змінює позитивний напрямок обертання.

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 — Повертає напрямок обертання двигуна до значення за замовчуванням.

Повернених значень

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

Примітки

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 Brain.

Available Functions
bool installed();

Параметри

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

Повернених значень

Повертає логічне значення bool , що вказує на те, чи підключено контролер двигуна 55.

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