Řídicí jednotka motoru 55#

Zavedení#

Třída motor55 se používá k řízení regulátoru motoru VEX 55 připojeného k EXP Brain. Regulátor motoru 55 je starší regulátor motoru určený pro ovládání 2vodičových stejnosměrných motorů.

Řídicí jednotka motoru VEX 55.

Konstruktory tříd#

1 — Vytvoří objekt motor55 na zadaném inteligentním portu.

motor55(
  int32_t index );

2 — Vytvoří objekt motor55 na zadaném inteligentním portu a změní kladný směr otáčení.

motor55(
  int32_t index,
  bool    reverse );

3 — Vytvoří objekt motor55 na zadaném inteligentním portu, nastaví maximální měnicí napětí a změní kladný směr otáčení.

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

Destruktor tříd#

Zničí objekt motor55 a uvolní související zdroje.

~motor55();

Parametry#

Parametr

Typ

Popis

index

int32_t

Inteligentní port, ke kterému je připojen regulátor motoru 55, zapsaný jako PORTx, kde x je číslo portu (například PORT1).

reverse

bool

Určuje, zda je směr otáčení motoru obrácen:

  • true — Kladný směr otáčení motoru je obrácen.
  • false — Kladný směr otáčení motoru zůstává normální.

maxv

double

Maximální napětí, které může regulátor motoru 55 přivést k motoru.

Příklad#

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

Členské funkce#

Třída motor55 obsahuje následující členské funkce:

  • spin — Roztočí motor v zadaném směru.

  • stop — Zastaví motor.

  • setVelocity — Říká stejnosměrnému motoru, jak rychle se má otáčet.

  • setStopping — Nastaví chování při zastavení (doběh nebo brzdění).

  • setReversed — Nastavuje, zda se směr otáčení motoru obrací.

  • current — Vrátí elektrický proud motoru.

  • voltage — Vrátí elektrické napětí motoru.

  • temperature — Vrátí teplotu motoru.

  • getMotorType — Vrátí detekovaný typ motoru/ovladače.

  • installed — Vrátí, zda je na zadaném inteligentním portu detekován ovladač motoru 55.

Před voláním jakékoli členské funkce motor55 je nutné vytvořit instanci, jak je znázorněno níže:

/* 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#

Otáčí motor v daném směru na dobu neurčitou.

Dostupné funkce

1 — Otáčí se s využitím aktuálně nakonfigurované rychlosti.

void spin(
  directionType dir );

2 — Roztočí se při zadaném napětí.

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

Parametry

Parametr

Typ

Popis

dir

directionType

Směr otáčení motoru: forward nebo reverse.

voltage

double

Hodnota napětí přivedená na motor. Záporná hodnota se otáčí proti dané dir.

units

voltageUnits

Jednotka použitá k vyjádření napětí:

  • volt — volty
  • voltageUnits::mV — milivolty

Návratové hodnoty

Tato funkce nevrací hodnotu.

poznámek

  • Tato funkce nečeká a program pokračuje ihned po volání.

  • Motor se bude otáčet, dokud nebude zavolána funkce stop nebo dokud nebude použita další funkce spin.

stop#

Zastaví otáčení motoru pomocí aktuálně nakonfigurovaného režimu brzdění.

Dostupné funkce

void stop();

Parametry

Tato funkce nepřijímá žádné parametry.

Návratové hodnoty

Tato funkce nevrací hodnotu.

poznámek

  • Zastaví motor pomocí aktuálně nakonfigurovaného režimu zastavení nastaveného parametrem setStopping.

setVelocity#

Říká stejnosměrnému motoru, jak rychle se má otáčet. Vyšší procento způsobí, že se stejnosměrný motor bude otáčet rychleji, a nižší procento způsobí, že se stejnosměrný motor bude otáčet pomaleji.

Každý projekt začíná s každým připojeným stejnosměrným motorem, který se standardně otáčí rychlostí 50 %.

Dostupné funkce

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

Parametry

Parametr

Typ

Popis

velocity

double

Rychlost otáčení od 0 % do 100 % při použití percent.

units

percentUnits

Jednotka rychlosti: percent / pct — procenta.

Návratové hodnoty

Tato funkce nevrací hodnotu.

poznámek

  • Jakékoli následné volání spin bez zadaného napětí použije tuto hodnotu.

setStopping#

Nastavuje chování motoru při zastavení.

Dostupné funkce

void setStopping(
    brakeType mode );

Parametry

Parametr

Typ

Popis

mode

brakeType

Režim zastavení použitý při volání stop:

  • coast — Motor doběhne do zastavení
  • brake — Motor se rychle zastaví brzděním

Návratové hodnoty

Tato funkce nevrací hodnotu.

poznámek

  • Jakékoli následné volání stop použije tento režim zastavení.

  • Řídicí jednotka motoru 55 podporuje pouze coast a brake hold není podporováno.

setReversed#

Nastavuje, zda se směr otáčení motoru obrací.

Dostupné funkce

void setReversed(
    bool value );

Parametry

Parametr

Typ

Popis

value

bool

Zda je směr otáčení motoru obrácen:

  • true — Obrací směr otáčení motoru.
  • false — Vrátí směr otáčení motoru na výchozí hodnotu.

Návratové hodnoty

Tato funkce nevrací hodnotu.

poznámek

  • Volání setReversed je stejné jako změna parametru reverse v konstruktoru.

current#

current vrací množství elektrického proudu spotřebovaného stejnosměrným motorem. Proud je množství elektřiny protékající stejnosměrným motorem. Pokud je vrácena hodnota v ampérech, proud se uvádí v rozsahu od 0,0 do 1,2 A.

Vyšší hodnota proudu znamená, že stejnosměrný motor spotřebovává více elektrického proudu. K tomu může dojít, když stejnosměrný motor zvedá něco těžkého, tlačí na nějaký předmět nebo se snaží pohnout, když je zaseknutý.

Toto lze použít ke kontrole, zda stejnosměrný motor během pohybu nemá problémy. Pokud proud zůstává vysoký, motor se může zahřívat nebo méně efektivně využívat energii.

Available Functions

1 — Vrátí elektrický proud stejnosměrného motoru v ampérech.

double current(
  currentUnits units = amp );

2 — Vrátí elektrický proud stejnosměrného motoru v procentech maximálního jmenovitého proudu.

double current(
  percentUnits units );

Parameters

Parametr

Typ

Popis

units

currentUnits

Jednotka použitá k vyjádření proudu:amp (výchozí) – ampéry

units

percentUnits

Představuje proud v procentech z maximálního jmenovitého proudu motoru:percent / pct — procenta

Return Values

Vrací hodnotu double která představuje množství elektrického proudu spotřebovaného stejnosměrným motorem v zadaných jednotkách.

voltage#

Vrací elektrické napětí dodávané do motoru.

Available Functions
double voltage(
  voltageUnits units = volt );

Parametry

Parametr

Typ

Popis

units

voltageUnits

Jednotka pro vyjádření napětí:

  • volt (výchozí)
  • voltageUnits::mV — milivolty

Návratové hodnoty

Vrátí hodnotu double , která představuje elektrické napětí motoru v zadaných jednotkách.

temperature#

temperature vrací teplotu stejnosměrného motoru.

Teplota motoru ukazuje, jak je stejnosměrný motor zahřátý. Vyšší teplota znamená, že se stejnosměrný motor během provozu zahřívá. Aby motor fungoval na plný výkon, měl by se teplota motoru udržovat pod 55 °C.

Pokud se stejnosměrný motor příliš zahřeje, sníží svůj maximální proud, aby se chránil. Při 70 °C se motor zastaví, dokud se neochladí.

Toto lze použít ke kontrole, zda se stejnosměrný motor příliš nezahřívá během opakovaných pohybů, dlouhých jízd nebo když tlačí na nějaký předmět.

Available Functions

1 — Vrací teplotu stejnosměrného motoru v procentech z maximální provozní teploty.

double temperature(
  percentUnits units = percent );

2 — Vrací teplotu stejnosměrného motoru ve fyzikálních teplotních jednotkách.

double temperature(
  temperatureUnits units );

Parametry

Parametr

Typ

Popis

units

percentUnits

Jednotka použitá k vyjádření teploty stejnosměrného motoru v procentech:

  • percent / pct (výchozí) — procenta

units

temperatureUnits

Jednotka použitá k vyjádření teploty stejnosměrného motoru ve stupních:

  • celsius — stupňů Celsia
  • fahrenheit — stupňů Fahrenheita

Návratové hodnoty

Vrací hodnotu double , která představuje teplotu stejnosměrného motoru v zadaných jednotkách.

poznámek

  • Provozní teplotní rozsah motoru je přibližně 20°C (68°Faž 70°C (158°F.

getMotorType#

Vrátí detekovaný typ motoru/regulátoru.

Dostupné funkce

int32_t getMotorType();

Parametry

Tato funkce nepřijímá žádné parametry.

Návratové hodnoty

Vrací int32_t označující detekovaný typ motoru/regulátoru:

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

installed#

Vrací, zda je regulátor motoru 55 připojen k EXP Brain.

Available Functions
bool installed();

Parametry

Tato funkce nepřijímá žádné parametry.

Návratové hodnoty

Vrací bool hodnotu bool která indikuje, zda je připojen regulátor motoru 55.

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