Motor och motorgrupp#

Introduktion#

Motorer och motorgrupper styr hur delar av en robot rör sig. Ett motor objekt styr en konfigurerad IQ Smart Motor, medan ett motor_group objekt styr flera konfigurerade IQ Smart Motors tillsammans så att de rör sig i tandem. Motorer och motorgrupper kan användas för att lyfta en arm, vrida en klo, snurra ett hjul eller flytta en annan del av en byggnad. Två motorer kan arbeta tillsammans som en drivlina för att flytta och vrida hela roboten.

Varje motor eller motorgrupp konfigureras i fönstret Enheter. Beroende på konstruktionen kan motor- och motorgruppnamn ändras. Den här sidan använder Motor1 och MotorGroup1 som exempelnamn. Ersätt dem med dina egna konfigurerade namn efter behov.

En VEX IQ (2:a generationen) motor som visar framåtriktningen indikerad med ett plustecken och en pil som indikerar att den roterar åt vänster eller moturs. En VEX IQ (2:a generationen) motor som visar bakåtrotation indikerad med ett minustecken och en pil som indikerar att den roterar åt höger, eller medurs.

Som standard roterar forward en motor moturs, och reverse roterar en motor medurs. Om en motor är inställd på bakåt kommer dessa riktningar att växlas.

Motor#

Class Constructors#

1 — Skapar ett motor objekt för IQ Smart Motor ansluten till den angivna Smart Port. Motorn använder automatiskt den detekterade interna gearSetting.

motor(
  int32_t index );

2 — Skapar ett motor objekt på den angivna Smart Port och reverserar eventuellt dess riktning. Motorn använder automatiskt den detekterade interna gearSetting.

motor(
 int32_t index,
 bool    reverse );

3 — Skapar ett motor objekt på den angivna Smart Port med den angivna gearSetting.

motor(
 int32_t     index,
 gearSetting gears );

4 — Skapar ett motor objekt på den angivna Smart Port med den angivna gearSetting och valfri omvänd riktning.

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

Class Destructor#

Förstör motor objektet och frigör tillhörande resurser.

~motor();

Parameters#

Parameter

Typ

Beskrivning

index

int32_t

Den smarta port som motorn är ansluten till, skriven som PORTx, där x är portnumret (till exempel PORT1).

reverse

bool

Anger om motorns rotationsriktning är omvänd:

  • false (standard) — Ändrar inte motorns riktning.
  • true — Ändrar motorns riktning.

gears

gearSetting

Anger det interna utväxlingsförhållandet för kugghjulspatronen.

  • ratio1_1 — En utväxling på 1:
  • ratio2_1 — En utväxling på 2:
  • ratio3_1 — En utväxling på 3:1

Notes#

  • Växelinställningen ska matcha den fysiska patronen som är installerad i motorn.

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

Motorgrupp#

Class Constructors#

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

Class Destructor#

Förstör objektet motor_group och frigör tillhörande resurser.

~motor_group();

Parameters#

Parameter

Typ

Beskrivning

m1

motor &

Den första motorn som läggs till i gruppen.

m2

motor &

Ytterligare motorer har lagts till i gruppen. Maximalt fyra motorer i en motorgrupp.

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

Medlemsfunktioner#

There are many ways to code motors and motor groups. Below is a list of all motor and motor_group member functions:

Åtgärder — Stoppa och rotera motorer och motorgrupper.

  • spin — Snurrar en motor eller motorgrupp framåt eller bakåt i all oändlighet.

  • spinFor — Snurrar en motor eller motorgrupp under en specifik sträcka eller tidsperiod.

  • spinToPosition — Roterar en motor eller motorgrupp till en specifik position.

  • stop — Stoppar en motor eller motorgrupp från att rotera.

Mutatorer — Justera inställningar för motor och motorgrupp.

  • setVelocity — Anger hur snabbt en motor eller motorgrupp ska snurra.

  • setMaxTorque — Anger hur hårt en motor eller motorgrupp tillåts trycka under rotation.

  • setPosition — Ändrar motorns eller motorgruppens aktuella position till ett nytt värde.

  • setStopping — Ställer in hur en motor eller motorgrupp ska stoppa rörelsen: genom att bromsa, frihjula eller hålla.

  • setTimeout — Anger hur lång tid en motor eller motorgrupp ska försöka slutföra en rörelse.

Getters — Kontrollera motor- och motorgruppstatus.

  • isDone — Returnerar om motorn eller motorgruppen är klar med rörelsen, som ett booleskt värde.

  • isSpinning — Returnerar om motorn eller motorgruppen snurrar, som ett booleskt värde.

  • position — Returnerar motorns eller motorgruppens aktuella position.

  • velocity — Returnerar hur snabbt motorn eller motorgruppen roterar.

  • current — Returnerar hur mycket elektrisk ström motorn eller motorgruppen använder.

  • power — Returnerar hur mycket effekt motorn eller motorgruppen använder.

  • torque — Returnerar hur mycket moment motorn eller motorgruppen använder.

  • efficiency — Returnerar hur effektivt motorn eller motorgruppen använder ström.

  • temperature — Returnerar temperaturen för motorn eller motorgruppen.

  • voltage — Returnerar den elektriska spänning som tillförs motorn eller motorgruppen.

  • direction — Returnerar riktningen som motorn eller motorgruppen roterar.

  • installed — Returnerar om motorn eller motorgruppen är kopplad till hjärnan.

  • count — Returnerar antalet motorer i en motorgrupp.

Innan någon medlemsfunktion av typen motor eller motor_group anropas måste en instans skapas, enligt nedan:

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

Åtgärder#

spin#

spin roterar en motor eller motorgrupp framåt eller bakåt för alltid. Motorn eller motorgruppen fortsätter att snurra tills den får en annan åtgärd, som att snurra i en annan riktning eller stanna.

Available Functions

1 — Roterar motorn eller motorgruppen med den för närvarande konfigurerade motorhastigheten.

void spin(
 directionType dir );

2 — Roterar motorn eller motorgruppen med den angivna hastigheten.

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

3 — Roterar motorn eller motorgruppen med den angivna spänningen.

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

Parameters

Parameter

Typ

Beskrivning

dir

directionType

Motorns eller motorgruppens rotationsriktning: forward eller reverse.

velocity

double

Hastigheten att rotera med från 0% till 100% när percent

units

velocityUnits

Enheten som används för att representera hastighet:

  • percent / pct — procent
  • rpm — varv per minut
  • dps — grader per sekund

voltage

double

Spänningen att rotera med. Ett negativt värde roterar motsatt den givna dir.

units

voltageUnits

Enheten som används för att representera spänning:

  • volt — volt
  • voltageUnits::mV — millivolt

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Den här funktionen är inte väntetid och projektet fortsätter att köras omedelbart efter anropet.

  • Motorn eller motorgruppen fortsätter att snurra tills stop anropas eller en annan rörelsefunktion utförs.

  • Funktioner som isDone och isSpinning är inte tillämpliga på spin, eftersom den inte använder målbaserad rörelse (har ingen rotation eller time parameter).

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

spinFor#

spinFor snurrar en motor eller motorgrupp under en specifik sträcka eller tid. En rotationsbaserad snurrning är relativ till motorns eller motorgruppens aktuella position. Som standard väntar projektet tills motorn eller motorgruppen har snurrat klart innan nästa kodrad körs.

Available Functions

1 — Snurrar ett specifikt avstånd med den hastighet som anges i funktionsanropet.

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

2 — Accepterar en riktningsparameter och roterar ett specifikt avstånd med den hastighet som anges i funktionsanropet.

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

3 — Snurrar ett specifikt avstånd med hjälp av nuvarande konfigurerad motorhastighet.

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

4 — Accepterar en riktningsparameter och roterar ett specifikt avstånd med hjälp av nuvarande konfigurerad motorhastighet.

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

5 — Snurrar under en viss tid med den hastighet som anges i funktionsanropet.

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

6 — Accepterar en riktningsparameter och roterar under en viss tid med den hastighet som anges i funktionsanropet.

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

7 — Snurrar under en viss tid med hjälp av nuvarande konfigurerad motorhastighet.

bool spinFor(
 double    time,
 timeUnits units );

8 — Accepterar en riktningsparameter och roterar under en viss tid med hjälp av nuvarande konfigurerad motorhastighet.

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

Parameters

Parameter

Typ

Beskrivning

dir

directionType

Motorns eller motorgruppens rotationsriktning: forward eller reverse.

rotation

double

Den sträcka som motorn eller motorgruppen roterar.

units

rotationUnits

Rotationsenhet:

  • deg / degrees — grader
  • turns / rev — varv

time

double

Den tid som motorn eller motorgruppen roterar.

units

timeUnits

Tidsenhet:

  • seconds / sec — sekunder
  • msec — millisekunder

velocity

double

Hastigheten att rotera med från 0% till 100% när percent

units_v

velocityUnits

Enheten som används för att representera velocity:

  • percent / pct — procent
  • rpm — varv per minut
  • dps — grader per sekund

waitForCompletion

bool

​

  • true (standard) — Gör att projektet väntar tills motorn eller motorgruppen har snurrat klart innan nästa kodrad körs.
  • false — Gör att nästa kodrad körs direkt.

Return Values

Returnerar ett booleskt värde som visar om motorn eller motorgruppen nådde målvärdet.

  • 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
  • Att utföra en annan motorrörelsefunktion (t.ex. spin eller stop) medan spinFor pågår kommer att avbryta den aktuella rörelsen.

  • Eftersom spinFor är målbaserat (använder en rotation eller time parameter), fungerar funktioner som isDone och isSpinning med 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 snurrar en motor eller motorgrupp till en specifik position.

En motors eller motorgrupps position är hur långt den har snurrat, mätt i degrees eller turns. Ett varv är lika med 360 grader. I början av ett projekt sätts motorns eller motorgruppens position till 0 grader. Motorns eller motorgruppens position kan också ställas in med funktionen setPosition.

Positionsvärdena är absoluta. Det betyder att rotationens riktning beror på motorns eller motorgruppens aktuella position.

Om motorn eller motorgruppen till exempel börjar vid 0 grader och snurrar till en position på 720 grader, snurrar den framåt två varv. Om den sedan snurrar till en position på 360 grader, snurrar den bakåt ett varv, eftersom 360 är mindre än 720.

Available Functions

1 — Snurrar till en specifik position med den hastighet som anges i funktionsanropet.

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

2 — Roterar till en specifik position med hjälp av nuvarande konfigurerad motorhastighet.

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

Parameters

Parameter

Typ

Beskrivning

rotation

double

Positionsvärdet som motorn eller motorgruppen kommer att rotera till.

units

rotationUnits

Rotationsenhet:

  • deg / degrees — grader
  • turns / rev — varv

velocity

double

Hastigheten att rotera med från 0% till 100% när percent

units_v

velocityUnits

Enheten som används för att representera velocity:

  • pct — procent
  • rpm — varv per minut
  • dps — grader per sekund

waitForCompletion

bool

​

  • true (standard) — Gör att projektet väntar tills motorn eller motorgruppen har snurrat klart innan nästa kodrad körs.
  • false — Gör att nästa kodrad körs direkt.

Return Values

Returnerar ett booleskt värde som visar om motorn eller motorgruppen startade den begärda målbaserade rörelsen.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • Att utföra en annan motorrörelsefunktion (t.ex. spin eller spinFor) medan spinToPosition pågår kommer att avbryta den aktuella rörelsen.

  • Eftersom spinToPosition är målbaserat (använder en rotation parameter), fungerar funktioner som isDone och isSpinning med spinToPosition.

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

stop#

stop stoppar en motor eller motorgrupp från att rotera.

Available Functions

1 — Stoppar motorn eller motorgruppen med hjälp av nuvarande konfigurerat bromsläge.

void stop();

2 — Stoppar motorn eller motorgruppen med hjälp av bromsläget som anges i funktionsanropet.

void stop(
  brakeType mode );

Parameters

Parameter

Typ

Beskrivning

mode

brakeType

Valfritt. Hur motorn eller motorgruppen stannar:

  • coast — Saktar ner till stopp.
  • brake — Stannar omedelbart.
  • hold — Stannar omedelbart och håller motorns eller motorgruppens position.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Om du anropar stop stoppas omedelbart all pågående motor- eller motorgruppsrörelse.

  • Om inget bromsläge anges använder motorn eller motorgruppen nuvarande konfigurerat bromsläge.

  • stop avbryter alla aktiva målbaserade rörelser (såsom spinFor eller spinToPosition).

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

Mutatorer#

setVelocity#

setVelocity anger hur snabbt en motor eller motorgrupp ska snurra. En högre procentandel gör att motorn eller motorgruppen snurrar snabbare och en lägre procentandel gör att motorn eller motorgruppen snurrar långsammare.

Varje projekt börjar med att varje motor eller motorgrupp roterar med 50 % hastighet som standard.

Obs! En högre hastighet gör att motorn eller motorgruppen roterar snabbare, men den kan vara mindre exakt. En lägre hastighet gör att motorn eller motorgruppen roterar långsammare, men den kan vara mer exakt.

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

Parameters

Parameter

Typ

Beskrivning

velocity

double

Hastigheten att rotera med från 0% till 100% när percent

units

velocityUnits

Enheten som används för att representera velocity:

  • percent / pct — procent
  • rpm — varv per minut
  • dps — grader per sekund

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Alla efterföljande motorrörelsefunktioner (som spin, spinFor eller spinToPosition) som inte explicit anger en hastighet kommer att använda detta värde.

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#

Vridmoment visar hur hårt en motor eller motorgrupp kan trycka eller dra medan den roterar.

setMaxTorque ställer in det högsta vridmomentet som en motor eller motorgrupp tillåts använda.

En högre procentandel låter motorn eller motorgruppen trycka hårdare, till exempel när man lyfter ett tungt föremål. En lägre procentandel begränsar hur hårt motorn eller motorgruppen kan trycka. Detta kan hjälpa till att skydda roboten om motorn eller motorgruppen fastnar eller når slutet av hur långt den kan röra sig.

Varje projekt börjar med att varje motor eller motorgrupps vridmoment är 50 % som standard.

Available Functions

1 — Ställer in maximalt vridmoment som en procentandel av motorns eller motorgruppens nominella vridmoment.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Ställer in maximalt vridmoment med hjälp av fysiska momentenheter.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Ställer in maximalt vridmoment genom att begränsa motorströmmen.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Parameter

Typ

Beskrivning

value

double

Det maximala vridmomentet som motorn eller motorgruppen kan använda.

units

percentUnits

Anger vridmoment i procent: percent / pct — procent

units

torqueUnits

Anger vridmoment i fysiska enheter som:

  • Nm — Newtonmeter
  • InLb — tum-pund

units

currentUnits

Anger vridmoment genom att begränsa motorströmmen:

  • amp

Return Values

Den här funktionen returnerar inget värde.

Notes
  • När currentUnitsanvänds begränsas vridmomentet genom att begränsa hur mycket elektrisk ström motorn eller motorgruppen kan använda.

setPosition#

En motors eller motorgrupps position är hur långt den har snurrat, mätt i degrees eller turnsEtt varv är lika med 360 grader. setPosition ändrar motorns eller motorgruppens aktuella position till ett nytt värde.

Om till exempel en motor eller motorgrupp har snurrat till 180 grader, kommer en position som ställs in på 0 grader att återställas från 180 till 0 grader. Motorn eller motorgruppen kan sedan snurra till positioner baserat på det nya värdet.

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

Parameters

Parameter

Typ

Beskrivning

value

double

Positionsvärdet som ska ställas in för motorn eller motorgruppen.

units

rotationUnits

Positionsenheten:

  • deg / degrees — grader
  • turns / rev — varv

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Efter anrop av setPositionkommer efterföljande anrop av spinToPosition att använda den uppdaterade positionen som referens.

setStopping#

setStopping anger hur en motor eller motorgrupp ska stoppas: genom att bromsa, frihjula eller hålla.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parameter

Typ

Beskrivning

mode

brakeType

Hur motorn eller motorgruppen kommer att stoppas:

  • brake — Stannar omedelbart.
  • coast — Saktar ner till stopp.
  • hold — Stannar omedelbart och håller motorns eller motorgruppens position.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Alla efterföljande anrop till stop utan ett specificerat bromsläge kommer att använda detta värde.

setTimeout#

setTimeout anger hur lång tid en motor eller motorgrupp ska försöka slutföra en rörelse. Om motorn eller motorgruppen inte kan slutföra inom den tiden kommer den att sluta försöka och gå vidare till nästa kodrad. Detta förhindrar att motorn eller motorgruppen fastnar i en rörelse.

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

Parameters

Parameter

Typ

Beskrivning

time

int32_t

Den tid som motorn eller motorgruppen kan försöka slutföra en rörelse. Detta måste vara ett positivt heltal.

units

timeUnits

Tidsenhet:

  • msec — millisekunder
  • seconds / sec — sekunder

Returvärden

Den här funktionen returnerar inget värde.

Notes
  • Motor- eller motorgruppstimeout används för att förhindra att rörelser som inte når sin målposition stoppar exekveringen av andra kommandon i stacken.

  • Om motorn eller motorgruppen inte når sin målposition innan timeout-tiden löper ut, kommer den att sluta försöka och gå vidare till nästa kodrad.

  • Timeouten gäller funktioner som har ett målvärde som spinFor och spinToPosition.

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

Getters#

isDone#

isDone returnerar huruvida motorn eller motorgruppen är klar med att röra sig, som ett booleskt värde. Detta kan användas för att styra tidpunkten för andra beteenden baserat på motorns eller motorgruppens rörelse.

  • true — Motorn eller motorgruppen är klar med sin rörelse.

  • false — Motorn eller motorgruppen rör sig fortfarande.

Den här funktionen fungerar tillsammans med följande rörelsefunktioner som har parametern waitForCompletion : spinFor och spinToPosition.

Available Functions
bool isDone();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Returnerar om motorn eller motorgruppen är klar med att röra sig, som ett booleskt värde.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone fungerar tillsammans med följande rörelsefunktioner som har parametern waitForCompletion : spinFor och 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 returnerar huruvida motorn eller motorgruppen snurrar, som ett booleskt värde. Detta kan användas för att styra tidpunkten för andra beteenden baserat på motorns eller motorgruppens rörelse.

  • true — Motorn eller motorgruppen snurrar.

  • false — Motorn eller motorgruppen snurrar inte.

Den här funktionen fungerar tillsammans med rörelsefunktioner som spin, spinFor och spinToPosition.

Available Functions
bool isSpinning();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Returnerar om motorn eller motorgruppen snurrar, som ett booleskt värde.

  • 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#

En motors eller motorgrupps position är hur långt den har snurrat, mätt i degrees eller turnsEtt varv är lika med 360 grader. position returnerar motorns eller motorgruppens aktuella position.

I början av ett projekt är motorns eller motorgruppens position inställd på 0 grader. Om motorn eller motorgruppen roterar ett varv framåt blir positionen 360 grader eller 1 varv. Om motorn eller motorgruppen roterar åt andra hållet blir positionen negativ.

Available Functions
double position(
  rotationUnits units );

Parameters

Parameter

Typ

Beskrivning

units

rotationUnits

Enheten för att återställa motorns eller motorgruppens position i:

  • deg / degrees — grader
  • turns / rev — varv

Return Values

Returnerar double som representerar motorns eller motorgruppens aktuella position i de angivna enheterna.

Notes
  • Anrop av setPosition ändrar referenspunkten för detta värde.

  • Det returnerade värdet återspeglar den aktuella pulsgivarens avläsning och indikerar inte om motorn eller motorgruppen är aktivt i rörelse.

  • När den anropas på en motor_groupreturnerar denna funktion positionen för den första motorn i gruppen.

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 returnerar hur snabbt motorn eller motorgruppen roterar.

Ett positivt värde innebär att motorn eller motorgruppen roterar framåt. Ett negativt värde innebär att den roterar bakåt.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Parameter

Typ

Beskrivning

units

velocityUnits

Enheten som används för att representera hastighet:

  • percent / pct — procent
  • rpm — varv per minut
  • dps — grader per sekund

Return Values

Returnerar double som representerar hur snabbt motorn eller motorgruppen roterar i de angivna enheterna.

Anteckningar

  • När den anropas på en motor_groupreturnerar denna funktion hastigheten för den första motorn i gruppen.

current#

current returnerar hur mycket elektrisk ström motorn eller motorgruppen använder. Ström är mängden elektricitet som flyter genom motorn eller motorgruppen. När strömmen returneras i ampere rapporteras den från 0,0 till 1,2 A.

Ett högre strömvärde innebär att motorn eller motorgruppen använder mer elektrisk ström. Detta kan hända när motorn eller motorgruppen lyfter något tungt, trycker mot ett föremål eller försöker röra sig när det har fastnat.

Detta kan användas för att kontrollera om motorn eller motorgruppen har problem under en rörelse. Om strömmen förblir hög kan motorn bli varmare eller använda strömmen mindre effektivt.

Available Functions

1 — Returnerar motorns eller motorgruppens elektriska ström i ampere.

double current(
  currentUnits units = amp );

2 — Returnerar motorns eller motorgruppens elektriska ström som en procentandel av maximal märkström.

double current(
  percentUnits units );

Parameters

Parameter

Typ

Beskrivning

units

currentUnits

Enheten som används för att representera ström:amp (standard) — ampere

units

percentUnits

Representerar strömmen som en procentandel av motorns maximala märkström:percent / pct — procent

Return Values

Returnerar double som representerar hur mycket elektrisk ström motorn eller motorgruppen drar i de angivna enheterna.

Anteckningar

  • När den anropas på en motor_groupreturnerar denna funktion den totala elektriska strömmen för alla motorer i gruppen.

power#

power returnerar hur mycket effekt motorn eller motorgruppen använder i watt. Effekt visar hur snabbt motorn eller motorgruppen förbrukar energi.

Ett högre effektvärde innebär att motorn eller motorgruppen förbrukar energi snabbare. Detta kan hända när motorn eller motorgruppen lyfter något tungt, trycker mot ett föremål eller försöker röra sig när det har fastnat.

Detta kan användas för att jämföra rörelser eller kontrollera om motorn eller motorgruppen har problem. Om effekten förblir hög kan motorn bli varmare eller använda energi mindre effektivt.

Available Functions
double power(
  powerUnits units = watt );

Parametrar

Parameter

Typ

Beskrivning

units

powerUnits

Enheten som används för att representera motoreffekten:

  • watt (standard) — watt

Returvärden

Returnerar double som representerar hur mycket effekt motorn eller motorgruppen använder i watt.

Anteckningar

  • När den anropas på en motor_group, returnerar denna funktion den elektriska effekten för den första motorn i gruppen.

torque#

Vridmoment visar hur hårt en motor eller motorgrupp vrider, trycker eller drar medan den roterar.

torque returnerar hur mycket vridmoment motorn eller motorgruppen använder.

Ett högre vridmomentvärde innebär att motorn eller motorgruppen trycker eller drar hårdare. Detta kan hända när motorn eller motorgruppen lyfter något tungt, trycker mot ett föremål eller försöker röra sig när det har fastnat.

Detta kan användas för att kontrollera om motorn eller motorgruppen har problem eller för att jämföra hur mycket tryck olika rörelser behöver.

För att ställa in vridmomentet för en motor eller motorgrupp, använd setMaxTorque.

Available Functions
double torque(
  torqueUnits units = Nm );

Parametrar

Parameter

Typ

Beskrivning

units

torqueUnits

Enheten som används för att representera motorns vridmoment:

  • Nm (standard) — Newtonmeter
  • InLb — tum-pund

Returvärden

Returnerar double som representerar hur mycket vridmoment motorn eller motorgruppen använder i de angivna enheterna.

Anteckningar

  • När den anropas på en motor_groupreturnerar denna funktion det mekaniska utgångsmomentet för den första motorn i gruppen.

efficiency#

efficiency returnerar hur effektivt motorn eller motorgruppen använder ström, som en procentandel från 0 % till 100 %.

Verkningsgraden visar hur mycket av motorns eller motorgruppens kraft som används för rörelse. Ett högre verkningsgradsvärde innebär att mer av motorns eller motorgruppens kraft används för rörelse. Ett lägre verkningsgradsvärde kan uppstå när motorn eller motorgruppen arbetar hårt men inte rör sig mycket, till exempel när den har fastnat eller trycker mot ett föremål.

Detta kan användas för att jämföra rörelser eller kontrollera om motorn eller motorgruppen slösar kraft istället för att använda den till rörelse.

Available Functions
double efficiency(
  percentUnits units = percent );

Parametrar

Parameter

Typ

Beskrivning

units

percentUnits

Enheten som används för att representera motoreffektivitet:

  • percent / percentUnits::pct (standard) — procent

Returvärden

Returnerar double som representerar hur effektivt motorn eller motorgruppen använder ström i procent.

Anteckningar

  • När den anropas på en motor_groupreturnerar denna funktion verkningsgraden för den första motorn i gruppen.

temperature#

temperature returnerar temperaturen för motorn eller motorgruppen.

Motortemperaturen visar hur varm motorn eller motorgruppen är. En högre temperatur innebär att motorn eller motorgruppen blir varmare medan den arbetar. Motorn bör hålla sig under 55°C

Om motorn eller motorgruppen blir för varm sänker den sin maximala ström för att skydda sig själv. Vid 70°Cstannar motorn tills den svalnar.

Detta kan användas för att kontrollera om motorn eller motorgruppen blir för varm under upprepade rörelser, långa körningar eller när den trycker mot ett föremål.

Available Functions

1 — Returnerar motor- eller motorgrupptemperaturen som en procentandel av maximal driftstemperatur.

double temperature(
  percentUnits units = percent );

2 — Returnerar motor- eller motorgrupptemperatur i fysiska temperaturenheter.

double temperature(
  temperatureUnits units );

Parametrar

Parameter

Typ

Beskrivning

units

percentUnits

Enheten som används för att representera motor- eller motorgrupptemperatur som en procentandel:

  • percent / percentUnits::pct (standard) — procent

units

temperatureUnits

Enheten som används för att representera motor- eller motorgrupptemperatur i grader:

  • celsius — grader Celsius
  • fahrenheit — grader Fahrenheit

Returvärden

Returnerar double som representerar temperaturen för motorn eller motorgruppen i de angivna enheterna.

Anteckningar

  • Motorns driftstemperaturintervall är ungefär 20°C (68°F) till 70°C (158°F).

  • När den anropas på en motor_groupreturnerar denna funktion temperaturen för den första motorn i gruppen.

voltage#

voltage returnerar den elektriska spänning som tillförs motorn eller motorgruppen.

Available Functions
double voltage(
  voltageUnits units = volt );

Parametrar

Parameter

Typ

Beskrivning

units

voltageUnits

Enheten som representerar spänningen:

  • volt (standard)
  • voltageUnits::mV — millivolt

Returvärden

Returnerar double som representerar den elektriska spänning som tillförs motorn eller motorgruppen i de angivna enheterna.

Anteckningar

  • När den anropas på en motor_groupreturnerar denna funktion den elektriska spänningen för den första motorn i gruppen.

direction#

direction returnerar den riktning som motorn eller motorgruppen roterar.

Available Functions
directionType direction();

Parametrar

Den här funktionen tar inga parametrar.

Returvärden

Returnerar ett directionType som anger motorns eller motorgruppens aktuella riktning:

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

installed#

installed returnerar om motorn eller motorgruppen är kopplad till IQ-hjärnan (2:a generationen).

Available Functions
bool installed();

Parametrar

Den här funktionen tar inga parametrar.

Returvärden

Returnerar värdet bool som anger om motorn eller motorgruppen är ansluten.

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

count#

count returnerar antalet motorer i en motorgrupp.

Available Functions
int32_t count();

Parametrar

Den här funktionen tar inga parametrar.

Returvärden

Returnerar int32_t som representerar antalet motorer i motorgruppen.