Motor a motorová skupina#

Zavedení#

Motory a skupiny motorů řídí pohyb částí robota. Objekt motor ovládá jeden nakonfigurovaný chytrý motor IQ, zatímco objekt motor_group ovládá více nakonfigurovaných chytrých motorů IQ společně, takže se pohybují v tandemu. Motory a skupiny motorů lze použít ke zvedání ramene, otáčení drápu, otáčení kola nebo pohybu jiné části konstrukce. Dva motory mohou spolupracovat jako hnací ústrojí pro pohyb a otáčení celého robota.

Každý motor nebo skupina motorů se konfiguruje v okně Zařízení. V závislosti na sestavení se názvy motorů a skupin motorů mohou měnit. Tato stránka používá jako příklady názvů Motor1 a MotorGroup1 V případě potřeby je nahraďte vlastními nakonfigurovanými názvy.

Motor VEX IQ zobrazující směr otáčení vpřed označený znaménkem plus a šipkou označující, že se otáčí doleva nebo proti směru hodinových ručiček. Motor VEX IQ ukazuje opačný směr otáčení, který je označen znaménkem mínus a šipkou označující, že se otáčí doprava, neboli ve směru hodinových ručiček.

Ve výchozím nastavení forward otáčí motor proti směru hodinových ručiček a reverse otáčí motor ve směru hodinových ručiček. Pokud je motor nastaven na vzad, tyto směry se přepnou.

Motor#

Class Constructors#

1 — Vytvoří objekt motor pro chytrý motor IQ připojený k zadanému chytrému portu. Motor automaticky použije detekované interní nastavení převodovky gearSetting.

motor(
  int32_t index );

2 — Vytvoří objekt motor na zadaném inteligentním portu a volitelně obrátí jeho směr. Motor automaticky použije detekovanou interní hodnotu gearSetting.

motor(
 int32_t index,
 bool    reverse );

3 — Vytvoří objekt motor na zadaném inteligentním portu se zadanou hodnotou gearSetting.

motor(
 int32_t     index,
 gearSetting gears );

4 — Vytvoří objekt motor na zadaném inteligentním portu se zadaným převodovým stupněm gearSetting a volitelným obráceným směrem.

motor(
 int32_t     index,
 gearSetting gears,
 bool        reverse );

Class Destructor#

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

~motor();

Parameters#

Parametr

Typ

Popis

index

int32_t

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

reverse

bool

Nastavuje, zda se má obrátit směr otáčení motoru:

  • false (výchozí) — Neobrací směr otáčení motoru.
  • true — Obrací směr otáčení motoru.

gears

gearSetting

Určuje převodový poměr kazety vnitřního převodu.

  • ratio1_1 — Převodový poměr 1:1
  • ratio2_1 — Převodový poměr 2
  • ratio3_1 — Převodový poměr 3:1

Notes#

  • Nastavení převodového stupně by mělo odpovídat fyzické kazetě instalované v motoru.

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);

Motorová skupina#

Class Constructors#

motor_group( motor &m1, Args&... m2 );

Class Destructor#

Zničí objekt motor_group a uvolní přidružené zdroje.

~motor_group();

Parameters#

Parametr

Typ

Popis

m1

motor &

První motor přidán do skupiny.

m2

motor &

Do skupiny byly přidány další motory. Maximální počet motorů v jedné skupině motorů jsou čtyři.

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);

Členské funkce#

Existuje mnoho způsobů, jak kódovat motory a skupiny motorů. Níže je uveden seznam všech členských funkcí motor a motor_group:

Akce – Zastavení a roztočení motorů a skupin motorů.

  • spin — Roztočí motor nebo skupinu motorů dopředu nebo dozadu navždy.

  • spinFor — Roztočí motor nebo skupinu motorů po určitou vzdálenost nebo po určitou dobu.

  • spinToPosition — Otočí motor nebo skupinu motorů do určité polohy.

  • stop — Zastaví otáčení motoru nebo skupiny motorů.

Mutátory – Upravte nastavení motoru a skupiny motorů.

  • setVelocity — Říká motoru nebo skupině motorů, jak rychle se má otáčet.

  • setMaxTorque — Nastavuje, jak silně může motor nebo skupina motorů tlačit během otáčení.

  • setPosition — Změní aktuální pozici motoru nebo skupiny motorů na novou hodnotu.

  • setStopping — Nastavuje, jak se motor nebo skupina motorů zastaví: brzděním, doběhem nebo pozastavením.

  • setTimeout — Nastavuje, jak dlouho se bude motor nebo skupina motorů snažit dokončit pohyb.

Gettery – Kontrola stavu motoru a skupiny motorů.

  • isDone — Vrátí jako booleovskou hodnotu, zda byl pohyb motoru nebo skupiny motorů dokončen.

  • isSpinning — Vrátí, zda se motor nebo skupina motorů otáčí, jako booleovskou hodnotu.

  • position — Vrátí aktuální pozici motoru nebo skupiny motorů.

  • velocity — Vrátí rychlost otáčení motoru nebo skupiny motorů.

  • current — Vrátí, kolik elektrického proudu motor nebo skupina motorů spotřebovává.

  • power — Vrátí, kolik energie motor nebo skupina motorů spotřebovává.

  • torque — Vrátí hodnotu krouticího momentu, který motor nebo skupina motorů používá.

  • efficiency — Vrátí, jak efektivně motor nebo skupina motorů využívá energii.

  • temperature — Vrátí teplotu motoru nebo skupiny motorů.

  • voltage — Vrací elektrické napětí dodávané do motoru nebo skupiny motorů.

  • direction — Vrátí směr otáčení motoru nebo skupiny motorů.

  • installed — Vrátí, zda je motor nebo skupina motorů připojena k Brainu.

  • count — Vrátí počet motorů ve skupině motorů.

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

/* 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);

Akce#

spin#

spin roztočí motor nebo skupinu motorů dopředu nebo dozadu navždy. Motor nebo skupina motorů se bude otáčet, dokud nedostane jinou akci, například se roztočí jiným směrem nebo se zastaví.

Available Functions

1 — Roztočí motor nebo skupinu motorů s použitím aktuálně nakonfigurované rychlosti motoru.

void spin(
 directionType dir );

2 — Roztočí motor nebo skupinu motorů zadanou rychlostí.

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

3 — Roztočí motor nebo skupinu motorů s použitím zadaného napětí.

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

Parameters

Parametr

Typ

Popis

dir

directionType

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

velocity

double

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

units

velocityUnits

Jednotka použitá k vyjádření rychlosti:

  • percent / pct — procenta
  • rpm — otáčky za minutu
  • dps — stupně za sekundu

voltage

double

Napětí, s nímž se má točit. Záporná hodnota se točí proti dané dir.

units

voltageUnits

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

  • volt — volty
  • voltageUnits::mV — milivolty

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Tato funkce nečeká a projekt bude pokračovat v provádění ihned po volání.

  • Motor nebo skupina motorů se bude otáčet, dokud nebude volána funkce stop nebo dokud nebude provedena jiná pohybová funkce.

  • Funkce jako isDone a isSpinning nejsou použitelné pro funkci spin, protože nepoužívá pohyb založený na cíli (nemá parametr rotation ani time).

Examples
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();

spinFor#

spinFor roztočí motor nebo skupinu motorů po určitou vzdálenost nebo po určitou dobu. Rotace založená na rotaci je relativní vzhledem k aktuální poloze motoru nebo skupiny motorů. Ve výchozím nastavení projekt počká, dokud se motor nebo skupina motorů nedokončí s rotací, než se spustí další řádek kódu.

Available Functions

1 — Otáčí se po určitou vzdálenost rychlostí zadanou ve volání funkce.

bool spinFor(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Přijme parametr směru a otáčí se po určitou vzdálenost rychlostí zadanou ve volání funkce.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

3 — Otáčí se na určitou vzdálenost s použitím aktuálně nakonfigurované rychlosti motoru.

bool spinFor(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

4 — Přijme parametr směru a otáčí se po určitou vzdálenost s využitím aktuálně nakonfigurované rychlosti motoru.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

5 — Otáčí se po určitou dobu rychlostí zadanou ve volání funkce.

bool spinFor(
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

6 — Přijme parametr směru a otáčí se po určitou dobu rychlostí zadanou ve volání funkce.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

7 — Otáčí se po určitou dobu s použitím aktuálně nakonfigurované rychlosti motoru.

bool spinFor(
 double    time,
 timeUnits units );

8 — Přijme parametr směru a otáčí se po určitou dobu s použitím aktuálně nakonfigurované rychlosti motoru.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units );

Parameters

Parametr

Typ

Popis

dir

directionType

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

rotation

double

Vzdálenost, o kterou se motor nebo skupina motorů otočí.

units

rotationUnits

Jednotka rotace:

  • deg / degrees — stupně
  • turns / rev — otáček

time

double

Doba, po kterou se motor nebo skupina motorů otáčí.

units

timeUnits

Jednotka času:

  • seconds / sec sekund
  • msec milisekund

velocity

double

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

units_v

velocityUnits

Jednotka použitá k vyjádření rychlosti velocity:

  • percent / pct — procenta
  • rpm — otáčky za minutu
  • dps — stupně za sekundu

waitForCompletion

bool

​

  • true (výchozí) — Projekt počká, dokud se motor nebo skupina motorů nedotočí, než se spustí další řádek kódu.
  • false — Další řádek kódu se spustí okamžitě.

Return Values

Vrací booleovskou hodnotu, která ukazuje, zda motor nebo skupina motorů dosáhla cílové hodnoty.

  • true — The motor or motor group reached the target value.
  • false — The motor or motor group was not able to reach the target value or waitForCompletion is set to false.
Notes
  • Provedení jiné funkce pohybu motoru (například spin nebo stop) během probíhající funkce spinFor přeruší aktuální pohyb.

  • Protože spinFor je založeno na cíli (používá parametr rotation nebo time ), funkce jako isDone a isSpinning fungují s spinFor.

Examples
// 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 otočí motor nebo skupinu motorů do určité polohy.

Poloha motoru nebo skupiny motorů udává, o kolik se motor otočil, měřeno v degrees nebo turnsJedna otáčka se rovná 360 stupňům. Na začátku projektu je poloha motoru nebo skupiny motorů nastavena na 0 stupňů. Polohu motoru nebo skupiny motorů lze také nastavit pomocí funkce setPosition.

Hodnoty polohy jsou absolutní. To znamená, že směr otáčení závisí na aktuální poloze motoru nebo skupiny motorů.

Například pokud se motor nebo skupina motorů spustí na 0 stupních a otočí se do polohy 720 stupňů, otočí se o dvě otáčky dopředu. Pokud se poté otočí do polohy 360 stupňů, otočí se o jednu otáčku dozadu, protože 360 ​​je menší než 720.

Available Functions

1 — Otáčí se do určité polohy rychlostí zadanou ve volání funkce.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Otáčí se do určité polohy s využitím aktuálně nakonfigurované rychlosti motoru.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

Parameters

Parametr

Typ

Popis

rotation

double

Hodnota polohy, na kterou se motor nebo skupina motorů otočí.

units

rotationUnits

Jednotka rotace:

  • deg / degrees — stupně
  • turns / rev — otáček

velocity

double

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

units_v

velocityUnits

Jednotka použitá k vyjádření rychlosti velocity:

  • pct — procenta
  • rpm — otáčky za minutu
  • dps — stupně za sekundu

waitForCompletion

bool

​

  • true (výchozí) — Projekt počká, dokud se motor nebo skupina motorů nedotočí, než se spustí další řádek kódu.
  • false — Další řádek kódu se spustí okamžitě.

Return Values

Vrací booleovskou hodnotu, která ukazuje, zda motor nebo skupina motorů zahájily požadovaný pohyb založený na cíli.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • Spuštění jiné funkce pohybu motoru (například spin nebo spinFor) během probíhající funkce spinToPosition přeruší aktuální pohyb.

  • Protože spinToPosition je založeno na cíli (používá parametr rotation ), funkce jako isDone a isSpinning fungují s spinToPosition.

Examples
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);

stop#

stop zastaví otáčení motoru nebo skupiny motorů.

Available Functions

1 — Zastaví motor nebo skupinu motorů pomocí aktuálně nakonfigurovaného režimu brzdění.

void stop();

2 — Zastaví motor nebo skupinu motorů pomocí režimu brzdění uvedeného ve volání funkce.

void stop(
  brakeType mode );

Parameters

Parametr

Typ

Popis

mode

brakeType

Volitelné. Jak se motor nebo skupina motorů zastaví:

  • coast — Zpomalí až do zastavení.
  • brake — Okamžité zastavení.
  • hold — Okamžité zastavení a udržení polohy motoru nebo skupiny motorů.

Return Values

Tato funkce nevrací hodnotu.

Notes Examples
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);

Mutátory#

setVelocity#

setVelocity určuje rychlost otáčení motoru nebo skupiny motorů. Vyšší procento způsobí, že se motor nebo skupina motorů otáčí rychleji, a nižší procento způsobí, že se motor nebo skupina motorů otáčí pomaleji.

Každý projekt začíná s každým motorem nebo skupinou motorů, které se standardně otáčí rychlostí 50 %.

Poznámka: Vyšší rychlost způsobí, že se motor nebo skupina motorů otáčí rychleji, ale může to být méně přesné. Nižší rychlost způsobí, že se motor nebo skupina motorů otáčí pomaleji, ale může to být přesnější.

Available Functions
void setVelocity(
    double        velocity,
    velocityUnits units );

Parameters

Parametr

Typ

Popis

velocity

double

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

units

velocityUnits

Jednotka použitá k vyjádření rychlosti velocity:

  • percent / pct — procenta
  • rpm — otáčky za minutu
  • dps — stupně za sekundu

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Jakákoli následná funkce pro pohyb motoru (například spin, spinFor nebo spinToPosition), která explicitně neurčuje rychlost, použije tuto hodnotu.

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

Točivý moment ukazuje, jak silně může motor nebo skupina motorů tlačit nebo táhnout během otáčení.

setMaxTorque nastavuje maximální krouticí moment, který může motor nebo skupina motorů použít.

Vyšší procento umožňuje motoru nebo skupině motorů tlačit silněji, například při zvedání těžkého předmětu. Nižší procento omezuje, jak silně může motor nebo skupina motorů tlačit. To může pomoci chránit robota, pokud se motor nebo skupina motorů zasekne nebo dosáhne konce možného pohybu.

Každý projekt začíná s výchozím nastavením krouticího momentu každého motoru nebo skupiny motorů na 50 %.

Available Functions

1 — Nastavuje maximální točivý moment v procentech jmenovitého točivého momentu motoru nebo skupiny motorů.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Nastavuje maximální točivý moment pomocí fyzikálních jednotek točivého momentu.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Nastavuje maximální točivý moment omezením proudu motoru.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Parametr

Typ

Popis

value

double

Maximální točivý moment, který může motor nebo skupina motorů použít.

units

percentUnits

Určuje točivý moment v procentech: percent / pct — procenta

units

torqueUnits

Určuje točivý moment ve fyzikálních jednotkách, jako například:

  • Nm — Newtonmetry
  • InLb — palce-libry

units

currentUnits

Určuje točivý moment omezením proudu motoru:

  • amp

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Při použití currentUnitsje točivý moment omezen omezením velikosti elektrického proudu, který může motor nebo skupina motorů použít.

setPosition#

Poloha motoru nebo skupiny motorů udává, o kolik se motor otočil, měřeno v degrees nebo turnsJedna otáčka se rovná 360 stupňům. setPosition změní aktuální polohu motoru nebo skupiny motorů na novou hodnotu.

Například pokud se motor nebo skupina motorů otočily o 180 stupňů, nastavení polohy na 0 stupňů resetuje tuto polohu ze 180 na 0 stupňů. Motor nebo skupina motorů se pak mohou otáčet do pozic na základě této nové hodnoty.

Available Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

Parametr

Typ

Popis

value

double

Hodnota polohy, která se má nastavit pro motor nebo skupinu motorů.

units

rotationUnits

Jednotka polohy:

  • deg / degrees — stupně
  • turns / rev — otáček

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Po volání setPositionpoužijí následná volání spinToPosition aktualizovanou pozici jako referenci.

setStopping#

setStopping nastavuje, jak se motor nebo skupina motorů zastaví: brzděním, doběhem nebo pozastavením.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parametr

Typ

Popis

mode

brakeType

Jak se motor nebo skupina motorů zastaví:

  • brake — Okamžité zastavení.
  • coast — Zpomalení do úplného zastavení.
  • hold — Okamžité zastavení a udržení polohy motoru nebo skupiny motorů.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Jakékoli následné volání stop bez zadaného režimu brzdění použije tuto hodnotu.

setTimeout#

setTimeout nastavuje, jak dlouho se bude motor nebo skupina motorů pokoušet dokončit pohyb. Pokud motor nebo skupina motorů nedokáže v tomto čase dokončit pohyb, zastaví se a přesune se na další řádek kódu. Tím se zabrání tomu, aby se motor nebo skupina motorů zasekly na nějakém pohybu.

Available Functions
void setTimeout(
    int32_t   time,
    timeUnits units );

Parameters

Parametr

Typ

Popis

time

int32_t

Doba, po kterou se motor nebo skupina motorů může pokusit dokončit pohyb. Musí to být kladné celé číslo.

units

timeUnits

Jednotka času:

  • msec — milisekundy
  • seconds / sec — sekundy

Návratové hodnoty

Tato funkce nevrací hodnotu.

Notes
  • Časový limit motoru nebo skupiny motorů se používá k tomu, aby pohyby, které nedosáhnou své cílové polohy, nezastavily provádění dalších příkazů v zásobníku.

  • Pokud motor nebo skupina motorů nedosáhne své cílové polohy před uplynutím časového limitu, pokus se zastaví a přejde na další řádek kódu.

  • Časový limit se vztahuje na funkce, které mají cílovou hodnotu, jako například spinFor a spinToPosition.

Examples
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);

Gettery#

isDone#

isDone vrací hodnotu, zda byl pohyb motoru nebo skupiny motorů dokončen, jako booleovskou hodnotu. Tuto hodnotu lze použít k řízení načasování dalších chování na základě pohybu motoru nebo skupiny motorů.

  • true — Pohyb motoru nebo skupiny motorů je dokončen.

  • false — Motor nebo skupina motorů se stále pohybuje.

Tato funkce spolupracuje s následujícími funkcemi Motion, které mají parametr waitForCompletion : spinFor a spinToPosition.

Available Functions
bool isDone();

Parameters

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

Return Values

Vrací jako booleovskou hodnotu, zda byl pohyb motoru nebo skupiny motorů dokončen.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • Funkce isDone spolupracuje s následujícími funkcemi Motion, které mají parametr waitForCompletion : spinFor a spinToPosition.

Examples
// 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 vrací booleovskou hodnotu, zda se motor nebo skupina motorů otáčí. Tuto hodnotu lze použít k řízení načasování dalších chování na základě pohybu motoru nebo skupiny motorů.

  • true — Motor nebo skupina motorů se otáčí.

  • false — Motor nebo skupina motorů se netočí.

Tato funkce spolupracuje s funkcemi pro řízení pohybu Motion, jako například spin, spinFor a spinToPosition.

Available Functions
bool isSpinning();

Parameters

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

Return Values

Vrací jako booleovskou hodnotu, zda se motor nebo skupina motorů otáčí.

  • true — The motor or motor group is spinning.
  • false — The motor or motor group is not spinning.
Notes Examples
// 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#

Poloha motoru nebo skupiny motorů udává, o kolik se motor otočil, měřeno v degrees nebo turnsJedna otáčka se rovná 360 stupňům. position vrací aktuální polohu motoru nebo skupiny motorů.

Na začátku projektu je poloha motoru nebo skupiny motorů nastavena na 0 stupňů. Pokud se motor nebo skupina motorů otočí o jednu otáčku dopředu, poloha bude 360 ​​stupňů neboli 1 otáčka. Pokud se motor nebo skupina motorů otočí opačným směrem, poloha bude záporná.

Available Functions
double position(
  rotationUnits units );

Parameters

Parametr

Typ

Popis

units

rotationUnits

Jednotka pro návrat do polohy motoru nebo skupiny motorů v:

  • deg / degrees — stupně
  • turns / rev — otáček

Return Values

Vrací hodnotu double , která představuje aktuální pozici motoru nebo skupiny motorů v zadaných jednotkách.

Notes
  • Volání setPosition změní referenční bod pro tuto hodnotu.

  • Vrácená hodnota odráží aktuální údaj z enkodéru a neindikuje, zda se motor nebo skupina motorů aktivně pohybuje.

  • Při volání pro skupinu motor_group motor_grouptato funkce vrací pozici prvního motoru ve skupině.

Examples
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));

velocity#

velocity vrací rychlost otáčení motoru nebo skupiny motorů.

Kladná hodnota znamená, že motor nebo skupina motorů se otáčí dopředu. Záporná hodnota znamená, že se otáčí dozadu.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Parametr

Typ

Popis

units

velocityUnits

Jednotka použitá k vyjádření rychlosti:

  • percent / pct — procenta
  • rpm — otáčky za minutu
  • dps — stupně za sekundu

Return Values

Vrací hodnotu double , která představuje rychlost otáčení motoru nebo skupiny motorů v zadaných jednotkách.

poznámek

  • Při volání pro skupinu motor_group motor_grouptato funkce vrací rychlost prvního motoru ve skupině.

current#

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

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

Toto lze použít ke kontrole, zda motor nebo skupina 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 motoru nebo skupiny motorů v ampérech.

double current(
  currentUnits units = amp );

2 — Vrátí elektrický proud motoru nebo skupiny motorů 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 odebíraného motorem nebo skupinou motorů v zadaných jednotkách.

poznámek

  • Při volání pro skupinu motor_group motor_grouptato funkce vrátí celkový elektrický proud pro všechny motory ve skupině.

power#

power vrací množství energie spotřebované motorem nebo skupinou motorů ve wattech. Výkon ukazuje, jak rychle motor nebo skupina motorů spotřebovává energii.

Vyšší hodnota výkonu znamená, že motor nebo skupina motorů spotřebovává energii rychleji. K tomu může dojít, když motor nebo skupina motorů zvedá něco těžkého, tlačí na nějaký předmět nebo se snaží pohnout zaseknutým předmětem.

Toto lze použít k porovnání pohybů nebo ke kontrole, zda motor či skupina motorů nemají problémy. Pokud výkon zůstává vysoký, motor se může zahřívat nebo méně efektivně využívat energii.

Available Functions
double power(
  powerUnits units = watt );

Parametry

Parametr

Typ

Popis

units

powerUnits

Jednotka použitá k vyjádření výkonu motoru:

  • watt (výchozí) — watty

Návratové hodnoty

Vrací hodnotu double , která představuje množství energie spotřebované motorem nebo skupinou motorů ve wattech.

poznámek

  • Při volání pro skupinu motor_group motor_grouptato funkce vrací elektrický výkon prvního motoru ve skupině.

torque#

Točivý moment ukazuje, jak silně se motor nebo skupina motorů otáčí, tlačí nebo táhne během otáčení.

torque vrací, kolik momentu motor nebo skupina motorů používá.

Vyšší hodnota točivého momentu znamená, že motor nebo skupina motorů tlačí nebo táhne silněji. K tomu může dojít, když motor nebo skupina motorů zvedá něco těžkého, tlačí na nějaký předmět nebo se snaží pohnout zaseknutým předmětem.

To lze použít ke kontrole, zda motor nebo motorická skupina má potíže, nebo k porovnání, kolik tlaku potřebují různé pohyby.

Pro nastavení točivého momentu motoru nebo skupiny motorů použijte setMaxTorque.

Available Functions
double torque(
  torqueUnits units = Nm );

Parametry

Parametr

Typ

Popis

units

torqueUnits

Jednotka použitá k vyjádření točivého momentu motoru:

  • Nm (výchozí) — Newtonmetry
  • InLb — palce-libry

Návratové hodnoty

Vrací hodnotu double , která představuje točivý moment motoru nebo skupiny motorů v zadaných jednotkách.

poznámek

  • Při volání pro skupinu motor_group motor_grouptato funkce vrací mechanický výstupní točivý moment prvního motoru ve skupině.

efficiency#

efficiency vrací, jak efektivně motor nebo skupina motorů využívá energii, v procentech od 0 % do 100 %.

Účinnost ukazuje, kolik energie motoru nebo skupiny motorů se využívá k pohybu. Vyšší hodnota účinnosti znamená, že se k pohybu využívá více energie motoru nebo skupiny motorů. Nižší hodnota účinnosti může nastat, když motor nebo skupina motorů pracuje intenzivně, ale příliš se nepohybuje, například když je zaseknutý nebo tlačí na nějaký předmět.

To lze použít k porovnání pohybů nebo ke kontrole, zda motor nebo skupina motorů plýtvá energií, místo aby ji využívala k pohybu.

Available Functions
double efficiency(
  percentUnits units = percent );

Parametry

Parametr

Typ

Popis

units

percentUnits

Jednotka použitá k vyjádření účinnosti motoru:

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

Návratové hodnoty

Vrací hodnotu double která v procentech představuje, jak efektivně motor nebo skupina motorů využívá energii.

poznámek

  • Při volání pro skupinu motor_group motor_grouptato funkce vrací účinnost prvního motoru ve skupině.

temperature#

temperature vrací teplotu motoru nebo skupiny motorů.

Teplota motoru ukazuje, jak je motor nebo skupina motorů zahřátý. Vyšší teplota znamená, že se motor nebo skupina motorů během provozu zahřívá. Motor by měl zůstat pod 55°C aby pracoval na plný výkon.

If the motor or motor group gets too hot, it will lower its maximum current to protect itself. At 70°C, a motor will stop running until it cools down.

Toto lze použít ke kontrole, zda se motor nebo skupina 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 motoru nebo skupiny motorů v procentech z maximální provozní teploty.

double temperature(
  percentUnits units = percent );

2 — Vrací teplotu motoru nebo skupiny motorů 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 motoru nebo skupiny motorů v procentech:

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

units

temperatureUnits

Jednotka používaná k vyjádření teploty motoru nebo skupiny motorů ve stupních:

  • celsius — stupně Celsia
  • fahrenheit — stupně Fahrenheita

Návratové hodnoty

Vrací hodnotu double představující teplotu motoru nebo skupiny motorů v zadaných jednotkách.

poznámek

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

  • Při volání pro skupinu motor_group motor_grouptato funkce vrací teplotu prvního motoru ve skupině.

voltage#

voltage vrací elektrické napětí dodávané do motoru nebo skupiny motorů.

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

Vrací hodnotu double , která představuje elektrické napětí dodávané do motoru nebo skupiny motorů v zadaných jednotkách.

poznámek

  • Při volání pro skupinu motor_group motor_grouptato funkce vrací elektrické napětí prvního motoru ve skupině.

direction#

direction vrací směr, kterým se motor nebo skupina motorů otáčí.

Available Functions
directionType direction();

Parametry

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

Návratové hodnoty

Vrací hodnotu directionType která označuje aktuální směr motoru nebo skupiny motorů:

  • forward — The motor or motor group is spinning forward.
  • reverse — The motor or motor group is spinning in reverse.

installed#

installed vrací, zda je motor nebo skupina motorů připojena k mozku IQ (1. generace).

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 motor nebo skupina motorů.

  • true — The motor or motor group is connected.
  • false — The motor or motor group is not connected.

count#

count vrací počet motorů ve skupině motorů.

Available Functions
int32_t count();

Parametry

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

Návratové hodnoty

Vrací hodnotu int32_t představující počet motorů ve skupině motorů.